modelsim仿真教训

modelsim仿真的成功关键在于——局部变量的初始化。

对于最重要的clk,在initial里,clk=0,然后forever #2 clk=~clk;可以产生时钟信号。

在编写verilog文件时,就要使用RST,使得每次按下RST时就将所有非输出输入变量变为0或者初始化值。在testbench里有很重要的作用。

在TB文件里,如果不初始化局部变量,则变量就为不定值。在实际中不需要是因为,电路默认为0,就像电路开启时IO口为高电平一样。

所以,RST=0;repeat(2)@(negedge clk) RST=1,即用两个时钟周期将RST重置,这个过程新放在一个initial里。多个initial是并行执行的。

待执行完后,变量则初始化,相当于上电复位了。则仿真开始。

 

总的思想:modelsim软件仿真是严格的电路仿真,一切没有的说明的东西,它都不会任意给它赋予,需要设计者自己考虑。

你可能感兴趣的:(modelsim仿真教训)