[VerilogHDL] 16_CombinationalLogicExample_MUX

16_콤비_예제_1_MUX

verilogHDL

[VerilogHDL] 16_CombinationalLogicExample_MUX

1. MUX

Verilog HDL에서 MUX(Multiplexer)는 다수의 입력 중에서 하나의 입력을 선택하여 출력으로 전달하는 조합 논리 회로입니다. MUX는 선택 비트에 따라 입력 중 하나의 신호를 선택하는 역할을 합니다.

2. 예제 코드

module mux2to1(input wire i0, i1, select, output reg y);
    always @(select) begin
        case (select)
            0: y = i0;
            1: y = i1;
        endcase
    end
endmodule

위의 예제는 2:1 MUX를 구현한 Verilog HDL 코드입니다. i0i1은 선택 가능한 두 개의 입력 신호를 나타내고, select은 선택 비트를 나타냅니다. y는 선택된 입력 신호를 출력으로 전달하는 레지스터형 출력입니다.

always 블록 내부에서 select의 변화를 감지하여 선택된 입력 신호를 결정합니다. select의 값에 따라 case 문을 통해 입력 신호 중 하나를 선택하고, y에 할당합니다.

이 코드를 사용하여 2:1 MUX를 구현하면, i0i1 중 하나의 입력 신호가 y에 전달되며, select의 값에 따라 선택이 이루어집니다. 예를 들어, select가 0인 경우 i0가 선택되고, 1인 경우 i1이 선택됩니다.

이와 같이 MUX를 사용하여 여러 개의 입력 중 하나를 선택하는 조합 논리 회로를 구현할 수 있습니다. MUX의 입력 개수와 크기는 필요에 따라 다양하게 조정할 수 있습니다.

댓글 쓰기

0 댓글