[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 코드입니다. i0
와 i1
은 선택 가능한 두 개의 입력 신호를 나타내고, select
은 선택 비트를 나타냅니다. y
는 선택된 입력 신호를 출력으로 전달하는 레지스터형 출력입니다.
always
블록 내부에서 select
의 변화를 감지하여 선택된 입력 신호를 결정합니다. select
의 값에 따라 case
문을 통해 입력 신호 중 하나를 선택하고, y
에 할당합니다.
이 코드를 사용하여 2:1 MUX를 구현하면, i0
와 i1
중 하나의 입력 신호가 y
에 전달되며, select
의 값에 따라 선택이 이루어집니다. 예를 들어, select
가 0인 경우 i0
가 선택되고, 1인 경우 i1
이 선택됩니다.
이와 같이 MUX를 사용하여 여러 개의 입력 중 하나를 선택하는 조합 논리 회로를 구현할 수 있습니다. MUX의 입력 개수와 크기는 필요에 따라 다양하게 조정할 수 있습니다.
0 댓글