我正在熟悉Verilog做小練習,現在我正嘗試實現線性反饋移位寄存器。簡單Verilog for循環中的錯誤
我想裏面的觸發器鏈模型使用一個for循環總是堵,但iverilog不斷給我的錯誤寄存器``我「」在LFSR未知其中「i」是迭代變量和lfsr是我的模塊。
always @(posedge clk or negedge res_n) begin
if(res_n == 0) begin
// ... implement reset
end
else begin
flops[0] <= input_wire;
for (i = 0; i <= width-2; i = i+1) begin
flops[i+1] <= flops[i];
end
end
end
有人能幫我嗎?
謝謝。
確實如此。很奇怪我讀的Verilog教程沒有告訴我這麼做。這是編譯器依賴的東西嗎? – Jersey
@Jersey我不確定這是否依賴於編譯器。但是爲了我對Verilog的理解,爲了不發生奇怪或神祕的錯誤或錯誤,最好儘可能指定每個寄存器,線路或變量。 –
它不依賴於編譯器:您確實需要在'for'循環中聲明循環變量。 –