forever——无限循环
forever begin
…
end
相当于while(1),无限循环,不可综合,常用于仿真。
可采用 $finish 退出循环
repeat——重复循环
repeat (loop_times) begin
…
end
循环执行loop_times(变量、常数)次,缺少按0次。
whlie——条件为真执行循环
while (condition) begin
…
end
while(x)与while(z)不执行
for——条件为真执行循环
for(initial_assignment; condition ; step_assignment) begin
…
end
initial_assignment 为初始条件。
condition 为终止条件,condition 为假时,立即跳出循环。
step_assignment 为改变控制变量的过程赋值语句,通常为增加或减少循环变量计数。不能采用C语言的++、--。
用法比较多,经常会和generate、always等一同使用。如:
genvar i;
generate
for(i=0; i<8; i=i+1) begin:name
statement;
end
endgenerate