Karnaugh 맵 방법을 사용하여 논리 기능을 최소화합니다. 예

- 전환(부울) 기능을 최소화하기 위한 그래픽 방식으로 대규모 표현식 작업이 상대적으로 용이합니다. 쌍별 불완전 접착 및 기본 흡수 작업을 나타냅니다.

카르노 지도는 1952년 Edward W. Veitch에 의해 발명되었으며 1953년 Bell Labs의 물리학자인 Maurice Carnot에 의해 개선되었으며 디지털 단순화를 돕기 위해 고안되었습니다. 전자 회로. Carnaugh 맵에서 부울 변수는 진리표에서 전송되고 그레이 코드를 사용하여 정렬됩니다. 그레이 코드에서 다음 숫자는 이전 숫자와 한 자리만 다릅니다.

Karnaugh 맵은 다양한 변수에 대해 컴파일될 수 있지만 5개 이하의 변수로 작업하는 것이 편리합니다. 기본적으로 Karnaugh Map은 2차원 형태로 편집된 진리표입니다. 그레이 코드를 사용함으로써 맨 위 행은 맨 아래에 인접하고 오른쪽 열은 왼쪽에 인접합니다. 전체 카르노 지도는 토러스(도넛) 모양으로 축소됩니다. 행과 열의 교차점에 진리표의 해당 값이 삽입됩니다. 카드가 채워지면 최소화를 시작할 수 있습니다.

  • 최소 DNF를 얻는 것이 필요한 경우 맵에서 1을 포함하는 셀만 고려하고, CNF가 필요한 경우 0을 포함하는 셀을 고려합니다.

Karnaugh 맵 방법을 사용한 최소화 알고리즘:

1. 카르노 방법은 SDNF 형식으로 지정된 원래 함수를 다음 형식의 맵 형식으로 표현한 것을 기반으로 합니다.

2. 1을 포함하는 인접 셀을 하나의 영역으로 결합하여 한 영역에 2n(예: 2, 4, 8 등) 셀이 포함되도록 합니다(가장 바깥쪽 행과 열이 서로 인접해 있음을 기억하세요). 해당 영역에는 다음을 포함하는 셀이 포함되어서는 안 됩니다. 0, 영역이 교차할 수 있으며 여러 적용 범위 옵션이 가능합니다.

3. 다음으로 첫 번째 영역을 선택하고 이 영역 내에서 어떤 변수가 변경되지 않는지 살펴보고 이러한 변수의 결합을 작성합니다. 변경되지 않는 변수가 0이면 그 위에 반전을 적용합니다. 다음 영역을 선택하고 첫 번째 영역과 동일한 방식으로 모든 영역에 대해 동일한 작업을 수행합니다.

4. 우리는 분리를 통해 지역의 결합을 통합합니다.

예. Carnot 방법을 사용하여 함수를 최소화합니다.

$$y=f\왼쪽(A,B,C \오른쪽)=\bar(A)\bar(B)\bar(C)\vee \bar(A)B\bar(C)\vee A\bar (B)\bar(C)\vee A\bar(B)C$$

1. Karnaugh 맵을 사용하여 주어진 함수를 표현해 보겠습니다.

2. 그런 다음 2, 4 또는 8개 유닛의 조합이 수행됩니다. 이 경우 두 단위의 수평 결합은 $\bar(A)\bar(B)\bar(C)$ 및 $\bar(A) B \bar(C)$ 구성 요소에 대한 접착 작업에 해당합니다. 그 결과 변수 B가 제거되고 함축 $\bar(A) \bar(C)$가 얻어집니다. 두 단위의 수직 결합은 $A\bar(B)\bar(C)$ 및 $A\bar(B)C$ 구성 요소에 대한 접착 작업에 해당하며 그 결과 변수 $C$가 제거됩니다. 그리고 암시적 $A\bar는 (B)$를 얻게 됩니다.

최소항은 출력 변수(함수 값)의 값이 논리값 1과 동일한 진리표의 한 행에 해당하는 모든 입력 변수의 완전한 곱입니다. 주어진 테이블 행의 값이 0이면 변수는 반전을 통해 최소항에 포함되고, 주어진 테이블 행의 값이 1이면 반전 없이 변수가 포함됩니다.

최소항의 표준합은 모든 최소항의 논리합으로, 최대 논리식을 나타냅니다. 테이블에 해당진실 다음과 같은 순서로 컴파일됩니다.

그림에 표시된 예의 경우 1.6에서, 최소항의 정식 합은 다음과 같습니다:

(2.1)

(1.1)과 (2.1)을 비교하면 두 개의 서로 다른 논리식이 동일한 진리표(그림 1.6,b)에 해당하고 (1.1)이 더 간결하게 작성되었다는 것이 분명하지만 여전히 최소화할 수 있는 가능성이 있습니다. 그것. 그러므로, 제시된 논리회로를 최소화하는 것이 가능하다. 쌀. 1.6,a.

논리식의 최소화는 불리언 대수학의 법칙을 기반으로 한 다양한 방법, 특히 비치다이어그램, 벤다이어그램, 표형식 방법을 사용하여 수행할 수 있으나 가장 간단하고 시각적인 방법은 다음과 같다. 그래픽 를 이용한 최소화 방법 카르노 지도, 모리스 카르노(Maurice Carnot)가 1953년에 출판함.

Karnaugh 맵을 사용한 최소화

Karnaugh 지도는 진리표를 그래픽으로 표현한 것입니다. Karnaugh 지도의 각 셀은 진리표의 행에 해당합니다. 변수의 조합은 맵의 축을 따라 배치되고, 함수값은 맵 내부에 배치됩니다.

목적 카르노 지도- 변수의 직접 값과 역값의 논리합을 찾습니다. 예를 들어 모든 변수의 경우 이러한 합계는 모든 값에 대해 동일합니다. 따라서 표현식에서 괄호를 빼면 다음과 같습니다.

표현식의 결과를 변경하지 않고 합계를 버릴 수 있습니다. 이것이 논리식을 최소화하는 본질이다. 카르노 지도. 명시된 최소화 목표를 달성하려면 다음 사항을 준수해야 합니다. 지도 축 표시 규칙:

  1. 수직축은 수평축과 별개로 표시됩니다.
  2. 임의의 변수 조합으로 마크업을 시작할 수 있습니다.
  3. 모든 변수 조합이 나열되어야 합니다.
  4. 맵의 인접 셀의 경우 변수 조합은 하나의 부호만큼 달라야 하며 인접 셀은 행(열)의 가장 바깥쪽 셀입니다.

두 변수의 함수에 대해 카르노 지도- 이것은 2x2 정사각형입니다. 이 셀에는 마지막 열의 4개 함수 값이 포함되어 있습니다. 진리표(그림 2.2).


쌀. 2.2.

세 변수의 함수에 대해 카르노 지도- 2x4 또는 4x2 셀의 직사각형입니다. 이 셀에는 진리표의 마지막 열에 있는 8개의 함수 값이 포함되어 있습니다(그림 2.3). 더 큰 축을 표시할 때는 후자를 엄격히 준수해야 합니다. 네번째규칙을 표시하고 두 변수가 동시에 변경되는 인접한 조합 및 , 또는 및 가 없는지 확인하십시오.

4개 변수의 함수에 대해 카르노 지도- 이것은 4x4 정사각형입니다. 이 셀에는 진리표의 마지막 열에 있는 16개의 함수 값이 포함되어 있습니다(그림 2.4). 마킹할 때 둘 다축은 또한 후자를 엄격하게 준수해야 합니다. 네번째표시 규칙을 확인하고 한 축을 따라두 변수가 동시에 변경되는 조합 및 , 또는 및 는 인접하지 않았습니다.

5개 변수의 함수에 대해 카르노 지도은 이미 4x4x4 셀의 큐브인 3차원 그림이므로 논리적 표현을 최소화하는 데 사용되지 않습니다.

안에 특정 사례함수 값 대신 일반적인 견해맵 셀은 진리표의 해당 행에서 특정 값(논리 0과 1)으로 채워집니다. 그런 다음 채워진 셀만 고려됩니다. 단위. 이러한 모든 단위는 다음과 같이 요약되어야 합니다. 윤곽 그리기 규칙:

윤곽선을 추적한 후 적어야 합니다. 논리적 곱의 논리적 합으로 표현되는 최소 표현. 각 제품은 Carnaugh 지도의 한 윤곽선에 해당합니다. 제품에는 주어진 회로에서 변경되지 않은 변수만 포함됩니다..이 경우 변수는 주어진 윤곽선의 값이 0이면 반전이 있고 값이 1이면 반전 없이 제품에 입력됩니다.

실시예 1쌀. 2.5를 작성하고 이를 바탕으로 논리도를 그린다.

