
Логическое проектирование
Логические схемы выполняют логические операции над одной или несколькими логическими переменными. Логическая переменная – сигнал, принимающий значения ДА-НЕТ, ИСТИНА-ЛОЖЬ, 1-0.
Схемы, реализующие два устойчивых состояния, называются двоичными. Формальное описание двоичных схем осуществляется при помощи математического аппарата булевой алгебры. Эта алгебра оперирует булевыми переменными 0 и 1.
Основные операции булевой алгебры
- Логическое умножение, конъюнкция, «И».
Обозначение: x.
F = A * B = A & B … и т.д.
Результат операции над логическими переменными записывается в таблицу истинности:
-
A
B
F
0
0
0
0
1
0
1
0
0
1
1
1
Обозначения блока, реализующего умножение в схемах:
A
A
&
F F
B B
- Логическое сложение, дизъюнкция, «ИЛИ».
Обозначение: .
F = A + B.
Таблица истинности:
-
A
B
F
0
0
0
0
1
1
1
0
1
1
1
1
Символ в схемах:
A
A
F
F
B B
Инверсия, «НЕ».
Обозначения: , А, ].
F = .
Таблица истинности и обозначения:
-
A
F
0
1
1
0
a
a =1 f= ab
+ab
bf b
Исключающее ИЛИ.
ОСНОВНЫЕ ЛОГИЧЕСКИЕ ФУНКЦИИ.
Введем понятие пропозициональная форма. Пропозициональная форма - набор символов и отношение между собой логических переменных, в простейшем варианте определения - связующая функция между переменными (объектами) в булевой логике, в которой переменные и сама функция принимают значения «0» и «1».
Основные определения булевой алгебры.
Пусть
В - некоторое множество, f и g - функции,
для которых при x, y, z
B выполняются следующие условия
Чаще всего используют следующие функции:
а) повторение F = A, где А - переменная;
б)
инверсия (отрицание, НЕ) F ==
=
A;
в)
логическое сложение (дизъюнкция, ИЛИ)
F = A + B = AB
(функция двух переменных), выражение
для большего числа переменных можно
записать следующим образом F =
,
где
- переменные;
г)
логическое умножение (конъюнкция, И) F
= A * B = A & B = AB
(функция двух переменных), выражение
для любого числа переменных - F =
, где
- переменные;
д)
операция ИЛИ-НЕ F = (A
+ B) =
( стрелка Пирса); соответственно для
нескольких переменных F =
е)
операция И-НЕ F = (штрих Шеффера), для нескольких переменных
-
F
= переменные;
ж)
операция «эквивалентность» F = AB
=
(A
B) , функция принимает истинностные
значения при равенстве значений А и В;
з) операция «неэквивалентность» F = A B , функция принимает истинностные значения при неравенстве значений А и В («исключающее ИЛИ»);
и) операция «импликация» F = A B , значение «ложно» функция принимает лишь при условии, когда А истинно, а В - ложно, то есть А В = А &( В).
Следствие: если А и В пропозициональные формы (логические выражения), то и любые логические выражения с этими пропозициональными формами также являются логическими выражениями.
Любая пропозициональная форма может быть определена 3-мя связками: , &, (НЕ, И, ИЛИ = инверсия, конъюнкция, дизъюнкция).
Любую функцию можно представить в нормальной конъюнктивной или нормальной дизъюнктивной форме, как сумму произведений либо произведение сумм прямых и инверсных значений переменных.
РАСПРОСТРАНЕННЫЕ АЛГЕБРАИЧЕСКИЕ ТОЖДЕСТВА
x + x = x * j * x * x = x - идемпотентность;
(x + y) + z = x + (y + z) - ассоциативность;
(x * y) = (y * x), (x + y) = (y + x) - коммутативность;
x (x + y) = x * y + x = x - поглощение;
(x + y) * z = x * z + y * z -дистрибутивность;
- правила Де-Моргана.
УСЛОВНО-ГРАФИЧЕСКИЕ ОБОЗНАЧЕНИЯ .
Приведем примеры обозначений логических элементов, наиболее часто применяемых в схемотехнике.
А
F=
Повторитель
А F ; инвертор А о F =
;
инвертор- > o
усилитель
А
0 F =
A A xo
B
& F=A*B B &0
F =
&
И И-НЕ xn-1 И для многих перемен
А
А
х0
1
F=A+B 1 F=1 F=
В
В 0
0
хn-1
ИЛИ ИЛИ-НЕ ИЛИ-НЕ для многих переменных
х1 х1
= 1
F
=F
x2 x2
Исключающее ИЛИ, неэквивалентность.
Символ О - означает инверсию на выходе. В любой элемент может быть добавлен символ > , означающий усиление сигнала на выходе.
Пример. Приведем пример представления логической функции в пропозициональной форме и ее структурную схему.
Пусть известна таблица истинности для некоторой функции, которую нужно реализовать схемотехнически.
x1 |
x2 |
x3 |
F |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
F=P1+P2+P3.
x1
x
o P1
&
x P2 1 F
x2
&
x
O
& P3
O
x3
Основные логические функции можно проиллюстрировать примерами пересечения множеств:
«И»
= &
«ИЛИ» =
= +
А
А
В В
«И-НЕ» = (А&B) = A B «ИЛИ-НЕ» = (А В) = А В
В
ВВВ В
В
А А А
инверсия
«НЕ» =
«импликация»
= А&(
В)
А А А В
Приведем примеры схемной реализации ряда распространенных логических функций с использованием трех основных логических действий (, , ):
«
импликация» F =
*,
таблица истинности функции:
A &
-
A
B
F
0
0
0
0
1
0
1
0
1
1
1
0
B
O
O f =(АВ)=
«тавтология»
F = А
=1,
А
&
О О 1
при помощи последней схемы можно выполнить
схему формирования сигнала, введя линию задержки из нечетного числа инверторов:
А
&
o
Л.З. о
«Бистабильная
ячейка» F =
A F