【发布时间】:2017-05-20 21:46:45
【问题描述】:
我正在学习 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代码的链接)
克里斯托夫
【问题讨论】:
标签: yosys