Quartus Simulator和fpga中的时钟周期时间可以不同吗?

时间:2018-11-30 17:50:30

标签: arm verilog fpga

我正在做一个作业,我必须对ARM单周期处理器的各个部分(例如ALU,控制单元等)进行编码。所有其他模块,输入都已经提供给我,我所要做的就是编写给我的空白模块的Verilog代码。

我已经设法对模块进行了编码,并且由于PC按照其预期的顺序运行,Quartus中的时序仿真似乎是正确的。但是,当我尝试在FPGA(Cyclone IV)上实现它时,板上的HEX输出(应该是PC,在分配给我之前已经分配好了)不会从0开始变化。

我不知道为什么代码可以在时序仿真中起作用而在硬件中却不起作用,因为据我所知,时序仿真将传播延迟考虑在内。我查看了提供给我的文件,没有更改,我发现RTL查看器是由修改CLOCK_27制成的文件。

时序仿真中显示的时钟周期时间为50ns,在此条件下一切正常。但是,对于这个项目,我是第一次接触FPGA,我不确定是什么,CLOCK_27是什么,以及在时序仿真和硬件方面是否不同。

如果时钟周期时间差异是造成问题的原因,我相信我必须缩短设计的传播延迟。如果不是这样,我现在不知道了。

1 个答案:

答案 0 :(得分:0)

您说时序模拟似乎是正确的。您是否在合成前后检查了仿真结果?如果没有,我建议这样做。在合成后仿真中,您实际上检查了时序是否满足。您可以获取有关here合成前后差异的一些信息

希望这会有所帮助。