Menu
Coddy logo textTech

Repeatループ

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

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

repeat ループは指定された回数だけ実行されます。何回の Iteration を実行するかを決定する定数または式を指定します。

構文:

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

簡単な例

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

出力:

Hello
Hello
Hello
Hello
Hello

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

式を使用した Repeat

integer count = 3;

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

出力:

Looping
Looping
Looping

Repeat vs 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 は非負である必要があります負の times(回数)繰り返すことはできません
定数または式を使用できますrepeat (10) または repeat (count)
loop 変数は使用できませんIteration 番号をトラックすることはできません
複数のステートメントには begin/end を使用します複数行の場合は必須です
challenge icon

チャレンジ

作業内容:

不足している repeat ループを追加して、"Verilog" を 4 回表示してください。

自分で試してみよう

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

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

基礎のすべてのレッスン