축 표시를 위한 하나의 옵션(그림 2.5, b)을 사용하면 4개 단위로 구성된 첫 번째 윤곽이 파손된 것으로 나타납니다. 그림에 표시된 표시를 수락하면 2.5,c를 사용하면 윤곽선은 일반 윤곽선을 갖게 되며 그에 해당하는 표현은 변경되지 않습니다. Carnaugh 지도의 주어진 수평 레이아웃에 대해 외부 기둥이 인접해 있다는 점을 고려하면 평면에 펼쳐진 원통으로 상상할 수 있습니다. 그림에서. 그림 2.5, b는 와 같은 조합 사이의 "컷"과 같은 실린더의 개발을 보여줍니다. 그리고 그림에서. 2.5c는 과 같은 제품 사이에 "컷"된 동일한 실린더의 개발을 보여줍니다.

첫 번째 회로 4개 단위에 해당하며 그 합계는 그에 해당합니다. 최소 용어: , 변수만 변경되지 않습니다. 두 번째 회로두 유닛을 다룹니다. 그에 상응하는 금액 최소 용어, 여기서 변수는 두 가지 모두를 취합니다. 가능한 값, 제품은 변경되지 않은 상태로 유지됩니다. 따라서 우리는 최소 표현을 얻습니다.

(2.2)

이는 그림의 논리회로에 해당한다. 2.5,g.



쌀. 2.5.

비교를 위해 최대 표현을 기록합니다.

(2.3)

(2.2)와 (2.3)의 차이점은 명백하며 설명이 필요하지 않습니다. 단, (2.3)에 따라 구현된 회로는 훨씬 더 복잡하고 따라서 그림 1에 표시된 회로보다 신뢰성이 떨어집니다. 2.5,g.

실시예 2. 그림 2에 표시된 진리표의 최소 표현식을 작성하십시오. 2.6,a를 참조하여 논리도를 그려라.

디지털 장치의 작동 논리는 진리표로 설명됩니다. 진리표는 이 회로의 입력에서 주어진 논리 레벨에 대해 디지털 회로의 출력에 어떤 논리 레벨이 표시되는지 보여줍니다. 주어진 작동 논리로 회로를 합성하려면 부울 방정식(회로에 하나의 출력이 있어야 하는 경우) 또는 방정식 시스템(회로에 둘 이상의 출력이 있는 경우)을 생성해야 합니다. . 진리표에서 방정식을 구성하는 두 가지 방법인 직접 방법과 카르노 맵 방법을 고려해 보겠습니다.

방법 1: 진리표에서 직접 방정식을 작성합니다.

부울 방정식을 직접 작성할 때 결과 방정식이 가능한 최소값이 아닐 수도 있다는 점을 고려해야 합니다.

진리표를 사용하여 방정식을 구성하는 알고리즘을 선택해 보겠습니다.

  • 1. 함수가 허용하는 라인을 선택하십시오. 참뜻;
  • 2. 이 라인에 대한 피연산자 최소항을 구성해 보겠습니다.
  • 3. 분리연산을 이용하여 최소항을 연결해 봅시다.

예를 살펴보겠습니다.

하나의 출력 y, 세 개의 입력 x 0, x 1, x 2를 갖는 장치에 대한 방정식을 만들어 보겠습니다. 장치의 작동 논리는 표 8에 설명되어 있습니다.

표 8 - 장치 작동 설명

세 번째 줄에 대한 함수를 만들어 보겠습니다. 이 줄에서 x 0과 x 2는 거짓 값을 취하고, x 1은 참 값을 취합니다. 접속사(AND 요소)를 사용하여 이러한 피연산자를 연결해 보겠습니다.

변수의 결합 또는 그 부정을 포함하는 이러한 함수(참 값을 취하는)를 최소항이라고 합니다.

다섯 번째 줄에 대한 최소항을 만들어 보겠습니다.

두 개의 최소항이 있으므로 논리합(OR 요소)을 사용하여 이들을 연결합니다.

진리표 8에 설명된 장치의 방정식은 다음과 같습니다.

진리표를 사용하여 방정식 시스템을 컴파일하는 알고리즘을 강조하겠습니다.

  • 1. 출력 수와 그에 따른 시스템의 방정식 수를 결정해 보겠습니다.
  • 2. 각 출력에 대해 방정식을 만듭니다.
  • 2.1 함수가 참값을 취하는 행을 선택하십시오.
  • 2.2 이 라인에 대한 피연산자 최소항을 구성해 보겠습니다.
  • 2.3 최소항이 두 개 이상인 경우 분리 연산을 사용하여 최소항을 연결합니다.
  • 3. 결과 방정식을 시스템으로 결합해 보겠습니다.

예를 살펴보겠습니다.

표 10에 작동 논리가 설명된 장치가 있다고 가정합니다. 장치에는 두 개의 입력 x 0 및 x 1과 두 개의 출력 y 1, y 0이 있습니다. 두 개의 출력이 지정되므로 각 출력에 대한 방정식은 별도로 컴파일됩니다. 두 개의 방정식으로 구성된 방정식 시스템을 만들어 보겠습니다.

표 10 - 장치 작동 설명

y 0이 참값을 취하는 선을 강조해 보겠습니다. y 0은 한 줄, 즉 네 번째 줄에서만 참입니다. y 0에 대한 방정식을 만들어 보겠습니다.

y 1 이 참값을 갖는 선을 강조해 보겠습니다. 여기에는 두 번째 줄과 다섯 번째 줄이 있습니다. 두 번째 줄의 최소항은 다음과 같습니다. 다섯 번째. OR 연산을 사용하여 이들을 결합하여 y 1에 대한 방정식을 생성해 보겠습니다.

주어진 장치를 설명하는 방정식 시스템을 만드는 것이 남아 있습니다.

방법 2: Carnot 지도 방법을 사용하여 진리표에서 방정식을 컴파일합니다.

Karnaugh 맵은 부울 함수를 최소화할 수 있는 수정된 진리표입니다. 이는 수정되지 않은 진리표에서 부울 방정식을 구성하는 것과 비교할 때 Karnaugh 맵 최소화 방법으로 얻은 방정식에는 피연산자에 대한 연산이 더 적다는 것을 의미합니다. 진리표에서 직접 얻은 부울 함수는 가능한 가장 작은 형식을 가질 수 있으므로 후자의 진술이 항상 참인 것은 아닙니다.

Karnaugh 지도를 컴파일하기 위한 상세한 알고리즘 다른 숫자피연산자에 대해 우리는 2, 3, 4개의 피연산자를 포함하는 진리표에 대해 Carnaugh 맵을 사용하여 방정식을 작성하는 예만 고려하도록 하겠습니다.

예를 들기 전에 영역(그룹)을 결합할 때 안내할 주요 조항을 살펴보겠습니다.

  • 1. 병합 대상 영역은 반드시 논리 단위로 구성되어야 하며, 논리 단위 개수 2n개(예: 2셀, 4셀 등)를 포함하는 직사각형 영역만 병합 대상이 됩니다.
  • 2. 지도의 경계선에 위치한 셀은 서로 경계를 이루고 있으며 결합이 가능합니다.
  • 3. 모든 유닛은 일정 지역으로 통합되어야 하며, 지역 수는 최소화되어야 합니다.
  • 4. 하나의 셀이 다른 영역에 포함될 수 있습니다.

이 조항은 논리 유닛으로 구성된 영역을 결합하는 경우에만 적용됩니다.

방정식은 다음과 같이 구성됩니다. 영역의 결합에는 해당 영역 내에서 상태를 반대로 변경하지 않는 피연산자만 포함됩니다. 영역이 두 개 이상인 경우 영역의 접속사 사이에 분리가 배치됩니다.

방정식 시스템은 동일한 원리에 따라 구축되지만 Karnaugh 맵은 각 출력에 대해 별도로 구축되어야 합니다.

예 1. Karnaugh 맵을 사용하여 진리표 11을 사용하여 두 개의 피연산자(또는 그 반전)를 포함하는 방정식을 만들어 보겠습니다.

표 11 - 두 피연산자에 대한 Carnaugh 맵

Karnaugh 맵을 생성해 보겠습니다. 이를 위해 진리표를 그림 18에 표시된 형식으로 변환합니다.

쌀. 18.

여기서 수평 부분은 0과 1()의 값을 갖는 피연산자 x 1에 할당됩니다. 표의 세로 부분도 마찬가지로 x 0에 해당합니다.

y가 논리 1의 값인 행 2와 3을 취하는 진리표 11의 행을 강조하겠습니다. 두 번째 줄에서 x 0과 x 1은 값 00()을 취하고, 세 번째 줄에서 x 0과 x 1은 값 10()을 취합니다.

