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 | A′⋅B′A′⋅B′ | m0m0 |
0 | 1 | 1 | A′⋅BA′⋅B | m1m1 |
1 | 0 | 1 | A⋅B′A⋅B′ | m2m2 |
1 | 1 | 0 | A⋅BA⋅B | m3m3 |
위의 경우에서, F가 true인 경우는 (A = 0 and B = 1) 또는 (A = 1 and B = 0)
인 경우입니다. 이것을 수식으로 쓰면 아래와 같습니다.
이처럼 함수를 곱의 합으로 표현하는 방식이 Canonical Sum of Products 방식입니다. 이때 각 항을 minterm이라고 부르며 기호로는 mnmn을 사용합니다.
F=A′B+AB′=m1+m2F=A′B+AB′=m1+m2또는 아래와 같은 간단한 표시법을 사용할 수도 있습니다.
F(A,B)=∑(1,2)F(A,B)=∑(1,2)곱은 AND 게이트, 합은 OR 게이트로 표현하면 회로를 쉽게 그릴 수 있습니다.
Canonical Product of Sums (maxterm)Permalink
A | B | F | maxterm | Symbol |
---|---|---|---|---|
0 | 0 | 0 | A+BA+B | M0M0 |
0 | 1 | 1 | A+B′A+B′ | M1M1 |
1 | 0 | 1 | A′+BA′+B | M2M2 |
1 | 1 | 0 | A′+B′A′+B′ | M3M3 |
말을 조금 바꾸어 볼까요? F가 true인 경우는 (A = 0 and B = 0) 또는 (A = 1 and B = 1)인 경우가 아닐 때
입니다. 수식으로 써보면 아래와 같습니다.
이렇게 하면 합의 곱 형태로 함수를 표현할 수 있습니다. 이러한 방식이 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 게이트로 표현하면 아래와 같은 회로를 구할 수 있습니다.
Leave a comment