Loops 在Verilog中,执行逻辑后是否可以检查循环的条件?
实际上,我正在寻找一种方法,只使用一个3位变量进行增量循环8次 我确实意识到一个简单的解决方案是使用4位变量并使用Loops 在Verilog中,执行逻辑后是否可以检查循环的条件?,loops,verilog,Loops,Verilog,实际上,我正在寻找一种方法,只使用一个3位变量进行增量循环8次 我确实意识到一个简单的解决方案是使用4位变量并使用 for(i=0; i<8; i = i+1) 谢谢 do..while构造存在于系统verilog中,您显示的解决方案在那里有效。但它不能在普通的verilog中工作 对于普通verilog,您可以使用任何编程技巧,即使用标志: reg [2:0] i; reg flag; initial begin flag = 0; i = 0;
for(i=0; i<8; i = i+1)
谢谢
do..while
构造存在于系统verilog中,您显示的解决方案在那里有效。但它不能在普通的verilog中工作
对于普通verilog,您可以使用任何编程技巧,即使用标志:
reg [2:0] i;
reg flag;
initial begin
flag = 0;
i = 0;
while(flag == 0) begin
$display("i = %g", i);
i = i+1;
if (i == 0) flag = 1;
end
end
您可以手动展开一个迭代:
initial begin
i = 0;
$display("i = %g", i);
i = 1;
while( i != 0) begin
$display("i = %g", i);
i = i+1;
end
end
您可以使用repeat:
initial begin
i = 0;
repeat(8) begin
$display("i = %g", i);
i = i+1;
end
end
等等
initial begin
i = 0;
repeat(8) begin
$display("i = %g", i);
i = i+1;
end
end