Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Электронные цепи и микросхемотехника. Импульсные и цифровые устройства. Конспект лекций. Учебное пособие
.pdf
F
F
Рис. 4.5
4.1.3. ОСНОВНЫЕ РАВНОСИЛЬНОСТИ
АЛГЕБРЫ ЛОГИКИ
Пользуясь законами алгебры логики, можно доказать справедли-
вость следующих соотношений:
0 ꞏ а = 0; 1 ꞏ а = а;
0 + а = а; 1 + а = 1;
= 0; а + а = 1.
а ꞏ
а
Двойственность определяется как изменение всех знаков операций
ИЛИ на знаки операций И, всех знаков операций И на знаки операций
ИЛИ, всех прямых значений переменных на их инверсные значения,
всех инверсных значений переменных на их прямые значения, всех нулей на единицы и всех единиц на нули. Двойственность является одним
основных свойств алгебры логики и означает, что если
из
*
F (a, b, c) и F
F
(a, b, c) = F* (a, b, c).
(a, b, c) двойственны, то
Так, согласно свойству двойственности функцию
()
ab c d b d можно переписать в виде
()()
abc d bd
.
111

4.1.4. НОРМАЛЬНЫЕ И СОВЕРШЕННЫЕ НОРМАЛЬНЫЕ
X
X
X
X
ФОРМЫ ЗАПИСИ ЛОГИЧЕСКИХ АЛГОРИТМОВ
В процессе синтеза и обработки алгоритмов наиболее часто используются формы записи, получившие название нормальных. Если логическая формула записана в виде суммы элементарных конъюнкций, то такая форма записи алгоритма называется дизъюнктивной нормальной
формой (ДНФ), например:
Y = a ꞏ b + a ꞏ c + c ꞏ d.
логическая формула записана в виде произведения элементар-
Если
ных дизъюнкций, то это конъюнктивная нормальная форма записи
(КНФ), например:
Y = (a + b) (a + c) (c + d).
Для того чтобы привести логическую функцию к нормальной
форме, необходимо освободиться от знаков «операция Шеффера»,
«стрелка Пирса» и т. д.; используя законы инверсии, добиться
, чтобы
отрицание относилось только к отдельным входным переменным; применяя основные законы и равносильности алгебры логики, записать алгоритм или в виде элементарных конъюнкций ДНФ, или в виде произведения элементарных дизъюнкций КНФ.
Если дизъюнктивная (конъюнктивная) нормальная форма: а) не содержит одинаковых слагаемых (сомножителей); б) не имеет слагаемых
(сомножителей), содержащих два одинаковых множителя (слагаемых);
в) не имеет слагаемых (сомножителей), содержащих переменную вместе с ее отрицанием; г) содержит в каждом слагаемом (сомножителе) все
входящие в формулу переменные или их отрицания, то такая форма
называется совершенной дизъюнктивной (конъюнктивной) нормальной
формой (СДНФ и СКНФ).
Правила приведения произвольной логической формулы к СДНФ
(СКНФ) следующие:
а) формула приводится к произвольной нормальной форме;
б) слагаемое K (сомножитель D), не содержащее переменной
меняется суммой
KXK (произведением (
ii
+ D) (
i
+ D));
i
, за-
i
в) удаляются все одинаковые слагаемые (сомножители), кроме одного;
112

г) удаляются слагаемые (сомножители), содержащие переменную и
х
х
х
ее отрицание.
Y
Пример 1.1. Записать алгоритм
ххх хх ххх
13 12 12 123
в СДНФ:
Y
() () ()
хх х ххх х ххх х ххх
132 2 123 3 123 3 123
хх х хх х хх х
123 123 123
хх х хх х хх х хх х
123 123 123 12 3
хх х хх х хх х ххх хх х
123 123 123 12 3 123
.
Пример 1.2. Записать следующий алгоритм в СКНФ:
()()()()()
Y хххх хх ххх x хх х
1213 123123132
()()()().
ххx хх ххх x х xx
132 12312 3123
4.1.5. МЕТОДЫ ПРЕДСТАВЛЕНИЯ ЛОГИЧЕСКИХ АЛГОРИТМОВ
Существуют следующие способы задания функций алгебры логики:
аналитический, табличный, графический.
Аналитический способ. Алгоритм записывается с помощью аппа-
рата математической логики. Этот способ во многих отношениях
наиболее универсальный и удобный. Он удобен не только для обработки алгоритмов, но и для их реализации на стадии технического проектирования.
Табличный способ. В этом случае алгоритм задается в виде таблицы
истинности, или, как ее иногда называют, таблицы состояния. Таблица
имеет число столбцов, равное сумме входных и выходных переменных,
и число строк, соответствующее всем возможным комбинациям вход-
n
2
ных переменных
(здесь n – число входных переменных). При состав-
лении таблицы целесообразно начинать номера с нуля, тогда соответствующие строки таблицы будут представлять значение номера по порядку в двоичном коде. На рис. 4.6 в качестве примера таблично записан
алгоритм
хх
1 2 3
. С помощью таблиц соответствия легко записать
Y
алгоритм и в совершенной нормальной форме.
Совершенная дизъюнктивная нормальная форма по таблице записывается следующим образом: отмечаются строки, в которых логическая функция Y равняется единице, комбинация входных переменных
113

