quartus模拟器和fpga中的时钟周期时间是否不同? 我正在做一个任务,我必须对ARM单周期处理器的一些部分进行编码,如ALU、控制单元等。所有其他模块,输入都已经给了我,我所要做的就是为我给出的空白模块编写Verilog代码。

quartus模拟器和fpga中的时钟周期时间是否不同? 我正在做一个任务,我必须对ARM单周期处理器的一些部分进行编码,如ALU、控制单元等。所有其他模块,输入都已经给了我,我所要做的就是为我给出的空白模块编写Verilog代码。,arm,verilog,fpga,Arm,Verilog,Fpga,我已经成功地对模块进行了编码,quartus中的时序模拟似乎是正确的,因为PC机按其预定的顺序运行。但是,当我尝试在FPGA(cyclone IV)上实现它时,板上的十六进制输出(应该是PC,在给我之前已经分配)不会从0开始移动 我不知道为什么代码可以在时序模拟中工作,但不能在硬件中工作,因为据我所知,时序模拟考虑了传播延迟。我查看了给我的文件,没有更改,RTL查看器和我发现给我使用的clk是修改CLOCK_27制作的 时序模拟中显示的时钟周期时间为50ns,在这种情况下一切正常。然而,我在这个

我已经成功地对模块进行了编码,quartus中的时序模拟似乎是正确的,因为PC机按其预定的顺序运行。但是,当我尝试在FPGA(cyclone IV)上实现它时,板上的十六进制输出(应该是PC,在给我之前已经分配)不会从0开始移动

我不知道为什么代码可以在时序模拟中工作,但不能在硬件中工作,因为据我所知,时序模拟考虑了传播延迟。我查看了给我的文件,没有更改,RTL查看器和我发现给我使用的clk是修改CLOCK_27制作的

时序模拟中显示的时钟周期时间为50ns,在这种情况下一切正常。然而,我在这个项目中第一次接触了FPGA,我不完全确定什么是时钟,以及它在时序模拟和硬件方面是否不同


如果时钟周期时差是故障的原因,我相信我必须缩短我设计的传播延迟。如果不是,我现在没有任何线索。

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


希望这能有所帮助。

一般来说,不要假设模拟人生的时间是准确的。如果他们真的是这样,那是件好事。这里有许多可能影响sim卡质量的因素未包含在本问题中。听起来好像你投入得太快了,可能会放慢速度,把设计分成几个部分,在测试管脚上回传一些信号,看看它们是否存在。fpga供应商可能有一些工具可以查看内部(他们添加逻辑blob来查看逻辑blob,因此您添加了更多的逻辑,当然还有风险)。到目前为止,听起来像是基本的fpga调试内容。