[VerilogHDL] 05_조건문과 반복문_for

05_조건문과 반복문_3_for

verilogHDL

[VerilogHDL] 05_조건문과 반복문_for

1. for

Verilog HDL에서 for 문은 반복문을 구현하는데 사용됩니다. for 문은 특정 횟수만큼 반복하여 동작을 수행하거나, 특정 범위 내의 값을 반복적으로 처리하는데 유용합니다.

  1. 반복 횟수 지정: for 문은 일정한 횟수만큼 반복하여 동작을 수행합니다. for 키워드 다음에는 반복 횟수를 지정하는 제어 변수와 초기값, 최종값, 반복 단계를 설정하는 형식이 옵니다.

  2. 반복 범위 지정: for 문은 특정 범위 내의 값을 반복적으로 처리하는데 사용될 수도 있습니다. 제어 변수와 반복 범위는 함께 사용하여 특정 범위 내의 값을 반복 처리할 수 있습니다.

  3. 동작 블록: for 문은 반복적으로 실행될 동작 블록을 포함합니다.

2. 예제 코드

module ForExample;
    reg [3:0] data [7:0];
    
    always @* begin
        for (integer i = 0; i < 8; i = i + 1) begin
            for (integer j = 0; j < 4; j = j + 1) begin
                data[i][j] = i * 4 + j;
            end
        end
    end
    
    initial begin
        #10;
        
        $finish;
    end
endmodule

위의 예제 코드에서는 ForExample 모듈을 선언하고, 2차원 data 배열을 정의합니다.

always 블록에서는 중첩된 for 문을 사용하여 data 배열의 값을 설정합니다. 첫 번째 for 문은 i 제어 변수를 사용하여 외부 배열 인덱스를 제어하고, 두 번째 for 문은 j 제어 변수를 사용하여 내부 배열 인덱스를 제어합니다.

initial 블록에서는 시뮬레이션이 시작된 후 일정 시간이 경과한 후에 $finish를 호출하여 시뮬레이션을 종료합니다.

위의 예제에서는 for 문을 사용하여 반복적으로 값을 계산하고 배열에 할당하는 방법을 보여줍니다. ij의 값이 반복하면서 data 배열의 원소에 접근하여 값을 설정합니다.

댓글 쓰기

0 댓글