카르노맵 이란?

부울함수를 표준형으로 표현할 수 있는 모든 가능한 방법들중의 한가지로 보통 3변수 이상 6변수 이하의 불함수에서 사용한다.


왜 카르노맵이 필요한가?

부울함수에 대한 간략화 방법중의 하나인 카르노 맵은 지금 상태에서는 어렵게 느껴지실 텐데요.

왜 그럼 더 어려운 카르노맵을 배워야 하는 걸까요?

보통 논리식이 주어진다면 카르노맵보다는 부울함수나 드모르간의 정리를 이용하는 쪽이 쉽습니다.

허나 논리식이 주어지지 않는다면?

보통의 설계(어렵게 생각하시는 도면류가 아닙니다.)에서는 입력값과 출력값만 있게 됩니다.

이 말이 먼뜻인고 하니 입력값 즉 주어지는 값은 정해져 있고

출력값 즉 내가 나타내고자 하는 값 역시 고정적이죠. (내가 생각하는 조건이니까요)

이 두가지만 가지고 논리식을 만들고 간단히 하고 하면 그 과정이 보통이 아닐겁니다.

이걸 쉽게 도와주는 것이 바로 카르노맵인 것이지요.


카르노맵의 표현 순서

1. 변수의 갯수를 파악후 변수의 갯수가 n개이면 2^n의 사각형을 그리자.

2. 변수 값을 채우자.

3. 2^n으로 값을 묶자.

4. 묶은 값을 읽자.


1. 변수의 갯수와 카르노맵의 사각형

사용자 삽입 이미지

이게 입력값을 넣는 순서 입니다.

어려우시죠? 처음 접하시는거라 그러실수 있지만

4변수일때를 잘 보시면 2변수, 3변수는 그냥 따라오실 겁니다.

4변수일때만 익히시면 2,3변수는 종합세트로 따라온다는거죠~ 후후~


2변수야 쉬운편이니 생략하고 3변수를 보면요.

사용자 삽입 이미지

4변수 안에 있는게 보이실겁니다. 그럼 옆의 변수값만 유의하시면... 후후
 

2. 값을 채우기?

값을 채운다라.. 먼말일까요? 바로 출력값을 카르노맵에 표시 한다는 겁니다.

방법은 여러가지 인데요. 일단 가장 쉬운 진리표를 작성후 값채우기를 알아보겠습니다.

진리표란 게이트에서 보신것과 같이 입력값에 따른 출력값을 적은 표입니다.


4변수의 진리표

 

사용자 삽입 이미지

음.. 먼가 보이시나요? 카르노맵의 위치가 바로 변수의 값을 10진수로 읽은 값입니다. 참고하시면 좋아요.


3. 2^n으로 값을 묶는다.

카르노맵에 값을 채우신 후에는 출력값을 2^n인 사각형 형태로로 묶는대요.

특이한 경우가 존재합니다.

바로 위아래가 연결, 좌우가 연결된다는 것이죠.

지도를 생각하시면 이해 가실겁니다. 지금 배우는것도 맵!! 지도지요.

잘 이해 안가시면 선생님께 다시 질문하시면 좋아요.

4변수를 예로 묶어 보겠습니다. (그나마 크니까요)

사용자 삽입 이미지

그림이 잘 보이실지 모르겟네요.

만약 위와 같은 출력을 가지게 될 경우 2^n의 사각형 즉 2, 4, 8, 칸의 사각형으로 묶어줍니다.

위아래 좌우가 연결 되있다고 하니 위 그림처럼 묶으면 되겠네요. 중복 되는건 상관이 없으나

묶을수 없는 경우를 빼고 안묶으시는건 별로 안좋습니다.(결과적으로 식이 복잡하게 됩니다.)


4. 묶은 값을 읽자

묶는것도 헷갈리는데 읽으라네요 ㅡ.ㅡ;; 후~

하지만 이게 마지막이니 까짓거...

사용자 삽입 이미지

방금 위에서 묶은 그림입니다.

읽어볼까요? 먼저 색갈별 사각형을 따로 따로 읽어 보겠습니다.


- 빨간색 사각형

앞쪽으로 보시면 AB의 입력값이 11과 10 입니다.

이말은 A입력은 1일때 B입력은 0과 1일때란 말입니다.

카로노맵에선 0과 1 모두를 가지는 변수는 적지 않습니다.

그럼 A만 적으면 되겠네요.

다음 위로 쭉 올라가서 보시면 01과 11입니다.

C가 0과1 일때 D가 1일때 이네요.

C는 생략 하고 D만 적습니다.

그럼 빨간색 사각형을 논리식으로 하면 AD입니다.


- 녹색 사각형

AB측 입력을 보시면(←쪽 입력을 읽는다는 말입니다.) 00, 10 입니다.

그럼 A는 생략 가능 하겟죠? 다음 B가 0일때 라는 말인데요 이건 B의 부정 즉 B' 로 표현합니다.

CD측 입력을 보시면(↑쪽 입니다) 00, 01 입니다.

C는 0이니 C' 이구요 D는 생략 되겠네요.

그런 녹색 사각형의 논리식은 B'C' 입니다.  


- 파란색 사각형

AB측 입력이 00 이네요 A'B' 입니다. (이제 감이 오시죠?)

CD측 입력은 00, 10 입니다. C는 생략되고 D'만 남습니다.

그럼 파란색 사각형의 논리식은 A'B'D' 이겠네요.


이걸 전체적인 논리식으로 하면

출력 = 빨간색사각형 + 녹색사각형 + 파란색사각형 이고요,

F = AD + B'C' + A'B'D' 로 나타낼수 있습니다.


출처 : http://blog.naver.com/undust2?Redirect=Log&logNo=100036700628
디지철 논리회로에 대해서 기본적인 자료들이 쓸만한다.

신고
Posted by bluelimn

bluelimn

달력

최근에 달린 댓글

최근에 받은 트래백

글보관함


티스토리 툴바