Modelsim仿真笔记

在写SPI程序的时候,用Modelsim进行仿真的时序图是正确的,但是下载到板子时确不正确。总结一下几点:

1:在仿真程序中可以用initial进行初始化,但是在下载到板子的程序中不能用initial进行初始化,采用reset进行初始化

2:在快速的时序当中,程序写法不规范,就会导致延时的问题,从而导致产生预期想不到的波形。为避免意想不到的延时:

(1)提高工作频率的本质就是减少寄存器到寄存器的延时,最有效的方法就是避免出现大的组合逻辑,也就是尽量满足四输入的条件,减少LUT级联的数量我们可以通过加约束,流水线,切割状态的方法提高工作频率。

(2)一个模块尽量至用一个时钟,尽量不要使用计数器分频后的信号做其他模块的时钟,改成时钟使能的方式。

(3)门控时钟问题解决方法:分频器做成鱼系统时钟脉冲宽度一个周期宽度的脉冲信号;将分频器的输出送入粗发起的CE使能端,当系统时钟到来时,检测CE的有效性,CE有效时,触发器输出改变。

(4)扇出问题(一个节点驱动多个下级逻辑器件):赋值寄存器策略。

原文地址:https://www.cnblogs.com/lanlingshan/p/2363664.html