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

гос / Theme4

.pdf
Скачиваний:
13
Добавлен:
16.02.2016
Размер:
336.75 Кб
Скачать

Прикладная теория цифровых автоматов. Тема №4

поскольку двоичные наборы, соответствующие таким клеткам, отличаются только в одном разряде.

Рисунок 4.4 – Диаграмма Вейча для булевой функции f (x1, x2 , x3, x4 , x5 , x6 )

Булева функция 6-ти переменных (рис. 4.4) представляется в виде четырех диаграмм функций 4-х переменных. При этом левые верхняя и нижняя диаграммы соответствуют 32 двоичным наборам, на которых переменная x1

равна 0, правые верхняя и нижняя диаграммы – 32 двоичным наборам, на которых переменная x1 равна 1; верхние левая и правая диаграммы соответствуют 32 двоичным наборам, на которых переменная x2 равна 0,

нижние левая и правая диаграммы – 32 двоичным наборам, на которых переменная x2 равна 1. При минимизации все диаграммы рассматриваются в совокупности, как и для функции 5-ти переменных.

При минимизации булевых функций на диаграммах Вейча (картах Карно)

часто удается найти несколько различных «равноправных» совокупностей объединений единиц (нулей). Эти совокупности соответствуют различным минимальным формам одинаковой сложности. При этом для удобства желательно сначала определять ядро булевой функции. Импликантам

© Р. С. Цвентарный, 2009

21

Прикладная теория цифровых автоматов. Тема №4

(имплицентам) ядра всегда соответствуют такие объединения единиц (нулей),

которые не имеют альтернатив (см. верхние две диаграммы на рис. 4.2).

Минимизация монотонных булевых функций

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

Теорема Для того чтобы булева функция f была монотонной, необходимо и достаточно, чтобы ее сокращенная ДНФ не содержала отрицаний переменных. Сокращенная ДНФ монотонной булевой функции совпадает с ее минимальной ДНФ.

Иными словами, для нахождения МДНФ монотонных булевых функций можно воспользоваться любыми методами нахождения сокращенных ДНФ произвольных булевых функций.

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

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

При минимизации таких функций важно обеспечить эквивалентность таблиц истинности для различных форм представления функции на тех двоичных наборах, где значение функции определено, то есть равно 0 или 1. На остальных наборах функция может принимать произвольные значения. В таком случае задачу минимизации частично определенных функций можно легко свести к задаче минимизации полностью определенных функций.

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

© Р. С. Цвентарный, 2009

22

Прикладная теория цифровых автоматов. Тема №4

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

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

помогает расширить объединение единиц (нулей) при нахождении МДНФ

(МКНФ), то она включается в это объединение так, будто сама является единицей (нулем). Следует при этом помнить, что нет необходимости объединять все звёздочки на диаграмме. Они используются только по мере надобности. Число входящих в объединение элементов (нулей, единиц и

звездочек) так же должно быть равно степени 2.

 

 

 

 

 

 

Пример 4.8 Найти МДНФ частично определенной функции, заданной

таблицей истинности (табл. 4.4), методами Квайна –

Мак-Класки и диаграмм

Вейча

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 4.4

 

 

СДНФ( f )=000+010+100+110+111

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

x2

x3

f

 

Шаг 1

 

Шаг 2

Шаг 3

 

 

 

 

 

 

 

 

0.

000*

 

 

 

0. 0–0*, –00*

0. – –0

 

 

 

 

0

0

0

1

 

 

 

 

 

 

 

 

1.

010*, 100*

 

1. –10*, 1–0*

 

 

 

 

 

0

0

1

0

 

 

 

 

 

 

 

 

 

2.

110*

 

 

 

2. 11–

 

 

 

 

 

0

1

0

1

 

 

 

 

 

 

 

 

 

3.

111*

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СкДНФ( f )= – –0 + 11– =

 

3 + x1x2

 

 

 

 

1

0

0

1

 

 

 

 

