clocking block input signal cannot be driven
时间:10-02
整理:3721RD
点击:
大家好。现在刚开始学习systemverilog和UVM,因为是初学者,遇到很多问题,有些很低级,望大家不吝赐教。
现在遇到的一个问题是:
clocking block input signal “sigs” cannot be driven。
我使用VCS进行的仿真。
自己顶,求助各位。
怎么是clocking block的input signal? driver的应该是output才对啊。你把sig定义错了
我是这样写的:
我在intefface中定义了clocking block,称为scb。
clocking scb @(posedge sclk)
input #1 sigs;
......
endclocking
然后我在transaction中使用将interface 例化为 v_intf,并给sigs赋值;
v_intf.scb.sigs <= in_addr;
结果编译的时候就提示了 :
clocking block input signal "sigs" can not be driven的错误。
求指教。
现在我将sigs信号在clocking block 中由input,改为output后,这个错误就消失了。可是我的确是想要将此信号设置为输入input。
看来对clocking block的含义没有真正掌握。请各位指教!
clocking block 中信号的方向是和DUT内部相反的,也就是DUT的输入,在clocking中是输出。从 testbench -> DUT
能详细点么?谢谢啦