如何在Verilog中编写此For循环

时间:2019-05-24 08:30:25

标签: verilog

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

这是代码的一部分:

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

以下是错误:

  

错误(10170):LEDS.v(20)处文本“ =”

附近的Verilog HDL语法错误      

错误(10170):文本“)”附近的LEDS.v(20)出现Verilog HDL语法错误;
  期待“;”

1 个答案:

答案 0 :(得分:0)

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

counter = counter + 25000000是分配给计数器的新值。

counter == counter + 25000000是用于检查counter是否与counter + 25000000`相同的语句。

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

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

例如参见here