Canonical Form
Canonical Form
여러분들은 주어진 truth table을 논리 회로로 구현할 수 있나요? 막상 해보면 쉽지 않을 수 있습니다. 그러나 Canonical form으로 시스템을 표현하면 truth table로부터 회로로 쉽게 구할 수 있습니다.
Canonical form은 sum of products 방식과 product of sums 방식이 있습니다.
Canonical Sum of Products (minterm)
A | B | F | minterm | Symbol |
---|---|---|---|---|
0 | 0 | 0 | $ A’{\cdot}B’ $ | $ m_0 $ |
0 | 1 | 1 | $ A’{\cdot}B $ | $ m_1 $ |
1 | 0 | 1 | $ A{\cdot}B’ $ | $ m_2 $ |
1 | 1 | 0 | $ A{\cdot}B $ | $ m_3 $ |
위의 경우에서, F가 true인 경우는 (A = 0 and B = 1) 또는 (A = 1 and B = 0)
인 경우입니다. 이것을 수식으로 쓰면 아래와 같습니다.
이처럼 함수를 곱의 합으로 표현하는 방식이 Canonical Sum of Products 방식입니다. 이때 각 항을 minterm이라고 부르며 기호로는 $m_n$을 사용합니다.
\[F = A'B + AB' = m_1 + m_2\]또는 아래와 같은 간단한 표시법을 사용할 수도 있습니다.
\[F(A, B) = \sum{(1, 2)}\]곱은 AND 게이트, 합은 OR 게이트로 표현하면 회로를 쉽게 그릴 수 있습니다.
Canonical Product of Sums (maxterm)
A | B | F | maxterm | Symbol |
---|---|---|---|---|
0 | 0 | 0 | $ A + B $ | $ M_0 $ |
0 | 1 | 1 | $ A + B’ $ | $ M_1 $ |
1 | 0 | 1 | $ A’ + B $ | $ M_2 $ |
1 | 1 | 0 | $ A’ + B’ $ | $ M_3 $ |
말을 조금 바꾸어 볼까요? F가 true인 경우는 (A = 0 and B = 0) 또는 (A = 1 and B = 1)인 경우가 아닐 때
입니다. 수식으로 써보면 아래와 같습니다.
이렇게 하면 합의 곱 형태로 함수를 표현할 수 있습니다. 이러한 방식이 Canonical Product of Sums입니다. 이때 각 항을 maxterm이라고 부르며 기호로는 $M_n$을 사용합니다.
\[F=(A+B)\cdot(A'+B')=M_{0}M_{3}\]또는 아래와 같은 간단한 표시법을 사용할 수도 있습니다.
\[F(A, B) = \prod (0, 3)\]마찬가지로 곱은 AND 게이트, 합은 OR 게이트로 표현하면 아래와 같은 회로를 구할 수 있습니다.
Leave a comment