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

Электронные устройства автоматики основы цифровой электроники. Курс лекций

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Логические функции двух переменных. Для функций двух (и бо-
n
ffXX X
лее) аргументов в алгебре логики существуют математические действия логического сложения (дизъюнкции) и логического умножения (конъ­юнкции). Логическое сложение обозначается символами
∨ или +, ре-
зультат логического сложения 0 + 0 = 0, 1 + 0 = 0 + 1 = 1+ 1 = 1. Логиче­ское умножение обозначается & или «•», а результат совпадает с ариф­метическим умножением (0 • 0 = 0 • 1 = 1 • 0 = 0, 1 • 1 = 1). Все логиче­ские функции двух или большего числа переменных можно записать, используя только три логических операции: отрицания (инверсии), сло­жения или умножения. Существует и набор других логических функ­ций, с помощью которых можно
записать любую функцию, о чем будет
сказано подробнее.
В табл. 2.4 представлены все 16 функций двух переменных, их
значения при различных Х
и Х2, названия (принятые в математиче-
1
ской литературе) и аналитическая запись, а также названия, употреб­ляемые в технической литературе, и их условные обозначения в схе­мах логических устройств. Некоторые из этих функций вырождаются
в константы (это относится к менной (
,3f ,5f10f и
f ).
12
f и 15f ) или в функцию одной пере-
0
Логические функции многих переменных. В технике дискрет- ных автоматов находит применение ограниченное число функций многих переменных: конъюнкция, дизъюнкция, их инверсии, а также некоторые другие.
Конъюнкция (И) многих переменных f
= X1 Х2 ... Хn принимает
1
значение нуля на всех наборах переменных, содержащих хотя бы один нуль. Только когда и X
X
Х2 ... Хn равна единице.
1
Дизъюнкции многих переменных:
и X2 и Хn равны единице, конъюнкция
1
XXXf ∨∨∨= ...
при-
212
n
нимает значение 1 на всех наборах, содержащих хотя бы одну еди­ницу (или X
= 1 или Х2 = 1 или ... Хn = 1). Она равна нулю только то-
1
гда, когда все ее аргументы равны нулю.
Функции отрицания конъюнкции (И – НЕ): и отрицание дизъюнкции (ИЛИ – НЕ):
==∨ ∨∨ ин-
42 1 2
...
XXXff ⋅⋅⋅== ...
2113
n
версны функциям И и ИЛИ соответственно.
XXXf ⊕⊕⊕= ...
Сложение по модулю 2:
21
принимает зна-
n
чение единицы, если количество аргументов, равных единице, не­четно, и значение нуля, если четно.
21
Таблица 2.4
121 21212
X
2
X
1
X
1
2
X
2
X
12
XX
1212
XXXX
1212
X
12
XX
2
X
Символ элемента
И
«нуля»
функции
название
Генератор
Техническое
Повторитель
ИЛИ
ИЛИ – НЕ
Повторитель
;
XXX→⋅
121
;&; ;
1
;;
22 1
XX XX X⋅←→
XX XXXXX∧⋅
1
;
2
Логические функции двух переменных
Функция Обозначение операции
Конъюнкция;
2
и не X
жение
1
X
Запрет X
логическое умно-
2
и не
1
)
; (X
2
1
X
Запрет X
Неравнозначность;
⊕
дулю 2
Дизъюнкция;
сложение по мо-
;
∨+
→
;;
XX XX X↓∨+
12
ние
юнкции;
стрелка Пирса
Равнозначность;
Отрицание дизъ-
логическое сложе-
НЕ
2
эквивалентность
2
X
1
X
0 0 0 0 Константа 0 0
00 01 10 11
0
f
f
0 0 0 1
0 0 1 0
0 0 1 1 Повторение X
1 0 0 0
1
2
3
f
f
4
f
f
0 1 0 1 Повторение X
0 1 1 0
5
6
f
f
0 1 1 1
1 0 0 0
1 0 0 1
7
8
9
f
f
10
f
f
1 0 1 0 Инверсия X
22
23
2
X
1
X
2112
XXXX
1
X
Окончание табл. 2.4
Символ элемента
функции
название
Техническое
;
XX X→∨
121
в
1
2
X
Функция Обозначение операции
Импликация X
НЕ
;
→←
в
2
1
1
X
Импликация X
Отрицание конъ-
И – НЕ
Генератор
21 2
;;&
XXXX X⋅
12
юнкции;
штрих Шеффера
«единицы»
2
X
1
X
1 0 1 1
00 01 10 11
f
11
f
1 1 0 0 Инверсия X
1 1 0 1
1 1 1 0
12
13
f
14
f
f
1 1 1 1 Константа 1 1
15
f
Из других функций многих переменных можно выделить функ­цию «n и только n», которая принимает значение единицы при числе единичных аргументов (рис. 2.3, а), равном числу указаний в поле функции (т.е. n). Частный случай этой функции (1 и только 1) в лите­ратуре называют «исключающее ИЛИ» (рис. 2.3, б), а при аналитиче­ской
записи этой функции используют символ ∀ . Функция логиче­ского порога равна единице при числе единичных аргументов не ме­нее числа, указанного в поле условного обозначения (рис. 2.3, в).
Рис. 2.3. Условное обозначение элемента, реализующего функции
«n и только n» (а), исключающего ИЛИ (б), логического порога (в)
Базис. В алгебре логики существует понятие функционально полной
системы. Система функций алгебры логики {f
, f2, …, fn} называется
1
полной, если любая функция алгебры логики может быть выражена с помощью суперпозиции этих функций f
, f2, …, fn и аргументов.
1
Функционально полные системы образуют базис. Поскольку (по определению) на базисе можно построить любую логическую функ­цию, постольку на электронных элементах, реализующих базис, можно построить любое логическое устройство. Функционально полный набор образуют элементарные функции (И – НЕ), (ИЛИ – НЕ); пары элементарных функций (И, НЕ), (ИЛИ, НЕ) и др. Набор из
трех функций (И, ИЛИ, НЕ) является избыточным. Совре­менные серии логических микросхем содержат, как правило, функ­ционально избыточный набор элементов.
2.3. Основные законы алгебры логики
Начало алгебры логики было положено трудами ирландского ма­тематика Джорджа Буля и получила его имя – булева алгебра. Булева алгебра построена как алгебраическая система на операциях дизъ юнкции (булева сумма), конъюнкции (булево произведение), отри­цания и исключения. Булева функция (булево выражение) образуется
24
-
как комбинация трех первых операций над любым конечным числом
1221
,;XXX X
12 31 23
() (),
XX XX X X
1213 123
()() ;
XXXX XXX
;
XX X
;
XXX
0;
;
XX
0,
XX
1,
XX
11,
00;
12 1 2
XX X X
12 1 2
,
XX X X
1212
;
XXXX
1212
;
XXXX
1121
,
XXX X
11 2 1
(),
XX X X
1121
,
XXXX
11212
.
XXX XX
аргументов и их инверсий.
Для булевой алгебры справедливы следующие законы и соотно-
шения:
1) переместительный (перестановки)
∨=∨
XX XX
=
12 21
2) сочетательный (порядок выполнения операций)
∨∨=∨∨
() ();
XX X X XX
12 3 1 23
=
3) распределительный (общий множитель)
() ,
XX X XX XX
∨= ∨
12 3 12 13
∨∨=∨
4) тавтология
=
∨=
5) закон исключенного третьего
6) двойное отрицание
=
7) операции над константами
∨=
X ∨=
=
X ⋅=
8) формулы Де Моргана
;1=∨ XX
XX=
=∨ или
∨= или
9) операция поглощения
∨=
∨=
∨=∨
=∨
∨=
∨=
25
Последнее выражение требует доказательства. Умножим левую
12 3 12 3
1.
fXX X XXX
часть равенства на единицу, равную (
XX ∨ ). Получим
22
,)()(
XXXXXXXXXX
∨=∨∨∨=
2121212121
0)()(
XXXXXXXXXXXXX
=∨∨∨=∨∨∨
2121212221221
что и требовалось доказать;
10) операция склеивания
;
XXXXX =∨ .))((
12121
XXXXX =∨∨
12121
Все соотношения остаются справедливыми, если под X понимать лю­бое булево выражение. Например,
XXXXXX ∨=∨∨
212121
,))((
что легко доказать простыми преобразованиями с использованием правил 4, 3, 7:
()()
X X X X XX XX XX X X
∨ ∨=∨∨∨ =
1212 11122122
XXX XX X XXX
=∨ ∨ = ∨ ∨ =∨
112 21 2 212
(1 ) .
На основе законов и правил булевой алгебры можно определить некоторые свойства булевых функций.
1. Функция, описываемая произвольной дизъюнкцией, не меняет­ся при выбрасывании из нее дизъюнктивных членов (слагаемых), равных нулю:
2. Произвольная дизъюнкция равна единице, если хотя бы один из ее членов равен единице
3. Произвольная конъюнкция не меняется при выбрасывании из нее всех сомножителей, равных единице
4. Произвольная конъюнкция равна нулю, если хотя бы один из сомножителей равен нулю:
26
XXXXf ∨=∨∨=
.1121=∨∨= XXf
=⋅⋅=
.00
=⋅= XXXf
321
.0
2121
2.4. Нормальные формы булевых функций
Существуют две основные формы записи булевых функций: в виде
суммы произведений аргументов (или их инверсий), например,
,
XXXXZ ∨= или в виде произведений сумм аргументов (или
3121
их инверсий), например, ).)((
XXXXZ ∨∨= Первая форма за-
3231
писи называется нормальной дизъюнктивной формой (НДФ), вторая – нормальной конъюнктивной формой (НКФ).
Если в каждом слагаемом НДФ содержатся все аргументы (или их инверсии), то такая форма называется совершенной (СНДФ). Ана­логично существует СНКФ. Каждое произведение (конъюнкцию) в СНДФ называют минтермом, а каждую сумму (дизъюнкцию) – мак- стермом. Совершенные нормальные
формы хороши тем, что при совпадении совершенных нормальных форм записи двух функций следует, что эти функции одинаковы. При ненормальных формах записи такое заключение не всегда очевидно. Например, рассмотрим
две функции:
Z
? Сразу на этот вопрос ответить трудно. Но если преобразовать эти
2
XXXZ ∨= и
2111
XXXZ ∨= . Равны ли Z
2212
1
и
записи в совершенную форму, ответ будет очевиден. Для этого ум-
),(
ножим в первой функции первое слагаемое на
XX ∨ т.е. на
22
единицу. Значение функции от этого не изменится. Получим
1
211
XXXXXXZ ∨∨= . Аналогично в выражении для Z
ножим второе слагаемое на
21212
XXXXXXZ ∨∨=
212
).(
XX ∨ Результат этого умножения
11
показывает, что Z1 = Z2.
21
ум-
2
Несовершенных форм записи для одной и той же функции может
быть несколько. Например, функция гую тождественную запись:
. Последнюю форму можно
XXZ ∨=
21
имеет и дру-
XXXZ ∨=
2111
рассматривать и как НДФ (каждое слагаемое состоит из «произведения» одного аргумента), и как НКФ (в произведении дизъюнкции только один сомножитель).
С помощью совершенных форм записи легко переводить в аналити­ческую форму, представленную в виде таблицы истинности. Пояс­ним это на примере функции Z = f(X
, X2, X3), заданной в табл. 2.5.
1
27
Таблица 2.5
123123123123
()()()().
ZXX XXXXXXXXX X
Номер строки X1 X2 X3 Z
0 0 0 0 0 1 0 0 1 0 2 0 1 0 1 3 0 1 1 1 4 1 0 0 1 5 1 0 1 0 6 1 1 0 0 7 1 1 1 1
Если использовать СНДФ, то это будет означать, что одно из сла­гаемых при определенном наборе аргументов (или их отрицаний) долж­но быть равно единице. В таблице единичные значения получены во второй, третьей, четвертой и седьмой строках. Чтобы каждое произве­дение было равно единице, необходимо записать для второй строки
XXX , для третьей
седьмой
321
XXX
, т.е. вся функция будет записываться следующим об-
321
XXX , для четвертой
321
2
1
XXX и для
3
разом:
1321321
32
.
XXXXXXXXXXXXZ ∨∨∨=
321
Если делать запись в СНКФ, то одна из сумм должна быть равна ну­лю при наборах, дающих нулевые значения функции. Рассуждая ана­логично, получим
=∨∨∨∨∨∨∨∨
Запись в СНДФ компактнее и удобнее, чем в СНКД, и в дальней­шем будут в основном использоваться именно дизъюнктивные фор­мы записи, кроме случаев, когда функция имеет только одно нулевое значение.
2.5. Минимизация булевых функций
Запись булевых функций в виде СНДФ и СНКФ, однако, не явля­ется самой простой. При технической
реализации дискретных уст­ройств желательно обойтись минимальным количеством наиболее простых элементов, реализующих те или иные логические функции. Для этого надо преобразовать заданную функцию к такому виду, чтобы выражение содержало как можно меньше членов с минималь­ным числом переменных в каждом члене. Процесс такого преобразо­вания называется минимизацией булевых функций. Большинство
28
ме-
тодов минимизации направлено на получение минимальной НДФ. В настоящее время разработано много методов минимизации, в том числе и с применением ЭВМ в сложных случаях.
Следует, однако, иметь в виду, что минимизация функций есть не цель, а средство, позволяющее построить простейшую схему проек­тируемого устройства. Тождественны ли минимизация и построение простейших схем
зависит от имеющегося в распоряжении разработ­чика технических средств. Вполне возможно, что лучшая схема мо­жет быть создана и не на основе абсолютно минимальной записи ее функционирования.
Наиболее употребительными способами минимизации являются алгебраические и графические методы. Простейшие алгебраические методы сводятся к тождественным преобразованиям заданной функ­ции с помощью основных законов
и тождеств булевой алгебры (опе­раций поглощения, склеивания и других, описанных в разд. 2.3), Ал­гебраические методы, дающие минимальные формы при большом числе переменных, достаточно сложны.
При числе переменных не более четырех удобно для процесса ми­нимизации использовать карты Карно. Этот метод прост и нагляден. Он принципиально пригоден и при большом числе
переменных, но становится громоздким и менее наглядным, и из-за этого не всегда можно получить минимальные формы. Объем курса позволяет нам познакомиться только с методом Карно, но, усвоив дополнительно несколько понятий алгебры логики, можно легко освоить и метод су­щественных переменных.
Рассмотрим минимизацию логических функций методом Карно.
Предварительно напомним о
двух понятиях.
1. Две конъюнкции называются соседними, если они отличаются
значением только одной переменной. Например,
и ;
X
1X2
XX
21
2. Операция склеивания определяется как
и
XXX
321
XXX
.321
,ABAAB =∨ где А, В –
любые булевы выражения.
Следовательно, к соседним минтермам применима операция склеивания, в результате которой получаем одну конъюнкцию, не содержащую переменной, по которой соседние конъюнкции склеи­ваются. Например,
.
;
XXXXX =∨
12121
XXXXXXXX =∨
31321321
29
Напомним также, что разметка координат карт Карно осуществля­ется таким образом, что две рядом расположенные строки, так же как и два рядом расположенных столбца являются соседними. Следова­тельно, две рядом расположенные клеточки (по строке или столбцу) являются соседними. Это относится и к крайним верхней и нижней строкам и к левому и
правому столбцам. Таким образом, и четыре
квадрата, расположенных по углам карты, являются соседними.
Обратимся к примеру функции, представленной таблицей истин­ности (табл. 2.6).
Для записи СНДФ этой функции нужно составить дизъюнкцию минтермов (конъюнкций), на которых функция приобретает единич­ное значение. Чтобы яснее представить содержание формальной процедуры записи минимальной НДФ, по конфигурациям,
образо­ванным клеточками с единичными значениями функции, запишем прежде ее СНДФ:
f XXXX XXXX XXXX XXXX
= ∨∨∨∨
1234 1 34 123
XXXX XXXX XXXX
∨∨∨
2424
134123 13
2 4 1234
.
Первая и вторая конъюнкции являются соседними по X
тат их склеивания
XXX . Объединим их клеточки в конфигура-
431
цию (рис. 2.4).
Таблица 2.6
X
X2 X3 X4 Z
1
0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1
30
; резуль-
2
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]