我正在学习verilog,尝试在ice40LX1K 板(olimex ice40HX1K + VGA I/O 板)上制作VGA 世界(一个弹跳球)中的“hello world”。
我有一个奇怪的问题:当我使用 iverilog + GTKWave 模拟我的设计时,它看起来工作得很好。但是硬件中的实现不起作用。
奇怪的是,在硬件实现中,球是不动的......并且它的位置全为零(0,0),尽管verilog代码永远不应该将它设置在那里。看起来改变 xpos_ball 或 ypos_ball 的值实际上并没有改变这些值。(硬件问题?yosys 问题)?在iverilog 模拟中,球的位置确实会按预期发生变化。
我不知道这是我自己的verilog代码中的错误(因为我是新手,这很可能),yosys中的问题,还是硬件中的问题(速度问题,是100 Mhz时钟到快?)还是别的什么?
有关如何解决此问题或此类问题的后续步骤的任何建议?我可以使用其他调试技巧吗?
(编辑:链接到实际的verilog代码被删除,因为不再相关)
克里斯托夫