Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
элементы дискретной математики.doc
Скачиваний:
23
Добавлен:
05.09.2019
Размер:
2.19 Mб
Скачать

3.7. Реализация функций в элементных базисах

Устройства, реализующие элементарные булевы функции, называют логическими элементами. Их входы соответствуют булевым переменным, а выход - реализуемой функции. На рис.3.7 изображены различные типы логических элементов.

x x  x 1   x 1

x 1 x 2 x 1  x 2

x 2 x2

а) "НЕ" б) "И" в) "ИЛИ"

x1

x2

x1

x2

x1x2

x1x2

Г) «И-НЕ» д) «ИЛИ-НЕ»

Рис. 3.7. Типы логических элементов

Из логических элементов конструируют  логические схемы. Они образуются объединением полюсов логических элементов. Естественно, что множество логических элементов должно быть таким, чтобы из них можно было построить схему для любой логической функции. Такое множество элементов называют  базисом.

Базисами являются:

 классический  базис {НЕ, И, ИЛИ};

базисы  шефферовского  типа - {И-НЕ} и {ИЛИ-НЕ}.

Рассмотрим, например, реализацию в классическом базисе функции "сложение по модулю два" для двух переменных:

f (х 1, х 2) = х 1 х 2 = х 1  х 2 v  х 1  х 2

Таблица истинности функции представлена таблицей 3.10, а логическая схема изображена на рис.3.8.

Таблица 3.10

X1

X2

X1

X2

X1∙ X2

X1∙ X2

X1+X2

0

1

0

1

0

1

0

1

1

1

0

0

1

0

1

0

0

1

0

0

0

0

1

0

0

1

1

0

Рис.3.8. Логическая схема функции

f = x1 x2 в классическом базисе

Для реализации этой схемы потребовалось 5 логических элементов - 2 элемента "НЕ", 2 элемента "И" и один элемент "ИЛИ". Для реализации такой же функции в базисах шефферовского типа требуется 6 логических элементов. Для базиса "ИЛИ-НЕ" логическая схема показана на рис.3.9.

x 1 x1  x2

x1 v  x2 x1~  x2 x1 x2

x2 x1  x2

Рис. 3.9. Логическая схема функции

f = x1 x2 в базисе "ИЛИ-НЕ"

Эквивалентные преобразования имеют следующий вид:

х 1  х1  х2  = х1 ( х1 х2 ) = х1 ( х1  х2 ) = х1 х1  х1  х2 = 0  х1  х2 =

= х1  х2

( х1  х2 )  х2 = ( х1  х2 )  х2 = ( х1  х2 )  х2 = х1 х2  х2  х2 = х1 х2   0 = х1 х2

х 1 х2  х1  х2 = х1 х2  х1  х2 = ( х1  х2 ) ( х1  х2 ) = ( х1  х2 )  ( х1

 х2  ) = х1 х1  х1 х2  х2  х1  х2  х2 = 0  х1 х2  х1 х2  0 = х1 х2   х1 х2

х 1 х2  х1  х2 = ( х1  х2) ( х1  х2) = ( х1 х2) ( х1 х2) =( х1 х1  х1 х2

 х2  х1  х2  х2) = 0  х1 х2  х1 х2  0 = х1 х2  х1 х2 = х1 х2

В этих преобразованиях использовались, в основном, законы де Моргана.

Количество логических элементов в логической схеме зависит от сложности булевой функции. Поэтому с помощью эквивалентных преобразований стараются ее упростить - минимизировать в ней число логических элементов, а затем уже реализовать в каком-либо элементном базисе. Область науки, которая изучает эти вопросы, называется теорией логического синтеза дискретных устройств.

Для технической реализации получившегося после этапа логического синтеза решения применяют технический синтез. На этом этапе решаются три задачи: компоновки, размещения и трассировки.

На этапе компоновки логическая схема разбивается на части и размещается по корпусам микросхем. Размещение стараются выполнить таким образом, чтобы минимизировать число связей между корпусами.

На этапе размещения корпуса микросхем располагают на многослойной печатной плате, а на этапе трассировки между контактами микросхем проводят электрические соединения. При этом стараются минимизировать число пересечений между проводниками.

x1  x2 

x2  x1 

Рис.3.10. Пересечение связей

На рис.3.10 полюса логических элементов жестко закреплены на печатной плате. Поэтому трассировку связей х1  - х1  и х2  - х2  следует проводить в различных слоях печатной платы.

Возможно иное решение задачи. Пересечение двух связей можно реализовать в виде логической схемы - (2,2) - полюсника (рис.3.11а). При этом логические элементы можно расположить на плоскости таким образом, чтобы связи между ними не пересекались. Минимальная схема, как в классическом, так и в базисе шефферовского типа содержит 8 логических элементов

( рис 3.11б). Поэтому логические схемы, в которых пересечения замещены подобными "плоскими" (2,2) - полюсниками, обладают большой элементной избыточностью и на практике не применяются.

x1 x2 

x1 x2

x2 x1   

x2 x1 

а) схема (2,2) - полюсника б) реализация в базисе ИЛИ - НЕ

Рис.3.11. Плоская реализация пересечения

Пример. Дана функция f = .

Реализовать функцию f в классическом базисе { }и базисе шефферовского типа { }.

  1. Дан базис { }.

X 1

f

X 2

X 3

2 .Для реализации функции f в базисе { } обозначим f1=X1, f2= , f3= . Получим f= . Тогда “хвост” схемы будет иметь следующий вид:

f

Д ействительно, .

Инвертируя получим функцию f. Схема будет иметь следующий вид.

1

f

X 2

X 3

3.8. Совершенная дизъюнктивная нормальная форма

X , если >1

Положим, что

, если =0

{0,1}.

Представление функции алгебры логики в виде f=(X1,X2,…Xn)= называется совершенной дизъюнктивной нормальной формой (СДНФ).

Алгоритм перехода от табличного задания функции к СДНФ

  1. Выбрать в таблице задания функции все наборы аргументов, на которых функция обращается в единицу.

  2. Выписать конъюнкции, соответствующие этим наборам аргументов, с учетом значений аргументов.

  3. Соединить полученные конъюнкции операцией дизъюнкция.

Пример.

X1

X2

X3

f(X1,X2,X3)

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

1

1

0

1

0

1

1

0

1

1

1

1

0


f= Таким образом, логическая функция полностью определена совокупностью единичных наборов значений аргументов. Функцию f можно определить и через нулевые наборы:

f=