Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦС Комбинационные схемы.pdf
Скачиваний:
284
Добавлен:
30.03.2015
Размер:
2.7 Mб
Скачать

Комбинационные схемы

й ц у к

1

&

1

&

&

1

г(й,ц,у,к)

&

Рис. 3.1

3.1.2. Модернизация Мак-Класки метода Квайна

Наиболее громоздкой частью метода Квайна является нахождение всех простых импликант. Мак-Класки модернизировал метод Квайна, предложив использовать кубическое представление функций алгебры логики [3], в котором используются элементы n-мерных кубов.

Каждому минтерму ДСНФ функции n аргументов соответствует n- мерный набор значений аргументов, на котором данный минтерм принимает единичное значение. В геометрическом смысле это вершина n- мерного куба. Такой набор значений аргументов называется 0-кубом. Множество 0-кубов, на которых данная функция принимает единичные значения, называется комплексом 0-кубов. Например, для функции

г(й,ц,у,к)ър(0,2,4,8,13,15)

комплекс 0-кубов будет содержать наборы, на которых функция равна 1. Записываем их в специальную матрицу 0-кубов:

0000

0010

K0 = 0100 1000

1101

1111

Если два 0-куба отличаются только в одном разряде (называются соседними кубами), то их можно склеить и получить 1-куб. Он соответствует ребру n-мерного куба. На месте разряда, в котором 0-кубы отличались, записывается тире (прочерк) или тильда (~). К примеру, склеивание двух 0-кубов функции 4 аргументов [0 0 0 0] и [0 0 1 0] даѐт 1-куб: [0 0 ~ 1]. Склеивание 0-кубов соответствует склеиванию минтермов соответствующих наборов.

Проведя все возможные склеивания, получим все 1-кубы функции, которые можно записать в матрицу 1-кубов:

31

Цифровая схемотехника

00~0

0~00 K1 = ~000 11~1

Если два 1-куба отличаются только в одном разряде и тильда у них стоит на одном и том же месте, то их можно склеить и получить 2- куб. Он соответствует грани n-мерного куба. К примеру, склеивание двух 1-кубов [0 ~ 0 0] и [0 ~ 1 0] даѐт 2-куб: [0 ~ ~ 1], а склеить кубы [1 ~ 0 0] и [0 0 ~ 0] нельзя. Склеивание 1-кубов соответствует склеиванию конъюнкций n-1 ранга. Проведя все возможные склеивания, получим все 2-кубы функции, которые можно записать в матрицу 2-кубов. Процесс можно продолжать до тех пор, пока возможны склеивания.

На практике такой способ склеивания чрезвычайно удобен, так как позволяет избежать выписывания громоздких минтермов и импликант. От куба любой размерности всегда можно перейти к соответствующей ему импликанте. Если в каком-либо разряде стоит 1, то данный аргумент функции записывается без отрицания, если стоит 0, записывается аргумент с отрицанием, если стоит тильда – аргумент не пишется совсем. Например:

[1001] – йывк [~001] – ывк [1~~0] – йа

По конъюнкции также можно записать соответствующий ей куб, например импликанте функции 5 аргументов йве5 соответствует 2- куб (2 – т.к. ранг конъюнкции меньше максимального на 2): [1~0~1].

Алгоритм метода Квайна с модернизацией Мак-Класки:

1. Нахождение всех простых импликант функции.

1.1.Записываем матрицу 0-кубов для минимизируемой функции. Для этого необходимо выписать двоичные наборы, на которых функция принимает значение 1.

1.2.Разбиваем 0-кубы на непересекающиеся группы по числу единиц. Далее сравниваем попарно 0-кубы из соседних по номеру групп (каждую с каждой) и, если это возможно, склеиваем и записываем 1-кубы. Склеенные 0-кубы отмечаем, чтобы не забыть, что мы их склеивали. После проведения всех возможных сравнений и склеиваний получаем матрицу 1-кубов.

1.3.Полученные 1-кубы разбиваются на группы, сравниваются (каждая с каждой), если возможно, склеиваются, записываются 2- кубы, склеенные кубы отмечаются и т.д., до тех пор, пока возможны склеивания. В результате все неотмеченные кубы (возможно, разных размерностей) соответствуют простым импликантам.

