- •Логические основы цифровой электроники
- •Кодирование цифровой информации
- •Некоторые двоично-десятичные коды
- •Код Грея
- •1.2. Классификация цифровых устройств
- •1.3. Основы алгебры и логики
- •1.4. Способы задания и преобразования логических функций
- •1.5. Минимизация логических функций
- •1.6. Вопросы и упражнения
- •Комбинационные цифровые устройства
- •Особенности синтеза и функционирования комбинационных цифровых устройств
- •2.2. Элементная база для практической реализации цифровых устройств
- •2.3 Цифровые логические элементы
- •Статические параметры логических элементов. В качестве важнейших статических параметров приводятся четыре значения напряжений и четыре значения токов.
- •2.4 Типы выходных каскадов цифровых элементов
- •X1 x0 1 “эмиттерный дот”
- •Соединяя прямой выход с инверсным, можно получить функцию вида
- •2.5. Вопросы и упражнения
- •3. Типовые комбинационные цифровые устройства
- •3.1. Преобразователи кодов, шифраторы и дешифраторы
- •3.2. Шифраторы
- •3.3. Дешифраторы
- •3.4. Мультиплексоры и демультиплексоры
- •3.5. Компараторы
- •3.6. Арифметические устройства
- •3.7. Вопросы и упражнения
1.4. Способы задания и преобразования логических функций
Словесный способ. При этом способе задания функция определяется словами, причем описание должно однозначно определять все случаи, в которых она принимает значение 0 или 1. Например, “Функция равна единице, если любые два или более аргумента равны единице, и нулю во всех остальных случаях”.
Табличный способ. Способ задания булевых функций с помощью таблиц истинности позволяет достаточно легко перейти к любому другому способу. Таблица истинности представляет собой некоторую таблицу, в которой отмечены наборы (комбинации) входных переменных и значения функции на каждом наборе. Например, для функции, заданной выше словесным описанием, таблица будет иметь следующий вид (табл. 1.10):
Т а б л и ц а 1.10
Таблица истинности функции
S |
x2 |
x1 |
x0 |
y |
|
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 |
0 0 0 1 0 1 1 1 |
|
Аналитический способ.
П
од
аналитическим способом задания логических
функций подразумевается запись в виде
алгебраического выражения, которая для
заданной выше функции может иметь вид
y
= x2
x1
V x1
x0
x2
x0 (1.21)
Аналитический способ задания логических функций имеет несколько форм.
Дизъюнктивно-нормальная форма (ДНФ) задания логической функции состоит из дизъюнкции простых конъюнкций (импликант) аргументов. Конъюнкция называется простой, если она является логическим произведением переменных в прямой или инверсной форме. ДНФ функции (1.21) имеет вид
y = x2 x1 V x2 x1 x0 V x2 x1 x0. (1.22)
ДНФ имеет свой завершенный вид, называемый совершенной дизъюнктивной нормальной формой (СДНФ), когда в конъюнкции входят все аргументы, т.е. они являются минтермами. Так функция (1.22) в СДНФ описывается выражением
y = x2 x1 x0 V x2 x1 x0 V x2 x1 x0 V x2 x1 x0. (1.23)
Функция в СДНФ может быть условно записана в виде
y = (3, 5, 6, 7) = Mn3 V Mn5 V Mn6 V Mn7. (1.24)
В этой условной записи под знак суммы вводятся номера S минтермов (см.табл. 1.9), присутствующих в СДНФ функции.
Конъюнктивно-нормальная форма (КНФ) представления функций содержит конъюнкцию простых дизъюнкций. Для функции (1.21) КНФ представляется выражением
y = (x2 V x1) (x2 V x1 V x0) (x2 V x1 V x0). (1.25)
Если каждая из простых конъюнкций является полной, т.е. макстермом, то говорят, что функция задана в совершенной конъюнктивной нормальной форме (СКНФ)
y = (x2 V x1 V x0) (x2 V x1 V x0) (x2 V x1 V x0) (x2 V x1 V x0). (1.26)
Аналогично, функция (1.26) в СКНФ условно записывается в виде произведения макстермов
y = (0, 1, 2, 4) = Mx0 Mx1 Mx2 Mx4. (1.27)
Задание логических функций на диаграммах Вейча или картах Карно. Очень часто удобным оказывается представление функции в специальных матрицах или диаграммах, называемых диаграммами Вейча или картами Карно. Диаграмма Вейча (карта Карно) – прямоугольная таблица, число ячеек которой равно числу возможных комбинаций аргументов 2k. Подробно об этом методе будет рассказано ниже в разделе минимизации булевых функций.
Задание функций в виде временных диаграмм. Такая форма часто бывает удобной при задании функционирования какого-либо цифрового устройства. В этой форме строятся временные диаграммы, представляющие возможные комбинации на входе устройства, и временная диаграмма, представляющая значения выходной переменной.
Методы перехода от одного способа задания логических функций к другому. Каждая логическая функция может быть задана любым из перечисленных способов и поэтому необходимо переводить функцию из одного способа задания к другому.
Переход от табличного способа задания к аналитическому базируется на основной теореме булевой алгебры, утверждающей, что любая булева функция может быть представлена в виде логической суммы конъюнкций значений функции y(S) с минтермами MnS, соответствующими этим наборам, или в виде логического произведения дизъюнкций значений функции y(S) и макстермов MxS
2k–1
y
2k–1
S =0
S =0
Основная теорема может быть доказана. В соответствии с теоремой разложения Шеннона [10] любую логическую функцию в общем виде можно разложить по одной из переменных на два слагаемых или на два сомножителя
f (xk–1, … , x1, x0) = f(xk–1, … , x1, 1) x0 V f(xk–1, … , x1, 0) x0; (1.29)
f (xk–1, … , x1, x0) = [f(xk–1, … , x1, 0) V x0] [f(xk–1, … , x1, 1) V x0].
Справедливость этой теоремы легко установить, подставляя в обе части соотношений возможные значения переменной x (0 или 1). Подобным образом можно разложить по другой переменной каждое из полученных слагаемых, например,
f (xk–1, … , x1, x0) = f(xk–1, … , 1, 1) x1 x0 V f(xk–1, … , 0, 1) x1 x0 V
V f(xk–1, … , 1, 0) x1 x0 V f(xk–1, … , 0, 0) x1 x0.
Если эту операцию проделать для всех переменных xi, то результатом будет
f(xk–1, … , x1, x0) = f(1, 1, … , 1, 1) xk–1 xk–2 … x1 x0 V …
V
2k–1
S =0
Аналогичным образом можно доказать основное соотношение для конъюнктивного представления функции
2k–1
y
S =0
Таким образом, справедливость основной теоремы доказана.
Использование основной теоремы для перехода от табличного задания к аналитическому покажем на следующем примере (табл. 1.11).
Т а б л и ц а 1.11
Таблица истинности функции
S |
x2 |
x1 |
x0 |
y |
|
0 1 |
0 0 |
0 0 |
0 1 |
0 0 |
|
2 3 |
0 0 |
1 1 |
0 1 |
1 0 |
|
4 5 |
1 1 |
0 0 |
0 1 |
1 1 |
|
6 7 |
1 1 |
1 1 |
0 1 |
0 1 |
|
7
y
S =0
V 0 x2 x1 x0 V 1 x2 x1 x0 V 1 x2 x1 x0 V 0 x2 x1 x0 V
V 1 x2 x1 x0 = (2, 4, 5, 7).
7
y
S =0
(1 V x2 V x1 V x0) (0 V x2 V x1 V x0) (1 V x2 V x1 V x0)
(1 V x2 V x1 V x0) (0 V x2 V x1 V x0) (1 V x2 V x1 V x0) = (0, 1, 3, 6).
Из рассмотренного примера видно, что функция из табличного способа задания преобразуется в СДНФ или СКНФ.
Переход от аналитического задания к
табличному может быть осуществлен
путем подстановки в выражение функции
поочередно всех возможных комбинаций
входных аргументов и определения с
использованием логических тождеств
значения функции на этих наборах. В
к
ачестве
примера рассмотрим переход от
аналитического способа задания функции
y = x1 x0 V (x1 V x0) x2 x0
табличному.
Т а б л и ц а 1.12
Таблица истинности функции
S |
x2 |
x1 |
x0 |
y |
|
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 1 1 1 1 1 1 0 |
|
Из выражения видно, что функция имеет три аргумента, и поэтому возможны 23 =8 комбинаций. В левой части таблицы истинности (табл. 1.12) отразим возможные комбинации.
З атем найдем y(0) = y(0, 0, 0) = 0 0 V ( 0 V 0 ) 0 0 = 1. Таким образом, y(S) при S = 0 равна 1.
Проводим эту операцию для всех наборов и получаем функцию, заданную таблично.
