4-3강 - Combinational System Design 3 (Multiplexers, Bus)
6. Multiplexers
주어진 input에서 data가 1개만 나간다.
select signal에 따라 ...
1) Multiplexers
0> 정의 : 주어진 input data 중에서 1개의 data를 선택해서 출력하는 회로 (Data Selector)
2^m개의 input이 있을 때, m개의 select signal의 조합으로 1개의 output을 출력하는 회로이다.
1> input : n (2m)
2> select signal : log2n (m)
3> output : 1
2) 예시
1> 2X1 Multiplexer
- S = 0 → D_0~D_1 중에서 D_0 선택
- S = 1 → D_0~D_1 중에서 D_1 선택
2> 4X1 Multiplexer
S_1과 S_0가 0 또는 1을 가지는 4가지 조합으로 -> D_0~D_3 중에서 1가지 data를 선택한다.
3> 4x1 MUX using 3 (2x1) MUX
(2x1) MUX 3개로 4X1 MUX를 만들 수 있다.
4> 8x1 multiplexer (decoder를 사용함)
5> 4x1 MUX using 7 (2x1) MUX
S로부터 2X1 MUX가 1을 받으면 왼쪽 부분이 선택되어 다음 level로 전달된다.
6> Multi-bit multiplexer
n-bit input을 여러개 준비해서 특정 자리의 data만 select하는 회로
7> Function implementation using mux
cf> 상수를 input으로 넣는 것이 가능한가?
1 : VDD
0 : ground 접지
7. Bus
1) Three state gates (buffers)
1> buffer의 정의 : buffer는 일반적으로 inverter를 2개 연결하여 signal의 세기를 증폭시키는 역할을 한다.
2> Three state gates의 어원 : 총 3가지 종류의 output이 존재하기 때문
3> 기본 Three state gates
buffer는 회로 상에서 큰 세모 모양으로 표기 (NOT은 작은 세모와 동그라미로 표현)
4> Truth Table
- enable이 0이면, buffer가 비활성화되어 회로가 끊기기 때문에 output F가 어떤 값일 지 모른다. (unknown = Z)
- enable이 1이면, a의 값이 그대로 F에 전달된다. (물론 signal이 증폭된 채로 전달된다.)
5> Multiplexer로서의 사용
enable의 값에 따라 a와 b 중 하나만 f에 전달된다.
- enable = 0 -> f = a
- enable = 1 -> f = b
2) Bus
1> Bus
Three state gates의 logic 값이 전달될 때, wire로 연결되는 구조
2> Tristate driver symbol
(enable이 0이면 unknown 값을 출력합니다.)
3> 2-input bus
4> 4-to-1 MUX를 decoder와 bus를 사용해서 구현