|
100资产
最近在尝试用generate 去例化多个ip核。
百度一些情况,发现博客例子中都是使用generate去控制统一个寄存器的不同位数,例如 将generate生成展开:
.dina(datain[1])
.dina(datain[2])
.dina(datain[3])
我想用generate去完成不同寄存器的控制(寄存器名称有规律),例如
将generate生成展开:
.dina(datain1_1)
.dina(datain1_2)
.dina(datain1_3)
不知道是否可行,我试着写成下面这个样子,但是dina接口那行会提示‘undeclared symbol datain1_i ,assumed default net type wire’,不知是否有问题。
genvar i;
generate
for(i=1;i<=8;i=i+1)
begin :RAM1
DP_RAM_18X128 RAM1_i (
...
.dina(datain1_i),
...
);
end
endgenerate
|
最佳答案
查看完整内容
如果只用verilog,那么可以用二维数组。reg [15:0] xxx [127:0]. 如果数目不定,可以写为parameter。
parameter NUM 128;
reg [15:0] xxx [NUM-1:0]
然后generate 逻辑可以使用NUM来generate。
|