verilog testbench编写
trick1
仿真时发现某些信号没有打一拍
解决方式(原理未知)
testbench中对没打拍的信号赋值时使用<=
testbench中时钟信号,复位信号,配置信号等对时钟沿都不太敏感,使用=都没有问题。
出现问题是发包信号,出现问题的时候是发生在@()begin end
块中,不知道跟这个有没有关系。
修改为<=号后就正常打拍了。
trick2
当想强制改变某些被驱动信号的值时,可以在tb中使用force,
这种方式也可以使用于模块内部的信号,如u_test.test