13. 멀티플렉서와 디멀티플렉서 (Multiplexer and Demultiplexer)
멀티플렉서multiplexer:MUX는 셀렉터라고도 불리는데, 여러 입력 중 하나를 출력하는 기능을 한다.
멀티플렉서의 반대인 디멀티플렉서demultiplexer:DEMUX는 하나의 입력을 하나의 여러개의 출력으로 만들어주며, 디코더라고도 불린다.
MUX와 DEMUX는 select line이라고도 불리는 control 신호에 의해 출력이 결정된다. 이를 통해 같은 회로를 여러개 만들지 않고 여러가지 값의 연산을 수행할 수 있다.
예를들어, 위 이미지에서 우리가 $A_0$와 $B_0$의 합을 구하고, 이 값을 $Z_0$에 저장하고 싶다면, 각 MUX와 DEMUX가 우리가 원하는 값을 Adder에 전달하도록 $S$ 신호를 보낼 수 있다.
MUX의 구현
MUX의 구현은 위와 같이, Selector 신호와 입력의 AND 게이트와 OR 게이트로 구현할 수 있다.
여러 데이터 중 하나를 출력하는 MUX를 구현하기 위해, 여러 MUX를 합칠 수도 있다. 예를들어, 8:1 MUX를 만들 때, 4:1 MUX 두 개로 $I_0 \cdots I_3$ 까지의 입력과 $I_4 \cdots I_7$까지의 입력을 각각 처리하고, 2:1 MUX로 두 MUX의 출력을 처리해 결과를 구할 수 있다.
디멀티플렉서
deMUX는 MUX와 반대로, 하나의 입력을 여러 출력으로 만들어 준다. 여러 출력으로 만들어 준다는 것은, 적절한 출력 Line에 데이터를 보내준 다는 것과 같다.
또한 deMUX에는 Enable input 기능을 넣을 수 있는데, E 신호가 0일 때만, 결과를 출력하도록 하는 on/off 기능이다.
deMUX 회로의 마지막 NAND 게이트에 E' 을 입력으로 넣으면 된다.
2:4 deMUX의 진리표는 아래와 같다.
Enable | Select 1 | Select 2 | Out 1 | Out 2 | Out 3 | Out 4 |
1 | X | X | 1 | 1 | 1 | 1 |
0 | 0 | 0 | 0 | 1 | 1 | 1 |
0 | 0 | 1 | 1 | 0 | 1 | 1 |
0 | 1 | 0 | 1 | 1 | 0 | 1 |
0 | 1 | 1 | 1 | 1 | 1 | 0 |
디코더와 디멀티플렉서
디멀티플렉서는 디코더의 출력을 0과 1을 바꾼 것 과 같다.
'학부 수업 > 디지털시스템' 카테고리의 다른 글
15. Verilog HDL을 이용한 7-seg display Decoder 구현 (0) | 2020.05.23 |
---|---|
14. 하드웨어 기술 언어와 Verilog HDL(Hardware Description Language: HDL) (0) | 2020.05.22 |
12. 인코더 (Encoder) (0) | 2020.05.15 |
11. 디코더 (Decoder) (0) | 2020.05.15 |
10. 자리올림수 예측 가산기 (Carry look Ahead Full Adder) (0) | 2020.05.12 |
댓글
이 글 공유하기
다른 글
-
15. Verilog HDL을 이용한 7-seg display Decoder 구현
15. Verilog HDL을 이용한 7-seg display Decoder 구현
2020.05.23 -
14. 하드웨어 기술 언어와 Verilog HDL(Hardware Description Language: HDL)
14. 하드웨어 기술 언어와 Verilog HDL(Hardware Description Language: HDL)
2020.05.22 -
12. 인코더 (Encoder)
12. 인코더 (Encoder)
2020.05.15 -
11. 디코더 (Decoder)
11. 디코더 (Decoder)
2020.05.15