Элемент ИЛИ-НЕ Рисунок 5,а) осуществляет логическую операцию , называемую также стрелкой Пирса. Элемент И-НЕ (Рисунок 5,б) осуществляет логическую операцию и называется штрих Шеффера. Элемент И-ИЛИ-НЕ (Рисунок 5,в) осуществляет операцию и является элементом сложного базиса.
Элементы универсальных базисов позволяют реализовать все три основные логические операции (Рисунок 6). Например, для осуществления операции НЕ с помощью элемента И-НЕ достаточно объединить входы (рисунок 6,а). Аналогично и для элемента ИЛИ-НЕ.
Рисунок 6 Реализация функций НЕ, И и ИЛИ на элементах И-НЕ
При последовательном соединении элемента И-НЕ и инвертора осуществляется операция логического умножения: (рисунок 6,б). Такое же соединение элементов ИЛИ-НЕ реализует операцию логического сложения:
Применение трёх элементов И-НЕ, два из которых работают в режиме инвертирования с объединёнными входами (рисунок 6,в), позволяют реализовать операцию логического сложения . Соединение трёх логических элементов ИЛИ-НЕ позволяет реализовать операцию логического умножения
В общем случае логическая функция Y может зависеть от нескольких переменных X1,X2,…,Xn. Говорят, что функция Y определена, если известны её значения для всех возможных наборов переменных. Функция Y не определена, когда некоторые сочетания переменных по условию задачи невозможны. В этом случае её можно доопределить, приписав ей значение «1» либо «0» по соображениям удобства реализации.
2.4 Минимизация логических формул
Однозначная зависимость сложности логической формулы и функциональной схемы логического устройства приводят к выводу необходимости минимизации структурной формулы логического устройства. Минимизация осуществляется с использованием основных соотношений, законов и теорем алгебры логики.
2.4.1 Расчётный метод минимизации
Применение этого метода состоит в последовательном применении к некоторой формуле законов и правил тождественных преобразований алгебры логики. При этом широко используют следующие приёмы: прибавление одного или нескольких членов, входящих в СДНФ, поскольку X ∨ X ∨ X = X; выделение членов, содержащих множитель ; использование правила склеивания и др. Получающаяся в результате минимизации алгебраическая формула называется тупиковой. Функция может иметь несколько тупиковых форм.
Пример: Минимизировать функцию СДНФ мажоритарного элемента (См. п.2.2) и реализовать его схему на элементах основного базиса.
Склеивая первые три минтерма с четвёртым, получаем ДНФ функции мажоритарного элемента, которая проще СДНФ:
Y = X1·X2 ∨ X1·X3 ∨ X2·X3
Минимизированная функциональная схема мажоритарного элемента приведена на рисунке 7.
Рисунок 7 Функциональная схема мажоритарного элемента, реализованная на основе минимизированной функции ДНФ
Из сравнения схем, приведённых на рисунках 3 и 7 следует, что в минимизированной схеме число по Квайну уменьшилось с 19 до 9.
Карты Карно — это графическое представление таблиц истинности логических функций. Они содержат по 2n ячеек, где n — число логических переменных. Например, карта Карно для функции трёх переменных содержит 2n=23=8 ячеек, для четырёх переменных — 24=16 ячеек.
Карта размечается системой координат, соответствующих значениям входных переменных. Обратим особое внимание на то, что координаты столбцов (а также и строк, если n>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 | 1 | 0 | 0 |
1 | 1 | 1 | 0 |
СДНФ функции:
Составляем карту Карно и производим разметку её сторон:
Рисунок 8 Карта Карно функции 3-х переменных.
На карте Карно формируем два прямоугольника. Первый из них объединяет (как бы заключает в скобки) два первых минтерма (слагаемых), а второй — первое и третье слагаемые СДНФ минимизируемой функции, приведённой выше. Минтермы, объединённые в прямоугольники, отличаются только в одном разряде. Их неизменяемая часть, которая при минимизации расчётным методом выносится за скобки, и является минимизированным значением функции:
Таким образом, карта Карно позволяет поместить рядом, то есть в соседних ячейках, соседние элементарные произведения, отличающиеся только одним сомножителем.
Последовательность действий при минимизации:
1 Изображается карта Карно и производится разметка её сторон.
2 Ячейки карты Карно, соответствующие наборам переменных, обращающих функцию в «1», заполняются единицами, остальные — нулями.
3 Выбирается наилучшее покрытие карты прямоугольниками. Наилучшим считается покрытие, образованное минимальным числом прямоугольников, а если таких вариантов несколько, то выбирается тот, который даёт максимальную площадь прямоугольников.
Пример: Минимизировать функцию четырёх переменных, представленную картой Карно: (Рисунок 9).
Рисунок 9 Карта Карно функции 4-х переменных
Из карты Карно записываем минимизированное значение функции: