오래 못 할 짓 하지 않기

논리 설계 9 ( 카르노 맵 - POS , 변수 5,6개 , 출력 2개인 회로 간단화 , 콰인-맥클러스키 방법 ) ( 사진 안 뜸 ) 본문

2학년 1학기/논리 설계 ( Logic design )

논리 설계 9 ( 카르노 맵 - POS , 변수 5,6개 , 출력 2개인 회로 간단화 , 콰인-맥클러스키 방법 ) ( 사진 안 뜸 )

쫑알bot 2023. 4. 1. 10:19
728x90

POS 카르노 맵 Simplification

 

1. SOP 식= f(a, b, c, d)에서 f'(a, b, c, d)를 한다.

2. f'(a,b,c,d) = @@@식을 구해낸다.

3. 드모르간 법칙을 이용해서 식을 재전개 한다.

ex) f' =ac' + a'c + abd

      f = (a'+c)(a+c')(a'+b'+d')

 

 

 

변수가 5개인 카르노맵

 

보는 법 :  [ A가 0일 때 ] , 나머지 4개의 변수들로 카르노맵 1개 / [ A가 1일 때 ] , 나머지 4개들 "   "

 ※ 한 맵의 정사각형은 다른 맵의 해당 정사각형에 인접

 

 

 

해당 표를 보면

1. 빨간색 사각형은 x5 = 0 일 때나 1일 때나 둘 다 1이다. 변하지 않은 건 x'1와 x3

2. 파란색도 위와 같음

3. 주황색은 x5=0일 때 없었는데 1이 되면서 새로 생김. 즉 변하지 않은 건 x1 x'2 x'3   *  x5

++ 두 표에 공통으로 있는대로 묶어주는 것도 팁

 

 

(교수님은 4변수로 문제 내는 걸 선호한다고 하심)

 

 

Output이 여러 개인 회로 + 공통된 Input이 있을 때 최소화 하는 법 

Minimization of Multiple-Output Functions

 

- 출력이 2개일 땐, 공통된 입력이 있는 것들끼리 공유하도록 하여서 게이트의 수를 줄인다.

- 이러는 이유 : 비용절감 

 

 

F의 식과 G의 식에서는 AB가 둘 다 있다.

이렇게 만들었을 회로의 게이트를 최대한 줄이기 위해

공통된 Input들은 공유를 함으로써 줄인다.

 

 


 

이 두 개의 식에서도 공통되는 걸 찾아보자.

       파란 네모  +  주황색 네모 +  빨간 네모

F1 = ( X1 X'3 ) + ( X2 X'3 X4 ) + ( X'1 X3 )

F2 = ( X1 X'3 )  + ( X2 X3 X4 )  + ( X'1 X3 )

 

( X1 X'3 )( X'1 X3 ) 가 공통으로 있기 때문에 F1과 F2는 저 두 개의 항을 공유하여 최소화할 수 있다.

 

 

 

 

주의할 점! 묶이는 영역이 같아야한다.

==> 합동이어야함. 칸만 비슷하게 있다는 게 아니라 [ 정확히 같은 위치에 같은 개수로 ] 묶여야 함.

 

 

 

     연습 문제

 


 

 

Quine-McCluskey Method   →   콰인 - 맥클러스키 법

 

 -  방법 

:

  1. 최소항 표를 만들어서 출력이 1인 것들끼리 묶는다.

 

  2. 각 1이 m 몇 번째 항인지 구해서 그 숫자를 2진법으로 바꾼다. ( 4비트로 나옴)

 

  3. 각 2진법으로 나온 숫자들에서 1의 개수에 따라 묶는다.

 

  4. 개수가 1개 차이 나는 것들 ( 인접한 짝들) 끼리 비교하여 묶는다.  [ 비교 기준 => 1비트만 달라야 함! ] 

   ex) m0, m4 =1일 때,  0 = 0000 / 4= 0100 이고, 둘의 1의 개수 차이는 1개임.

        이럴 경우에는 (0,4) = 0_00 이렇게 표기한다. ==> _ :  둘 중에 하나는 _에 0이고 다른 하나는 1이다.

 

  5. 이렇게 비교하면서 [ 한 비트만 다른 쌍들 ] 과 [ 그렇지 않은 것=NONE ] 들이 나올 것이다.

     NONE들은 신경 끄고, 한 비트만 다른 쌍들을 정리해 준다.

    그런 뒤, 또 하나의 비트만 다른 쌍들이 있으면 같이 묶어준다. 

 

  6. 5번까지 돌렸을 때 포함되지 않는 쌍들을 찾아 정리해 준다.

      ex) (1,2,3,4) 가 나왔으면 (1,3) (1,4) (2,3) (2,4) 이런 애들 빼고 정리.

 

 

사진과 함께 예시)

 

    1. 최소항 표를 만들어서 출력이 1인 것들끼리 묶는다.

    2. 각 1이 m 몇 번째 항인지 구해서 그 숫자를 2진법으로 바꾼다. ( 4비트로 나옴)

    3. 각 2진법으로 나온 숫자들에서 1의 개수에 따라 묶는다.

 

  4. 개수가 1개 차이 나는 것들 ( 인접한 짝들) 끼리 비교하여 묶는다.  [ 비교 기준 => 1비트만 달라야 함! ] 

   ex) m0, m4 =1일 때,  0 = 0000 / 4= 0100 이고, 둘의 1의 개수 차이는 1개임.

        이럴 경우에는 (0,4) = 0_00 이렇게 표기한다. ==> _ :  둘 중에 하나는 _에 0이고 다른 하나는 1이다.

 

 

 

 

5. 이렇게 비교하면서 [ 한 비트만 다른 쌍들 ] 과 [ 그렇지 않은 것=NONE ] 들이 나올 것이다.

  NONE들은 신경 끄고, 한 비트만 다른 쌍들을 정리해 준다.

  그런 뒤, 또 하나의 비트만 다른 쌍들이 있으면 같이 묶어준다. 

또 있나 확인.

 

 

  6. 5번까지 돌렸을 때 포함되지 않는 쌍들을 찾아 정리해 준다.

      ex) (1,2,3,4) 가 나왔으면 (1,3) (1,4) (2,3) (2,4) 이런 애들 빼고 정리.

 

 

 

출처: 한동대학교 고윤민교수님 - 논리설계 PPT