Carnot 지도에서 와 가 있는 위치의 교차점 x 0 x 1에 18개 단위를 배치해 보겠습니다(그림 19).

쌀. 19.

영역 병합 규정에 따라 영역을 선택해보자(그림 20).

쌀. 20.

한 영역을 얻었으니 방정식을 만들어 보겠습니다. 피연산자는 영역의 값을 반전으로 변경합니다. 반전되지 않은 피연산자 x 1은 범위에 포함되지 않습니다. 결과 영역에서 해당 값을 변경하지 않는 유일한 피연산자는 입니다. 그러면 방정식은 다음과 같은 형식을 취합니다.

표 10의 방정식을 직접적으로 구성하면 최소화되지 않은 방정식을 얻게 됩니다.

이는 논리 대수학의 공리와 속성을 적용하여 가능한 가장 작은 형태로 변환될 수 있습니다.

예 2. Karnaugh 맵을 사용하여 진리표 12를 사용하여 세 개의 피연산자(또는 그 반전)를 포함하는 방정식을 만들어 보겠습니다.

표 12 - 세 피연산자에 대한 Karnaugh 맵

세 개의 피연산자에 대한 Karnaugh 맵을 만들어 보겠습니다(그림 21).

쌀. 21.

세 개의 피연산자의 경우 가로 부분은 00, 01, 11, 10의 값을 갖는 피연산자 x 1 x 2에 해당합니다. 00, 01, 11, 10 순서를 정확하게 따라야 한다는 점에 유의하는 것이 중요합니다. 다른 주문은 허용되지 않습니다. 테이블의 세로 부분은 값 1과 0을 사용하는 피연산자 x 0에 해당합니다.

Karnaugh 지도를 채워봅시다. 이전 예와 유사합니다. 진리표 12에서 행을 선택합니다. 여기서 y는 참값(두 번째, 세 번째, 네 번째, 일곱 번째 행)을 갖습니다. 이 행의 피연산자 값에 해당하는 Carnaugh 맵의 셀에 단위를 넣어 보겠습니다(그림 22).

쌀. 22.

병합되는 영역의 규정에 따라 영역을 선택합시다(그림 23).

쌀. 23.

두 가지 영역이 강조됩니다. 첫 번째 영역에는 전체 피연산자가 포함되어 있으며 이를 접속사로 결합해 보겠습니다. 두 번째 영역에서는 피연산자의 의미가 바뀌지 않으므로 이들을 접속사로 결합해 보겠습니다. 두 개의 영역이 있으므로 분리 연산을 사용하여 영역의 결합을 결합하여 최종 방정식을 만듭니다.

예 4. Karnaugh 맵을 사용하여 진리표 13에 따라 4개의 피연산자(또는 그 반전)를 포함하는 방정식을 만들어 보겠습니다.

표 13 - 4개의 피연산자에 대한 Karnaugh 맵

11강

Karnaugh 맵 방법을 이용한 논리식의 단순화

1. 카르노 큐브.

2. 최소화 원칙.

3. Karnaugh 지도 작업 절차.

카르노 큐브

카르노 큐브- 전환(부울) 기능을 최소화하기 위한 그래픽 방법으로, 큰 표현식 작업을 상대적으로 쉽게 제공하고 잠재적 경합을 제거합니다. 쌍별 불완전 접착 및 기본 흡수 작업을 나타냅니다. Karnaugh 맵은 그에 따라 재배열된 함수의 진리표로 간주됩니다. Carnaugh 맵은 n차원 부울 큐브의 특정 평면 전개로 생각할 수 있습니다.

카르노 지도는 1952년 Edward W. Veitch에 의해 발명되었고 1953년 Bell Labs의 물리학자인 Maurice Carnot에 의해 개선되었으며 디지털 전자 회로를 단순화하는 데 도움을 주기 위한 것이었습니다.

부울 변수는 진리표에서 Carnaugh 맵으로 전송되고 그레이 코드를 사용하여 정렬됩니다. 여기서 다음 숫자는 이전 숫자와 한 자리만 다릅니다.

최소화 원칙

SDNF나 SCNF의 형태로 제시되는 논리적 기능을 최소화하는 주요 방법은 쌍별 불완전 접착과 원소 흡수의 작용이다. 쌍별 접착 작업은 동일한 변수를 포함하는 두 용어(구성원) 사이에서 수행되며, 그 발생(직역 및 역)은 하나를 제외한 모든 변수에 대해 일치합니다. 이 경우, 하나를 제외한 모든 변수를 괄호에서 꺼낼 수 있고, 괄호 안에 남아 있는 한 변수의 직접 발생과 역발생을 함께 붙일 수 있습니다. 예를 들어:

CNF의 경우도 유사합니다.

흡수 가능성은 명백한 평등에서 비롯됩니다.

따라서 SDNF 및 SCNF를 최소화할 때 주요 작업은 후속 흡수와 함께 접착에 적합한 용어를 검색하는 것이며 이는 대형 형태에 충분할 수 있습니다. 도전적인 과제. Carnaugh 지도는 그러한 용어를 찾는 시각적인 방법을 제공합니다.

아시다시피 불리언 함수는 N SDNF 또는 SKNF 형태로 표시되는 변수에는 2개가 포함될 수 있습니다. N다양한 용어. 이 모든 용어는 위상적으로 동등한 특정 구조를 구성합니다. N-차원 큐브와 모서리로 연결된 임의의 두 항은 접착 및 흡수에 적합합니다.

그림은 두 변수의 함수에 대한 간단한 진리표, 이 테이블에 해당하는 2차원 큐브(정사각형), SDNF 용어가 지정된 2차원 큐브 및 그룹화 용어에 대한 동등한 테이블을 보여줍니다.

3변수 함수의 경우 3차원 큐브를 다루어야 합니다. 이는 더 복잡하고 시각적이지 않지만 기술적으로는 가능합니다. 그림은 예를 들어 세 변수의 부울 함수와 해당 큐브에 대한 진리표를 보여줍니다.

테이블이 올바르지 않습니다. 올바른 값은 1 1 0 0 1 1 0 0입니다. 그림에서 볼 수 있듯이 3차원의 경우 더 복잡한 항 구성이 가능합니다. 예를 들어, 큐브의 한 면에 속하는 네 개의 항은 두 개의 변수가 흡수된 하나의 항으로 결합됩니다.

일반적으로 2라고 할 수 있습니다. 케이하나에 속하는 용어 케이- 하이퍼큐브의 차원면이 서로 붙어서 하나의 용어로 흡수됩니다. 케이변수.

부울 함수 작업을 더 쉽게 하려면 큰 숫자변수에 대해 다음과 같은 편리한 기술이 제안되었습니다. 용어의 구조를 나타내는 큐브가 그림과 같이 평면 위에 펼쳐져 있습니다. 따라서 2개 이상의 변수를 갖는 부울 함수를 플랫 테이블 형태로 표현하는 것이 가능해집니다. 표에서 용어 코드의 순서(00 01 11 10)는 이진수의 순서와 일치하지 않으며 표의 바깥쪽 열에 위치한 셀이 서로 인접해 있다는 점을 기억해야 합니다.

비슷한 방식으로 시각화되지 않은 다차원 부울 큐브를 사용하여 함수 5, 7(반드시 소수) 등으로 작업할 수 있습니다.

Karnaugh 지도로 작업하는 방법

Karnaugh 맵 작업을 위한 초기 정보는 최소화되는 함수의 진리표입니다. 진리표에는 다음이 포함됩니다. 전체 정보논리 함수에 대해 가능한 모든 값을 설정합니다. 2 N입력 변수 세트 엑스 1 ... 엑스엔. 카르노 지도에는 2개도 포함되어 있습니다. N각각은 고유한 입력 변수 세트와 연관되어 있는 셀 엑스 1 ... 엑스엔. 따라서 진리표와 Karnaugh 맵 사이에는 일대일 대응이 있으며 Karnaugh 맵은 적절한 형식의 진리표라고 간주할 수 있습니다.

이 섹션에서는 그림 1에 표시된 진리표에 의해 정의된 4개 변수의 함수를 예로 사용합니다. 2a. 동일한 기능에 대한 Karnaugh 맵이 그림 1에 나와 있습니다. 2b.

쌀. 2. Karnaugh 지도 작업의 예

접착 원리

· Karnaugh 지도의 셀 결합은 1(DNF를 구해야 하는 경우) 또는 0(CNF가 필요한 경우)으로 수행할 수 있습니다.

· 일(0)의 수가 2개인 직사각형 영역만 붙일 수 있습니다. N, 어디 N- 정수. 4개 이상의 변수가 있는 Karnaugh 맵의 경우 다음 섹션에서 설명하는 것처럼 더 복잡한 영역을 얻을 수 있습니다.

· 접착되는 영역에는 1(0)만 포함되어야 합니다.

