我如何在 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
所以,我在编写 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