Verilog语法问题:对dout某一个bit随机force赋值,仿真报错
时间:10-02
整理:3721RD
点击:
仿真testbench中,对dout[7:0]其中某1个bit随机赋值,如下:
force dout[{$random} %3'd7] = 1'b1;
会报错:
报错如下:
Illegal force/release left hand side Bit select or part select must be constant。
说明force 某个bit位左边必须是个常量,但我此时就是想要force某个bit一个随机的变量。
变换一种形式如何解决?
force dout[{$random} %3'd7] = 1'b1;
会报错:
报错如下:
Illegal force/release left hand side Bit select or part select must be constant。
说明force 某个bit位左边必须是个常量,但我此时就是想要force某个bit一个随机的变量。
变换一种形式如何解决?
i={$random} %3'd8
case (i):
0: force dout[0]=1'b1;
1: force dout[1]=1'b1;
.............
7: force dout[7]=1'b1;
endcase
不知可行不,可以试一试
verilog这点很恶心,而且systemverilog也没什么好转。
