논리회로

논리회로 - Canonical form and min/maxterm

growbigger 2023. 3. 14. 18:19

회로의 어떠한 형태에 다양한 입력이 있을텐데 이러한 input을 minterm이나 maxterm의 형태로 표현하는 형태를 canonical form(정규형)이라고 합니다. standard form에 포함되는 더 작은 함수 형태의 집합입니다. 

 

standard form은 다음과 같이 SOP(sum of products)와 POS(product of sum)형태를 갖습니다.

 

그런데 위의 형식처럼 최종 결합이 OR이나 AND게이트의 출력의 형태를 띄면서 그 이전 단계들(마지막 게이트의 입력이 나오기 까지의 과정)이 더 정형화되어 minterm또는 maxterm인 경우가 Canonical form입니다. minterm과 maxterm은 간략하게 말하면 마지막 게이트로 가는 입력들이 곱으로만 표현되거나 합으로만 표현되는 특징이 있습니다. 이러한 과ㅓㅈㅇ에 따라 Canonical for을은 som, POM으로 분류합니다. 

회로의 예시는 아래와 같습니다.  

 위 회로처럼 x1, x2, 또는 각각의 complement(not게이트를 통과한 입력도 리터럴이므로)들이 모두 and게이트를 통과한 후 OR게이트의 입력이 됩니다. 

Minterm & Maxterm

위에서 나온 minterm과 maxterm에 대해 알아보겠습니다. 우선 현재까지 하고 있는 과정은 회로를 logic function으로 또 logic function을 회로로 변환하는 일입니다. 그런데 이 로직의 함수가 1이라는 출력을 낼 때 내부적으로 어떻게 구성이 되고 어떠한 입력이 들어가서 출력이 1이 나오는지를 알아야 회로를 만들 수 있습니다. 그런데 가능한 모든 회로의 형태 중에서 간단하고 정형화된 형태가 필요합니다. 그렇지 않으면 게이트가 쓸데없이 많아 효율이 좋지 않습니다. 이를 위해 조금 정형화된 형태로 logic을 분석하려는 건데, 이때 minterm과 maxterm이 쓰일 수 있습니다. 

우선 minterm은 이름에서처럼 아래 벤다이어그램에서 더 이상 조건에 따라 쪼개질 수 없는 최소 독립영역 형태들을 표현하는 것입니다. 벤다이어그램의 원 안은 각 입력이 있는 상태(1인 상태)입니다. 

따라서 만약 입력이 위 벤다이어그램처럼 2개인데, 이 입력중 하나만 1일때 최종 f의 출력이 1인 회로를 만드려면 m1과 m2인 상태가 OR게이트 이전에 배치되면 됩니다. 

 

아래의 F출력에 대한 분석을 보겠습니다. 

 

반면에 maxterm은 충분히 더 나누어 질 수 있는 형태입니다. 즉, 최종 단계에 들어가는 입력이 만들어 질 때 어떠한 OR게이트의 출력이 있다는 것입니다. 그래야 벤다이어그램상 여러 독립영역이 합해진 형태가 되니까요.

maxterm은 드모르간의 법칙을 이용해서 minterm에서부터 유도할 수 있습니다. 
 
그러면 아래처럼 minterm과 maxterm을 이용하여 회로를 분석할 수 있습니다. 

일부 내용을 뽕교수의 전자공학 - YouTube에서 참고하였습니다. 

728x90