멀티플렉서(multiplexer) 또는 mux는 여러 아날로그 또는 디지털 입력 신호 중 하나를 선택하여 선택된 입력을 하나의 라인에 전달하는 장치이다.
MUX는 2^n개의 데이터 input을 1개의 데이터 ouput으로 출력한다.
2-to-1 MUX
2^n data input과 n개의 select line이 있고 위에선 s값에 따라 input을 f값으로 출력한다.
s=0이면 D0가 output이 되고 s=1이면 D1이 output
f = s'd0 + sd1으로 표현할 수 있다.
진리표로 표현하면 위와 같고 아래처럼 축약해서 표현 가능
4-to-1 MUX에서는 select input이 2개 존재하는데 MSB를 명시 해주자
위의 MUX는 s1이 MSB이다. 보통 MSB는 왼쪽에 표시한다.
어떤Boolean함수 f가 minterm들로 주어졌을때, f를 MUX로 구현하기 위해 Shannon's Expansion을 활용한다.
select input을 정해주고(위에서는 w1) 그 값이 0일때과 1일때 로 정리해준다. 자주 나오는 값을 select input으로 하는것이 팁
4-to-1 MUX는 2-to-1 MUX로, 16-to-1 MUX는 4-to-1 MUX로 구현가능하다.
n개의 입력으로 들어오는 데이터를 받아 그것을 숫자로 보고 2의 n승개의 출력회선 중 그 숫자에 해당되는 번호에만 1을 내보내고, 나머지는 모두 0을 내보내는 논리회로
Decoder는 n개의 데이터를 받아 2^n개를 output한다.
2-to-4 Decoder 진리표
Decoder을 쉽게 정리하면 여러개의 output중 1이되는 값은 그것은 바로 input이 만들어낸 minterm이다.
위에서 Q0 = S1'S0', Q1 = S1'S0, Q2 = S1S0' Q3 = S1S0
S1이 MSB
EN(enable)은 inputsignal로 1인경우 약속된 동작을 하고 0이면 하지 않는다.
EN의 input에 인버터를 넣어 EN = 0일때 실행되는 것을 active-low EN이라 하고 반대의 경우 active-high라 한다.
enable을 활용해 2-to-4 decoder을 3-to-decoder로 구성한다.
decoder와 OR게이트로 minterm들의 sum을 표현할 수 있다.
Reference:상명대학교 정진우교수님 강의자료