假设一个module有许多需要赋值的信号a_i,i=1,2,3....。假设a_i是其下标i和其它某些变量b,c,d的函数。我现在想要对这一大堆信号assign,但是又不想一个一个手打,请问各位有什么简便方法吗?如果是软件编程直接用个for(i=0...)循环就行了,但是verilog for是不可综合语句,在这种情况咋办?
以下是我个人的理解,如有不当之处请指教:
可以使用generate语句块,实现对多个模块、线网、寄存器赋值。有关generate语句块的用法,请参考其他教程
可以用 for ,for 可以综合。
i 必须是下标
wire [15:0] a;
genvar i
for(i=0;i<8;i=i+1)
begin:for_ixx
assign a[i] = b[i];
end