· 각 수평 및 수직의 가장 바깥쪽 셀도 서로 경계를 이루고 있으며(위상적으로 4개 변수에 대한 Carnaugh 맵은 토러스임) 직사각형으로 결합될 수 있습니다. 이 규칙의 결과는 Karnaugh 맵의 네 모서리 셀 모두의 연속성입니다. N=4. 4개의 모서리 셀에 모두 1(0)이 포함되어 있으면 그림과 같이 사각형으로 결합할 수 있습니다. 2c.

· 모든 1(0)은 어떤 영역에 속해야 합니다.

· 최소 DNF(Minimal DNF, CNF) 관점에서 볼 때 영역의 수는 최대한 작아야 하며(각 영역은 용어를 나타냄), 영역 내 셀의 수는 최대한 커야 한다(셀이 많을수록). 지역에 따라 항에 포함되는 변수 수가 적어집니다. 크기가 2인 항 N셀에는 다음이 포함됩니다. NN변수).

· 하나의 Karnaugh 지도 셀은 여러 영역에 동시에 포함될 수 있습니다. 이는 부울 함수의 명백한 속성에서 비롯됩니다. 즉, 이미 존재하는 용어(인수)를 반복해도 함수에 영향을 주지 않습니다.

· SDNF(SKNF)와 달리 DNF(KNF)는 고유하지 않습니다. 다음에 해당하는 여러 개의 동등한 DNF(CNF)가 있을 수 있습니다. 다른 방법으로 Karnaugh 지도를 직사각형 영역으로 덮습니다.

설명

Karnaugh 맵은 다양한 변수에 대해 컴파일될 수 있지만 5개 이하의 변수로 작업하는 것이 편리합니다. 사실은, Karnaugh 맵은 2차원 형태로 편집된 진리표입니다.. 그레이 코드를 사용함으로써 맨 위 행은 맨 아래에 인접하고 오른쪽 열은 왼쪽에 인접합니다. 전체 카르노 지도는 토러스(도넛) 모양으로 축소됩니다(그림 4.1).

쌀. 4.1. Karnaugh 맵 컬링 방법

행과 열의 교차점에 진리표의 해당 값이 삽입됩니다. 카드가 채워지면 최소화를 시작할 수 있습니다.

최소 DNF를 얻는 것이 필요한 경우 맵에서 1을 포함하는 셀만 고려하고, CNF가 필요한 경우 0을 포함하는 셀을 고려합니다. 최소화 자체는 다음에 따라 수행됩니다. 다음 규칙(예로 DNF 사용):

1. 1을 포함하는 인접 셀을 하나의 영역으로 결합하여 한 영역에 (정수 = 0...) 셀이 포함되도록 합니다(외부 행과 열이 서로 인접해 있음을 기억하세요). 해당 영역에는 0을 포함하는 셀이 없어야 합니다. ;

2. 영역은 축에 대칭으로 위치해야 합니다(축은 4개 셀마다 위치함).

3. 축에 대칭으로 위치한 인접하지 않은 영역을 하나로 결합할 수 있습니다.

4. 면적은 가능한 한 넓어야 하며, 면적은 가능한 한 작아야 한다.

5. 영역이 겹칠 수 있습니다.

6. 다양한 코팅 옵션이 가능합니다.

다음으로 첫 번째 영역을 선택하고 이 영역 내에서 어떤 변수가 변경되지 않는지 살펴보고 이러한 변수의 결합을 작성합니다. 변경되지 않는 변수가 0이면 그 위에 반전을 적용합니다. 다음 영역을 선택하고 첫 번째 영역과 동일한 방식으로 모든 영역에 대해 동일한 작업을 수행합니다. 우리는 분리를 통해 지역의 결합을 결합합니다.
예를 들어(변수가 2개인 카드의 경우):

CNF의 경우 모든 것이 동일하며 0이 있는 셀만 고려하고 한 영역 내에서 변하지 않는 변수는 분리로 결합되고(단위 변수에 반전을 적용) 영역의 분리는 결합으로 결합됩니다. 이 시점에서 최소화가 완료된 것으로 간주됩니다. 따라서 그림 1의 Karnaugh 맵의 경우 DNF 형식의 표현은 다음과 같습니다.

CNF 형식:

De Morgan의 법칙을 사용하여 DNF에서 CNF로 이동하고 다시 돌아올 수도 있습니다.

예:

예시 1.

접착을 사용하여 결과 SDNF를 단순화하고 Karnaugh 맵을 사용하여 DNF를 얻습니다.

"z"와 "y"를 따라 속성과 접착이 적용됩니다.

괄호 안의 분리는 변수 세트 (0,0,0), (0,0,1) 및 (0,0,0), (0,1,0) 쌍에 대해 구합니다. 각 쌍의 집합은 한 위치에서만 다르며 인접 집합이라고 합니다. 단순화 후에도 쌍에서 일치하는 변수는 그대로 유지됩니다. Carnaugh 맵은 인접한 변수 세트가 서로 옆에 위치하는 진리표입니다(슬라이딩 단위 방법을 위반함).

우리의 기능을 위해 우리는

yz x

Carnaugh 맵을 사용하면 최소한의 변수 또는 해당 부정 수로 DNF를 얻을 수 있습니다. 이렇게하려면 근처에 서클을 묶어야합니다. 가치 있는 가치함수는 1과 같고,

1) 각 원에는 2K(k = 0, 1, 2,...) 단위만 포함될 수 있습니다(예: 16, 8, 4, 2, 1).

2) 원의 크기는 가장 커야 합니다.

3) 모든 단위를 포괄하는 원의 수가 가장 적습니다.

4) 세트 (0,0)과 (1,0)은 이웃하기 때문입니다. 그런 다음 카드의 가장자리가 서로 연결됩니다.

5) 각 원에 대해 간단한 연결이 형성되며 이는 DNF에 포함됩니다. 이 경우 전체 원에 걸쳐 값을 유지하는 변수만 남고 평소와 같이 x i = 1이면 x i를 쓰고 x i = 0이면 x i를 씁니다. .

우리의 예를 위해 원을 만들어 봅시다.

yz 엑스
1 1 1 2

우리에게는 두 개의 접속사가 있습니다. 첫 번째 원에 대해 그 값을 유지하면 . 두 번째 라운드에서는 변경되지 않고 를 얻습니다. 마지막으로.

실시예 2

소년 Kolya에는 어머니, 아버지, 할아버지, 할머니가 있습니다. Kolya는 적어도 두 명의 친척이 허용하면 거리를 산책하러 갈 것입니다.
간결하게 하기 위해 Kolya의 친척을 문자로 표시해 보겠습니다.
엄마 - x1
아빠 - x2
할아버지-x3
할머니 - x4
친척의 동의를 1로, 불일치를 0으로 표시하는 데 동의합시다. 산책할 기회는 문자 f로 표시되고, Kolya는 산책하러 갑니다 - f = 1, Kolya는 산책하러 가지 않습니다 - f = 0.
진리표를 만들어 보겠습니다.

진리표를 2차원 형태로 다시 그려보겠습니다.

그레이 코드에 따라 행과 열을 다시 배열해 보겠습니다. Karnaugh 지도를 받았습니다:

진리표의 값으로 채워 보겠습니다.

우리는 규칙에 따라 최소화합니다.

1. 1. 모든 영역에는 2^n 셀이 포함됩니다.

2. 2. Carnaugh Map은 4개의 변수로 구성되어 있으므로 축은 Map의 경계에 위치하여 보이지 않습니다. (자세한 내용은 5개의 변수가 있는 Map의 예를 참조하세요.)

3. 3. 카르노 맵은 4개 변수에 대한 맵이므로 축에 대칭인 모든 영역이 서로 인접해 있습니다. (자세한 내용은 5개 변수 맵의 예를 참조하세요.)

4. 4. S3, S4, S5, S6 영역은 최대한 넓습니다.

5. 5. 모든 영역이 교차합니다(선택적 조건).

6. 6. 이 경우 합리적인 선택은 하나뿐입니다.

이제 얻은 최소 DNF를 사용하여 논리 회로를 구성할 수 있습니다.

분리 기능을 구현하는 6개 입력 OR 요소의 가용성이 부족하기 때문에 5개 및 2개 입력 요소(D7, D8)를 캐스케이드해야 했습니다.

분을 만들어 봅시다. KNF:

결론 .

논리 기능을 최소화하기 위해 다음을 사용할 수 있습니다. 다양한 방법:

  • 카르노(Veitch) 지도
  • 콰인
  • 퀸-맥클루스키
  • 페트리카

Karnaugh 지도 방식과 Veitch 지도의 차이점은 지도의 행과 열을 지정하는 방식에 있습니다. Karnaugh 지도의 경우 행과 열은 그레이 코드를 사용하여 지정됩니다. 그러나 그들 사이에는 근본적인 차이가 없습니다.

