홈으로 돌아가기

BCD 디코더 7seg: 합성 및 시뮬레이션

이 기사는 7세그먼트 표시기를 위한 BCD 디코더의 합성을 설명합니다: 진리표부터 DNF/CNF와 최소화를 거쳐 Digital Deeds의 계층적 회로도까지. 세그먼트 a–g에 대한 전체 공식과 구현 지침이 제공됩니다.

시뮬레이터에서 BCD-7seg 디코더를 처음부터 조립하기
Advertisement 728x90

7세그먼트 디스플레이용 BCD 디코더 설계: 진리표에서 시뮬레이션까지

BCD 디코더는 4비트 이진수(0–9) 입력을 7세그먼트 디스플레이의 신호로 변환합니다. 각 세그먼트(a–g)는 x3(상위비트), x2, x1, x0(하위비트) 입력에 따라 논리 함수로 제어됩니다. 숫자 10–15(1010–1111)에 대해서는 모든 세그먼트가 꺼집니다.

진리표는 각 세그먼트의 상태를 정의합니다:

| 숫자 | x3 | x2 | x1 | x0 | a | b | c | d | e | f | g |

Google AdInline article slot

|------|----|----|----|----|---|---|---|---|---|---|---|

| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |

| 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |

Google AdInline article slot

| 2 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |

| 3 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |

| 4 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |

Google AdInline article slot

| 5 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |

| 6 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 |

| 7 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |

| 8 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |

| 9 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |

논리 함수 합성 방법

각 세그먼트에 대해 부울 함수를 합성합니다. 선택 기준은 출력값 중 1과 0의 비율에 따라 달라집니다:

  • SOP(곱의 합, 1을 기준): 출력이 1인 minterm의 논리곱을 논리합으로 연결. 출력값이 50% 이상이면 적합.
  • POS(합의 곱, 0을 기준): 출력이 0인 maxterm의 논리합을 논리곱으로 연결. 출력값이 50% 이상이면 최적.

예시: 세그먼트 A(0이 두 개: 1, 4) — POS

  • 0001 행: (x3 ∨ x2 ∨ x1 ∨ ¬x0)
  • 0100 행: (x3 ∨ ¬x2 ∨ x1 ∨ x0)
  • A = (x3 ∨ x2 ∨ x1 ∨ ¬x0) ∧ (x3 ∨ ¬x2 ∨ x1 ∨ x0)

예시: 세그먼트 E(1이 네 개) — SOP

  • 0000: ¬x3 ∧ ¬x2 ∧ ¬x1 ∧ ¬x0
  • 0010: ¬x3 ∧ ¬x2 ∧ x1 ∧ ¬x0
  • 0110: ¬x3 ∧ x2 ∧ x1 ∧ ¬x0
  • 1000: x3 ∧ ¬x2 ∧ ¬x1 ∧ ¬x0
  • E = 위 식들을 ∨로 연결.

식의 최소화 기법

카르노 맵 또는 온라인 계산기를 활용해 식을 단순화합니다. 최종 최소화된 표현식(곱의 합 형태):

  • a: ((¬x0 ∧ ¬x2) ∨ x3 ∨ x1 ∨ (x0 ∧ x2))
  • b: ((¬x0 ∧ ¬x1) ∨ ¬x2 ∨ x3 ∨ (x0 ∧ x1))
  • c: x3 ∨ x2 ∨ ¬x1 ∨ x0
  • d: ((¬x0 ∧ ¬x2) ∨ x3 ∨ (¬x0 ∧ x1) ∨ (x0 ∧ ¬x1 ∧ x2) ∨ (x1 ∧ ¬x2))
  • e: ((¬x0 ∧ ¬x1 ∧ ¬x2) ∨ (¬x0 ∧ x1 ∧ ¬x3))
  • f: ((¬x0 ∧ ¬x1) ∨ x3 ∨ (¬x0 ∧ x2) ∨ (¬x1 ∧ x2))
  • g: ((¬x0 ∧ ¬x1 ∧ ¬x2) ∨ (¬x0 ∧ x1 ∧ ¬x2) ∨ (x0 ∧ x1 ∧ ¬x2) ∨ (x3 ∧ ¬x2 ∧ ¬x1))

이 식들은 AND, OR, NOT 게이트를 사용해 구현됩니다.

Digital Deeds에서의 계층적 구현

Digital Deeds는 계층적 블록(.cbe 파일 형식)과 회로도(.pbs 파일 형식)를 지원합니다.

단계 1: 세그먼트 블록 생성

  • 새 블록 생성: 입력 4개(x3–x0), 출력 1개.
  • 핀 이름 재지정: 더블클릭.
  • 공식에 맞춰 선 연결(Ctrl+W), 예: 세그먼트 A.

단계 2: 메인 회로 구성

  • 새 회로 생성.
  • 사용자 정의 컴포넌트 불러오기(7개 블록).
  • x0–x3 입력을 모든 블록에 병렬 연결.
  • 출력은 7세그먼트 디스플레이에 연결.

테스트: 0000–1001 범위를 순환하면 정확한 숫자 표시. 시뮬레이터는 디버깅용 타이밍 다이어그램을 생성합니다.

핵심 요약

  • 진리표에서 1과 0의 밀도에 따라 SOP 또는 POS를 선택하세요.
  • 최소화는 부품 수를 줄입니다: 4변수 경우 카르노 맵이 최적입니다.
  • 계층적 블록은 FPGA/ASIC 설계 확장성 향상에 유리합니다.
  • BCD 디코더는 카운터, 타이머, 디지털 디스플레이의 기초입니다.
  • 시뮬레이션 테스트는 물리적 프로토타입 전 오류를 조기에 발견할 수 있습니다.

— Editorial Team

Advertisement 728x90

다음 읽기