x

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

1

0

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

000

 

 

 

 

010

100

 

 

1

1

0

*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

*

 

 

– –0

 

*

 

 

 

 

*

 

*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11–

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

МДНФ( f )=

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

© Р. С. Цвентарный, 2009

23

Прикладная теория цифровых автоматов. Тема №4

Как видно по импликантной матрице, для покрытия всех столбцов с конституэнтами единицы, соответствующими реальным единичным значениям функции в таблице истинности, необходимо выбрать только импликанту x3 . Она же является ядром функции.

1

МДНФ( f )=МКНФ( f )= x3

A

При нахождении как МДНФ, так и МКНФ на диаграмме Вейча для расширения объединения единиц и нулей была использована только одна из звёздочек в клетках диаграммы.

Минимизация систем булевых функций

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

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

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

Определение 4.13 Система дизъюнктивных нормальных форм булевых функций называется минимальной, если ее полное множество элементарных конъюнкций содержит минимальное число аргументов и операций

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

© Р. С. Цвентарный, 2009

24

Прикладная теория цифровых автоматов. Тема №4

не совпадать с минимальной дизъюнктивной нормальной формой этой функции.

Минимизация систем булевых функций может производиться по алгоритмам, аналогичным алгоритмам методов Квайна и Квайна – Мак-Класки с небольшими модификациями. Модифицированный алгоритм метода Квайна – Мак-Класки для минимизации системы булевых функций в дизъюнктивных нормальных формах следующий.

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

которые принимают единичное значение на двоичном наборе,

соответствующем конституэнте единицы. Например, запись 001(1,3)

обозначает, что на наборе 001 первая и третья функции системы принимают единичные значения. Если на некотором двоичном наборе ни одна функция не принимает единичное значение, то такая конституэнта единицы в СДНФ системы не входит.

2.Конституэнты единицы группируются по числу единиц в двоичных наборах.

3.Производятся все возможные склеивания и поглощения по правилам метода Квайна – Мак-Класки, однако дополнительно учитывается совокупность меток. Склеиваться могут лишь те импликанты, которые содержат общие метки. Импликанта, образующаяся в результате склеивания, имеет совокупность меток, получающуюся как результат пересечения совокупностей меток склеиваемых импликант. Например,

результатом склеивания импликант 011(1,2) и 001(1) будет импликанта

0 - 1(1) , результатом склеивания импликант 111(2,3) и 101(1,3) –

импликанта 1 - 1(3) . Полное поглощение импликанты возможно лишь при полном совпадении совокупностей меток. Из рассмотренного выше примера импликанта 0 - 1(1) может поглотить только импликанту 001(1) ,

© Р. С. Цвентарный, 2009

25

Прикладная теория цифровых автоматов. Тема №4

поскольку она входит в ее состав и метки полностью совпадают.

Импликанта 1 - 1(3) не может поглотить ни импликанту 111(2,3) , ни

101(1,3) из-за несовпадения совокупностей меток. Поглощенные импликанты отмечаются звёздочкой («*»).

4.Строится импликантная матрица системы, в которой строки отмечаются всеми непоглощенными импликантами с указанием меток, а столбцы – членами СДНФ для каждой функции. Поглощения в матрице осуществляются с учетом меток импликант.

5.Производится поиск ядра системы по общим правилам определения ядра по импликантной матрице.

6.Выбирается минимальная совокупность импликант, покрывающих звёздочками все столбцы матрицы.

7.Выписываются дизъюнктивные нормальные формы для каждой функции минимальной системы.

Пример 4.9 Минимизировать систему булевых функций, заданную таблицей истинности (табл. 4.5), модифицированным методом Квайна – Мак-

Класки.

Таблица 4.5

 

 

СДНФ системы:

 

 

 

 

 

 

 

ϕ = 000(1,2) + 010(2) + 011(2) +101(1,2) +110(1) +111(1)

x1

x2

x3

f1

f2

 

 

 

 

 

