如何获得常量值或参数数组?我想使用这个数组来选择寄存器的一部分,所以它应该是常量。因为我想将这些部分分配给在for循环中生成的函数的输入,所以我需要一个数组来使用索引。
这是我遇到问题的代码的一部分,因为在i
的每次迭代中,我需要一个新的encoderOut
。
generate
for ( i=0; i<row ; i=i+1) begin:hi
for ( j=0; j<column ; j=j+1) begin:ji
oneBitBlock #(choicesBit,selBit,funcBit,funcCount,(j+1)*row-1)U (rst,muxChoices[encoderOut-1:0],gene[pack*(i*row + j) +: encoderOut],gene[pack*(i*row + j)+encoderOut +: encoderOut],gene[pack*(i*row + j)+2*(encoderOut) +: funcBit],out[i*row + j]);
end
end
endgenerate
答案 0 :(得分:0)
遗憾的是,没有直接的方法来制作一系列参数。但是,如果您的参数值有限,比如32位,那么您可以连接这些值并使用移位和掩码提取它们:
parameter TABLE = {32'd12,32'd45,32'd11}, // parameter values (value1,value2,value3...)
parameter TABLE_N = 4, // number of entries in a table
现在,将encodeOut替换为
((TABLE >> (32*(TABLE_N - i - 1 ))) & {32{1'b1}})