Лекция 10 Построение логических схем

advertisement
Дискретная математика: Математическая логика
Лекция 10
Построение логических схем
Значение математической логики для практики связано, прежде всего, с применением их
для моделирования электронных схем, предназначенных для «вычисления» логических
функций. Такие модели называются логическими схемами. Логическая схема состоит из
структурных (функциональных логических) элементов и схемой (структурой) их
соединения. Каждый структурный элемент представляет собой прямоугольник с входами
и одним выходом, инверсные входы и выходы соответствуют не закрашенным кружочкам.
Сам элемент обозначается следующим образом:

единицей, если он реализует логическое сложение;

знаком конъюнкции «&», если реализует логическое умножение;

M2, если соответствует сложению по модулю два;

“”, если реализует функцию эквивалентности.
На рис. 1 представлен набор структурных логических элементов, каждый из которых
реализует одну из логических функций, обеспечивающих функциональную полноту.
a -> b
ab
a
a
a
1
b
a
&
a
a |b
a
ab
a
mod
a
b
_
b
mod 2

a
1
b
a b
_
a
a+b
b
&
1
b
Рис. 1. Структурные логические элементы.
Структура, схема соединения элементов должна удовлетворять следующим требованиям:

каждый вход должен быть соединен не более чем с одним выходом;

существует ровно один выход, который не соединен ни с одним входом (выход
схемы). Этому выходу сопоставляется «вычисляемая» функция f(x1, … xn);
1
Дискретная математика: Математическая логика

существует ровно n входов, не соединенных ни с одним выходом (входы
логической схемы). Каждому входу сопоставляется одна из переменных x1, x2, …
xn

- в схеме должны отсутствовать обратные связи.
Логические схемы позволяют решать две основные для приложений задачи:
1) Задача анализа: для заданной логической схемы определить логическую
функцию, которая «вычисляется» этой схемой;
2) Задача синтеза: для заданной логической функции и заданного набора
структурных логических элементов построить логическую схему, которая
«вычисляет» заданную логическую функцию.
Ниже рассмотрены два простых метода синтеза логических схем.
Метод 1.
1. Построим таблицу истинности для рассматриваемой функции
2. Построим совершенную ДНФ
3. Упростим СовДНФ и получим минимальную ДНФ
4. Приведем функцию к виду, удобному для реализации в заданном базисе.
5. Проведем анализ функции и построим схему из функциональных элементов.
Например, рассмотрим построение схем для функции f(x1, x2, x3, x4), истинной на наборах
1, 3, 5, 10 и14 в базисе Шеффера или на функциональных элементах И-НЕ.
СДНФ = x1 x 2 x3 x 4  x1 x 2 x3 x 4  x1 x 2 x3 x 4  x1 x 2 x3 x 4  x1 x 2 x3 x 4
МДНФ = x1 x2 x4 + x1 x3 x4 + x1 x3 x4 = x1 x4( x2 + x3) + x1 x3 x4 =
 ( x1  x 4  ( x 2  x3))  ( x1  x3  x 4)  A  B
A  x1  x 4  ( x 2  x3)  x1  x 4  ( x 2  x3)` ( x1  x 4) | ( x 2  x3) 


B  x1| x3  x 4  x1| x3
| x 4  ( x1| x3) | ( x1| x3) | x 4 | x 4
 ( x1  x 4) | ( x1  x 4) | ( x 2 | x3)   ( ( x1| x1) | x 4 ) | ( ( x1| x1 ) | x 4 ) | ( x 2  x3)
2
Дискретная математика: Математическая логика
X1 X2 X3 X4
X1
&
&
&
A
&
X4
X3
&
&
X2
X3
&
&
x!
B
&
x4
&
Рис. 2. Логическая схема функции f1
Сама логическая схема представлена на рисунке 2.
Метод 2.
1. Представляем связки алгебры Буля в данном базисе
2. Строим таблицу истинности исследуемой функции и СДНФ.
3. Упрощаем функцию и вводим скобки.
4. Каждую связку И, ИЛИ, НЕ сразу представляем схематично.
5. При возникновении двойного отрицания вычеркиваем пару элементов, которые
выполняют роль инверторов.
Связки для функций Булева базиса, выраженные через функциональный элемент
Шеффера, приведены на рисунке 3. Аналитически их можно представить так:
a  a  a  a|a
a  b  a  b  a  b  a | b   a | b |  a | b 
a  b  a  b  a | b   a | a |  b | b 
3
Дискретная математика: Математическая логика
a
_
a
&
a
ab
b
&
&
a
&
a+b
&
b
&
Рис. 3. Представление элементов классического базиса в базисе Шеффера
С помощью рассмотренных связок можно построить схему для функции f(x1, x2, x3, x4),
истинной на наборах 1, 3, 5, 10 и 14 методом непосредственного моделирования.
Построим минимальную дизъюнктивную форму и вынесем за скобки общие множители
МДНФ = x1x2 x4 + x1x3 x4 + x1 x3x4 = x1 x4(x2 + x3) + x1 x3x4
Схема, полученная непосредственным моделированием, полностью совпадает с
предыдущей и приведена на рисунке 2.
Рассмотрим несколько примеров.
Задачи
1. Построить схему в базисе Шеффера для функции
f(x1, x2, x3) = (x1 | x2) | (x2 | x3)
Для построения схемы каждое вхождение функции Шеффера | необходимо заменить
функциональным элементом. Результат построения приведен на рисунке 4. Сложность
схемы равна трем.
4
Дискретная математика: Математическая логика
2. Построить схему в базисе Буля для функции f(x1, x2, x3) = (x1 | x2) | (x2 | x3).
Построение схемы в каком-либо функциональном базисе, когда функция задана в совсем
другом базисе осуществляется в два этапа.
Вначале необходимо представить исходную функцию в требуемом базисе:
f(x1, x2, x3) = (x1 | x2) | (x2 | x3)  ( x1  x2) | ( x2  x3)  x1  x2  x2  x3  x1 x2  x2 x3  x2 ( x1  x3)
На следующем шаге можно построить схему. Результат построения приведен на
рисунке.5. Сложность схемы равна 3.
3. Построить схему в базисе Вебба для функции f(x1, x2, x3) = (x1 | x2) | (x2 | x3).
Вначале представим исходную функцию в требуемом базисе:
f(x1, x2, x3) = (x1 | x2) | (x2 | x3 )= x2( x1 + x3) = (x2
x2)
(x1
x3)
На втором шаге построим схему. Результат построения приведен на рисунке 6. Сложность
схемы равна 3.
x1
x2
x3
f(x1, x2, x3) = (x1 | x2) | (x2 | x3)
f
&
&
&
Рис. 4. Схема из задачи 1
5
Дискретная математика: Математическая логика
x1
x2
x3
f(x1, x2, x3) = x1 x2 + x2 x3
f
&
1
&
Рис. 5. Схема из задачи 2
Если переменную х2 вынести за скобку, то схема будет проще.
6
Дискретная математика: Математическая логика
Рис. 6 Схема из задачи 3
ЛИТЕРАТУРА
1. Горбатов В.А. Фундаментальные основы дискретной математики. - М.: Наука.
Физматлит, 1999.-544с
2.
Гусева А.И. Учимся информатике: задачи и методы их решения. - М.: ДИАЛОГМИФИ, 2003.
7
Related documents
Download