"Лекции по схемотехнике" - читать интересную книгу автора

2.4.1 Расчётный метод минимизации

Применение этого метода состоит в последовательном применении к некоторой формуле законов и правил тождественных  преобразований алгебры логики. При этом широко используют следующие приёмы: прибавление одного или нескольких членов, входящих в СДНФ, поскольку X #8744; X #8744; X = X; выделение членов, содержащих множитель ; использование правила склеивания и др. Получающаяся в результате минимизации алгебраическая формула называется тупиковой. Функция может иметь несколько тупиковых форм. 

Пример: Минимизировать функцию СДНФ мажоритарного элемента (См. п.2.2) и реализовать его схему на элементах основного базиса.

Склеивая первые три минтерма с четвёртым, получаем ДНФ функции мажоритарного элемента, которая проще СДНФ: 

Y = X1·X2 #8744; X1·X3 #8744; X2·X3 

Минимизированная функциональная схема мажоритарного элемента приведена на рисунке 7.

Рисунок 7 Функциональная схема мажоритарного элемента, реализованная на основе минимизированной функции ДНФ 


Из сравнения схем, приведённых на рисунках 3 и 7 следует, что в минимизированной схеме число по Квайну уменьшилось с 19 до 9.

Метод минимизирующих карт Карно

Карты Карно — это графическое представление таблиц истинности логических функций. Они содержат по 2n ячеек, где n — число логических переменных. Например, карта Карно для функции трёх переменных содержит 2n=23=8 ячеек, для четырёх переменных — 24=16 ячеек.

Карта размечается системой координат, соответствующих значениям входных переменных. Обратим особое внимание на то, что координаты столбцов (а также и строк, если ngt;3), следуют не в естественном порядке возрастания двоичных кодов, а так: 00 01 11 10. Это делается для того, чтобы соседние наборы (в том числе и столбцов 1 и 4) отличались лишь одной цифрой в каком-либо разряде. 

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

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

Пример: Минимизировать функцию трёх переменных, заданную таблицей истинности (таблица 6).


Таблица 6 Таблица истинности функции трёх переменных 

X1 X2 X3 Y
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 0 0
1 1 1 0  

СДНФ функции:

Составляем карту Карно и производим разметку её сторон:

Рисунок 8 Карта Карно функции 3-х переменных.


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

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


Последовательность действий при минимизации: 

1 Изображается карта Карно и производится разметка её сторон.

2 Ячейки карты Карно, соответствующие наборам переменных, обращающих функцию в «1», заполняются единицами, остальные — нулями.

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

Пример: Минимизировать функцию четырёх переменных, представленную картой Карно: (Рисунок 9).

Рисунок 9 Карта Карно функции 4-х переменных


Из карты Карно записываем минимизированное значение функции: