Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Архаров В.И. Арифметические и логические основы цифровых вычислительных машин учеб. пособие

.pdf
Скачиваний:
8
Добавлен:
23.10.2023
Размер:
6.44 Mб
Скачать

Из таблицы 6-2 строим СДНФ функции

F -^'3-^2'И^О V ''^3^2'^1-^ft \/ '^З-^'2'^'l'^O \/

V -^3-^2-^1'^0 \/ XgX2XjXQ V

V'^З-^г^'З.'^ОV•^ 3'^2'^i'^oV-^Х^ХоV -^з-Т'

2-Tl'To\/ХзХ 2Х]ХоVXgA^XjXfl■

Процедура минимизации показана в таблице 6-3.

В первой вертикальной графе выписаны все конституенты «1» заданной функции. Идя сверху вниз по этой графе, выясняем воз­ можность склеивания каждой конституенты со стоящими ниже. Элементарные конъюнкции третьего ранга, полученные в итоге склеивания конституент «1», выписаны в графе 3, в правой части

которой указано, какие конституенты «1» были склеены.

Тот факт,

что ни одна из конституент «1» не осталась несклеенной,

отмечаем

в графе 2 знаком «+».

 

Идя сверху вниз по графе 3, выясняем возможность склеиваний каждой элементарной конъюнкции третьего ранга с расположенным ниже. Итог склеиваний этих конъюнкций показан в графе 5.

В графе 4 против элементарной конъюнкции х 2х 1х 0 сделана от­ метка ПИ1, означающая, что эта конъюнкция не склеивается ни с одной из конъюнкций третьего ранга и поэтому является простой импликантой (ПИ) данной функции.

В графе 6 одинаковыми буквами обозначены одинаковые элемен­ тарные конъюнкции второго ранга, полученные в итоге всех воз­ можных склеиваний элементарных конъюнкций третьего ранга. Из всех одинаковых конъюнкций данного ранга должна быть со­ ставлена одна:

х \ / x \J х . . . = х,

х- . . . -х = х.

В итоге всех возможных склеиваний элементарных конъюнкций второго ранга получим три одинаковых элементарных конъюнкции

первого ранга (графа 7). Конъюнкции х 2х х и х2х0 не склеиваются ни с одной из конъюнкций второго ранга, поэтому они являются простыми импликантами (ПИ2, ПИЗ). В графе 6 это обозначено ПИ2, ПИЗ.

Итак, в итоге применения операции склеивания и закона погло­ щения получено 4 простых импликанты функции. Дизъюнкция най­ денных простых импликант имеет вид:

F = x2x1x0 + x2x 1 + x2x 0 + xs

(6.6)

и является сокращенной нормальной формой булевой функции, за­ данной табл. 4-1.

Теперь выясним возможность - перехода от полученной сокра­ щенной нормальной формы к тупиковым нормальным формам, для чего надо выявить в выражении (6.6) лишние простые импликанты. Это можно сделать с помощью импликантной матрицы (см. таблицу

6-4).

141

В каждой строке импликантной матрицы «X» отмечено, какие конституенты единицы накрываются данной простой импликантой, т. е. какие члены СДНФ принимают единичные значения на набо­ рах, обращающих в «1» данную простую импликанту. Если какаялибо конституента «1» заданной функции накрывается лишь одной простой, то последняя обязательно включается в число членов ту­ пиковой нормальной формы.

Из таблицы 6-4 видно, что k0 накрывается только простой им­ пликантой х 3, k 10 только х 2х гх 0, k 12 только Х2Х1; k 15 только Х2Х0. Таким образом, ни одна из простых импликант сокращенной нор­ мальной формы не является лишней. Следовательно, полученная сокращенная нормальная форма (6.6) является одновременно и тупиковой и минимальной формой.

Практическое использование алгоритма Куайна связано с тру­ доемким и напряженным процессом, приводящим часто к получе­ нию большого количества одинаковых элементарных конъюнкций, особенно, если заданная СДНФ состоит из членов относительно высокого ранга. Кроме того, затруднения возникают в связи с гро­ моздкостью записи конституент и возможностью ошибок при отыскании склеивающихся членов в формах, содержащих большое количество членов.

Метод Мак-Класки

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

142

б1

X

ЕС

О

я

о

X

я

ч

 

 

х t ”

 

Индексы

 

 

*1*

 

 

 

 

ч , <-*

 

 

 

 

о I х

 

 

 

 

о е-1

 

 

 

 

* ! *

 

 

0

