Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы логического синтеза цифровых устройств.doc
Скачиваний:
274
Добавлен:
05.06.2015
Размер:
1.05 Mб
Скачать

5. Теорема разложения логических функций

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

Теорема разложения логических функций.

Любую логическую функцию F(X1,X2,...,Xp,...,Xn) можно разложить по переменной Xp:

__

F(X1,X2,..., XP,...,Xn)= XpF(X1,X2,...,0,...,Хn)  XpF(X1,X2,...,1,...,Xn) .

Докажем теорему методом перебора:

а) пусть переменная Xp=0, тогда

F(X1,X2,...,0,...,Xn)=1F(X1,X2,...,0,...,Xn)  0F(X1,X2,...,1,...,Xn)=

=F(X1,X2,...,0,...,Xn),

т.е. теорема справедлива независимо от значений других переменных;

б) пусть переменная Xp=1, тогда

F(X1,X2,...,Xp,...,Xn)=0F(X1,X2,...,0,...,Xn)  1F(X1,X2,...,1,...,Xn)=

=F(X1,X2,...,1,...,Xn),

и в этом случае теорема справедлива независимо от значений других переменных.

В результате получаем функцию, которая уже зависит от (n-1) переменной.

Продолжая разложение по другим переменным, в конце полного разложения получим дизъюнкцию всех переменных вида:

где: i=0,1, ..., (N-1); N=2n.;

C1i=Xb11Xb22...Xbnn - минтерм;

F(Ai)-значение функции ( 0 или 1), которое она принимает на наборе Ai.

Например, разложение логической функции И будет иметь вид:

F(X1,X2)=C10F(0)+C11F(1)+C12F(2)+C13F(3)=C131 .

Форма записи, когда логическая функция представляется в виде дизъюнкции (логической суммы) минтермов, называется совершенной дизъюнктивной нормальной формой (СДНФ).Причем для представления логической функции достаточно рассматривать только те наборы переменных Ai, при которых F(Ai)=1 , т.к. C1iF(Ai)=0 при F(Ai)=0 .

Так для логической функции Исключающее ИЛИ:

__ __ F(X1,X2)=C100+C111+C121+C130=C11+C12=X1X2+X1X2 .

СДНФ легко получить из таблицы истинности логической функции, записав дизъюнкцию (логическую сумму) тех минтермов, при которых логическая функция принимает значение 1.

i

X1

X2

X3

F

0

0

0

0

0

1

0

0

1

1

2

0

1

0

1

3

0

1

1

0

4

1

0

0

0

5

1

0

1

1

6

1

1

0

0

7

1

1

1

1

Например, для произвольной логической

функция с заданной таблицей истинности:

__ __ __ __ __

F(X1,X2,X3)=X1X2X3+X1X2X3+X1X2X3+X1X2X3.

F(A0)=F(A3)=F(A4)=F(A6)=0 , их не учитываем.

Иногда СДНФ называют формой представ-

ления логической функции по единицам.

На основании закона двойственности теорему разложения и записи функции можно представить через конъюнкцию переменных:

__

F(X1,X2,...,Xp,...,Xn)=[ XpF(X1,X2,...,1,...,Xn) ]  [ XpF(X1,X2,...,0,...,Xn) ] ,

и в результате полного разложения по всем переменным получим конъюнкцию

Здесь существенными являются только те наборы Ai, при которых F(Ai)=0, т.к. С0i 1=1 независимо от значения C0i .

Это будет совершенная конъюнктивная нормальная форма (СКНФ),или форма представления по нулям.

Для рассмотренного выше примера представления функции в СДНФ эта же функция в СКНФ будет иметь вид:

__ __ __ __ __

F(X1,X2,X3)=(X1+X2+X3)(X1+X2+X3)(X1+X2+X3)(X1+X2+X3).

Здесь рассматриваются только те строчки таблицы истинности, где функция равна нулю.