2. Нахождение МДНФ.

2.1.Составляем таблицу Квайна, в столбцах которой – 0-кубы

32

Комбинационные схемы

функции, а в строках – все найденные кубы, соответствующие простым импликантам.

2.2. Далее – по алгоритму Квайна.

Важно провести все возможные склеивания, в противном случае мы не получим все простые импликанты. В таблицу Квайна можно записать кубы или перейти к записи в виде импликант.

Пример:

Дана функция четырех аргументов:

г(й,ц,у,к)ър(0,2,3,4,5,7,8,11,12,13,15)

Записываем функцию в таблицу истинности (табл. 3.5):

Табл. 3.5

N

x1

x2

x3

x4

f

0

0

0

0

0

1

 

 

 

 

 

 

1

0

0

0

1

0

 

 

 

 

 

 

2

0

0

1

0

1

3

0

0

1

1

1

 

 

 

 

 

 

4

0

1

0

0

1

 

 

 

 

 

 

5

0

1

0

1

1

 

 

 

 

 

 

6

0

1

1

0

0

 

 

 

 

 

 

7

0

1

1

1

1

 

 

 

 

 

 

8

1

0

0

0

1

9

1

0

0

1

0

10

1

0

1

0

0

 

 

 

 

 

 

11

1

0

1

1

1

 

 

 

 

 

 

12

1

1

0

0

1

 

 

 

 

 

 

13

1

1

0

1

1

 

 

 

 

 

 

14

1

1

1

0

0

 

 

 

 

 

 

15

1

1

1

1

1

 

 

 

 

 

 

По ней записываем матрицу 0-кубов, разбивая их на группы по числу единиц:

Нулевая группа

 

 

 

 

я

0000

 

 

 

 

 

 

 

 

 

0010

я

Первая группа

0100

я

 

1000

я

 

 

 

 

 

 

 

 

0011

я

Вторая группа

0101

я

 

1100

я

 

 

 

 

 

 

 

 

0111

я

Третья группа

1011

я

 

1101

я

 

 

 

 

 

 

 

Четвертая группа

1111

я

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

33

Цифровая схемотехника

Сравниваем 0-кубы из соседних групп и проводим все возможные склеивания, не забывая отметить склеенные 0-кубы. Результат

записываем в матрицу 1-кубов:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00~0

 

 

 

Нулевая группа

0~00

я

 

 

~000

я

 

 

001~

 

 

 

Первая группа

010~

я

 

~100

я

 

 

 

 

1~00

я

 

 

 

 

 

 

 

0~11

я

 

 

~011

я

 

Вторая группа

01~1

я

 

 

~101

я

 

 

110~

я

 

 

 

 

 

 

 

~111

я

 

Третья группа

1~11

я

 

11~1

я

 

 

 

 

 

 

 

 

 

 

 

Аналогично проводим склеивания до тех пор, пока они возможны. В данном случае получаем матрицу 2-кубов:

~~00

~10~

~~11

~1~1

2-кубы уже не склеиваются между собой. Все неотмеченные кубы соответствуют простым импликантам.

Составляем таблицу Квайна (табл. 3.6), в столбцы которой записываем 0-кубы, а в строки ─ все неотмеченные 1- и 2-кубы. Выписываем кубы, соответствующие существенным импликантам, вычеркиваем строки и столбцы, на пересечении с которыми в этих строках стоят метки. В таблице есть два столбца, в которых метки расположены одинаково. Один из них вычеркиваем.

 

 

 

 

 

 

 

 

 

 

 

 

Табл. 3.6

 

 

0000

0010

0100

1000

0011

0101

1100

0111

1011

1101

1111

 

00~0

я

я

 

 

 

 

 

 

 

 

A

 

001~

 

я

 

 

я

 

 

 

 

 

B

сущ.

~~00

я

 

я

я

 

 

я

 

 

 

 

 

~10~

 

 

я

 

 

я

я

 

 

я

C

сущ.

~~11

 

 

 

 

я

 

 

я

я

 

я

 

~1~1

 

 

 

 

 

я

 

я

 

я

я D

34