- •Факультет микроприборов и технической кибернетики.
- •Минимизация функций алгебры логики
- •Минимизация частично определенных функций алгебры логики
- •Логическое проектирование комбинационных устройств
- •Порядок выполнения работы.
- •Содержание задания.
- •Требования к отчету.
- •Контрольные вопросы.
- •Литература.
- •Оглавление
Минимизация функций алгебры логики
Упрощение формул двоичных функций преследует цель получения такого вида формулы, при которой построенный в соответствии с ней автомат отличался бы минимальным расходом логических схем на его изготовление.
В настоящее время наиболее детально разработаны методы решения канонической задачи минимизации формул, которая заключается в отыскании дизъюнктивной формы функции, содержащей минимальное число вхождений аргументов (минимальное число букв). Такие формы функций принято называть оптимальными или минимальными дизъюнктивными нормальными формами.
Исходной формой функции при решении канонической задачи минимизации является ее совершенная дизъюнктивная нормальная форма (СДНФ). Под СДНФ принято понимать формы представления функций посредством суперпозиции их минтермов.
Минтермом называют функцию, которая принимает единичное значение при одном из всех возможных наборов аргументов (нулевое - при всех прочих наборах). Понятие минтерм образовано из двух слов "минимальный термин" и говорит о том, что элементарное произведение всегда принимает минимальное значение ("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). Каждая ячейка соответствует значению одного минтерма. Причем размещение последних осуществляется таким образом, что два смежных минтерма находились в соседних ячейках. Смежными принято называть минтермы, отличающиеся формой вложения в них лишь одного аргумента (в один минтерм аргумент входит в прямой форме, в другой - в инверсной). Например, смежными являются минтермы x1x2x̅3x4 и x̅1x2x̅3x4 (различие в аргументе 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 X1X2X̅3X̅4 |
С114 X1X2X3X̅4 |
С110 X1X̅2X3X̅4 |
С18 X1X̅2X̅3X̅4 |
1 1 (X1X4) |
С113 X1X2X̅3X4 |
С115 X1X2X3X4 |
С111 X1X̅2X3X4 |
С119 X1X̅2X̅3X4 |
0 1 (X̅1X4) |
С15 X̅1X2X̅3X4 |
С17 X̅1X2X3X4 |
С13 X̅1X̅2X3X4 |
С11 X̅1X̅2X̅3X4 |
0 0 (X̅1X̅4) |
С14 X̅1X2X̅3X̅4 |
С16 X̅1X2X3X̅4 |
С12 X̅1X̅2X3X̅4 |
С10 X̅1X̅2X̅3X̅4 |
Рис. 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) являются минимальными ДНФ рассматриваемой конкретной функции.