[VerilogHDL] 16_CombinationalLogicExample_DEMUX

16_콤비_예제_2_DEMUX

verilogHDL

[VerilogHDL] 16_CombinationalLogicExample_DEMUX

1. DEMUX

Verilog HDL에서 DEMUX(De-multiplexer)는 하나의 입력을 다수의 출력으로 분배하는 조합 논리 회로입니다. DEMUX는 선택 비트에 따라 입력을 여러 출력 중 하나로 전달하는 역할을 합니다.

2. 예제 코드

module demux1to2(input wire i, select, output reg o0, o1);
    always @(select) begin
        case (select)
            1'b0: begin
                o0 = i;
                o1 = 1'b0;
            end
            1'b1: begin
                o0 = 1'b0;
                o1 = i;
            end
        endcase
    end
endmodule

위의 예제는 1:2 DEMUX를 구현한 Verilog HDL 코드입니다. i는 입력 신호를 나타내고, select는 선택 비트를 나타냅니다. o0o1은 분배된 출력 신호를 나타내는 레지스터형 출력입니다.

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

이 코드를 사용하여 1:2 DEMUX를 구현하면, i 입력이 select 값에 따라 o0 또는 o1 중 하나로 분배됩니다. 예를 들어, select가 0인 경우 io0로 전달되고, 1인 경우 io1로 전달됩니다.

이와 같이 DEMUX를 사용하여 하나의 입력을 다수의 출력으로 분배하는 조합 논리 회로를 구현할 수 있습니다. DEMUX의 출력 개수와 크기는 필요에 따라 다양하게 조정할 수 있습니다.

댓글 쓰기

0 댓글