Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Электронные цепи и микросхемотехника. Импульсные и цифровые устройства. Конспект лекций. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]