Repeat 반복문
Coddy Verilog 여정의 기초 섹션에 포함된 레슨. 90개 중 60번째.
repeat 루프는 코드 블록을 고정된 횟수만큼 실행합니다. for 루프와 달리 루프 카운터 변수를 사용하지 않습니다.
repeat loop는 지정된 횟수만큼 실행됩니다. 몇 번의 반복을 실행할지 결정하는 상수 또는 표현식을 제공합니다.
구문:
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
LoopingRepeat와 For loop
| For loop | Repeat 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 (10) 또는 repeat (count) |
| 루프 변수를 사용할 수 없음 | Iteration number를 추적할 수 없음 |
여러 문장에는 begin/end 사용 | 두 줄 이상인 경우 필요함 |
챌린지
할 일:
"Verilog"를 4번 출력하도록 누락된 repeat 루프를 추가하세요.
직접 해보기
module repeat_challenge;
initial begin
$display("Printing 4 times:");
// TODO: repeat 루프 추가
// 4번 반복
// 안에서 "Verilog" 출력
$finish;
end
endmodule이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 Verilog 컴파일러