Karnaugh 맵(또는 Veitch 맵)을 최소화하는 방법은 인수 수가 3, 4 또는 5개일 때 잘 작동하며 결과를 쉽게 얻을 수 있습니다. 이 방법은 테이블(지도)의 시각적 분석을 기반으로 하며 컴퓨터 기술을 통한 처리에는 사용할 수 없습니다.

숙제:

1. Karnaugh 맵으로 표현되는 다음 기능을 최소화합니다.

채워지지 않은 셀은 0에 해당합니다. 문자로 표시된 변수는 다음과 같습니다. 직접적인 의미, 표시되지 않음 - 반대.

제어 질문:

1. 카르노 큐브의 정의.

2. 카르노 지도는 누가, 몇 년에 발명되었습니까?

3. 논리적 기능을 최소화하는 기본 방법은 무엇입니까?

Karnaugh 맵을 사용한 최소화 규칙

1. Carnaugh 지도에서 1의 그룹(DNF를 얻기 위한)과 0의 그룹(CNF를 얻기 위한)은 사각형 윤곽선으로 둘러싸여야 합니다. 윤곽선 안에는 같은 이름의 함수값만 포함되어야 합니다. 이 프로세스는 작업에 해당합니다. 접착또는 주어진 함수의 함의를 찾는 것입니다.

2. 윤곽선 내부의 셀 수는 2의 거듭제곱(1, 2, 4, 8, 16...)이어야 합니다.

3. 등고선을 그릴 때 지도의 가장 바깥쪽 선(상단과 하단, 왼쪽과 오른쪽)과 모서리 셀은 인접한 것으로 간주됩니다(최대 4개의 변수로 구성된 지도의 경우).

4. 각 회로에는 가능한 최대 개수의 셀이 포함되어야 합니다. 이 경우에는 단순함수에 해당됩니다. 회로 수는 최소화되어야 합니다.

5. 지도의 모든 1(0)(단일 경우라도)은 등고선으로 덮여야 합니다. 임의의 1(0)은 윤곽선에 임의의 횟수만큼 나타날 수 있습니다.

6. 회로 수는 최소화되어야 합니다. 모든 1(0) 기능을 포괄하는 윤곽 세트는 막다른 DNF(CNF)를 형성합니다. 최소화하는 것이 목적막다른 형태의 집합 중 최소값을 찾는 것입니다.

7. 하나의 윤곽선에 해당하는 기본 연결(접합)에서는 원 윤곽선 내에서 값이 변하지 않는 변수만 남습니다. 부울 함수의 변수는 해당 좌표의 값이 1이면 반전 없이 기본 연결(함수 값 1의 경우)에 포함되고 0이면 반전이 포함됩니다. 부울 함수 값이 0인 경우, 해당 좌표의 값이 0이면 변수가 반전 없이 포함되고 1이면 반전이 포함되는 기본 분리가 작성됩니다.

그림의 예를 살펴보겠습니다. 2.52.

그림 2.52 - 두 변수의 Carnaugh 맵

SDNF: . 최소화를 위해 분석 변환 방법(접착 법칙 및 Blake-Poretsky)을 적용하여 다음을 얻습니다.

불완전 접착 작업을 사용하여 반대 방향으로 갈 수 있으며 암시적 분리를 얻을 수 있습니다.

그리고 - 단순한 함의체는 접착 작업을 적용하는 것이 불가능하기 때문에 약식 DNF를 형성합니다. 다른 옵션이 없으므로 이 DNF는 막다른 골목에 있고 가장 짧으며 최소입니다.

Karnaugh 지도를 사용하면 다음과 같은 결과를 얻을 수 있습니다.

ICNF: .

3차 형태에서 최소화 프로세스는 다음과 같습니다.

여기서 01, 10, 11은 최소항이고 X1과 1X는 함축어이며 단순 함축어이기도 합니다. 하나의 단순 ilicent(maxterm이라고도 함) 00이 남아 있습니다. C 1 = (1X, X1), C 0 = (00).

그림의 예를 살펴보겠습니다. 2.53.

그림 2.53 - 세 가지 변수의 Carnaugh 맵

MDNF: .

그림의 예를 살펴보겠습니다. 2.54.

그림 2.54 - 네 가지 변수의 Carnaugh 맵

부분적으로(완전히는 아님) 정의된 기능의 경우 그림 1의 예를 고려하십시오. 2.55. X로 표시된 알 수 없는 값이 접착에 포함됩니다.

그림 2.55 - 부분적으로 정의된 함수의 네 가지 변수에 대한 Carnaugh 맵

MDNF: .

ICNF: .

KP=(C 0 , C 1 ),

.

최소화 결과를 3차 형식으로 작성하는 것을 고려하면 부울 함수를 단위 값으로 최소화할 때 순위 R의 각 결합은 순위 R의 큐브에 해당하며, 여기서 반전이 없는 각 변수는 큐브의 1에 해당합니다. 반전 - 0, X는 누락된 변수 위치에 배치됩니다. 결과 큐브 세트는 단위 커버 C 1(DNF에 해당)을 형성합니다.

0 값에 대한 불리언 함수를 최소화하고 그 최소화 결과를 3차 형태로 제시할 때 CNF를 기반으로 C 0 을 덮는 0이 형성된다. 따라서 CNF의 순위 R의 각 분리는 순위 R의 큐브에 해당합니다. 여기서 반전이 없는 각 변수는 큐브의 0에 해당하고 반전이 있는 변수는 1에 해당하며 X는 누락된 변수 대신 배치됩니다. 결과 큐브 세트는 C 0(해당 KNF)을 덮는 0을 형성합니다.

4보다 많은 변수 수에 대한 Karnaugh 맵 이미지의 특징은 Karnaugh 맵의 "수학적으로" 인접한 열이 공간적으로 분리되어 있다는 것입니다. 따라서 5개 변수에 대한 Carnaugh 맵은 중앙 변수에 대해 대칭된 4개 변수의 두 맵을 나타냅니다. 수직선(그림 2.56에서 굵은 글씨로 강조 표시).

그림 2.56 - 5개 변수의 Carnaugh 맵

이 경우 맵의 오른쪽과 왼쪽 부분에 같은 색상의 열이 실제로 변수에서 인접해 있는 것으로 나타납니다. 엑스 3(인접한 열은 지도 하단에 화살표로도 표시됨) 접착을 수행할 때 표시된 열, 특히 공간적으로 분리된 분홍색과 녹색의 "이웃"을 고려해야 합니다.


2.2.3 부울 함수 시스템의 최소화

부울 함수 시스템을 최소화하는 방법에는 두 가지가 있습니다.

각 기능을 별도로 최소화;

시스템 기능의 공동 최소화.

첫 번째 방향을 생각해 봅시다. 시스템에 포함된 부울 함수를 서로 독립적으로 최소화하면 일반적인 계획격리된 하위 회로로 구성됩니다. 때로는 시스템의 여러 부울 함수에 포함된 동일한 용어를 구현하는 하위 회로 섹션을 결합하여 단순화할 수 있습니다.

함수를 최소화한 결과 다음과 같은 MDNF를 얻습니다.

그림에서. 그림 2.57은 공통 부분(용어)을 고려하지 않은 기능 시스템의 구현을 보여줍니다. 이 구현에 대한 반전을 고려하지 않은 Quine 기준에 따른 하드웨어 비용은 Cb = 18입니다.

그림에서. 그림 2.58은 공통 부분을 조합한 기능 시스템의 구현을 보여줍니다. 이 구현에 대한 반전을 고려하지 않은 Quine 기준에 따른 하드웨어 비용은 Cb = 14입니다. 이 구현더 간단합니다 (더 경제적입니다).

그림 2.57 - 공통 부분을 고려하지 않은 기능 시스템 구현

그림 2.58 - 공통 부분을 결합한 기능 시스템 구현

이 방법이 항상 효과적인 것은 아닙니다. 아래에 예를 들어 설명하겠습니다.

두 번째 방향을 생각해 봅시다. 다양한 방법이 있는데, 이 경우 부울 함수 시스템을 최소화하는 방법이 제안됩니다. 최소화 알고리즘은 다음과 같습니다. (CNF의 경우 알고리즘은 유사합니다).

