Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГЛ2.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
11.37 Mб
Скачать

2.8. Минимизация неполностью определенных функций

При решении практических задач синтеза цифровых устройств часто встречаются ситуации, когда на некоторых наборах БФ не определена, т. е. не относится ни к единичным, ни к нулевым наборам. Такие наборы можно назвать “безразлич-ными”. Это может происходить в случаях, когда либо все равно, чему будет равна функция на некоторых наборах, либо они не могут встретиться на определенных наборах. Примерами могут служить преобразования в двоично-десятичных форматах, когда имеются неиспользуемые двоичные комбинации, или когда номер клавиш на пульте N, преобразуемый в двоичный -разрядный код не равен . Примеры таких схем нам далее встретятся часто.

Итак, пусть булева функция задана на трех множествах наборов:

- множество единичных наборов; - множество нулевых наборов; - множество безразличных наборов или “термов не доставляющих беспокойства” по зарубежной терминологии.

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

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

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

3. Расстановка меток и вычеркивание столбцов также имеет особенность, связанную с тем, что правило определения количества меток в строках может не подчиняться правилу: число меток , где - количество “выпавших” переменных, т. е., если , то , - одна метка, - две метки, т. д. Могут быть строки вообще без меток.

4. Определение существенных импликант и вычеркивание столбцов не отличаются от стандарта для данного метода. Строчки, не имеющие меток, вычеркиваются.

5. Находится минимальное или кратчайшее покрытие функции.

Пример 2.15. Минимизировать функцию, заданную на наборах , , в ДНФ по методу Мак-Класки.

Решение. Строим табл. (2.22) из и , и производим склеивание.

Таблица 2.22. К примеру 2.15

1

2

3

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Записываем сокращенную НФ функции.

- 8 членов, 20 букв.

Строим таблицу покрытий по пункту 2. Получаем табл. 2.23. Находим существенные импликанты. Здесь есть одна такая - . Вычеркиваем 1 и 5 столбец. Вычеркиваем пустую строку 6. Остальные столбцы покрываем минимальным количеством строк (табл. 2.23). Легко найти минимальное покрытие оставшихся столбцов. Это строка и строка . Наилучшее решение: . Это 3 члена, 7 букв. Сравним с сокращенной ДНФ – 8 членов, 20 букв. Видно, что минимизация неполностью определенных функций может дать существенное упрощение за счет использования безразличных наборов.

Таблица 2.23. К примеру 2.15 (продолжение)

0001

0010

0100

0110

1011

1100

1

2

3

4

5

6

7

8

Недостатком метода, как видно из таблиц, следует считать большой объем предварительной обработки и анализа таблиц.

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

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

Пример 2.16. Минимизировать функцию из примера 2.15 по картам Вейча в ДНФ и КНФ.

Решение. Заносим функцию по множествам , , на карты Вейча (рис. 2.23).

Используя пустые клетки, можно сразу найти результат минимизации:

.

При этом пустые клетки, входящие в склейки, будут приняты как единичные, а остальные пустые клетки будут считаться как нулевые.

Рис. 2.23. К примеру 2.16

Рис. 2.24. К примеру 2.17

Проведем склеивание в КНФ. Здесь имеется два равноценных варианта (рис. 2.24)

.

Пример 2.17. Минимизировать в ДНФ функцию от 5 переменных, заданную наборами:

= (2,4,9,16,22,27,31); = (1,15,20,26).

Остальные наборы безразличные.

Рис. 2.25. К примеру 2.17

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

Единицу 2 можно записать как .

Единицу 7 можно реализовать импликантой на 8 клеток .

Единицы 4 и 5 можно записать импликантой . Единицу 3 можно записать импликантой .

Остается 6-я единица. Для нее можно написать четыре варианта склеивания по 4 клетки: , , , . Следовательно, функция может быть записана в виде четырех равноценных тупиковых форм:

.

Каждая содержит 5 членов, 11 букв.

При реализации в КНФ данной функции также легко найти тупиковые формы.

Нуль в верхней строчке можно записать импликантой на 8 клеток - .

Нуль во второй строчке имеет две импликанты на 4 клетки и .

Нуль в третьей строке запишется склейкой и нуль в нижней строчке – склейкой .

Окончательно получаем две тупиковых формы:

.

Итого 4 члена, 10 букв.