请教关于system verilog的信号赋值
时间:12-12
整理:3721RD
点击:
测试一个fifo,读接口有信号nempty, read, rdata.
功能就是非空,就去读数据。
要求的时序是: nempty=1,就可以触发read信号开始读。读到空nempty=0,则停止read信号的有效。
用verilog写这样的测试模型很容易。可以直接把read=nempty就可以进行最快速的读操作。
但是对于systemverilog,它testbench的输出信号赋值都是在下一个时钟才有效,导致我每次读以后必须停下来看nempty信号是否有效,才可以决定是否把read信号。导致读操作每次要停一拍。
请教,大家有什么提高读操作速度的方法吗?
或者说system verilog有没有可以直接把read=nempt的赋值方法。
谢谢!
功能就是非空,就去读数据。
要求的时序是: nempty=1,就可以触发read信号开始读。读到空nempty=0,则停止read信号的有效。
用verilog写这样的测试模型很容易。可以直接把read=nempty就可以进行最快速的读操作。
但是对于systemverilog,它testbench的输出信号赋值都是在下一个时钟才有效,导致我每次读以后必须停下来看nempty信号是否有效,才可以决定是否把read信号。导致读操作每次要停一拍。
请教,大家有什么提高读操作速度的方法吗?
或者说system verilog有没有可以直接把read=nempt的赋值方法。
谢谢!
你是不是用clocking了,去掉clocking,直接驱动试试
clocking到底有什么好处呢?
整的波形看起来也不太舒服
我没有用clocking啊,但是好像它默认就是会下一拍生效。
SystemVerilog验证测试平台编写指南(原书第二版),(美)克里斯.斯皮尔
讲的比较清楚