Canonical Form

Canonical FormPermalink

여러분들은 주어진 truth table을 논리 회로로 구현할 수 있나요? 막상 해보면 쉽지 않을 수 있습니다. 그러나 Canonical form으로 시스템을 표현하면 truth table로부터 회로로 쉽게 구할 수 있습니다.

Canonical form은 sum of products 방식과 product of sums 방식이 있습니다.

Canonical Sum of Products (minterm)Permalink

A B F minterm Symbol
0 0 0 ABAB m0m0
0 1 1 ABAB m1m1
1 0 1 ABAB m2m2
1 1 0 ABAB m3m3

위의 경우에서, F가 true인 경우는 (A = 0 and B = 1) 또는 (A = 1 and B = 0)인 경우입니다. 이것을 수식으로 쓰면 아래와 같습니다.

F=AB+ABF=AB+AB

이처럼 함수를 곱의 합으로 표현하는 방식이 Canonical Sum of Products 방식입니다. 이때 각 항을 minterm이라고 부르며 기호로는 mnmn을 사용합니다.

F=AB+AB=m1+m2F=AB+AB=m1+m2

또는 아래와 같은 간단한 표시법을 사용할 수도 있습니다.

F(A,B)=(1,2)F(A,B)=(1,2)

곱은 AND 게이트, 합은 OR 게이트로 표현하면 회로를 쉽게 그릴 수 있습니다.

Canonical Sum of Products

Canonical Product of Sums (maxterm)Permalink

A B F maxterm Symbol
0 0 0 A+BA+B M0M0
0 1 1 A+BA+B M1M1
1 0 1 A+BA+B M2M2
1 1 0 A+BA+B M3M3

말을 조금 바꾸어 볼까요? F가 true인 경우는 (A = 0 and B = 0) 또는 (A = 1 and B = 1)인 경우가 아닐 때입니다. 수식으로 써보면 아래와 같습니다.

F=(AB+AB)=(A+B)(A+B)F=(AB+AB)=(A+B)(A+B)

이렇게 하면 합의 곱 형태로 함수를 표현할 수 있습니다. 이러한 방식이 Canonical Product of Sums입니다. 이때 각 항을 maxterm이라고 부르며 기호로는 MnMn을 사용합니다.

F=(A+B)(A+B)=M0M3F=(A+B)(A+B)=M0M3

또는 아래와 같은 간단한 표시법을 사용할 수도 있습니다.

F(A,B)=(0,3)F(A,B)=(0,3)

마찬가지로 곱은 AND 게이트, 합은 OR 게이트로 표현하면 아래와 같은 회로를 구할 수 있습니다.

Canonical Product of Sums

Updated:

Leave a comment