Рис. 2. Функция «И»

Рис. 3. Функция «ИЛИ»

Свойства остальных функций ясны из их названий и формул. Ниже приведены основные аксиомы логической алгебры. Их непротиворечивость может быть легко проверена путем подстановки в обе части равенств переменных 1 и 0.

1)  — закон двойного отрицания;

2)  X1×X2= X2×X1 и X1+X2= X2+X1 — переместительные законы (коммутативности);

3)  X1×(X2×X3)=(X1×X2)×X3 и X1+(X2+X3)=(X1+X2)+X3 — сочетательные законы (ассоциативности);

4)  X1×(X2+X3)=X1×X2+X1×X3 и X1+(X2×X3)=(X1+X2)(X1+X3) — распределительный закон (дистрибутивности);

5)  X×X=X и X+X=X — законы тавтологии;

6)  )X1×(X1+X2)=X1 и X1+(X1×X2)=X1 — законы поглощения;

7)  — законы склеивания;

8)  и — законы инверсии (де Моргана);

9)  =0 — законы дополнительности.

Многие законы, например, переместительный, сочетательный, распределительный, инверсии, можно распространить на случай большого количества переменных. Для этого достаточно в эти законы вместо одной из переменных подставить комбинацию (суперпозицию) нескольких других переменных. Таким же образом, подставляя вместо аргументов булевой функции какие-либо другие булевы функции или их комбинации, можно получить бесчисленное множество различных сложных функций. Возникает вопрос: возможен ли набор более простых булевых функций, на основании которых можно получить любую, сколь угодно сложную? Такой набор называется полной системой. Оказывается, полных систем существует много. Почти очевидная система состоит из 3 основных функций: И, ИЛИ, НЕ. Менее очевидно, что существуют системы, состоящие только из одной функции. Например, такими функциями являются ИЛИ-НЕ и И-НЕ (рис. 4).

НЕ нашли? Не то? Что вы ищете?

Докажем функциональную полноту функции И-НЕ, для чего рассмотрим получение из нее функций И, ИЛИ, НЕ:

а) операция НЕ получится, если в качестве аргументов функции И-НЕ взять X и 1: ;

Рис. 4. Функции:

а) — И-НЕ; б) — ИЛИ-НЕ

б) операция ИЛИ получится, если в качестве аргументов взять функции , а операцию НЕ мы уже умеем делать: (закон инверсии + двойное отрицание);

в) операция И получится, если взять отрицание функции И-НЕ.

Аналогично можно доказать функциональную полноту функции ИЛИ-НЕ.

Тот факт, что полная система может быть образована только из одной функции, является исключительно важным на практике, т. к. на основе однотипных (базовых) микросхем можно получить любую, сколь угодно сложную функцию любого числа переменных. Для построения таких комбинационных схем необходимо, чтобы выходы базовых микросхем можно было подключать к входам других таких схем. Число возможных входов, обеспечивающихся одним выводом базовой микросхемы, определяет функциональные возможности микросхемы и называется коэффициентом размножения по выходу.

2.3. Реализация сложных логических функций на интегральных микросхемах.

Учитывая ограниченный ассортимент (набор) интегральных схем по числу выполняемых операций, для практической реализации произвольных логических функций часто необходимо представить их через единственную операцию типа И-НЕ или ИЛИ-НЕ. Такое преобразование выполняется в 3 этапа.

2.4. Составление функционального уравнения.

На этом этапе выписывают те комбинации значений переменных, при которых искомая функция — «ИСТИНА», т. е. равна 1, далее каждую комбинацию записывают в виде произведения тех переменных, которые в данной комбинации равны 1, а затем все полученные произведения суммируют. Пусть, например, требуется сконструировать «пороговую» ячейку для трех сигналов, на выходе которой напряжение равно единице только в том случае, когда, по крайней мере, два сигнала равны 1. Обозначив переменные буквами X1, X2, а функцию — F, видим, что F=1 в том случает, если X1=1, X2=1, X3=1, или X1=1, X2=1, X3=0, или X1=1, X2=0, X3=1, или X1=0, X2=1, X3=1. Данное условие можно записать в виде:

.

Для отыскания всех возможных комбинаций переменных, обеспечивающих единичное значение функции, используют таблицы состояний (рис. 5).

X1

X2X1

0

1

00

01

11

10

X2

0

00

01

00

0000

0001

0011

0010

1

10

11

X4X3

01

0100

0101

0111

0110

11

1100

1101

1111

1110

10

1000

1001

1011

1010

X2X1

00

01

11

10

X3

0

000

001

011

010

1

100

101

111

110

Рис. 5. Таблицы состояний простых произведений:

а — для двух, б — трех и в — четырех переменных

Вместо нулей и единиц в таблице можно указывать десятичные эквиваленты двоичных чисел, соответствующих наборам переменных (рис. 6). Например, двоичное число 1010 в десятичной системе будет равно:

1×23+0×22+1×21+0×20=10.

X2X1

X2X1

00

01

11

10

00

01

11

10

0

1

3

2

X3

0

0

1

3

2

1

4

5

7

6

X2X1

00

01

11

10

00

0

1

3

2

X4X3

01

4

5

7

6

11

12

13

15

14

10

8

9

11

10

Рис. 6. Таблицы состояний, выраженные десятичными цифрами

Процедура составления функционального уравнения заключается в переборе всех клеток таблицы состояний и занесении единиц в клетки, которые определяют логическое произведение переменных, дающее истинное значение функции F. В частности, для нашего случая будем иметь F(3,5,7,6)=1 (рис. 7).

Рис. 7. Диаграмма минимизации функции F

2.5. Преобразование полученного уравнения с целью возможного упрощения.

Для преобразования можно использовать как непосредственно аксиомы алгебры логики, так и специальные приемы. Произведем упрощение выражения для F на основе аксиом.

Другим, более простым, способом получения минимизированного выражения является построение диаграмм минимизации для чего в таблице состояния единицы обводятся контурами, содержащими 2, 4 или более (число, кратное 2) клеток. Контуры могут перекрываться.

Для нашего случая можно построить три таких контура, содержащих по две клетки. Искомое минимизированное выражение есть логическая сумма укороченных произведений переменных, имеющих одно значение в пределах контура, без переменных, имеющих оба возможных значения (0 и 1) в пределах контура. Таким образом, согласно рис. 7, будем иметь

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22