홈 > IT > IT정보
IT정보

[컴퓨터구조] 맵 간소화

3 realdragonhead 2 147 1 0
맵간소화

맵 간소화는 부울 함수를 곧바로 간소화 할 수 있는 방법으로
논리회로를 설계할 때 최소한의 비용을 들여 설계하고자 할 때 사용한다.
이 간략화 하는 방법 중에 카르노맵이 있는데 이를 이용하면 굉장히 간단히 간소화 할 수 있으며,
진리표로 주어진 논리표현도 바로 부울 함수로 변경할 수 있다.
예시를 들어 카르노맵의 기본 개념을 알아보자.
F=x+y'z 라는 부울 함수가 있다고 가정하면 진리표를 구하면 아래와 같다.

x  y  z    x  y'  y'z  F
0  0  0  0  1  0  0
0  0  1  0  1  1  1
0  1  0  0  0  0  0
0  1  1  0  0  0  0
1  0  0  1  1  0  1
1  0  1  1  1  1  1
1  1  0  1  0  0  1
1  1  1  1  0  0  0

여기서 F 값이 1인 민텀만 뽑게되면
F(x, y, z) = 논리합(1, 4, 5 , 6, 7)로 표현하게 되는데
이 숫자들의 출처를 알아보면
먼저 표를 하나 그린다. 표는 아래와 같이 그린다.
_______________________________
|x/yz |  00  |  01  |  11  |  10  |
--------------------------
|  0  |      |        |      |        |
--------------------------
|  1  |      |        |      |        |
---------------------------
그림이 이해가 안 갈 수 있으므로, 글로 약간의 설명을 하면 세로로 x의 진리값의 경우의 수를 적고
가로로 yz 의 진리값의 경우의 수를 적는다. 이때 yz로 적은 이유는 함수가 y'z 여서
yz로 적은것이 아닌 그냥 순서대로 세로에는 하나의 값 가로에는 두개의 값의 진위값을 적는다.
이때 주의할 것은 00 -> 01 -> 10 -> 11 순서가 아닌 00 -> 01 -> 11 -> 10 이 순서로
비트가 하나씩 바뀌는 경우로 적어주어야 한다.
즉 표의 각 칸의 순서를 매기면 아래와 같다.
_______________________________
|x/yz |  00  |  01  |  11  |  10  |
--------------------------
|  0  |  (0) |  (1)  |  (3) |  (2)  |
--------------------------
|  1  |  (4) |  (5)  |  (7) |  (6)  |
---------------------------
비트가 하나씩 증가하는 방식으로 가로열을 나열하였으므로 순서도 0 -> 1 -> 3 -> 2 순서이다.
여기서 아까 진리표에서 F 값이 1인 민텀만 뽑게되면
F(x, y, z) = 논리합(1, 4, 5 , 6, 7)
이라고 했는데 이때 1, 4, 5, 6, 7 이 각 칸의 숫자를 의미하며 이 칸에 1이 들어간다는 뜻으로 1로 채워넣는다.
나머지는 0으로 표기해도 좋고, 아무것도 표기하지 않아도 좋다.
즉 (1), (5)에 1이 들어가므로 묶으면 진리값을 확인해 보면 y'z 임을 확인할 수 있고,
(4), (5), (6), (7) 에 1이 들어가므로 묶으면 진리값을 확인해보면 x 임을 확인할 수 있다.
이때 논리합으로 묶으면 결론은 F=x+y'z 가 나옴을 알 수 있다.
이 결과는 논리곱의 논리합으로 표시한 것이고 혹시나
논리합의 논리곱으로 표기해야 할 경우가 생길 경우에는
표기한 논리곱의 논리합에 보수를 취하여 드모르간 법칙을 이용하여 표기하면 된다.

이에 나온 결과를 이용하여 함수를 간략화하였으므로,
논리회로를 설계하는데 이때 AND, OR, XOR, NOT 등과 같은 게이트들을 적절히
활용하여 설계하면 효율적인 회로 설계가 가능하다.

, , ,

2 Comments
3 Selovic 10.25 23:47  
혹시 간략화 하는 방법들 중 카르노 맵을 제외한 다른방식은 무엇이 있는지 알 수 있을까요??
3 realdragonhead 10.26 00:20  
Veitch diagram이라는 방식이 있는데 저 표를 그리는데서 가로 세로 인자값을 적지 않은 형태입니다. 여기에 좀더 정보가 가미되어서 확장되어서 카르노맵이 형성됩니다!
Category
Facebook Twitter GooglePlus KakaoStory KakaoTalk NaverBand
PlusFriend Chat