1. 시스템에 포함된 함수의 모든 최소항(3차 형식일 수 있음)을 적습니다. 문제의 최소항을 포함하는 시스템 기능의 수를 포함하는 부호를 각 최소항에 할당합니다(예: minterm 0( 에프 1 , 에프 3) 0000, 최소기간 15( 에프 1) 1111.



2. 접착을 수행합니다. 함께 접착되는 기본 제품의 특성(최소 용어 및 추가 관련 항목)에 다음이 포함되지 않은 경우 다인실, 이러한 기본 제품은 동일한 기능에 속하지 않으므로 접착이 수행되지 않습니다. 접착(함축)의 결과에는 접착되는 두 최소항 또는 암시에 공통된 함수 번호로 구성된 부호가 할당됩니다. 접착에 참여하지 않은 함축어와 최소항은 단순 함축어이며 모두 함수로 작성된 시스템의 축소된 DNF를 구성합니다.

3. 기능 적용 범위 테이블을 구성합니다. 각 최소항에 대해 해당 속성에 포함된 다양한 기능 번호의 수만큼 많은 열이 할당됩니다. 또한 모든 것이 유사하며 최소한의 기능 형태가 구성됩니다.

4. 기능별로 시스템의 각 기능에 대한 MDNF 표현식을 구합니다.

논평.기능이 완전히 정의되지 않은 경우 정의되지 않은 세트는 접착에 참여해야 하지만 적용 범위 테이블에는 포함되지 않습니다.

예를 살펴보겠습니다. 부울 함수 시스템을 제시해 보겠습니다(표 2.8). 부울 함수 시스템의 MDNF를 찾아보겠습니다.

표 2.8 - 부울 함수 시스템의 진리표

0 0 0 1 1
0 0 1 0 0
0 1 0 0 1
0 1 1 0 1
1 0 0 0 0
1 0 1 1 1
1 1 0 1 0
1 1 1 1 0

우리는 접착을 수행합니다.

모든 1-큐브와 2개의 0-큐브 000( 에프 1) 및 101( 에프 2). 이는 단순한 함축변수입니다. 이는 약식 DNF 기능을 형성합니다. 이들 모두는 적용 범위 표에 포함됩니다.

보장 범위 표를 작성합니다(표 2.9).

표 2.9 – 코팅 표

프라임 임플리컨트 함수의 최소항
에프 1 에프 2 에프 2 에프 2 에프 1 에프 2 에프 1 에프 1
0x0( 에프 2) V V
01x ( 에프 2) V V
1x1( 에프 1) V V
11배( 에프 1) V V
이자형 000 (에프 1 , 에프 2) V V
에프 101 (에프 1 , 에프 2) V V

함수의 핵심은 단순 임플리턴트 B, D, E, F로 구성됩니다. 나머지 임플리컨트는 불필요하며 막다른 골목 및 최소 DNF에 포함되지 않습니다. 저것들. MDNF 기능은 커널로만 구성됩니다.

MDNF 기능을 사용하여 MDNF 및 MDNF를 구축합니다.

반전을 고려하지 않고 표현의 공통 부분 조합을 고려하지 않은 Quine 기준에 따른 하드웨어 비용( )은 Cb=16이다.

고려 중인 시스템을 최소화하기 위해 각 기능을 개별적으로 최소화하는 첫 번째 접근 방식을 사용해 보겠습니다.

함수에 대한 Karnaugh 맵은 그림 1에 나와 있습니다. 2.59

그림 2.59 - 함수에 대한 Karnaugh 맵

함수에 대한 Karnaugh 맵은 그림 1에 나와 있습니다. 2.60

그림 2.60 - 함수에 대한 Karnaugh 맵

MDNF 기능에는 공통 부분이 없으므로 반전을 고려하지 않은 Quine 기준에 따른 하드웨어 비용은 C b =20입니다. 하드웨어 비용을 평가하면 시스템 기능을 별도로 최소화하는 것이 공동 최소화보다 열등하지만 후자가 더 노동 집약적이라는 것을 알 수 있습니다.


2.3 조합 구성요소 중간 정도완성

가산기

두 가지의 합은 어떻게 되나요? 양수바이너리 코드로? 예를 들어 3+5=8:

가산기의 종류는 매우 다양합니다. 9가지 유형의 가산기가 제공됩니다. 가장 간단한 가산기를 살펴보겠습니다.

표 2.12 - 전가산기의 진리표

C in 에스 C 아웃

.

최소화를 수행한 후 C 아웃카르노 지도에 따르면, 우리는 다음을 얻습니다.

이내에– 이전 소수 자릿수에서 전송,

C 아웃– 다음 가장 중요한 숫자부터 이어집니다.

그림에서. 그림 2.67은 1비트 전가산기의 회로를 보여준다.

그림 2.67 - 단일 비트 전가산기 회로

덧셈 연산을 순차적으로(비트 단위로) 수행하려면 모든 숫자에 공통되는 하나의 전가산기가 사용됩니다. 연산을 수행하기 위해 피연산자와 캐리는 그림의 하위 비트부터 시작하여 순차적으로 입력됩니다. (2.68).

그림 2.68 - 직렬 덧셈 회로

직렬가산기는 하드웨어 비용이 저렴하지만 동작 시간이 오래 걸린다. 직렬 캐리를 사용하는 병렬 가산기가 더 빠릅니다. 예를 들어, 순차 캐리가 있는 4비트 병렬 가산기를 생각해 보십시오(그림 2.69).

그림 2.69 - 직렬 캐리가 있는 병렬 가산기 회로

각 비트에 대해 이 회로는 별도의 1비트 전가산기를 사용합니다. 후배 계급 ( a 0 , b 0) 환승이 없으므로 이내에=0. 각 후속 숫자에는 이전 숫자의 이월이 있습니다. 가산기를 병렬이라고 부르지만 실제로는 모든 비트가 정확히 동시에 처리되는 것이 아니라 특정 비트에 대해 캐리가 발생한 후에야 처리됩니다. 따라서 장치의 성능은 최하위 비트에서 최상위 비트 가산기의 출력까지 전송 신호를 전송하는 데 걸리는 지연의 합에 의해 결정됩니다.

멀티플렉서

멀티플렉서(에서 영어 단어멀티플렉스 - 다중)은 여러 입력에서 하나의 출력으로 정보를 전환(전송)할 수 있는 조합 노드입니다. 멀티플렉서는 다른 채널을 통해 도착하는 정보를 일시적으로 분리하는 데 사용됩니다. 그림 2.70은 2 in 1 멀티플렉서의 예를 보여줍니다. 멀티플렉서는 두 개의 입력 그룹과 하나(드물게는 두 개의 보완 출력) 그룹을 갖습니다. 에프그리고 . 항목은 정보 제공용입니다. - 관리자 (주소). 주소 입력의 신호 세트는 출력 채널에 연결될 특정 정보 입력을 결정합니다. 일반적으로 멀티플렉서는 MX 또는 MUX로 지정됩니다.

그림 2.70 – 상징멀티플렉서 MX 2 in 1

표 2.13은 해당 입력에 대한 주소 값을 보여줍니다.

표 2.13 – 정보 입력 및 해당 주소

정보 입력
D0
디 1

그림에서. 2.71은 2 in 1 멀티플렉서의 기계적 아날로그를 보여줍니다. =0, 전환됨 D0그리고 에프, 언제 =1, 전환됨 디 1그리고 에프.

그림 2.71 - MX 2 in 1 멀티플렉서의 기계적 아날로그

표 2.14는 MX 2 in 1 진리표를 보여줍니다.

표 2.14 - 진리표 MX 2 in 1

D0 디 1 에프

지도에서 최소화를 수행한 후 카르노 기능 에프, 우리는 다음과 같은 표현을 얻습니다.

그림 2.72는 2-in-1 멀티플렉서의 구조를 보여줍니다.

그림 2.72 - MX 2 in 1 멀티플렉서의 구조

그림 2.73은 4-in-1 멀티플렉서의 예를 보여줍니다.

그림 2.73 - 게이트 MUX 4 in 1의 기호

입력은 정보용이고 입력은 제어(주소)입니다. 주소 입력의 신호 세트는 출력 채널에 연결될 특정 정보 입력을 결정합니다. 표 2.15는 해당 입력에 대한 주소 값을 보여줍니다.

표 2.15 - MUX 4 in 1의 정보 입력 및 해당 주소

정보 입력 정보 입력 주소 1 2
D0 0 0
디 1 0 1
디 2 1 0
디 3 1 1

활성화(스트로브) 입력 V주소 입력 상태에 관계없이 모든 정보 입력을 동시에 제어합니다. 이 입력의 금지 신호는 전체 장치의 작동을 차단합니다. 허용된 입력의 가용성 V멀티플렉서의 기능을 확장하여 해당 작업을 다른 노드의 작업과 동기화할 수 있습니다.

그림 2.74는 MUX 4 in 1 멀티플렉서의 기계적 아날로그를 보여줍니다. V=0, 그러면 에프=0, 즉 0으로 정류가 수행됩니다. 만약에 V=1, 그러면 에프입력에 제공된 주소에 따라 채널이 전환됩니다. 1 2, 즉. 멀티플렉서는 주요 기능을 수행합니다. .

그림 2.74 - MUX 4 in 1 멀티플렉서의 기계적 아날로그

활성화 입력은 입력 정보 채널 수를 늘릴 때도 사용됩니다. 그림 2.73의 멀티플렉서는 표에 제시된 기능을 구현합니다. 2.16.

표 2.16 - 진리표 MUX 4 in 1

V A 1 A 2 D0 디 1 디 2 디 3 에프
엑스 엑스 엑스
엑스 엑스 엑스
엑스 엑스 엑스
엑스 엑스 엑스
엑스 엑스 엑스
엑스 엑스 엑스
엑스 엑스 엑스
엑스 엑스 엑스
엑스 엑스 엑스 엑스 엑스 엑스

MUX 4 in 1 멀티플렉서의 출력 기능은 다음과 같습니다.

디멀티플렉서

디멀티플렉서(DMX)는 멀티플렉서의 정보 변환과 반대되는 정보 변환을 수행합니다. 디멀티플렉서는 하나의 입력 정보 채널을 여러 출력 채널 중 하나로 전환합니다. 디멀티플렉서의 출력 채널 수는 와 같습니다. 여기서 n은 주소 입력 수입니다. 해독기는 디멀티플렉서로 사용될 수 있습니다. 1-2 디멀티플렉서는 그림 1에 나와 있습니다. 2.76.

그림 2.76 – DMX 1 대 2 멀티플렉서에 대한 기호

표 2.17은 해당 출력의 주소 값을 보여줍니다.

표 2.17 – DMX 1~2의 출력 및 해당 주소

0/z를 쓴다는 것은 출력이 0 또는 z일 수 있고, 0과 z가 일치한다는 것을 의미합니다. 다양한 테이블진실. z 기호는 높은 임피던스 또는 높은 출력 저항(개방 연결) 상태를 나타냅니다.

출력(0 또는 z)에 관계없이 함수는 다음 방정식으로 구현됩니다.

그림 2.78은 1대2 역다중화기의 구조를 보여준다.

그림 2.78 - 1대 2 DMX 디멀티플렉서의 구조

디코더

입력에 도달하는 이진 위치 코드를 출력 중 하나(단위 코드)에서만 활성 신호로 변환하는 조합 논리 회로를 디코더(영어 디코더)라고 합니다. 복호화된 코드의 이진 비트 수를 n으로 표시하면 디코더 출력 수는 2n과 같습니다. 그림 2.79는 2에서 4까지의 디코더를 보여줍니다. 왼쪽에는 입력 1, 2 - 2의 거듭제곱이 있으며 일반적으로 이를 지정합니다. D1, D2편의상 아래. V– 스트로브 입력. 오른쪽 - 출력 0, 1, 2, 3 - 입력에 제공된 코드에 해당하는 10진수; 편의상 더 자세히 표시하겠습니다. Q0, Q1, Q2, Q3.

그림 2.79 - 2 in 4 디코더 기호

디코더 기능은 표 2.19에 나와 있습니다.

표 2.19 - 진리표 DC 2 ~ 4

D2, D1 Q0, Q1, Q2, Q3.
2 1 0 1 2 3
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1

스트로브 신호를 고려하면 방정식은 다음과 같습니다.

,

컴퓨터에서는 디코더의 도움으로 필요한 메모리 셀(메모리 장치)이 선택되고 해당 제어 신호의 발행을 통해 작동 코드가 해독되며 부울 기능이 구현됩니다.

디코더 회로(그림 2.80)의 AND 요소가 Schaeffer 요소(AND-NOT)로 대체되면 출력에 원으로 표시되는 역 출력이 있는 디코더가 생성됩니다. 디코더는 단위의 구성 요소인 부울 함수를 구현하므로 모든 부울 함수는 직접 출력 및 OR 논리 회로가 있는 디코더를 기반으로 뿐만 아니라 역 출력 및 AND-NOT 논리 회로가 있는 디코더를 기반으로 구현될 수 있습니다( 그림 2.81).

그림 2.81 - 직접 출력(a)과 역 출력(b)이 있는 디코더를 기반으로 한 부울 함수 y의 구현

디코더는 다음과 같은 경우 디멀티플렉서로 사용될 수 있습니다. V정보 입력으로 사용하고, D1, D2- 주소 같은 거요.

암호화기

인코더 기호는 문자 CD(워드 코더에서 유래)를 사용합니다(그림 2.82).

그림 2.82 - 4 in 2 인코더 기호

엔코더의 동작을 설명하는 표는 표입니다. 2.19, 유일한 차이점은 입력 부울 변수이고 인코더의 출력 부울 함수라는 것입니다. 인코더 기능은 표 2.20에 나와 있습니다.

표 2.20 - CD 진리표

각 출력 함수에 대해 MDNF를 작성하면 다음을 얻습니다. 다음 방정식:

인코더의 구조는 그림 1에 나와 있습니다. 2.83.

그림 2.83 - 4 in 2 인코더의 구조

멀티플렉서, 디멀티플렉서, 인코더, 디코더, 가산기 등을 사용하는 회로의 표현 수준을 호출합니다. 기능 블록.

논리 요소(게이트)로 구성된 회로의 표현 수준을 호출합니다. 논리적.

3 순차 논리

순차 회로의 특징(조합 회로와 반대)은 현재 순간의 회로 출력 값이 입력에 어떤 값이 공급되었는지뿐만 아니라 무엇에 따라 달라집니다. 회로가 이전 순간에 있었던 상태입니다.

순차회로의 대표자는 플립플롭이다. 트리거는 메모리 요소(저장 요소)와 메모리 요소에 대한 제어 회로를 포함하는 기본 자동 장치입니다. 제어 회로에는 입력 신호(정보)와 메모리 요소 출력의 피드백 신호가 제공됩니다(그림 3.1). 일부 간단한 플립플롭에는 제어 회로가 없을 수도 있습니다.

트리거 출력의 상태는 메모리 요소, 즉 직접 출력의 신호에 의해 결정됩니다. . 일반적으로 트리거에는 역 출력도 있으며 때로는 지정됩니다. *.

그림 3.1 – 구조적 계획방아쇠

SE – 저장 요소;

KS – 조합 제어 회로;

엑스 1, ..., 엑스 n – 트리거의 정보 입력;

와 함께 1 , 와 함께 m - 입력 동기화

, – 각각 직접 및 역 트리거 출력;

에프 1 , 에프 2 – 접지 요소의 여기 기능.

그림에서. 3.2는 저장 요소의 예를 보여줍니다. 피드백이 있는 NAND 또는 NOR 게이트로 구성됩니다.

그림 3.2 - 저장 요소의 예

트리거의 분류는 트리거에 정보를 기록하는 방법(비동기 및 동기)에 따라 논리적 기능(RS, R*S*, JK, J*K* 등과 같은 트리거)의 법칙에 따라 수행됩니다. , 구조(단일 단계 및 2단계)에 따라 트리거(레벨 제어 및 제어 전면)에 의한 클럭 신호 인식 방법에 따라.

3.1 비동기 트리거

비동기식 트리거는 정보 입력 신호의 변경으로 인해 새로운 상태로 전환되는 트리거입니다. 저것들. 타이밍이나 신호 동기화 없이.

3.1.1 RS 트리거

RS 유형 트리거는 두 개의 안정적인 평형 상태와 두 개의 정보 입력을 갖는 트리거입니다(그림 3.3). 입력 S(Set)는 트리거를 "1"로 설정하는 데 사용되고, 입력 R(Reset)은 트리거를 "0"으로 설정하는 데 사용됩니다. 입력 R 및 S에 두 개의 활성 신호를 동시에 공급하는 것은 금지됩니다. RS . 플립플롭 입력에 두 개의 0을 적용하면 이를 보존합니다. 내부 상태. 입력 신호의 활성 값은 레벨 1입니다. 이 경우 입력은 직접적으로 간주됩니다. 입력에서 신호의 활성 값이 0이면 해당 입력은 역으로 간주됩니다. 일반적으로 역입력은 별표(*)로 표시됩니다. 역 입력이 있는 트리거에 대해서는 나중에 자세히 설명합니다.

그림 3.3 - 비동기 RS 플립플롭의 구조와 기호

을 위한 전체 설명방아쇠가 법칙을 설정하는 것만으로도 충분합니다. 작동.트리거는 기본 자동 장치이므로 작동 법칙은 단축된 전환 테이블(표 3.2)을 구축할 수 있는 완전한 전환 테이블(TTP)(표 3.1)에 의해 지정됩니다. 테이블에 그리고 어느 시점에 .

표 3.1 – 전체 테이블전환 RS-방아쇠

+1
아르 자형 에스
엑스
엑스

Table 3.1을 상단의 두 행으로 분할하면 다음과 같은 값을 볼 수 있습니다. 아르 자형그리고 에스한 쌍의 선은 동일합니다. 열의 값을 생략하면 축약된 전환 테이블(STT)이 생성됩니다.

표 3.2 - 약식 전이표 RS-방아쇠

아르 자형 에스 (+1)
()
엑스

표 3.3에는 추가 전이 테이블(TCT)이 나와 있습니다. PTP에서 쉽게 구할 수 있습니다. 사고의 첫 번째 열에는 트리거 입력이 기록되고, 나머지 열에는 트리거 상태의 가능한 모든 전환이 포함됩니다. : "0-0", "0-1", "1-0", "1-1". PTP에서는 이러한 모든 전환이 추적되고 표시됩니다(이 경우 빨간색 숫자로 표시). 숫자는 사고의 전환 횟수를 나타냅니다. 그런 다음 PTP에 배치된 레이블에 따라 입력에 제공된 값이 PTP 열에 기록됩니다. 아르 자형그리고 에스이 교차로에서.

표 3.3 - 추가 전이 테이블 RS-방아쇠

전이 행렬(MT)은 실제로 회전된 교통 사고입니다(표 3.4). 사고 행은 행렬의 열입니다. 전환 매트릭스는 지정된 상태 전환을 구현하기 위해 트리거 입력에 공급되어야 하는 신호 값을 보여줍니다. ()-(+1). 사고 셀의 동일한 값 쌍은 MP의 단일 값으로 대체됩니다. 커플 다른 의미예를 들어 교통사고 셀에서는 한 글자로 대체됩니다. 1, "0-0" 전환에서 입력 신호가 아르 자형 0 또는 1과 같을 수 있으며, 이는 무한 계수로 표시됩니다. 1 , . 입력 신호의 경우에도 마찬가지로 에스전환에 대해 "1-1"이 설정되었습니다. 2, 문자를 배치해야 하는 다양한 MP 셀에는 다음 중 하나가 있어야 합니다. 다양한 글자, 또는 동일한 문자이지만 인덱스가 다릅니다. 이는 혼란을 피하기 위해 트리거를 합성할 때 편리합니다. 합성은 나중에 다루겠습니다.

표 3.4 - RS 플립플롭 천이 행렬

()-(+1) 아르 자형 에스
0-0 1
0-1
1-0
1-1 2

트리거를 설명하는 또 다른 방법은 전환 그래프입니다(그림 3.4). 정점은 트리거 상태에 해당하고 호는 상태 간 전환에 해당합니다. 상태는 출력값에 따라 결정됩니다. 큐.언제 =0이면 트리거가 상태에 있는 것으로 간주됩니다. 0일 때 =1이면 트리거가 상태에 있는 것으로 간주됩니다. 1 . 하나 또는 다른 전환 조건이 호에 기록됩니다.

그림 3.4 - 전환 그래프 RS-방아쇠

나오는 호에 대해서는 0 및 입력 0(즉, 루프) - "0-0" 전환의 경우: ;

호의 경우 0인치 1 – 전환 "0-1"의 경우: ;

호의 경우 1인치 0 – 전환 "1-0"의 경우: ;

호의 경우 1인치 1 - 전환 "1-1"의 경우: .

시간 t+1에서 트리거의 전환 기능은 트리거 전환의 전체 테이블을 사용하여 구축된 Karnaugh 맵(그림 3.5)을 사용하여 지정할 수 있습니다.

그림 3.5 - RS 플립플롭의 천이 기능에 대한 Carnaugh 맵

Karnaugh 맵을 사용하면 기능을 설명하는 부울 함수의 최소 CNF를 찾을 수 있습니다. RS-트리거(전환의 특징적인 기능).

이 표현다이어그램과 일치합니다 RS-그림에 표시된 트리거. 3.3.

3.1.2 아르 자형*에스*-방아쇠 ( RS-역 입력으로 트리거)

트리거 유형 아르 자형*에스* - 두 개의 안정적인 평형 상태와 두 개의 정보 입력이 있는 트리거라고 합니다(그림 3.6). 입구 에스* (Set)은 트리거를 "1"로 설정하는 역할을 하며, 입력 아르 자형* (재설정)은 "0"으로 설정됩니다. 입력에서 신호의 활성 값은 레벨 0입니다. 이 경우 입력은 역으로 간주됩니다. 역입력은 별표(*)로 표시됩니다. 입력에 두 개의 활성 신호를 동시에 공급 아르 자형* 그리고 에스* 금지됨, 즉 아르 자형* 에스*. 트리거 입력에 두 가지를 적용하면 내부 상태가 유지됩니다.

그림 3.6 - 비동기식의 구조와 기호 아르 자형*에스*-방아쇠

축약된 전이 테이블(표 3.6)을 구축할 수 있는 전체 전이 테이블(FTT)(표 3.5). 테이블에 그리고 +1 – 트리거 상태의 전환이 고려되는 인접 시간 순간(상태로부터의 전환) 시간 t에서 상태로 어느 시점에 +1). 이러한 전환은 일반적으로 지정됩니다. .