0

0000

+

0—1

 

 

 

 

1

1

0001

+

 

2

0010

4-

 

 

4

0100

4-

 

 

3

ООН

+

 

2

5

0101

+

 

6

о н о

 

 

 

10

1010

+

 

 

12

1100

+

 

 

7

от

+ 2—3

 

13

1101

4

15

1111

+

 

 

 

 

 

Q А

Члены 3*го ранга

Номера склеенных членов

Примечание

 

 

1

1

 

000—

0,1

+

 

00—0

0,2

+

 

0—00

0,4

+

О—1—1—2

 

 

00— 1

1,3

+

 

0—01

1,5

+

 

001

2,3

+

 

0— 10

2,6

ч~

 

—010

2,10

ПИ1

 

010—

4,5

+

 

01—0

4,6

+

1—2—2—3

100

4,12

+

0— п

3,7

+

 

01— 1

5,7

+

 

— 101

5,13

+

 

011—

6,7

4-

 

п о —

12,13

4-

 

— 111

7,15

4-

2—3—3—4

11—1

13,15

+

 

 

-го ранга

склеенных

 

2

Номера членов

 

Члены

00

 

. 0 , 1 , 2 , 3

0— 0 —

0, 1 , 4 , 5

00--------

 

0 , 2 , 1 , 3

0--------

0

0, 2 , 4 , 6

0— 0 —

0 , 4 , 1 , 5

0--------

0

0 , 4 , 2 , 6

0--------

0

1 , 3 , 5 , 7

0--------

0

1 , 5 , 3 , 7

0—1

2, 3 , 6 , 7

0— 1—

2, 6 , 3 , 7

01--------

 

4 , 5 , 6 , 7

— 1 0

4 , 5 , 1 2 , 1 3

01--------

 

4 , 6 , 5 , 7

1 0 — 4 , 1 2 , 5 , 1 3

1— 1 5 , 7 , 1 3 , 1 5

1— 1 5 , 1 3 , 7 , 1 5

Т а б л и д а 6-5

Примечание

Члены 1-го ранга

Номера склеенных членов

Примечание

