Menu
Coddy logo textTech

Repeat 반복문

Coddy Verilog 여정의 기초 섹션에 포함된 레슨 — 90개 중 60번째.

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 vs For 루프

 For 루프Repeat 루프
카운터 변수예 (명시적)아니오
사용 시기인덱스 값이 필요한 경우단순 반복이 필요한 경우
예시for (i=0; i<5; i=i+1)repeat (5)

여러 클록 사이클 생성하기

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

이것은 20개의 클록 에지(10개의 전체 사이클)를 생성합니다.

중요 규칙

규칙설명
숫자는 음수가 아니어야 합니다음수 횟수만큼 반복할 수 없습니다
상수 또는 표현식을 사용할 수 있습니다repeat (10) 또는 repeat (count)
루프 변수를 사용할 수 없습니다반복 횟수를 추적할 수 없습니다
여러 문장에는 begin/end를 사용하세요두 줄 이상인 경우 필수입니다
challenge icon

챌린지

수행할 작업:

"Verilog"를 4번 출력하도록 누락된 repeat 루프를 추가하세요.

치트 시트

repeat 루프는 루프 카운터 변수 없이 정해진 횟수만큼 코드 블록을 실행합니다.

repeat (number) begin
  // 반복할 코드
end

상수 또는 변수 표현식을 사용할 수 있습니다:

integer count = 3;
repeat (count) begin
  $display("Looping");
end

일반적인 사용 사례 — 클록 사이클 생성:

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

Repeat vs For 루프: 반복만 필요한 경우(인덱스가 필요 없는 경우)에는 repeat를 사용하고, 반복 카운터 값이 필요한 경우에는 for를 사용하세요.

직접 해보기

module repeat_challenge;
  
  initial begin
    $display("Printing 4 times:");
    
    // TODO: repeat 루프 추가
    // 4번 반복
    // 내부에서 "Verilog" 출력
    
    $finish;
  end
endmodule
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