표 3.5 - 전체 전환 테이블 R*S*-방아쇠

칼럼 참고해주세요 (+1) 약식 점프 테이블에서 R*S*-트리거, 동일한 열을 기준으로 반전됨 RS-방아쇠. 이는 직접 및 역 입력을 갖는 동일한 이름의 모든 플립플롭에 해당됩니다. 직접 입력이 있는 트리거의 STP를 알면 역 입력이 있는 동일한 이름의 플립플롭의 STP를 쉽게 얻을 수 있습니다.

표 3.7은 추가 전이 테이블(TCT)을 나타냅니다.

표 3.7 - 추가 전이 테이블 R*S*-방아쇠

전이 행렬(MT)은 표 3.8에 나와 있습니다.

표 3.8 - R*S* 트리거의 전이 행렬

()-(+1) 아르 자형* 에스*
0-0 1
0-1
1-0
1-1 2

전이 그래프는 그림 1에 나와 있습니다. 3.7.

그림 3.7 - 전환 그래프 R*S*-방아쇠

분석적 표현전환 조건의 경우 도로 사고에 따라 획득됩니다.

나오는 호에 대해서는 0 및 입력 0(즉, 루프) - "0-0" 전환의 경우: ;

호의 경우 0인치 1 – 전환 "0-1"의 경우: ;