этих строк записывается в виде элементарной конъюнкции таким обра-
х
х
зом, что единице соответствует входная переменная, а нулю – отрицание переменной; полученные элементарные конъюнкции объединяются
в алгоритм с помощью знака логической суммы. Согласно таблице на
рис. 4.6 СДНФ для алгоритма имеет следующий вид:
Y
хх ххх ххх хх х хх x
123 12 3 123 123 123
.
Для записи логической функции по таблице в СКНФ необходимо отметить строки, в которых Y = 0; записать комбинацию входных переменных этих строк в виде элементарной дизъюнкции таким образом,
чтобы нулю соответствовала входная переменная, а единице – ее отрицание. Полученные элементарные дизъюнкции объединяются знаком
логического произведения.
Алгоритм СКНФ для таблицы на
()()()Y
хххххххх
123123123
N x
0 0 0 0 0
1 0 0 1 1
2 0 1 0 0
3 0 1 1 1
4 1 0 0 0
5 1 0 1 1
6 1 1 0 1
7 1 1 1 1
Рис. 4.6. Табличный способ записи функции Y = х1 х2 + х
1
рис. 4.6 имеет следующий вид:
.
x
2
x
3
Y
3
Табличный метод записи нагляден и удобен для синтеза различных
схем. Однако при увеличении числа входных переменных таблицы становятся громоздкими, поэтому, как правило, они применяются, если
n < 5, n < 6.
114

