我如何在 Verilog 中编写这个 For 循环

How do I write this For loop in Verilog

所以,我在编写 Verilog 文件时遇到了这个错误,因为到目前为止我还没有使用过 FOR 循环,所以我真的不知道如何解决这个问题。

代码部分如下:

for(counter=0;counter=counter+25000000;counter=counter+1)
begin
    out_leds<=3'b111;
end

错误如下:

Error (10170): Verilog HDL syntax error at LEDS.v(20) near text "="

Error (10170): Verilog HDL syntax error at LEDS.v(20) near text ")";
expecting ";"

您的 for 条件没有比较器。你必须写for(counter=0; counter == counter+...

counter = counter + 25000000是对counter新值的赋值。

counter == counter + 25000000 是一个检查 counter 是否与 counter+25000000 相同的语句`

但这也是一个无限循环,因为 counter 永远不会等于 counter+25000000。

您可以创建一个变量 x = counter + 25000000,然后在循环中使用该变量:for(counter=0; counter==x; counter=counter+1)

参见例如here