이 글은 디지털 공학 전공과목을 공부하며 작성한 글이다.
Canonical form
1, Sum of minterms(=canonical SOP)
2. product of maxterms(=canonical POS)
정규형 (Canonical form)
어떠한 논리식은 각 논리 변수(또는 그 부정)들의 곱의 합 또는 합의 곱만으로 표현할 수 있ek. 이렇게 표현한 식을 정규형이라고 한다.
이렇게 정규형을 만드는 이유는 여러 가지가 있지만 대부분 게이트의 효율과 관련이 있다.
Sum of minterms(=canonical SOP)
1. SOP에서 canonical SOP 만들기
예를 들어보겠다. 3개의 변수를 가진 불 함수를 canonical form으로 만들어보자
F=A+BC'
canonical SOP를 만들 때는x+x'=1 을 이용하여 식을 전개하고x+x=x를 이용해서 중복을 지워주면 된다.
2. Canonical SOP의 표기법
Canonical SOP는 minterm의 합이다. 밑의 표를 참고해서 표기법을 알아보자
예시를 보면 바로 이해가 될 것이다. 위의 함수로 예시를 들겠다.
minterm의 합
위의 표와 비교해서 보면 충분히 이해할 수 있다. 소문자 m을 쓰는 것과 아래첨자, 시그마 표시에 유의하자.
3. Truth table과의 관계
불 함수가 어떤 역할을 수행하는지 불 함수의 논리변수에 0과 1을 넣어 불 연산을 하여 truth table을 작성하면 다음과 같다.
위의 식과 연관이 있지 않은가?
불 함수를 Canonical form으로 바꾸면 진리표에서 그 관계가 명확히 드러난다.
정리하면
각 변수의 조합에 대한 minterm을 구성하였을 때, 불 함수의 값이 1로 나타나는 minterm의 합이다.
4. truth table과의 관계가 중요한 이유
우리는 불 함수또는 논리회로를 분석하기 위함이 목표가 아니다. 상황에 맞게 불 함수를 만들고 그것을 토대로 논리회로를 설계하는 것이 궁극적인 목표이다. 우리가 원하는 결과는 Truth table로 작성할 수 있다. 위에서 보여준 일련의 과정을 거꾸로 시행하면 Truth table에서 Canonical SOP를 얻을 수 있고 간략화 과정을 통해(여기서는 대수적인 조작)을 통해 SOP를 얻을 수 있고 논리 회로를 설계할 수 있다.
Product of maxterms(=canonical POS)
1. POS에서 canonical POS 만들기
예를 들어보겠다. 3개의 변수를 가진 불 함수를 canonical form으로 만들어보자
F=(x+y)(y'+z)
canonical POS를 만들 때는 xx'=0 을 이용하여 식을 전개하면 된다. 중복이 있다면 xx=x 식을 이용하여 중복을 제거해 준다.
2. Canonical POS의 표기법
Canonical POS는 maxterm의 곱이다. 밑의 표를 참고해서 표기법을 알아보자
예시를 보면 바로 이해가 될 것이다. 위의 함수로 예시를 들겠다.
maxterm의 곱
위의 표와 비교해서 보면 충분히 이해할 수 있다. 대문자 M을 쓰는 것과 아래첨자, 파이 표시에 유의하자.
3. Truth table과의 관계
이번에도 똑같이 불 함수가 어떤 역할을 수행하는지 불 함수의 논리변수에 0과 1을 넣어 불 연산을 하여 truth table을 작성하면
이번에도 역시 불 연산으로 얻어진 Truth table과 불 대수 조작으로 이뤄진 Canonical POS의 식을 비교해보면
다음과 같은 관계를 가진다. 말로 정리하자면
각 변수의 조합에 대한 maxterm을 구성하였을 때, 불 함수의 값이 0로 나타나는 maxtem의 곱이다.
4. truth table과의 관계가 중요한 이유
이번에도 역시 Truth table에서 Canonical POS를 얻을 수 있고 간략화 과정을 통해(여기서는 대수적인 조작)을 통해 POS를 얻을 수 있고 논리 회로를 설계할 수 있다.
'전공 수업 CS > Digital Engineering' 카테고리의 다른 글
[디지털공학] 게이트 레벨 최소화하기 | 대수적 방법, 카르노맵(k-map) (0) | 2023.04.05 |
---|---|
[디지털공학] 함수의 보수와 Canonical form 사이의 변환 (0) | 2023.04.05 |
[디지털공학] 불 함수 관련 용어 정리 (0) | 2023.04.05 |
[디지털공학] 부울 대수와 논리게이트 | Boole 대수 (0) | 2023.03.30 |
[디지털공학] 그레이코드(GRAY CODE) (0) | 2023.03.30 |