Шаг 1

Шаг 2

0

0

0

1

1

 

 

 

 

 

0.

000(1,2)

0.

0–0(2)

0

0

1

0

0

 

 

 

 

 

1.

010(2)*

1.

01–(2)

0

1

0

0

1

 

 

 

 

 

 

 

 

 

2.

011(2)*, 101(1,2), 110(1)*

2.

1–1(1), 11–(1)

0

1

1

0

1

 

 

 

 

 

 

 

 

 

3.

111(1)*

 

 

1

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

0

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

Импликантная матрица системы:

© Р. С. Цвентарный, 2009

26

 

 

Прикладная теория цифровых автоматов. Тема №4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f1

 

 

 

f2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

000

101

 

110

 

111

000

010

 

011

101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

000(1,2)

 

*

 

 

 

 

 

 

 

*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

101(1,2)

 

 

*

 

 

 

 

 

 

 

 

 

 

 

*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0–0(2)

 

 

 

 

 

 

 

 

 

*

*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

01–(2)

 

 

 

 

 

 

 

 

 

 

*

 

 

*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1–1(1)

 

 

*

 

 

 

 

*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11–(1)

 

 

 

 

 

 

*

 

*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ядро системы: 000(1,2), 101(1,2), 01–(2), 11–(1). Ядро системы покрывает все столбцы матрицы.

МДНФ системы:

f1 = 000 +101 +11− = x1x2 x3 + x1x2 x3 + x1x2 . f2 = 000 +101 + 01− = x1x2 x3 + x1x2 x3 + x1x2

Следует отметить, что при минимизации функций системы по отдельности МДНФ каждой функции отличалась бы от ДНФ функций в МДНФ системы. Это хорошо видно в импликантной матрице. Для функции f1

без учета f2 покрытие столбца 101 целесообразнее было бы осуществить выбором импликанты 1–1, а для функции f2 без учета f1 покрытие столбца

000 целесообразнее было бы осуществить выбором импликанты 0–0. Тогда при реализации этих функций на одной общей схеме это привело бы к увеличению количества логических элементов на 2 элемента по сравнению с реализацией МДНФ системы.

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

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

© Р. С. Цвентарный, 2009

27

Прикладная теория цифровых автоматов. Тема №4

Абсолютно минимальная форма представления булевых функций

Выше были рассмотрены различные методы нахождения минимальных форм в классе дизъюнктивно-конъюнктивных нормальных форм. Если ограничиться рассмотрением только МДНФ, то можно заметить, что не всегда МДНФ является наиболее простой формой представления булевой функции с точки зрения ее реализации в виде комбинационной схемы. Например, МДНФ некоторой функции МДНФ( f )= x1x2 + x1x3x4 (3 операции конъюнкции и одна операция дизъюнкции) можно упростить, вынеся переменную x1 за скобки: f = x1(x2 + x3x4 ) (2 операции конъюнкции и одна операция дизъюнкции). Но последняя (скобочная) форма представления булевой функции не является дизъюнктивной нормальной формой и вообще выходит из класса нормальных форм. Однако реализации такой формы представления приведет к более простой схеме.

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

Определение 4.14 Абсолютно минимальной называется форма представления булевой функции, содержащая минимальное число операций заданной функционально полной системы.

В общем виде задача поиска абсолютно минимальных форм не решена.

Более того, известно, что абсолютно минимальная форма не всегда может быть получена из МДНФ.

Известна более простая задача – задача факторизации, заключающаяся в упрощении дизъюнктивно-конъюнктивных нормальных форм, допуская инверсии лишь над переменными. С помощью факторизации для булевого базиса (И, ИЛИ, НЕ), используя операцию вынесения за скобки общих членов,

часто можно получить скобочную форму, значительно более простую, чем МДНФ булевой функции.

Процесс факторизации может быть описан с помощью специального алгоритма, называемого факторным алгоритмом. Работа этого алгоритма описана в примере 4.10.

