Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций ЦиМПУ, часть 1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
17.69 Mб
Скачать

Табличный метод минимизации

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

Каждому малому квадрату ставится в соответствие одна из конституент в разложении любой n-аргументной функции. Чтобы задать некоторую функцию с помощью карты Карно, в каждую ее клетку следует записать значение конкретной реализации функции, которое она принимает на соответствующем наборе аргументов. Для нумерации строк и столбцов на карте Карно значения аргументов следует проставлять не в обычном двоичном коде, а в коде Грея (рисунок 25). Особенностью кода Грея является то, что две соседние кодовые комбинации отличаются значениями только одного разряда, следовательно, в смежных по строке либо колонке клетках карты Карно будут находиться соседние конституенты1 и их можно будет склеивать. Числа в коде Грея можно получить из двоичных чисел путем сложения по модулю 2 с теми же числами, сдвинутыми на один разряд вправо. Например, представление двоичного числа 10 в коде Грея получается следующим образом:

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

Рисунок 25 – Карты Карно для логических функций трех (а) и четырех (б) аргументов

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

Таблица 8 – Таблица истинности для логической функции трех аргументов

Номер набора

0

1

2

3

4

5

6

7

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

1

0

1

0

0

0

1

1

Рисунок 26 – Карта Карно для логической функции трех аргументов, функционирование которой задано таблицей 8

Процесс табличной минимизации с помощью карт Карно осуществляется по следующему правилу:

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

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

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

Рассмотрим примеры минимизации логических функций табличным методом с помощью карт Карно. В примерах 1-4 (рисунки 27-30) результат минимизации запишем в МДНФ. При этом следует помнить, что в ДНФ справедливо соотношение:

(41)

Пример 1

Рисунок 27 – Карта Карно и результат минимизации к примеру 1

Пример 2

Рисунок 28 – Карта Карно и результат минимизации к примеру 2

Пример 3

Рисунок 29 – Карта Карно и результат минимизации к примеру 3

Пример 4

Рисунок 30 – Карта Карно и результат минимизации к примеру 4

В примерах 5 и 6 (рисунки 31-32) результат минимизации запишем в МКНФ. При этом следует помнить, что в КНФ справедливо соотношение:

(42)

Пример 5

Рисунок 31 – Карта Карно и результат минимизации к примеру 5

Пример 6

Рисунок 32 – Карта Карно и результат минимизации к примеру 6

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

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

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

На рисунке 33 показана карта Карно для не полностью заданной функции (Ф – неопределенное значение функции).

Рисунок 33 – Карта Карно для не полностью заданной логической функции

Применительно к рассматриваемой функции (рисунок 33) такое доопределение функции может быть осуществлено тремя различными способами, представленными на рисунке 34.

Рисунок 34 – Варианты минимизации не полностью заданной логической функции

Все три варианта минимизации дают равноценные по сложности результаты.

Примеры синтеза КЦУ, реализующего не полностью заданную логическую функцию четырех аргументов, подробно рассмотрены в [5, ч. 1].

Особенности синтеза КЦУ с несколькими выходами рассмотрены в [1].