8

次のコードは両方ともクロックを生成します。クロック生成以外にフォーエバー ループの使用法があるかどうかを知る必要がありますか? 私はクロック世代で永遠に出くわしただけです。この目的のためだけなら、駄目じゃないですか。

initial begin
clk = 0;
forever begin
#5 clk = ~clk;
end
end

initial begin
clk = 0 ;
always begin 
# 5 clk = ~clk;
end
end
4

3 に答える 3

0

//私は違いを示します;;;;;;; //初期ブロック内で永久ブロックを使用することはできませんが、初期ブロック内で永久ブロックを使用することはできます//エラーのあるコード:

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
于 2014-06-19T05:58:34.827 に答える