а -(-

0-------------

0, 1 , 2 , 3

П И 4

ь +

0-------------

4 , 5 , 6 , 7

 

а

0, 1

, 4

, 5

П И 4

с 4 -

 

2, 3

, 6

, 7

 

ь +

0

0, 2 , 4 , 6

П И 4

с +

 

1 , 3

, 5

, 7

 

d +

d+

е+

е+

/+

gF IH 2

f4~

£П И 2

Ш И З

Ш И З

-

дексом 2 сравнивается со всеми наборами, имеющими индексы 3, и т. д. На местах склеивания ставятся прочерки.

После выполнения всех возможных склеиваний члены, исполь­ зованные для склеивания хотя бы с одним другим членом, отбрасы­ ваются на основе закона поглощения, а оставшиеся несклеенными отмечаются как простые импликанты данного ранга.

Исходные члены n-го ранга, подвергшиеся склеиванию, обра­ зуют группы с индексом 0— 1, 1—2, 2—3 и т. д., объединяющие члены п—1-го ранга. В соседних группах, т. е. с индексами, отли­ чающимися на единицу (например, 0—1 и 1—2, 1—2 и 2—3 и т. д.), снова производятся все возможные склеивания и так далее, до тех пор, пока дальнейшие склеивания и поглощения становятся невоз­ можными. Члены, полученные в итоге всех возможных склеиваний и поглощений, как и оставшиеся несклеенными, являются про­ стыми импликантами, дизъюнкция которых образует сокращен­ ную дизъюнктивную нормальную форму функции.

Нахождение лишних импликант, как и при минимизации по Куайну, производится с помощью импликантной матрицы. Проце­ дура минимизации по методу Мак-Класки СДНФ отображена в таб­ лице 6-5. Полученные в виде последовательности единиц, нулей и прочерков простые импликанты записываются с помощью букв и их отрицаний: на местах единиц ставится соответствующая буква, на местах нулей — соответствующая буква со знаком отрицания, а прочерки указывают исключенные в процессе склеиваний пере­

менные.

та же,

что

и при методе Куайна

Импликантная матрица

(табл. 6-4). Необходимо

отметить,'

что

алгоритм Мак-Класки

незначительно упрощает, в сравнении с алгоритмом Куайна, про­ цедуру минимизации СДНФ. Основным недостатком данного алго­ ритма является громоздкость и возможность допущения ошибок при склеивании.

Усовершенствованный алгоритм Куайна

Данный алгоритм позволяет оперировать с номерами конституент единицы. Предположим, что задана следующая булева функ­ ция:

F =

У k5i при i = 0, 1, 2, 4, 5, 8, 9, 10, 12, 13, 14, 16-7-31.

Произведем минимизацию этой формулы.

 

1-

й шаг. Все конъюнкции с ДНФ выписываются

в столбиках

в порядке возрастания их номеров (табл. 6-6).

 

2-

й шаг. По рангу исходных коньюнкций устанавливаются дво­

ичные слагаемые номеров конъюнкций данной СДНФ (для

членов

СДНФ потенциальными двоичными слагаемыми являются 1

+ 2 +

+ 4 +

8 + 16 = 31).

 

144

нкции

Дизъюнктивные

онъю Д Н Ф

члены 1-го склеи ­

 

вания

 

 

К С

 

 

К

M i

k l g k 2o

*1

k 0k 2

k 16k 2i

h

kgk±

&17&19

£4

kgkg

^17^21

 

k 0k 1B

&17&25

ks

k l k 5

^18^19

^10 '

k \ k g

k \ g k 22

k l k y j

k \ g k 2g

^12

^2^10

k \ g k 23

^13

k 2kig

k l3k 27

Конъюнкции СДНФ

k u

k ie k n

kl8 k ls

&20 k 2i k 22 k 23 h i

Дизъюнктивные члены 1-го склеи ­ вания

k t k-0

k 20k 23

^ 4^12

^20^22

&4&20

^20^28

К Л з

k 2lk 23

^5^21

k 21k 23

kgk$

^22^23

k 8k-lQ

^ 22^30

k g k ^

^23^31

£ 8&24

k 2J i 23

k g k 13

k 2ik 23

Конъюнкции

СДНФ

1

 

^25

^26 k 21

k 23 k 23

^30

^31

Та б л и ца 6-6

Дизъюнктивные члены 1-го склеи­ вания

&9 &25

^24^28

^10^14

^25^27

^10^24

^25^29

^12^13

^26^27

&12&14

k 23k 3n

^12^28

k 21k 3\

^13^29

k 23k 23

^14^30

^28^30

k 13k 17

k 23k 3i

^14^18

^30^34

3-й шаг. Двигаясь сверху вниз по столбику исходных конъюнк­ ций, выясним поочередно возможность склеивания каждой конъюнк­ ции с другими исходными конъюнкциями. Для этого номер рассмат­ риваемой конъюнкции ka раскладываем на двоичные слагаемые.

Номера конъюнкций kjy склеивающихся в рассматриваемой kg, получаются от поочередного прибавления к номеру последней всех потенциальных двоичных слагаемых, не являющихся слагаемыми ее номера. Если найденные в результате сложения числа имеются среди номеров конъюнкций, стоящих в столбце ниже рассматривае­ мой, то конъюнкции с этими номерами склеиваются с рассматри­ ваемой.

Метод Карно—Вейча

Отыскивание соседних членов и выполнение всех возможных их склеиваний составляют наиболее трудоемкую часть процедуры минимизации СДНФ методами Куайна, Мак-Класки, усовершен­ ствованного алгоритма Куайна.

Достоинства метода Карно—Вейча заключаются в простоте отыскания склеивающихся конституент единицы, выполнения са­ мого склеивания и нахождения всех минимальных форм функции. Данный метод имеет то преимущество перед всеми рассмотренными методами, что он до некоторой степени делает наглядными те упро­ щения, которые можно производить над данной функцией. Для большого числа переменных (больше 4) этот метод становится менее удобным в силу сложности графического изображения.

Первым шагом процедуры минимизации СДНФ по методу Карно—Вейча является получение карты Карно (диаграммы Вейча), представляющей собой определенным образом построенную прямоугольную таблицу. Расположение по Карно членов СДНФ двух-, трех- и четырехместных переключательных функций показано на рис. 36, а, б, в). Пусть конституенты единицы записаны, как

145

указано на рис. 36. В каждом горизонтальном ряду первому слева квадрату геометрически соседними являются второй и четвертый квадраты. Карту Карно следует рассматривать как плоскость, по­ лученную из поверхности тора.

Соседние, а следовательно, могущие быть склеенными конституенты единицы находятся только в соседних квадратах карты Карно. В этом и состоит облегчение отыскания с помощью карт Карно склеивающихся членов СДНФ.

 

* 1*0

* 1*0

* 1*0

