verilog语法易错点:出现 xx is not a constant的解决方法 写testbench的时候 for(i=0;i<36;i=i+1) beginw_in0[31+i*32+:0+i*32] = $random;end 报错 “i is not a constant”,原因是verilog并不支持片选前后都是变量的切片方法 改成下列语句便可以正常运行 for(i=0;i<36;i=i+1) beginw_in0[i*32+:32] = $random;end