KMU/논리회로설계

[논회설] 논리회로설계 강의 요약해보기 09-1

happykoa 2020. 5. 14. 05:35

Code Converters

  • 여러 코드 사이에 변환을 수행하는 회로
  • Ex) BCD-to-7 Segment Display (BCD = Binary Coded Decimal)

BCD-to-7 Segment Display

Multiple Ouput 회로이다. → Global Optimization vs Local Optimization

 

Equality Comparator

  • 두 입력이 같은지 다른지 비교하는 비교기
  •  N-bit equality Comparator
  • EX) 4-bit equality Comparator
    • a3 = b3, a2 = b2, a1 = b1, a0 = b0
    • AND, OR, NOT 으로 하면 굉장히 길어짐.
    • XNOR를 활용하자
    • eq = (a3 XNOR b3) * (a2 XNOR b2) * (a1 XNOR a1) * (a0 XNOR b0)

Magnitude Comparator

  • N-bit magnitude Comparator
    • 2개의 N -bit 입력 A,B
    • A와 B의 크기 비교 결과 출력
  • 구현은 어떻게 할까
    • XNOR게이트를 활용하자(같으면 1이다.)
      • in = an xnor bn
    • A eq B = i3 i2 i1 i0
    • A gt B(A>B) = a3b3' + i3a3b2' + i3i2a1b1' + i3i2i1a0b0'
    • A ls B (A<B) = (A eq B + A gt B)'
  • BUT, 이 구현 방법은  Scalabilty 문제가 발생한다.
  • Carry-Ripple Adder 처럼 1비트짜리를 이어볼까?
    • 각각의 비교기에서
      • out_gt = in_gt + (in_eq ⋅ a ⋅ b')
      • out_lt = in_lt + (in_eq ⋅a' ⋅ b)
      • out_eq = in_eq ⋅ (a XNOR B)

Minimum Detection

  • 두 개의 8비트 입력 중 작은 수를 골라내는 회로
  • Magnitude Comparator의 결과를 MUX의 selection bit로 넣으면 된다!