次のコードは両方ともクロックを生成します。クロック生成以外にフォーエバー ループの使用法があるかどうかを知る必要がありますか? 私はクロック世代で永遠に出くわしただけです。この目的のためだけなら、駄目じゃないですか。
initial begin
clk = 0;
forever begin
#5 clk = ~clk;
end
end
initial begin
clk = 0 ;
always begin
# 5 clk = ~clk;
end
end
次のコードは両方ともクロックを生成します。クロック生成以外にフォーエバー ループの使用法があるかどうかを知る必要がありますか? 私はクロック世代で永遠に出くわしただけです。この目的のためだけなら、駄目じゃないですか。
initial begin
clk = 0;
forever begin
#5 clk = ~clk;
end
end
initial begin
clk = 0 ;
always begin
# 5 clk = ~clk;
end
end
//私は違いを示します;;;;;;; //初期ブロック内で永久ブロックを使用することはできませんが、初期ブロック内で永久ブロックを使用することはできます//エラーのあるコード:
module stimulus(output reg a,b);
initial
begin
a = 1'b1;
b = 1'b0;
always
begin
#5 a = ~a; //error when compiling
#6 b = ~a;
end
end
initial
#25 $stop;
endmodule
// code with no error
module stimulus(output reg a,b);
initial
begin
a = 1'b1;
b = 1'b0;
always
begin
#5 a = ~a; //no error when compiling
#6 b = ~a;
end
end
initial
#25 $stop;
endmodule