7 조합논리회로
목차 01. 가산기 05. 멀티플렉서 02. 비교기 06. 디멀티플렉서 03. 디코더 07. 코드 변환기 04. 인코더 08. 패리티 발생기/검출기
개 요 조합논리회로는 논리곱, 논리합, 논리 부정의 세 가지 기본 논리 회로를 조 합하여 구성한 논리 회로 조합논리회로는 입력변수, 논리 게이트, 그리고 출력변수들로 구성 조합논리회로 블록도
01 가산기 1. 반가산기(half-adder, HA) S : sum C : carry 입력 출력 X Y S C 1 논리 회로 1 S : sum C : carry 논리 회로 논리기호
01 가산기 2. 전가산기(full-adder, FA) 자리 올림수(carry)를 고려하여 만든 덧셈 회로 입력 출력 X Y Cin 1 X + Y + 0 + 1 Cout S 0 0 0 1 1 0 1 1 입력 출력 X Y Cin S Cout 1
01 가산기 논리 회로 논리기호 전가산기는 반가산기 2개와 OR 게이트를 이용하여 구성
01 가산기 3. 병렬가감산기(parallel-adder/subtracter) 전가산기를 이용한 병렬가산기 병렬가감산기
01 가산기 4. 고속가산기(high-speed-adder) where G: generate, P: propagate 아랫단에서 윗단으로 전달되는 자리올림수 때문에 병렬가산기는 속도가 매우 느리다는 단점이 있음. 이것을 해결하기 위한 방법으로 캐리예측가산기(carry-look-ahead-adder, CLA)를 사용 CLA는 원리는 첫 번째는 Xi, Yi 모두가 1일 때, 또는 Xi, Yi 둘 중에 하나가 1이고 Ci 가 1일 때 캐리가 발생하므로 논리식은 다음과 같다. 4비트 가산기에서 위 식을 써보면 다음과 같다. where G: generate, P: propagate
01 가산기 캐리예측가산기는 Si, Pi, Gi를 발생시키는 부분전가산기(PFA)와 위의 식 C1, C2, C3, C4 을 발생하는 캐리예측 회로로 구성 캐리예측기를 이용한 4bit 병렬가산기
01 가산기 4비트 캐리예측가산기를 하나의 모듈로 만들어서 16비트 캐리예측가산기를 만들어 사용 캐리예측기를 이용한 16bit 병렬가산기
01 가산기 캐리 예측 발생기 IC 74182의 회로
01 가산기 IC 74283 4비트 2진 전가산기이며, 내부에 carry look ahead 회로 내장. 블럭도 개념도
01 가산기 5. BCD 가산기 BCD 코드는 2진수와 달리 표현범위가 0에서 9까지이다. 2진수 합의 결과가 1010~1111인 경우 보정 6+7=13인 경우
01 가산기 BCD 덧셈표 2진 합 BCD 합 10진 값 K Z8 Z4 Z2 Z1 C S8 S4 S2 S1 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
01 가산기 BCD 합에서 캐리를 만들어 주어야 하는 경우의 논리식 BCD 가산기
02 비교기 1비트 비교기 2진 비교기(comparator) : 두 개의 2진수의 크기를 비교하는 회로 입력 출력 X Y F1 X≠Y F2 X>Y F3 X<Y F4 1
02 비교기 2비트 비교기 입력 출력 X Y X=Y X≠Y X>Y X<Y X1X2 Y1Y2 F1 F2 F3 F4 00 1 01 10 11
02 비교기
02 비교기 2비트 비교기 회로
02 비교기 IC 7485 7485는 A3-A0와 B3-B0의 크기를 비교하는 회로 A>B일 때 AGBO의 출력이 1, A<B일 때 ALBO의 출력이 1, A=B일 때 AEBO의 출력이 1이 된다. 확장 입력 AGBI, ALBI, AEBI는 LSB로 입력되며, 즉, 아랫단의 AGBO, ALBO, AEBO의 출력이 윗단의 AGBI, ALBI, AEBI의 입력이 된다. 맨 아랫단의 AGBI, ALBI는 0을 AEBI는 1을 입력한다. 7485 크기 비교기 블럭도
02 비교기 4비트 비교기 IC 7485 진리표 입 력 출력 A3, B3 A2, B2 A1, B1 A0, B0 AGBI ALBI AEBI AGBO A>B ALBO A<B AEBO A=B A3>B3 X 1 A3<B3 A3=B3 A2>B2 A2<B2 A2=B2 A1>B1 A1<B1 A1=B1 A0>B0 A0<B0 A0=B0 4비트 비교기 IC 7485 진리표
02 비교기 IC 7485 크기 비교기 회로
02 비교기 7485를 이용한 12비트 비교회로
03 디코더 디코더(decoder) 디코더 : 입력선에 나타나는 n비트의 2진 코드를 최대 2n개의 서로 다른 정보로 바꿔주는 조합논리회로 인에이블(enable)단자를 가지고 있는 경우는 디멀티플렉서의 기능도 수행 실제 상용 IC의 경우에는 디코더와 디멀티플렉서의 기능으로 모두 사용 74138 : 3×8 디코더/디멀티플렉서 74139 : 독립된 2개의 2×4 디코더/디멀티플렉서, 74154 : 4×16 디코더/디멀티플렉서 디코더와 인코터의 기능
03 디코더 1. 1×2 디코더 인에이블이 있는 12 디코더 1개의 입력에 따라서 2개의 출력 중 하나가 선택 입력 출력 A Y1 Y0 1 입력 출력 E A Y1 Y0 0 0 0 1 1 0 1 1 1
03 디코더 2. 2×4 디코더/디멀티플렉서 2개의 입력에 따라서 4개의 출력 중 하나가 선택 진리표와 논리식 회로도 입력 B A Y3 Y2 Y1 Y0 0 0 0 1 1 0 1 1 1 진리표와 논리식 회로도
03 디코더 실제 IC들은 AND게이트가 아닌, NAND 게이트로 구성 2×4 NAND 디코더 진리표와 논리식 입력 출력 B A Y3 Y2 Y1 Y0 0 0 0 1 1 0 1 1 1 2×4 NAND 디코더 진리표와 논리식 2×4 NAND 디코더 회로
03 디코더 인에이블 단자를 갖는 2×4 디코더 대부분의 IC 디코더들은 인에이블(enable) 입력이 있어서 회로를 제어한다. E=1일 때만 출력이 동작. 입력 출력 E B A Y3 Y2 Y1 Y0 0 1 0 0 1 0 1 1 1 0 1 1 1 1 인에이블 단자를 갖는 2×4 디코더 진리표와 논리식 인에이블 단자를 갖는 2×4 디코더 회로
03 디코더 NAND 게이트로 구성한 인에이블(enable) 입력이 있는 회로. E=0일 때만 출력이 동작 E B A Y3 Y2 Y1 Y0 1 0 0 0 0 0 1 0 1 0 0 1 1 1 인에블을 갖는 NAND 2×4 디코더 진리표와 논리식, 회로도
03 디코더 74139 구성도 인에이블 단자를 갖는 2×4 디코더를 두 개 가지고 있는 IC
03 디코더 3. 3×8 디코더 3개의 입력에 따라서 8개의 출력 중 하나가 선택 3×8 디코더 진리표와 논리식, 회로도 입력 C B A Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 3×8 디코더 진리표와 논리식, 회로도
03 디코더 IC 74138 (3×8 디코더) 3개의 입력에 따라서 8개의 출력 중 하나가 선택. 세 개의 인에이블 단자를 가지고 있음 입력 출력 C B A G1 G2A G2B Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 x x x 1 x
03 디코더 IC 74138 내부 회로도
03 디코더 4. 4×16 디코더 4×16 디코더 진리표 D C B A Y15 Y14 Y13 Y12 Y11 Y10 Y9 Y8 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 4×16 디코더 진리표
03 디코더 2개의 3×8 디코더로 4×16 디코더를 구성 D=0 D=1 2개의 3×8 디코더로 4×16 디코더를 구성 D=0 상위 디코더만 enable되어 출력은 Y0~ Y7 중의 하나가 1로 되고, 아래의 디코더 출력들은 모두 0이 된다. D=1 하위 디코더만 enable 되어 출력은 Y8~ Y15 중의 하나가 1로 되고, 상위 디코더 출력들은 모두 0이 된다.
03 디코더 74154 4×16 디코더 블록도 회로도
03 디코더 4. 4×16 디코더 4×16 디코더 진리표 D C B A Y15 Y14 Y13 Y12 Y11 Y10 Y9 Y8 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 4×16 디코더 진리표
03 디코더 4개 입력 16개 출력 2x4 디코더 5개를 이용한 4x16 디코더
03 디코더 5. 디코더를 이용한 조합논리회로 3×8 디코더를 이용하는 경우 3×8 디코더 출력 3×8 디코더 반전출력
03 디코더 3×8 디코더를 이용하는 경우의 예
03 디코더 3×8 디코더를 이용하는 경우의 예
03 디코더 6. BCD-7 세그먼트 디코더 7 세그먼트 : 숫자 표시 전용 장치 1 2 3 4 5 6 7 8 9
03 디코더 7-세그먼트 디코더 진리표 입력 출력 D C B A 1 x
03 디코더 카르노 맵
03 디코더 회로도
03 디코더 7447 일반적으로 사용되는 7-세그먼트 디코더 Active low로 동작 7446은 6과 9의 글자 모양만 다르고 나머지는 7447과 동일함. 7- Segment Decoder
03 디코더 7447 진리표 decimal or function 입력 출력 D C B A 1 X 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
03 디코더 7447 회로도
03 디코더 7448 회로도
03 디코더 7447을 이용한 7-세그먼트 구동 회로 예
03 디코더 7-세그먼트 공통 회로 전류 제한 저항을 사용한 7-세그먼트 회로의 예 캐소드 공통 7-세그먼트 애노드 공통 7-세그먼트 전류 제한 저항을 사용한 7-세그먼트 회로의 예
03 디코더 7-세그먼트의 LT, RBI, BI/RBO 사용 예
04 인코더 인코더(encoder)는 디코더의 반대기능을 수행하는 장치로써, 2n개의 입력신호로부터 n개의 출력신호를 만든다. 인코더의 역할은 2n 개중 활성화된 하나의 1비트입력 신호를 받아서 그 숫자에 해당하는 n 비트 2진 정보를 출력한다. 1. 2×1 인코더 입력의 신호에 따라 2개의 2진 조합으로 출력된다. 입력 출력 D1 D0 B0 1 회로도 진리표와 논리식
04 인코더 2. 4×2 인코더 입력의 신호에 따라 2개의 2진 조합으로 출력된다. 입력 출력 D3 D2 D1 D0 B1 B0 1 회로도 진리표와 논리식
04 인코더 3. 8×3 인코더 8(=23)개의 입력과 3개의 출력을 가지며, 입력의 신호에 따라 3개의 2진 조합 으로 출력 D7 D6 D5 D4 D3 D2 D1 D0 B2 B1 B0 1 회로도 진리표와 논리식
04 인코더 4. 8×3 우선순위 인코더 우선순위 인코더(priority encoder)는 입력에 우선순위를 정하여 여러 개의 입 력이 있을 때 우선순위가 높은 입력값에 해당되는 출력신호를 만들어 내는 회 로 입력 출력 D7 D6 D5 D4 D3 D2 D1 D0 B2 B1 B0 1 x 회로도 진리표와 논리식
04 인코더 5. 인코더 IC 74158 : 2×1 인코더/멀티플렉서가 4개 내장 입력 출력 S E Y X 1 진리표 회로도 진리표 회로도 블럭도
04 인코더 74148 (8×3 우선순위 인코더) 8개의 논리반전 입력(0-7)과 3개의 논리반전 출력을 가지는 우선순위 인코더 이다. 가장 우선순위가 높은 것은 7번이다. GS는 데이터 입력 중의 하나가 0이고 EI가 0일 때만 0이 된다. EI와 EO는 74148을 여러 개 연결할 때 사용. 입력 출력 EI 1 2 3 4 5 6 7 A2 A1 A0 GS EO X 진리표
04 인코더 핀 배치도 회로도
04 인코더 6. 10진-BCD 우선순위 인코더 입력 출력 I9 I8 I7 I6 I5 I4 I3 I2 I1 1 X 진리표
04 인코더 핀 배치도 회로도 IC 74147
05 멀티플렉서 멀티플렉서(multiplexer or selector)는 여러 개의 입력선들 중에서 하나를 선택하여 출력선에 연결하는 조합논리회로이다. 선택선들의 값에 따라서 특별한 입력선이 선택된다. 멀티플렉서는 많은 입력들 중 하나를 선택하여 선택된 입력선의 2진 정보를 출력선에 넘겨주기 때문에 데이터 선택기(data selector)라 부르기도 한다. 디멀티플렉서는 정보를 한 선으로 받아서 2n 개의 가능한 출력 선들 중 하나를 선택하여, 받은 정보를 전송하는 회로다. 디멀티플렉서는 n 개의 선택선(selection line)의 값에 의해 하나의 출력선이 선택된다.
05 멀티플렉서 1. 2×1 멀티플렉서 2(=21)개의 입력중의 하나를 선택선 S에 입력된 값에 따라서 출력으로 보내주 는 조합회로 선택선 출력 S F 1 D0 D1 진리표 회로도 논리식
05 멀티플렉서 2. 4×1 멀티플렉서 4(=22)개의 입력중의 하나를 선택선 S0와 S1에 입력된 값에 따라서 출력으로 보 내주는 조합회로 선택선 출력 S1 S0 F 1 D0 D1 D2 D3 진리표 회로도 논리식
05 멀티플렉서 3. 8×1 멀티플렉서 8(=23)개의 입력중의 하나를 출력으로 보내주는 조합논리회로 선택선 출력 S2 S1 8(=23)개의 입력중의 하나를 출력으로 보내주는 조합논리회로 선택선 출력 S2 S1 S0 F 1 D0 D1 D2 D3 D4 D5 D6 D7 진리표 회로도 논리식
05 멀티플렉서 4×1 멀티플렉서 5개를 이용한 16×1 멀티플렉서 16개 입력 4개 선택선
05 멀티플렉서 4. 멀티플렉서 IC 74150(161 멀티플렉서) 핀 배치도 진리표 입력 출력 Select Strobe W D C B A S 1 핀 배치도 진리표
05 멀티플렉서 회로도
05 멀티플렉서 74153(41 인코더) 입력 C0, C1, C2, C3중 한 개를 선택선 입력 A, B에 따라서 출력으로 보내주는 4×1 멀티플렉서 2개 내장 입력 출력 Select Strobe Y B A G X 1 C0 C1 C2 C3 진리표 핀 배치도
05 멀티플렉서 회로도
05 멀티플렉서 5. 멀티플렉서를 이용한 조합논리회로 구현 를 81 멀티플렉서로 구현하는 경우 3개의 선택선을 입력 A, B, C 로 사용 A B C F 1 1(D0) 1(D1 ) 0(D2 ) 0(D3 ) 0(D4 ) 1(D5 ) 0(D6 ) 1(D7 ) 진리표 회로도
05 멀티플렉서 를 41 멀티플렉서로 구현하는 경우 A, B 는 선택선으로 C 는 D0, D1, D2, D3을 조합하여 사용 F 0 0 D0=1 1 0 1 D1=0 1 0 D2= C 1 1 D3= C 진리표 회로도
05 멀티플렉서 를 81 멀티플렉서로 구현하는 경우 3개의 선택선을 입력 A, B, C 로 사용하고, 없어진 항을 복구하여 사용 A B C F 1 0(D0) 0(D1 ) 1(D2 ) 0(D3 ) 1(D4 ) 1(D5 ) 1(D6 ) 1(D7 ) 진리표 회로도 73
05 멀티플렉서 를 41 멀티플렉서로 구현하는 경우 A, B 는 선택선으로 C 는 D0, D1, D2, D3을 조합하여 사용 F 0 0 D0 = 0 1 0 1 1 0 D2 = 1 1 1 D3 = 1 진리표 회로도 74
06 디멀티플렉서 1개의 인에이블 입력을 가지고 있는 디코더는 디멀티플렉서로서의 기능을 수행 디멀티플렉서는 정보를 한 선으로 받아서 2n개의 가능한 출력 선들 중 하나를 선택하여, 받은 정보를 전송하는 회로이다. 디멀티플렉서는 n개의 선택선(selection line)들을 이용하여 출력을 제어. 2×4 디코더 1×4 디멀티플렉서
07 코드 변환기 1. 2진 코드-그레이 코드 변환 2진 코드 그레이 코드 그레이 코드 2진 코드
07 코드 변환기 2. BCD 코드 - 3-초과 코드 변환 입력 출력 B3 B2 B1 B0 E3 E2 E1 E0 1 x 1 x BCD는 10개의 숫자만 가지므로 1010 이후의 6개의 코드는 BCD에 존재하지 않는 코드이며, 입력으로서 사용될 수 없기 때문에 무관항으로 처리한다.
07 코드 변환기
07 코드 변환기 회로도
08 패리티 발생기/검출기 짝수 패리티 발생회로 홀수 패리티 발생회로 8비트 직렬회로에서의 짝수/홀수 패리티 발생
08 패리티 발생기/검출기 IC 74280 9비트 홀수/짝수 패리티 발생과 검출 핀 배치도
08 패리티 발생기/검출기 회로도