디지털논리회로 6-8강 : 조합논리회로

yoneeki·2025년 4월 6일

knou

목록 보기
14/14

디지털논리회로 6강

조합논리회로(1)


1. 조합논리회로의 개요

  • 조합논리회로: 저장 요소가 없이 현재 입력만으로 출력이 결정되는 회로
  • 순서논리회로: 플립플롭 등의 저장 요소 포함, 입력과 상태에 따라 출력 결정

● 차이점

구분조합논리회로순서논리회로
기억소자없음있음 (예: Flip-Flop)
출력 결정현재 입력의 조합현재 상태 + 입력의 순서
예시가산기, 감산기레지스터, 카운터

2. 조합논리회로의 분석과 설계

● 분석

  • 논리회로도에서 각 게이트의 출력을 변수로 설정하여 부울 함수 유도
  • 진리표 작성하여 출력 관계 명확히 파악

● 설계 절차

  1. 입력 및 출력 변수 개수 정의
  2. 진리표 작성
  3. 각 출력에 대한 부울 함수 도출 및 간소화
  4. 논리회로도 작성

3. 예제: 홀수만 통과시키는 회로

  • 3비트 2진수 입력 → 짝수는 000, 홀수는 그대로 출력
  • 입력: X, Y, Z / 출력: F2, F1, F0

● 진리표 요약

입력 (X, Y, Z)출력 (F2, F1, F0)
000000
001001
010000
011011
100000
101101
110000
111111

● 출력 부울식

  • F2 = XZ
  • F1 = YZ
  • F0 = Z

4. 가산기(Adder)

● 반가산기 (Half Adder)

  • 입력: X, Y
  • 출력: 합(S) = X ⊕ Y, 자리올림(C) = XY

● 전가산기 (Full Adder)

  • 입력: X, Y, 이전 자리올림(Cin)
  • 출력: 합(S) = X ⊕ Y ⊕ Cin
    자리올림(Cout) = XY + X·Cin + Y·Cin

● 직렬 vs 병렬 가산기

구분직렬가산기병렬가산기
구성전가산기 + 플립플롭전가산기 병렬 연결
속도느림빠름
회로 복잡도낮음높음

5. 감산기(Subtractor)

● 반감산기 (Half Subtractor)

  • 입력: X, Y
  • 출력: 차(D) = X ⊕ Y, 빌림(B) = X'Y

● 전감산기 (Full Subtractor)

  • 입력: X, Y, Borrow In (Z)
  • 출력: 차(D) = X ⊕ Y ⊕ Z
    빌림(B) = X'Y + X'Z + YZ

6. 병렬 가·감산기

  • 2의 보수를 이용하여 감산을 가산기로 처리
  • B의 보수 = NOT(B) + 1
    → A - B = A + (2의 보수 B)

● 제어 신호(S)

  • S = 0: 덧셈 수행

  • S = 1: 감산 수행

  • XOR 게이트로 B 입력을 제어하여 보수 처리

디지털논리회로 7강

조합논리회로(2) - 코드변환기, 패리티발생기/검사기, BCD-7세그먼트, 인코더


1. 코드 변환기

  • 서로 다른 코드 체계를 사용하는 디지털 시스템 간 데이터 교환을 위해 필요
  • 2진 코드 → 다른 형태의 2진 코드로 변환

● 예시 변환기

  • BCD → Excess-3
  • BCD → 9의 보수

● BCD → Excess-3 코드

  • 입력: 4비트 BCD (0000~1001)
  • 출력: BCD 값 + 3에 해당하는 4비트
  • 나머지 입력(1010~1111)은 무관 조건 처리

● BCD → 9의 보수 코드

  • 입력: 4비트 BCD
  • 출력: 9 - BCD 값

● 설계 단계

  1. 진리표 작성
  2. 카르노 도표 작성 및 간소화
  3. 출력 부울식 도출
  4. 논리회로도 작성

2. 패리티 발생기 / 검사기

  • 데이터 전송 중 오류 검출을 위한 부가 비트

● 짝수/홀수 패리티

  • 짝수 패리티: 전체 1의 개수가 짝수
  • 홀수 패리티: 전체 1의 개수가 홀수

● 이중 패리티 방식

  • 수평 + 수직 방향의 패리티 동시 적용
  • 오류 위치까지 추정 가능

● 홀수 패리티 발생기 예시

  • 입력: X, Y, Z
  • 출력: P = X ⊕ Y ⊕ Z

● 패리티 검사기 예시

  • 입력: W, X, Y, Z, P
  • 출력: 에러 여부 = W ⊕ X ⊕ Y ⊕ Z ⊕ P