* 1*0

 

к а

Кг

Кз

Кз

б )

* 1 * 0

* 1 * 0

* 1 * 0

* 1 * 0

* 2

 

Кг

К 3

Ка

* 2

К 4

Ко

К 7

К »

в )

* 1 * 0

* 1 * 0

* 1 * 0

* 1 * 0

* 3 * 2

Ко

Кг

Кз

К о

 

 

 

 

Х з х 2

К 4

Къ

к,

Кз

* 8 * 2

К12

Кгз

Кгь

Кгг

* 3 * 2

КS

Ко

. Кгг

Кго

Ч

-

___ _ ....

 

 

 

Рис.

36

 

Проставив

в квадратах карты

единичные и нулевые значения

заданной функции, переходим к выполнению второго шага. Прямо­ угольники, составленные из z соседних единичных квадратов, где

для рис.

36, a) z — 1,2 4, б) z — 1, 2, 4,

8, в) 2 = 1 , 2, 4, 8, 16

назовем

правильными прямоугольниками.

Поэтому можно сказать,

что второй шаг заключается в накрытии совокупности всех единич­ ных квадратов карты Карно минимальным количеством правиль­ ных прямоугольников. Необходимо стремиться образовать пра­ вильные прямоугольники, содержащие по возможности большое количество z единичных квадратов.

Каждый правильный прямоугольник объединяет конституенты единицы, к которым можно применить операцию неполного склеи­

146

вания и закон поглощения. В результате их выполнения получаем из каждого правильного прямоугольника один член ДНФ тем мень­ шей длины, чем больше 2 .

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

вующую

данному правильному прямоугольнику,

следует включать

лишь те

переменные, которые внутри него имеют

только прямое,

или только инверсное обозначения.

 

 

 

 

х,х0

х,х0

х, х0

х , х 0

Рис. 37

Например, если правильный прямоугольник состоит из квадра­ тов К 0 и /<4 (рис. 36, в), то искомой элементарной конъюнкцией яв­

ляется х3ХхХ0, а переменная х 2 исключается, так как внутри этого прямоугольника они имеются как в прямых, так и в инверсных обозначениях. Этот прием позволяет сразу же определить резуль­ тат неполного склеивания с последующим поглощением, которые^ выполняются в отношении конституент единицы каждого из най­ денных правильных прямоугольников данной карты. Результат приведенных выше примеров соответствует следующим выкладкам;

ХзХ^Хо \J х3х2ххх0= ХзХгХо 2 V *2) V х3х2ххх0\/ х3х.,ххх0= *3*1 *0'.

Х3 Х2 ХхХ0 V * 3 * 2 * 1 * 0 V * 3 * 2 * 1 * 0 V * 3 * 2 * 1 * 0 = * 3 * 2 * 0 (* 1 V * l ) V

V * 3 * 1 * 0 (* 2 V * 2) V * 3 * 1 * 0 (* 2 V * 2) V * 3 * 2 * 0 (* 1 V * 1) V * 3 * 2 * 1 * 0 V

V * 3* 2 * 1 * 0 V * 3 * 2 * 1 * 0 V * 3 * 2 * 1 * 0 = * 3 * 2 * 0 V * 3 * 1 * 0 V * 3 * 1 * 0 V * 3 * 2 * 0 =

= Х3 Х0 (ХоV * 2) V * 3 * 0 (* 1 V * l ) V * 3 * 2 * 0 V * 3 * 1 * 0 V * 3 * 1 * 0 V * 3 * 2 * 0 = * 3 * 0 -

147

При построении карт Карно для функций от 5 и более перемен­ ных теряется их основное достоинство — простота отыскания квад­ ратов с соседними конституентами единицы.

Пример 5. Рассмотрим минимизацию СДНФ функции с помощью карт Карно.

Требуется минимизировать СДНФ функции, заданной таблицей (рис. 37). Из карты Карно видно, что вся совокупность квадратов покрывается четырьмя правильными прямоугольниками:

Рис. 38

Прямоугольнику с г — 8 соответствует член х3 минимальной дизъюнктивной нормальной формы, прямоугольникам с z - -- 4

соответственно х 2хх и х 2х 0 и прямоугольнику с г = 2 — х2х1х0.

 

Xj Xq

XfXq

XjXq

XjXq

1

1

1

0

*2

0

0

1

0,

Рис. 39

Таким образом, приходим к минимальной дизъюнктивной нормаль­ ной форме

 

А = х 3\/х 2х1 V * 2*0 V * 2* 1* 0 -

