我已經在其他地方看過,這個語法不允許j = j + 1
,但它有可能在for循環的循環表達式之外增加變量嗎?是否有可能在for循環中增加整數/ genvar
這是我最初想做的。我不知道如何去做這個生成語句,所以我想,我想使用參數20, 21, 22, 23, 25, 28, 29, 31
生成模塊,同時使用來自使用0, 1, 2, 3, 4, 5, 6, 7
索引的2d參數數組的值。所以我想,我只是做一個for循環,然後有第二個變量j
開始於0
並去7
。我可以這樣做嗎?如果不是,建議什麼?
genvar i;
integer j = 0;
generate
for (i = 20; i <= 31; i = i + 1) begin : NUM_OF_FF
if (i != 21 && i != 24 && i != 26 && i != 27 && i != 30) begin
lfsr
#(
.num_of_ff(i),
.poly(lsfr_taps[j])
)
random_data_gen_lsfr
(
.clk(sys_clk),
.rst(rst),
.out(lsfr_bits[i])
);
j = j + 1;
end
end
endgenerate
Robert在下面的答案是我如何做到的。但是關於你的代碼,爲什麼不把j定義爲genvar?在那種情況下,我不明白你爲什麼不能增加它。 – Ari 2014-09-24 22:01:40