Лекция № 14
x
х
х
4.1.6. БАЗИС ФУНКЦИЙ АЛГЕБРЫ ЛОГИКИ
Одним из основных понятий алгебры логики является понятие функциональной полноты. Система логических функций называется функционально полной, если с ее помощью можно представить все логические операции. В алгебре логики указанная система логических функций называется базисом.
Существует ряд базисов, наиболее распространенными из них являются следующие:
1) базис конъюнкции,
ИЛИ, НЕ);
2) базис функции Шеффера (базис функции И – НЕ);
3) базис функции Пирса (базис функции ИЛИ – НЕ).
Итак, все логические операции, составляющие алгоритм работы некоего устройства, можно выразить с помощью либо сочетания трех элементарных операций И, ИЛИ, НЕ, либо операции «штрих Шеффера»,
операции «стрелка Пирса». Это положение является одним из ос-
либо
новных при проектировании дискретных систем управления.
Пример 1.3. Записать логические операции – отрицание и дизъюнк-
цию в базисе функции Шеффера
Y ааа
, то инверсия переменной может быть реализована с помо-
щью одной операции Шеффера (рис. 4.7, а).
Дизъюнкция
Y а b
дизъюнкции и отрицания (базис функций И,
x
. Отрицание
12
Ya
. Так как
. Сделаем следующие преобразования:
где
Y а b а bxx ,
a
1
b
,
.
2
12
Основываясь на записанных соотношениях, покажем реализацию
операции ИЛИ в базисе операции Шеффера (рис. 4.7, б).
Конъюнкция
Y а b
. Исходя из основных законов алгебры логики,
запишем:
Y а b а b.
Реализация функции И показана на рис. 4.7, в.
115

х1
х
&
&
х1
х2
&
Y
а
&
а
b
а б
ab
а
&
&
Y
b
в
Рис. 4.7. Реализация логических функций в базисе И – НЕ
Пример 1.4. Представить логические операции НЕ, ИЛИ, И в базисе
.
х
1
12
а
_
а
а
b
1
х1
х
1
1
1
в
ab
1
Y
1
функции Пирса
а
а б
Y
Рис. 4.8. Реализация логических функций в базисе ИЛИ – НЕ
116

Отрицание
х
х
. Преобразуя, получаем
Y а
Yaaa
.
Поэтому операция НЕ может быть реализована с помощью одного
элемента Пирса (рис. 4.8, а).
Дизъюнкция
Y а b
. Рассуждая аналогично, имеем (рис. 4.8, б)
Y а b а b.
Конъюнкция
где
1
Y а b
a
,
b .
2
.
Y а bab хх xx ,
12 1 2
Отмеченные преобразования поясняются на рис. 4.8, в.
4.1.7. УПРОЩЕНИЕ И МИНИМИЗАЦИЯ
ЛОГИЧЕСКИХ ФУНКЦИЙ
Решение практических задач с использованием аппарата алгебры
логики требует минимизации полученного алгоритма управления, т. е.
получения нового алгоритма, эквивалентного исходному.
Минимизация алгоритмов является одним из важнейших приложений математической логики. Она позволяет упростить структуру алгоритма, сократить материальную часть, а также повысить надежность и
уменьшить габариты и стоимость логического устройства.
Следует
отметить, что минимальный алгоритм в базисе ИЛИ,
И, НЕ может оказаться не минимальным в базисе операции Пирса,
и наоборот.
В настоящее время научные методы минимизации логических алгоритмов существуют только в базисе конъюнкции, дизъюнкции и отрицания. Ниже будут рассмотрены лишь некоторые методы минимизации,
которые часто применяются при синтезе дискретных
систем автомати-
ческого управления.
Метод расчленения и проб. Этот метод полностью основан на ис-
пользовании основных аксиом, законов и равносильностей алгебры
Буля.
117

Рассмотрим пример:
х
x
x
x
x
x
x
x
Y хх хх хх хх х
13 12 12 123
хх xx хх хх хх х
хх х хх х хх хх хх х
123 12 3 12 12 123
13 2 2 12 12 12 3
123 123 12 3 3 12 3
xx хх х ххх хх х хх х
12 123 12 3 123 123
хх х х
12 23
(
хх ххх х
11 132 2
хх х х хх
12 23 13
)()
.
(1)
хх хх х хх xx хх х
Реализацию данной функции можно осуществить с помощью схемы,
представленной на рис. 4.9.
1x2x3
&
1
&
2
&
3
&
&
&
x
12
x
23
x
13
>=1
Y
Рис. 4.9
Отсюда вытекают определенные трудности:
•
интуитивный подход к решению поставленной задачи;
• отсутствие уверенности в том, что полученный алгоритм является мини-
мальным;
• возможность получения различных результатов, из которых не ясно, ка-
кой алгоритм является минимальным.
Поэтому данный метод применяется для минимизации алгоритмов,
если число входных переменных не превышает 4–5.
118

Алгебраическое описание логической функции можно значительно
M
M
M
M
M
упростить, если перейти к так называемым совершенным нормальным
формам ее представления, в основе которых лежат понятия минтерма и
макстерма булевой функции.
Минтермами булевой функции называются функции, представля-
ющие собой произведение всех ее переменных, т. е. полные конъюнкции, причем каждая конъюнкция отличается от другой значением хотя
бы одной переменной, входящей в ее состав.
Макстермами булевой функции называются функции, представля-
ющие сумму всех ее переменных и отличающиеся друг от друга значением хотя бы одной переменной. Для функции от n переменных число
n
2
минтермов и макстермов одинаково и равно
С
.
Обозначаются минтермы и макстермы соответственно буквами
m
и
, где i – десятичное число, соответствующее двоичному числу,
i
i
в котором каждому разряду присваивается значение переменной булевой функции (табл. 4.2) для
A B Минтермы Макстермы
00
01
10
11
функции двух переменных.
mAB
0
mAВ
1
mAB
2
mAB
3
Таблица 4.2
AB
AB
AB
AB
0
1
2
3
Карта Карно, или карта минтермов булевой функции, представляет собой
термов
прямоугольную таблицу, разбитую на клетки по числу мин-
n
2
С
.
Карта Карно представляет собой графическое изображение всех возможных наборов значений аргументов функции, т. е. ее можно рассматривать как графическое представление совокупности всех минтернов
для данного числа аргументов.
С целью записи и обработки булевых функций клетки карты Карно
заполняются значениями функции, соответствующими коду того или
иного минтерма. Если же
функция может принимать произвольное зна-
чение (в силу особенностей функционирования логического устройства),
119

то клетка обычно отмечается знаком x. Придание x определенного значения используется в дальнейших преобразованиях булевой функции.
Условимся в дальнейшем заполнять карту Карно только единичными и
неопределенными значениями функции, оставляя пустыми те клетки, где
функция по условию задачи равняется нулю (за исключением случаев,
где это необходимо).
Карты Карно являются весьма удобным
средством отображения Бу-
левой функции, как это показано на рис. 4.10, где в карте размещена
функция трех переменных
fABCABCАBC
, представленная в
СДНФ.
BC
A
00 01 11
0
1
Рис. 4.10
1
10
1
1
Аналогичным образом решается и обратная задача – списывание
функции из карты.
Метод минимизации с помощью карт Карно. При большом числе
минтермов, входящих в состав функции Буля, непосредственная процедура алгебраических преобразований для минимизации может оказаться достаточно утомительной и неполной. Применение для этих же
целей карт Карно позволяет с большей достоверностью получить минимальную запись функции и избежать возможных ошибок. Здесь оказывается очень полезным принцип кодирования карт
, позволяющий легко
обнаружить минтермы с одинаковыми значениями переменных, от которых функция не зависит. Поясним сказанное примером рис. 4.11, на
котором изображена карта Карно с помещенными в ее клетки единичными значениями функции Буля, записанной в форме СДНФ:
f ABCD ABCD ABCD ABCD
ABCD ABCD ABCD ABCD ABCD
.
120
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