호의 경우 그리고 J(Jark)는 트리거를 "1"로 설정하고 입력하는 데 사용됩니다. 케이(Kill)을 "0"으로 설정합니다. 입력 신호의 활성 값은 레벨 1입니다. 두 개의 활성 신호를 입력에 동시에 공급합니다. 케이그리고 제이금지되지 않으며 트리거 상태의 반대 값이 출력에 나타납니다. 트리거 입력에 두 개의 0을 적용하면 내부 상태가 유지됩니다.

그림 3.9 – 비동기식 기호 JK-방아쇠

축약된 전이 테이블(표 3.10)을 구축할 수 있는 전체 전이 테이블(FTT)(표 3.9).

표 3.9 - 전체 전환 테이블 JK-방아쇠

표 3.11에는 추가 전이 테이블이 나와 있습니다.

표 3.11 - 추가 전이 테이블 JK-방아쇠

전이 행렬은 표 3.12에 나와 있습니다.

표 3.12 - 전이 행렬 J K-플립플롭

3.1.4 J*K*-방아쇠

트리거 유형 J*K*두 개의 안정적인 평형 상태와 두 개의 정보 입력이 있는 트리거라고 합니다(그림 3.12). 입구 제이*"1", 입구 *케이"0"으로 설정합니다. 입력 신호의 활성 값은 레벨 0입니다. 두 개의 활성 신호를 입력에 동시에 공급합니다. 케이*그리고 제이*금지되지 않으며 트리거 상태의 반대 값이 출력에 나타납니다. 트리거 입력에 두 가지를 적용하면 내부 상태가 유지됩니다.

그림 3.12 – 비동기식 기호 J*K*-방아쇠

축약된 전이 테이블(표 3.14)을 구축할 수 있는 완전한 전이 테이블(표 3.13).

표 3.13 - 전체 전이 테이블 J*K*-방아쇠

전이 행렬은 표 3.15에 나와 있습니다.

표 3.15 - J*K* 플립플롭 전이 행렬

()-(+1) 케이* 제이*
0-0 1
0-1 2
1-0 3
1-1 4

3.1.5 -방아쇠

트리거 유형 (지연)은 두 개의 안정된 평형 상태와 하나의 정보 입력을 갖는 트리거라고 합니다. (그림 3.13). 입력값 디,나가기 위해 녹음되었습니다 큐,저것들. 트리거는 리피터로 작동합니다.