Пример 6.

Рассмотрим минимизацию СДНФ функции с помощью

карты Карно

(рис. 38).

Здесь возможны лишь два варианта оптимального накрытия единичных значений функции правильными прямоугольниками.

148

Произведя операции склеивания и поглощения, получим минималь­ ную дизъюнктивную нормальную форму

А{\J лулул'оV X^XiXq.

Карты Карно позволяют легко выбрать значения «условных со­ стояний» (доопределить функцию) таким образом, чтобы макси­ мально упростить структуру синтезируемого устройства.

Пример 7. Доопределить функцию на карте Карно и произвести минимизацию (рис. 39).

В данном случае целесообразно приписать обоим условным со­ стояниям синтезируемой схемы значения выхода, равные 1. Мини­

мальная форма будет А = х г V *<>•

Метод Нельсона

Минимальная форма заданной функции данным методом полу­ чается путем преобразований:

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

внуль.

2.С помощью правила де Моргана переходим от полученного выражения к СКНФ функции.

3.Выполнив склеивания членов СКНФ в соответствии с зако­ ном (12) и применив к полученному выражению законы дистрибу­ тивности и поглощения (11), получим сокращенную дизъюнктивную нормальную форму функции.

Для преобразований совершенных нормальных форм функций, представленных в виде записей

F = :\Jki

при

i = a, Ь, с, . . .

, v,

(6.7)

/ = f\d?

при

i — a , b , c , . . . ,

v ,

(6.8)

где п — ранг членов совершенной нормальной формы; а, Ь, с, . . . , v — номера наборов значений аргументов, на которых функция обращается в 1, удобно пользоваться следующими формулами:

‘ # = ^ 2_,)_£,

d" =~k(2n- l )-«>

К =

d ( 2 n- \ ) - i >

(6.9)

 

 

 

( 6. 10)

В качестве примера, иллюстрирующего метод Нельсона, найдем сокращенную дизъюнктивную нормальную форму функции

F ^ y k l t = 0, 1, 2, 4, 5, 8, 9, 10, 12, 13, 14, 16—31.

149

Эта функция обращается в нуль на наборах значений аргумен­

тов,

имеющих номера j — 3,

6,

7, 11, 15, поэтому F 4 =

V / при

/ =

3,

6, 7, 11, 15, откуда

 

 

 

 

 

 

Fx = fx =

V * ? = M /-

 

(611)

Подставляя правую часть

тождества (6.9)

в формулу

(6.11),

получаем СКНФ функции

 

 

 

 

 

 

Л = Л 4 в-1 )-/= Л<4

при т = 28, 25,

24, 20, 16,

 

где

m

- (2n— l) — j. Итак,

 

 

 

 

 

 

F 4== (Х4 V -^3 V *^2 V "^1 V *^о) Л (*^4 V *^3 V Х2У *^1V ^о)Л

 

 

 

A ^ V ^ a V ^ V ^ i V ^ A ^ V ^ s V ^ V ^ i V ^ A

 

 

A ta V ^ V ^ V -^ V ^ o )-

 

 

Склеивая I h IV, II и III, III и V члены СКНФ, получим конъюнк­ тивную нормальную форму

К = ( х 4 V * 2 V * 1 V Хо ) А (* 4 У Х 3 V * 2 V * l ) Л (* 4 У * 2 V Х 1 V * о ) •

Склеив I и III члены этой формулы, получим

Л = (хл УххV *о) Л (*4 V - ^ s V ^ V хд ■

Раскрыв скобки согласно распределительному закону, получим

F4 = x4 у х4х3 У х4х2 у х4хх у х4х4 У х4х3 У х 4х2 у

У х4 У х0х4 у х0х3 У XqX2 у XqX4.

Проведя операцию поглощения, найдем сокращенную дизъюнк­ тивную нормальную форму функции

^ l = *4V*lV*0*sV*0*2-

Нахождение минимальных конъюнктивных нормальных форм

Минимальные КНФ находятся с помощью правила де Моргана и методов минимизации СДНФ. Этот прием характеризуется тремя

шагами:

й шаг. Записываем отрицание заданной функции как дизъюнк

1-

цию элементарных конъюнкций максимальной длины, имеющих

номера тех наборов аргументов, на которых функция обращается

в нуль.

й шаг. Полученное выражение минимизируется с помощью

2-

любого из методов минимизации СДНФ, в результате чего прихо­

150

Соседние файлы в папке книги из ГПНТБ