[디지털논리회로] 부울함수의 간소화 및 구현(2)

 

✔ 무관조건

무관조건(don't care condition)

입력변수들의 조합에 따라 함수값이 발생하지 않는 경우

함수값이 0과 1 중 어떤 출력값으로 나와도 무관한 경우

 

BCD 코드

2진수 16개 조합 중 10개 조합만 사용

나머지 6개 조합(1010, 1011, 1100, 1101, 1110, 1111 : 10 ~15)은 미사용

따라서 BCD 코드를 사용하는 논리회로는 6개 조합이 발생하지 않는다는 가정하에 동작

6개 조합과 무관하게 동작되는 논리회로가 구성

 

부울함수에서 무관조건의 표현

무관조건은 부울함수를 더욱 간소화하는데 사용한다.

무관조건은 X로 표시한다.

: 3변수 부울함수에 대한 무관조건이다. 3개의 변수 A, B, C에 대한 2진수의 열 000, 001, 111인 경우

해당 부울함수의 출력이 0이든 1이든 무관하다는 뜻.

 

 

 기타 카르노 도표

3변수 XOR의 논리식

  • 3변수 XOR : 한 변수가 1이거나 또는 세 변수가 모두 1인 경우
  • 2변수 XOR : 오직 한 변수만 1인 경우
  • 다중 변수 XOR : 홀수개의 변수가 1이어야 한다. = 홀수 함수(odd fuction)

 

 

 NAND 게이트와 NOR 게이트를 이용한 논리회로 구현

  • 모든 부울함수는 AND, OR, NOT 게이트로 구현 가능
  • 실제 회로는 NAND나 NOR 게이트로 구현
  • 회로구성이 동일 게이트로 구성되는 것이 유리하기 때문
  • NAND, NOR 게이트가 전자회로 제작이 용이

> AND, OR 게이트로 구현된 논리회로를 NAND나 NOR 게이트로 구현될 수 있도록 변환이 필요

 

NAND 게이트 개념 및 구성

NAND 게이트만으로 AND, OR, NOT 연산의 구현

 

NAND 게이트의 그래픽 기호

 

2단계 구현

임의의 부울 함수를 NAND 게이트만을 이용한 2단계 구현과정

  1. 간소화하여 곱의 합 형태로 나타낸다.
  2. 2개 이상의 입력들의 곱항을 NAND 게이트로 나타내고, 하나의 입력 곱항은 NOT 게이트로 나타낸다.
  3. 과정 2에서의 출력을 AND-NOT 혹은 NOT-OR 형태를 사용하여 2단계 게이트를 그린다.

 

다단계 구현

  1. 모든 AND 게이트를 AND-NOT 기호의 NAND 게이트로 변환한다.
  2. 모든 OR 게이트를 NOT-OR 기호의 NAND 게이트로 변환한다.
  3. 논리도에서 모든 작은 원을 점검하여, 동일 선상의 두 원은 서로 상쇄시키고, 상쇄되지 않은 원은 NOT을 추가시키거나, 입력변수에 보수를 취한다.

 

NOR 게이트 개념 및 구성

NOR 게이트만으로 AND, OR, NOT 연산의 구현

 

2단계 구현

임의의 부울 함수를 NOR 게이트만을 이용한 2단계 구현과정

  1. 간소화하여 곱의 합 형태로 나타낸다.
  2. 2개 이상의 입력들의 곱항을 NOR 게이트로 나타내고, 하나의 입력 곱항은 NOT 게이트로 나타낸다.
  3. 과정 2에서의 출력을 OR-NOT 혹은 NOT-AND 형태를 사용하여 2단계 게이트를 그린다.

 

다단계 구현

  1. 모든 OR 게이트를 OR-NOT 기호의 NOR 게이트로 변환한다.
  2. 모든 AND 게이트를 NOT-AND 기호의 NOR 게이트로 변환한다.
  3. 논리도에서 모든 작은 원을 점검하여, 동일 선상의 두 원은 서로 상쇄시키고, 상쇄되지 않은 원은 NOT을 추가시키거나, 입력변수에 보수를 취한다.