
- •1. Достоинства и недостатки цифровой электроники
- •2. Двоичные сигналы
- •3. Системы счисления в цифровой электронике
- •4. Алгебра логики
- •4.3. Совершенные нормальные формы (сднф и скнф) записи булевых выражений.
- •4.5. Основные законы булевой алгебры и правила преобразований.
- •4.7. Построение комбинационных логических схем по заданным булевым выражениям.
- •4.8. Особенности построения логических схем
- •7. Транзисторно-транзисторная логика
- •7.2. Состав ттл логических микросхем малой интеграции
- •7.4. Входные каскады ттл микросхем
- •7.5. Статические характеристики ттл микросхем
- •Передаточная характеристика
- •8.1. Инверторы на n–моп и p–моп транзисторах
- •8.2. Инвертор на кмоп транзисторах
- •8.3. Кмоп логические элементы и–не и или –не
- •8.4. Двунаправленный ключ кмоп
- •Разновидности Выходов кмоп микросхем и
- •8.7. Подключение Входов кмоп микросхем
- •9. Эмиттерно–связанная логика.
- •Дополнительная
- •Содержание
4.3. Совершенные нормальные формы (сднф и скнф) записи булевых выражений.
Совершенной дизъюнктивной нормальной формой (СДНФ) называют наиболее полную форму записи логического выражения. Эта форма записи представляет собой сумму, каждое слагаемое которой является произведением всех входных аргументов или их инверсий, например:
F = AВС + А ВС + А ВС + А В С.
СДНФ является избыточной, но логические функции, записанные в СДНФ, легко сравнивать между собой, их удобно преобразовывать в таблицы истинности и составлять по ним карты Карно. Булево выражение, полученное из таблицы истинности логической функции, имеет совершенную дизъюнктивную нормальную форму.
В некоторых случаях более удобной формой записи логического выражения является совершенная конъюнктивная нормальная форма (СКНФ). Это произведение сомножителей, каждый из которых является суммой всех входных аргументов или их инверсий, например:
F = (А + В +С ) (А + В + С ) ( А +В + С ) ( А + В + С ).
Так же, как и СДНФ, СКНФ является явно избыточной.
4.4. ПРЕОБРАЗОВАНИЕ ТАБЛИЦЫ ИСТИННОСТИ В БУЛЕВО ВЫРАЖЕНИЕ
Допустим, имеется логическая функция F для трех переменных А, В и С, заданная в виде следующей таблицы истинности:
№ А В С F Примечания
0 0 0 0 1 Р0 = АВС
1 0 0 1 0
2 0 1 0 1 Р2 = А ВС
3 0 1 1 1 Р3 = А В С
4 1 0 0 0
5 1 0 1 0
6 1 1 0 0
7 1 1 1 1 Р7 = А В С
Из всех возможных восьми комбинаций входных переменных А, В и С данная функция F равна единице только для тех четырех комбинаций, которые записаны в виде логических произведений P0, P2, P3 и P7 в правой части таблицы, в разделе примечания. При остальных наборах входных переменных функция F равна нулю. Смысл каждого булева выражения в том, чтобы показать при каких сочетаниях входных переменных или их инверсий заданная функция F равна единице. Поскольку функция будет иметь такое значение при любом из наборов Р0, Р2, Р3, Р7 независимо друг от друга, то их можно соединить между собой знаком ИЛИ, логическим сложением:
F = Р0 + Р2 + Р3 + Р7.
Каждый из наборов Р0, Р2, Р3, Р7 является таким сочетанием входных переменных или их инверсий, которые только при совместном их воздействии обеспечивает единичное состояние выходной функции.
Следовательно, каждый такой набор состоит из всех входных переменных или их инверсий, связанных между собой функцией И, логическим умножением:
Р0 = АВС; Р2 = А ВС; Р3 = А В С; Р7 = А В С.
Исходя из этого, получаем результирующее выражение:
F = АВС + А ВС +А В С + А В С.
Как можно заметить, это выражение записано в СДНФ.
4.5. Основные законы булевой алгебры и правила преобразований.
Большинство законов булевой алгебры совпадают с законами обычной алгебры, но некоторые законы отличаются (подчеркнутые).
А + В = В + А АВ = ВА
(А + В) + С = (А + С) + В (АВ)С = (АС)В
А(В + С) = АВ + АС А + (ВС) = (А + В)(А +С)
А + В = А В А В = А +В
А + А = А А А = А
А = А А +АВ = А + В
А + АВ = А А(А + В) = А
А +А = 1 А А = 0
А + 0 = А А 0 = 0
А + 1 = 1 А 1 = А
С помощью приведенных выше законов и правил можно упрощать сложные логические выражения таким образом, чтобы, в конце концов, получались минимизированные выражения, по которым экономичнее можно построить логические схемы.
4.6. МИНИМИЗАЦИЯ ЛОГИЧЕСКИХ ФУНКЦИЙ АЛГЕБРАИЧЕСКИМ СПОСОБОМ И ПО КАРТАМ КАРНО
Основой минимизации алгебраическим способом является последовательное использование законов булевой алгебры и правил преобразований. Кроме законов, известных нам из обычной алгебры, в булевой алгебре типовыми приемами можно считать следующие:
1. Многократное прибавление или умножение какого–либо переменного, или нескольких переменных, что не изменяет функцию, поскольку:
А + А +...= А; АВС + АВС +...=АВС;
А А А... = А; АВС АВС ... = АВС.
2. Умножение членов уравнения на сумму А +А = 1, или сложение их с А А = 0.
3. Использование выражений, которые в предыдущем разделе подчеркнуты.
Пример минимизации логической функции алгебраическим способом:
F = А В С + АВ С + А ВС + А В С =
= А В С + АВ С + А ВС + А В С + А В С + А В С =
добавили
= А В С + А В С + АВ С + А В С + А ВС + А В С =
= (А +А) В С + (В +В) А С + (С +С) А В =
= А В + В С + А С .
Для минимизации логических функций очень удобно пользоваться картами Карно или очень схожими с ними диаграммами Вейча.
Карта Карно изображает в виде графических квадратов (клеток) все возможные комбинации переменных, причем переменные, определяющие координаты клеток карты, размещают так, чтобы при переходе из одной клетки в соседнюю, как по горизонтали, так и по вертикали, изменялась только одна переменная.
Если требуется получить карту Карно для какой–либо функции, сначала надо записать эту функцию в СДНФ, – в совершенной дизъюнктивно нормальной форме, или в виде таблицы истинности. Каждое слагаемое булева выражения в СДНФ, или каждая единица в столбце функции таблицы истинности, задается на карте Карно единицей в соответствующей клетке. Координаты этой клетки содержат те же входные переменные и их инверсии, что и данное слагаемое СДНФ булева выражения (или данная строка таблицы истинности).
Таблица истинности для четырех переменных включает 16 строк, следовательно, карта Карно должна состоять из 16 клеток, как показано на рис.4.10.1.
АВ А В А В АВ
СD 1 1
C D 1 1
C D 1 1
CD
Рис.4.10.1. Пример карты Карно для 4–х переменных.
У карты Карно для четырех переменных клетки крайнего левого столбца должны рассматриваться как соседние для клеток крайнего правого столбца, а клетки верхней строки, – как соседние для клеток нижней строки. Другими словами можно сказать, что эта карта расположена на поверхности цилиндра (склеили правый край карты с левым), изогнутого и растянутого так, что его верхний срез соединяется с нижним срезом; при этом цилиндр превращается в тор.
Правила упрощения заполненной карты Карно заключаются в следующем :
– соседние две, четыре, восемь, или другое число единиц, равное степени двойки, обводят общим контуром;
– контур должен быть прямоугольным без изгибов или наклонов;
– каждый контур превращает все входящие в него единицы в одну, т.е. объединенные таким образом слагаемые СДНФ булева выражения дают одно слагаемое в упрощенном выражении;
– те входные переменные, которые входят в координаты данного контура совместно со своими инверсиями, исключаются из слагаемого, которое дает этот контур в упрощенное выражение.
Примеры упрощения булевых выражений с помощью карты Карно для 4–х переменных:
1. F1 = А ВСD1 + A BCD2 +A BC D3 + A BC D4 +
+ AB CD5 + A B CD6 .
АВ А В А В АВ
СD
11
12
BC
1,2,3,4
C
D 13
14
A
CD
5,6
C D
CD
15
16
F1 = B C + A CD
Рис.4.10.2. Пример минимизации булевой функции F1 с помощью карты Карно для 4–х переменных.
В первом примере минимизации булевой функции F1 нижний контур из двух единиц 15 и 16 , соответствующие пятому и шестому слагаемым в исходном булевом выражении, дает возможность опустить B иB. После этого в нем остается произведение A CD. В верхнем контуре из четырех единиц 11, 12, 13 и 14 , соответствующие первым четырем слагаемым в исходном булевом выражении попарно опускаются A иA, D иD, так что в результате этого верхний контур дает произведение B C.
.F2 =АВСD1 +A BCD2 + A BCD3 +AB CD4 +AB CD5
АВ А В А В АВ
СD
11
12
13
BCD
2,3
C
D
AD
1,2,4,5
C D
CD 14 15
F2 =AD
+
BCD
Рис.4.10.3. Пример минимизации булевой функции F2 с помощью карты Карно для 4–х переменных.
Во втором примере минимизации булевой функции F2 контур из двух единиц 12 и 13 , соответствующие второму и третьему слагаемым в исходном булевом выражении, дает возможность опустить А иА. После этого в нем остается произведение BCD. В контуре из четырех единиц 11, 12, 14 и 15 , соответствующие другим четырем слагаемым из исходного булева выражения, попарно опускаются В иВ, С иС, так что в результате этого верхний контур дает произведение AD. Карта Карно представляется в данном случае свернутой в цилиндр, в котором верхний край совмещается с нижним.
Этот пример показывает также, что контуры могут накладываться друг на друга (сколько угодно раз).
Таблица истинности для пяти переменных включает 32 строки, следовательно, карта Карно должна состоять из 32 клеток, как показано на рис.4.10.4. Для шести переменных карта Карно содержит 64 клетки, как показано на рис.4.10.5.
Пример упрощения булевых выражений с помощью карты Карно для 5–ти переменных:
3. F3 = АВСD E1 +ABC D E2 +
+AB CDE4 +A B CDE5 +A B C D E6 +
+А В С DE7 +A BC D E8 +A BC DE9 +
+ A BC D E10 + A BC DE11 + A B C D E12 +
+ А В С DE13 + ABCD E14 + ABC D E15 .
АВC АВ C А В C А ВC А ВC А В C АВ C АВC
АВC АВ C А В C А ВC А ВC А В C АВ C АВC
DE 14 15
D E 11 114
D E 12 16 18 110 112 115
DE 17 19 111 113
A CD E 4,5 B D 6,7,8,9,10,11,12,13
BC E 1,2,14,15
F3 = BC E 1,2,14,15 +A CD E 4,5 + B D 6,7,8,9,10,11,12,13
Рис.4.10.4. Пример минимизации булевой функции F3 с помощью карты Карно для 5–ти переменных.
Пример упрощения булевых выражений с помощью карты Карно для 6–ти переменных:
4. F4 = АВСD EG 1 +ABC D EG 2 +AB CD EG 3 +
+AB C D EG 4 +A B CD E G 5 +A B CDE G 6 +
+А ВСDEG 7 +A BCD EG 8 +A BC D EG 9 +
+A BC DEG 10 +A BC DE G 11 +A BC D E G 12 +
+А ВСD E G 13 +A BCDE G 14 + A BCDEG 15 +
+ A BCD EG 16 + A BC D EG 17 + A BC DEG 18 +
+ А ВС DE G 19 + A BC D E G 20 + A BCD E G 21 +
+ A BCDE G 22 + A B CD E G 23 + A B CDE G 24 +
+ АВ СD EG 25 + AB C D EG 26 + AB CD EG 27 +
+ ABC D EG 28 + ABC DE G 29.
АВC АВ C А В C А ВC А ВC А В C АВ C АВC
DEG 17 115
D EG 11 13 18 116 125 127
D EG 12 14 19 117 126 128
DEG 110 118
DE G 111 119 129
D E G 112 120
D E G 15 113 121 123
DE G 16 114 122 124
F4 = B EG 1,2,3,4,25,26,27,28 + BD G 5,6,13,14,21,22,23,24 +
+ BC 7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 + AC D EG 19,29 .
Рис.4.10.5. Пример минимизации булевой функции F4 с помощью карты Карно для 6–ти переменных.