Menu
Coddy logo textTech

Repeatループ

CoddyのVerilogジャーニー「基礎」セクションの一部。レッスン 60/90。

repeatループは、コードブロックを固定回数実行します。forループとは異なり、ループカウンタ変数を使用しません。

repeatループは、指定された回数だけ実行されます。実行するイテレーションの回数を決定する定数または式を指定します。

構文:

repeat (number) begin
  // 繰り返すコード
end

簡単な例

repeat (5) begin
  $display("Hello");
end

出力:

Hello
Hello
Hello
Hello
Hello

メッセージは正確に5回出力されます。

式を使って繰り返す

integer count = 3;

repeat (count) begin
  $display("Looping");
end

出力:

Looping
Looping
Looping

Repeat と For loop の比較

 For loopRepeat loop
カウンター変数あり(明示的)なし
使用する場合インデックス値が必要単に繰り返しが必要
例for (i=0; i<5; i=i+1)repeat (5)

複数のクロックサイクルの生成

initial begin
  clk = 0;
  repeat (20) begin
    #5 clk = ~clk;
  end
end

これは20個のクロックエッジ(10個の完全なサイクル)を生成します。

重要なルール

ルール説明
number は負でない値でなければならない負の回数は repeat できない
定数または式を使用できるrepeat (10) または repeat (count)
loop 変数は使用できないIteration number を追跡できない
複数の文には begin/end を使用する1 行を超える場合に必要
challenge icon

チャレンジ

行うこと:

「Verilog」を 4 回出力するために、不足している repeat ループを追加してください。

自分で試してみよう

module repeat_challenge;
  
  initial begin
    $display("Printing 4 times:");
    
    // TODO: repeatループを追加
    // 4回繰り返す
    // 内側で "Verilog" を出力
    
    $finish;
  end
endmodule
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Verilogオンラインコンパイラ