3. BCD → 7 세그먼트 디스플레이

  • 7개의 LED 세그먼트를 이용해 숫자 표시
  • 입력: 4비트 BCD
  • 출력: a, b, c, d, e, f, g 각 세그먼트 제어 신호

● 설계 방법

  1. 진리표 구성 (BCD 값 → 표시할 숫자 모양)
  2. 각 세그먼트에 대한 출력 부울식 도출
  3. 카르노 도표로 간소화

4. MSI를 이용한 조합논리회로

● MSI (Medium Scale Integration)

  • 기능별로 미리 구성된 집적 회로
  • 설계 효율 향상, 유지보수 용이

● 대표적인 MSI 회로

  • 인코더, 디코더, 멀티플렉서, 디멀티플렉서

5. 인코더

  • 비부호화 입력 → 부호화된 출력
  • 입력 2ⁿ개 → 출력 n개
  • 예: 8입력(0~7) → 3비트 출력 (A2, A1, A0)

● 8→3 인코더 예시

입력(D₇~D₀)출력(A₂ A₁ A₀)
00000001000
00000010001
00000100010
......
10000000111
  • 부울식:
    • A0 = D1 + D3 + D5 + D7
    • A1 = D2 + D3 + D6 + D7
    • A2 = D4 + D5 + D6 + D7

● 우선순위 인코더

  • 다중 입력이 동시에 1일 때, 높은 번호 입력 우선 처리

디지털논리회로 8강

조합논리회로(3) - 디코더, 멀티플렉서, 디멀티플렉서


1. 디코더 (Decoder)

  • 부호화된 입력 → 부호화되지 않은 출력으로 변환
  • n비트 입력 → 최대 2ⁿ개의 출력을 생성

● 2×4 디코더

입력출력(Y₃ Y₂ Y₁ Y₀)
000001
010010
100100
111000

출력 부울식:

  • Y₀ = A'B'
  • Y₁ = A'B
  • Y₂ = AB'
  • Y₃ = AB

● 3×8 디코더

  • 3비트 입력 → 8개의 출력(D₀~D₇)
  • 각 출력은 하나의 최소항 표현
  • 확장 방식: 2개의 2×4 디코더를 사용해 3×8 디코더 구성 가능

2. 디코더를 이용한 부울함수 구현

  • n 입력 → 2ⁿ 최소항 생성
  • 부울함수를 최소항의 합(Σm) 형태로 표현하여 OR 게이트로 묶어 구현

예시:
F(X,Y,Z) = Σm(1,3,4,7) → 3×8 디코더 사용 + OR 게이트


3. 디코더를 이용한 BCD → 3초과 코드 변환

입력: BCD (A,B,C,D)
출력: (W,X,Y,Z)

입력 (BCD)출력 (3초과 코드)
00000001
00010100
00100101
00110110
01000111
01011000
......
  • 각 출력은 최소항의 합으로 표현
  • 4×16 디코더와 OR 게이트를 이용해 구현

4. 멀티플렉서 (MUX)

  • 여러 입력 중 하나를 선택하여 출력
  • 선택선: 입력 중 어떤 값을 출력할지 결정
  • 2ⁿ 입력 → n개의 선택선

● 4×1 멀티플렉서 예시

선택선 (S₁S₀)에 따라 출력:

  • 00 → D₀
  • 01 → D₁
  • 10 → D₂
  • 11 → D₃

MUX = 선택기 역할

● MUX의 내부 동작

  • 입력선 AND 게이트 → OR 게이트로 출력
  • 선택선에 따라 특정 AND 게이트만 활성화

5. 멀티플렉서를 이용한 부울함수 구현

  • n개 선택선, 2ⁿ 데이터 입력 → n+1개의 입력 변수 표현 가능
  • 선택선: 입력 변수 일부
  • 입력선: 최소항에 해당하는 값 (0,1,A,A')

예시: F(A,B,C) = Σm(1,2,6,7)

  • 선택선: B, C
  • 입력: A 조합에 따라 0, 1, A, A'

6. 디멀티플렉서 (DEMUX)

  • 하나의 입력을 선택선에 따라 여러 출력 중 하나로 분배
  • MUX와 반대 동작
  • 선택선이 특정 출력 라인을 선택함

● 1×4 디멀티플렉서 예시

선택(S₁S₀)출력선
00D₀
01D₁
10D₂
11D₃
  • 입력 E가 1일 때 선택선 값에 따라 출력 결정
  • 디코더와 진리표가 유사

7. MSI 회로 활용 시 유의점

  • 논리 게이트나 배선을 자동 최적화해주는 장치는 아님
  • 검증된 기능 단위 회로를 효율적으로 사용하는 목적
  • 직접 게이트를 배치하는 것보다 시간/비용 효율적
profile
Working Abroad ...

0개의 댓글