© Р. С. Цвентарный, 2009

28

Прикладная теория цифровых автоматов. Тема №4

Пример 4.10 Перейти к скобочному представлению функции, заданной

своей МДНФ:

 

 

 

A

 

B

 

 

C

D

МДНФ( f )= x1

 

2 x6

+ x1x2 x5

 

6

+ x1

 

2 x4

 

5 + x1

 

2 x3x5 .

x

x

x

x

x

Эта форма содержит 14 операций И и ИЛИ.

 

На первом этапе необходимо найти пересечения (общие переменные) всех

пар импликант, обозначенных буквами:

 

A Ç B = x1, A Ç C = x1

 

2 ,

A Ç D = x1

 

2 ,

B Ç C = x1 , B Ç D = x1x5 ,

x

x

C Ç D = x1

 

2 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Далее следует выбрать пару импликант, пересечение которых дает конъюнкцию наибольшей длины. Таких пар импликант в рассматриваемом примере несколько: {A,C},{A, D},{B, D},{C, D}. С точки зрения результата работы алгоритма безразлично, какая из этих пар будет выбрана. Пусть выбрана пара {C, D}. Функцию f необходимо записать аналитически, вынося результат пересечения выбранной пары импликант за скобки по отношению к этим импликантам:

 

A1

B1

 

 

C1

 

f = x1

 

2 x6

+ x1x2 x5

 

6

+ x1

 

2 (x4

 

5

+ x3x5 ) .

x

x

x

x

Далее необходимо найти пересечения всех пар импликант из множества

{A1, B1,C1}:

A1 Ç B1 = x1 , A1 Ç C1 = x1x2 , B1 Ç C1 = x1.

Пересечение наибольшей длины образует пара {A1,C1}. Далее аналогично:

 

 

A2

B2

f = x1

 

2 (x6 + x4

 

5

+ x3 x5 )+ x1x2 x5

 

6 .

x

x

x

A2 Ç B2 = x1. Окончательно:

f = x1(x2 (x6 + x4 x5 + x3x5 ) + x2 x5 x6 ) .

Последняя форма представления булевой функции f содержит 9

операций И и ИЛИ.

© Р. С. Цвентарный, 2009

29

Прикладная теория цифровых автоматов. Тема №4

СПИСОК ЛИТЕРАТУРЫ

1.Самофалов К. Г. и др. Прикладная теория цифровых автоматов. – К. : Вища шк. Головное изд-во, 1987. – 375 с.

2.Савельев А. Я. Прикладная теория цифровых автоматов: Учебник для вузов. – М.: Высш. шк., 1987. – 272 с.: ил.

3.Савельев А. Я. Арифметические и логические основы цифровых автоматов: Учебник. – М.: Высш. шк., 1980. – 255 с.: ил.

4.Поспелов Д. А. Логические методы анализа и синтеза схем. Изд. 3-е,

перераб. и доп. – М.: «Энергия», 1974. – 368 с.: ил.

5.

Цифровые ЭВМ: Практикум / К. Г.

Самофалов, В.

И. Корнейчук,

 

В. П. Тарасенко, В. И. Жабин. Под общ. ред. К. Г. Самофалова. – К.: Выща.

 

шк., 1990. – 215 с.: ил.

 

 

6.

Логические основы и схемотехника

цифровых ЭВМ:

Практикум. /

 

В. И. Жабин, В. В. Ткаченко, А. А. Зайцев, Р. Л. Антонов. –

К.: ВЕК+, 1999.

– 128 с.: ил.

7.Потемкин И. С. Функциональные узлы цифровой автоматики. – М.:

Энергоатомиздат, 1988. – 320 с.: ил.

8.Яблонский С. В., Гаврилов Г. П., Кудрявцев В. Б. Функции алгебры логики и классы Поста. – М.: Наука, 1966. – 119 с.: ил.

© Р. С. Цвентарный, 2009

30

Соседние файлы в папке гос