Наоборот, при подаче на вход напряжения, соответствующего уровню логического нуля, открывается верхний транзистор, a нижний закрывается. На выходе – сигнал логической единицы.
Схема, реализующая функцию ИЛИ—НЕ, показана на рисунке 1.9.
Рисунок 1.9 - Схема ИЛИ—НЕ КМОП
При поступлении на вход А напряжения, соответствующего уровню логической единицы, открывается транзистор VT4 и закрывается VT1, в результате чего напряжение на выходе будет соответствовать уровню логического нуля. При подаче на входы A и В напряжения, соответствующего уровню логического нуля, транзисторы VT3 и VT4 закрываются, a VT1 и VT2 открываются. При этом напряжение на выходе будет соответствовать уровню логической единицы (т. е. близко к напряжению Е).
Схема, реализующая функцию И—НЕ, изображена на рисунке 1.10.
Рисунок 1.10- Схема И—НЕ КМОП
К недостаткам КМОП-технологии следует отнести то, что здесь невозможно достичь столь же высокой плотности упаковки, как при МОП-техноологии из-за некоторой избыточности транзисторов. Однако в КМОП-схемах не протекает постоянно ток, что значительно снижает потребляемую мощность в статическом режиме. В динамическом режиме потребляемая мощность растет из-за перезаряда межэлектродных емкостей транзисторов и одновременного открывания всех транзисторов в момент их переключения, т. е. потребляемая мощность таких схем растет с повышением частоты переключения.
1.3 Основные законы алгебры логики
В алгебре логики приняты следующие основные законы:
- переместительный (свойства коммутативности)
x1 V х2 = х2V x1
x1 • х2 = х2 • x1
- сочетательный (свойства ассоциативности)
x1 V (х2 V x 3) = (x1 V х2 ) V x 3
x1 • (х2 • x 3) = (x1 • х2 ) • x 3
- распределительный (свойства дистрибутивности)
x1 V х2 • x 3 = (x1 V х2 ) (x1 V х3 )
x1 • ( х2 V x 3 ) = x1 • х2 V x1 • х3
- закон инверсии (правило де Моргана)
- закон склеивания
Переместительный и сочетательный законы встречается в обычной алгебре и не вызывает сомнения.
Распределительного закона для умноження и закона инверсии в обычной алгебре нет. Доказательство этих законов может быть выполнено посредством составления таблиц истинности для правой и левой частей уравнений, описывающих тот или иной закон.
Закон инверсии может быть использован для перехода от дизъюнкции к конъюнкции, и наоборот. Так, например, если применить инверсию к левой и правой частям выражений, отражающих закон инверсии, получим
, и далее . Такое преобразование может понадобиться при проектировании логической схемы для перехода к базису И-НЕ.В законе склеивания каждая пара объединяемых элементарных произведений различается лишь одной переменной (х2), которая входит в первое произведение без отрицания, а во второе — с отрицанием. Такие элементарные произведения называют соседними. К соседним произведениям применим закон склеивания, в результате чего уменьшаются число суммируемых произведений и на единицу — число переменных. Остается только та переменная, которая неизменна.
1.4 Дизъюнктивные нормальные формы
Для записи одной и той же функции алгебры логики можно использовать много различных форм. Формы, которые представляют суммы элементарных произведений, называют дизъюнктивными нормальными формами (ДНФ).
Элементарное произведение – это такое произведение, в котором сомножителями являются только отдельные переменные или их отрицания.
Очевидно, одна и та же функция может быть представлена множеством различных ДНФ. Однако существуют такие виды ДНФ, в которых функция может быть записана единственным образом. Эти формы называют совершенными дизъюнктивными нормальными формами (СДНФ). СДНФ определяется как сумма элементарных произведений, в которых присутствуют все переменные либо с отрицанием, либо без него.
Правило записи СДНФ функции по ее таблице истинности:
Для всех комбинаций входных переменных, обращающих функцию в единицу, записать элементарные произведения, инвертируя переменные, равные в данной комбинации нулю, а все полученные элементарные произведения соединить знаками логического суммирования.
Рассмотрим пример. Пусть функция задана таблицей истинности (таблица 1.4). Требуется записать СДНФ функции по ее таблице истинности.
Таблица 1.4- Таблица истинности
х2 | х1 | х0 | F(х2, х1, х0) |
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 1 | 1 |
1 | 1 | 0 | 0 |
1 | 1 | 1 | 0 |
таблица истинности такой функции содержит три строки, в которых функция равна единице. Каждой из этих строк соответствует определенная комбинация входных переменных, а именно: 001, 100 и 101.
Применим правило записи СДНФ к функции, представленной таблице 1.4, и получим три элементарных произведения
, соответствующие входным комбинациям. Соединив эти произведения знаками логического суммирования, придем к СДНФ:F(х2, х1, х0) =
.1.5 Минимизация логических функций
СДНФ не всегда является самым простым выражением функции. тождественные преобразования позволяют существенно упростить (минимизировать) выражения логических функций. Каждая логическая функция реализуется с помощью определенного набора устройств. Чем меньше элементов содержит выражение, тем проще схема, реализующая соответствующую ему логическую функцию. Поэтому значительный интерес представляет рассмотрение методов минимизации логических функций.
Различают аналитические и табличные методы минимизации.
1.5.1 Аналитические методы
Наиболее распространенным является метод непосредственных тождественных преобразований. Этот метод состоит в последовательном применении к некоторой формуле законов и правил тождественных преобразований алгебры логики.
метод непосредственных преобразований не поддается четкой алгоритмизации. Действия, используемые при реализации этого метода, определяются видом исходного преобразуемого выражения, квалификацией исполнителя и другими субъективными факторами. Отсутствие такой алгоритмизации значительно повышает вероятность появления ошибок и возможность получения не полностью минимизированной формулы.
Метод непосредственных преобразований наиболее пригоден для простых формул, когда последовательность преобразований очевидна для исполнителя. Наиболее часто этот метод применяется для окончательной минимизации выражений, полученных после минимизации их другими методами.
Стремление к алгоритмизации поиска соседних элементарных произведений привело к разработке табличных методов минимизации логических функций. Одним из них является метод, основанный на использовании карт Карно.
1.5.2 Использование карт Карно
Карта Карно — это графическое представление таблицы истинности логических функций.
Она представляет собой таблицу, содержащую по 2п прямоугольных ячеек, где п — число логических переменных. Например, карта Карно для функции четырех переменных имеет 24 = 16 ячеек. Структура карт Карно для функций двух и трех переменных показана ниже.
Рисунок 1.11 - Таблица истинности (а) и структура карт Карно (б) для функции двух переменных
Рисунок 1.12- Таблица истинности (а) и структура карт Карно (б) для функции трех переменных
Карта размечается системой координат, соответствующих значениям входных переменных. Например, верхняя строка карты для функции трех переменных соответствует нулевому значению переменной x1, а нижняя — ее единичному значению. Каждый столбец этой карты характеризуется значениями двух переменных: х2 и х3. Комбинация цифр, которыми отмечается каждый столбец, показывает, для каких значений переменных х2 и х3 вычисляется функция, размещаемая в клетках этого столбца.
Если на указанном наборе переменных функция равна единице, то ее СДНФ обязательно содержит элементарное произведение, принимающее на этом наборе единичное значение. Таким образом, ячейки карты Карно, представляющие функцию, содержат столько единиц, сколько элементарных произведений содержится в ее СДНФ, причем каждой единице соответствует одно из элементарных произведений.
Обратим внимание на то, что координаты строк и столбцов в карте Карно следуют не в естественном порядке возрастания двоичных кодов, а в порядке 00, 01, 11, 10. Изменение порядка следования наборов сделано для того, чтобы соседние наборы были соседними, т.е. отличались значением только одной переменной. Ячейки, в которых функция принимает значения, равные единице, заполняются единицами. В остальные ячейки записываются нули.
Процесс минимизации рассмотрим на примере, представленном на рисунке 1.13.
Сначала формируем прямоугольники, содержащие по 2k ячеек, где k — целое число. В прямоугольники объединяются соседние ячейки, которые соответствуют соседним элементарным произведениям.