在仿真双边沿触发对输入进行两级寄存器打拍的时候,testbench发现,对IO输入的信号,打拍时会直接在当前时钟的上升沿或下降沿寄存成功。
分析发现:1其实与双边沿触发并无关系;2打第二拍是正常延迟;3输入信号是上升沿给出还是下降沿给出也无影响;4用uvm仿真环境也依然如此
最后发现是:在testbench或者testcase中,如果产生了时钟,则输入信号的产生最好是通过时钟赋值实现,而不是直接通过#10ns in = 1; 这样方式给出。如果通过这样的方式,可能时序逻辑就会变成组合逻辑,相当于后续的 always@( posedge clk)的赋值直接变为 assign的效果。
版权声明:本文为qq_42023732原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。