Логическое проектирование
Логические схемы выполняют логические операции над одной или несколькими логическими переменными. Логическая переменная – сигнал, принимающий значения ДА-НЕТ, ИСТИНА-ЛОЖЬ, 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
b

f b
Исключающее ИЛИ.
ОСНОВНЫЕ ЛОГИЧЕСКИЕ ФУНКЦИИ.
Введем понятие пропозициональная форма. Пропозициональная форма - набор символов и отношение между собой логических переменных, в простейшем варианте определения - связующая функция между переменными (объектами) в булевой логике, в которой переменные и сама функция принимают значения «0» и «1».
Основные определения булевой алгебры.
Пусть
В - некоторое множество, f и g - функции,
для которых при x, y, z
B выполняются следующие условия
![]()

Чаще всего используют следующие функции:
а) повторение F = A, где А - переменная;
б)
инверсия (отрицание, НЕ) F =
=
=
A;
в)
логическое сложение (дизъюнкция, ИЛИ)
F = A + B = A
B
(функция двух переменных), выражение
для большего числа переменных можно
записать следующим образом F =
,
где
- переменные;
г)
логическое умножение (конъюнкция, И) F
= A * B = A & B = A
B
(функция двух переменных), выражение
для любого числа переменных - F =
, где
- переменные;
д)
операция ИЛИ-НЕ F = (A
+ B) =
( стрелка Пирса); соответственно для
нескольких переменных F =![]()
е)
операция И-НЕ F =
(штрих Шеффера), для нескольких переменных
-
F
=
переменные;
ж)
операция «эквивалентность» F = A
B
=
(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 &
-
AB
F
0
0
0
0
1
0
1
0
1
11
0
B
O
O f =(АВ)=
![]()


«тавтология»
F = А
=1,
А
&
О О 1
при помощи последней схемы можно выполнить
схему формирования сигнала, введя линию задержки из нечетного числа инверторов:
А




&
o
Л.З. о
«


Бистабильная
ячейка» F =![]()
A F
