Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Литература / vorob / LAB_SINT.DOC
Скачиваний:
33
Добавлен:
17.04.2013
Размер:
155.65 Кб
Скачать

Минимизация функций алгебры логики

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

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

Исходной формой функции при решении канонической задачи минимизации является ее совершенная дизъюнктивная нормальная форма (СДНФ). Под СДНФ принято понимать формы представления функций посред­ством суперпозиции их минтермов.

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

Таблица 1:

Номер набора аргументов

Наборы аргументов

Значения минермов С1i

Х1

Х2

C10

C11

C12

C13

0

0

0

1

0

0

0

1

0

1

0

1

0

0

2

1

0

0

0

1

0

3

1

1

0

0

0

1

В таблице 1 представлены минтермы двух аргументов Х1 и Х2 . Минтермы двух аргументов выражаются формулами:

C01 =x̅1x̅2 ; C11 = x̅1x2 ; С12 = x1x̅2 ; C13 = x1x2 ,

где С 1i - символ конституенты, i -номер набора аргументов.

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

Существует большое число приемов и методов минимизации ФАЛ:

1) расчетный метод (метод непосредственных преобразований),

2) расчетно-табличный метод (метод Квайна-Мак-Класки),

3) табличный метод (метод диаграмм Вейча, карт Карно),

4) метод Петрика (развитие метода Квайна-Мак-Класки),

5) метод неопределенных коэффициентов,

6) метод Рота (алгоритм извлечения),

7) метод гиперкубов,

8) метод функциональной декомпозиции и т.д.

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

Карты Карно представляют собой прямоугольные таблицы, разделен­ные горизонтальными и вертикальными линиями на ячейки (клетки). Об­щее число ячеек совпадает с числом минтермов рассматриваемого числа аргументов (рис. 2). Каждая ячейка соответствует значению одного минтерма. Причем размещение последних осуществляется таким образом, что два смежных минтерма находились в соседних ячейках. Смежными принято называть минтермы, отличающиеся формой вложения в них лишь одного аргумента (в один минтерм аргумент входит в прямой форме, в другой - в инверсной). Например, смежными являются минтермы x1x23x4 и x̅1x23x4 (различие в аргументе x1). Соседними считаются ячейки, имеющие общие стороны, а также расположенные на краях одних и тех же строк и столбцов карты.

Такой порядок размещения минтермов обеспечивается следующим образом. Все аргументы (для определенности рассматривается случай Р = 4) разбиваются на две группы, например x1x4 и x2x3. Пусть на6ором аргументов одной группы (x1x4) соответствуют различные строки таблицы; наборам другой (x2x3) - различные столбцы. На­боры аргументов каждой из групп, стоящие в соседних строках и столбцах, должны быть смежными (см. рис. 2а). Для определенности крайний правый столбец и нижнюю строку обозначают наборами с нулевым значе­нием всех аргументов. Порядок чередования значений аргументов при переходе от одной строки (или столбца) к другой оказывается при этом одинаковым, он соответствует перестановке цифр в циклическом коде двоичных чисел, а именно: 00,01,11,10. Набор аргументов, соответству­ющий определенной ячейке таблицы, составляют из наборов групп x1x4 и x2x3, обозначающих строку или столбец, на пере­сечении которых лежит рассматриваемая ячейка (см. рис. 2а), где в каждую ячейку внесены обозначения наборов и соответствующих им минтермов.

y

1 0

(X3 X̅3)

1 1

(X2X3)

0 1

(X̅2X3)

0 0

(X̅2X̅3)

1 0

(X1 X̅4)

С112

X1X234

С114

X1X2X34

С110

X12X34

С18

X1234

1 1

(X1X4)

С113

X1X23X4

С115

X1X2X3X4

С111

X12X3X4

С119

X123X4

0 1

(X̅1X4)

С15

1X23X4

С17

1X2X3X4

С13

12X3X4

С11

123X4

0 0

(X̅1X̅4)

С14

1X234

С16

1X2X34

С12

12X34

С10

1234

Рис. 2а

X2

X2

X1

1

1

1

X1

12

14

10

8

1

1

X4

13

15

11

9

X4

1

1

5

7

3

1

1

1

1

4

6

2

0

X3

X3

Рис 2б

Рис. 2в

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

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

Первый шаг упрощения функции табличным методом состоит в записи значений минтермов в соответствующие ячейки карты. Ячейки, которым соответствуют единичные значения минтермов (C 1i = 1) заполняются единицами; нулевое значение минтермов не обозначают (см. рис. 2б). В заполненной карте наглядно отражаются смежные минтермы: им соответствуют единицы, расположенные в соседних ячейках.

Склеивание смежных минтермов, установление простых и избыточ­ных импликант [Конъюнкции, получаемые в результате склеивания двух смежных минтермов называются импликантами. Импликанты, которые не склеиваются с другими, называются простыми (или первичными)], поиск тупиковых и минимальных форм производится при табличном методе минимизации путем последовательных проб на основе анализа распре­деления единичных значений минтермов по ячейкам таблицы. Склеиваемые минтермы охватывают незамкнутыми контурами, если минтермы находятся в крайних ячейках. Склеиванию по двум аргументам соответствуют контуры, охватывающие четыре соседних ячейки (образуют квадрат или прямоугольник, расположенные в строку, столбец, по углам таблицы (см. рис. 2б). Тупиковой ДНФ соответствуют склеивания, в которых каждый минтерм не содержит лишних покрытий; минимальной ДНФ - склеивание с наиболее рациональным расположением покрытий.

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

y=x3x4+x̅2x3+x̅3x̅4

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

y = x1x̅2+x1x̅3+x̅1x2+x̅1x3

y = x̅2x3+x1x̅2+x2x̅3+x̅1x2

y = x̅2x3+x2x̅3+x2x̅3+x̅1x3

X1

X1

X1

А)

1

1

1

X3

Б)

1

1

1

X3

В)

1

1

1

X3

1

1

1

1

1

1

1

1

1

X2

X2

X2

X1

X1

Г)

1

1

1

X3

Д)

1

1

1

X3

1

1

1

1

1

1

X2

X2

Рисунок 3

Два других покрытия ( рис. 3 г, д ) дают формы, содержащие по три импликанты:

y = x1x̅2+ x2x̅3+ x̅1x3 (1)

y = x̅2x3+x1x̅̅3+ x̅1x2

Тупиковые формы (1) являются минимальными ДНФ рассматриваемой кон­кретной функции.

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