Научная статья на тему 'Обобщение разложения Шеннона для частично определенных функций: теория и применение'

Обобщение разложения Шеннона для частично определенных функций: теория и применение Текст научной статьи по специальности «Математика»

CC BY
887
98
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕ ПОЛНОСТЬЮ ОПРЕДЕЛЕННАЯ ФУНКЦИЯ / ЧАСТИЧНАЯ ЛОГИКА / РАЗЛОЖЕНИЕ / ДИАГРАММА РЕШЕНИЙ / ОПТИМИЗАЦИЯ

Аннотация научной статьи по математике, автор научной работы — Прихожий А. А.

Известное разложение Шеннона не применимо к не полностью определенным булевым функциям. Предлагается теория, связывающая булеву и частичную алгебры, позволяющая построить новые представления и разложения частично определенных функций. Замечательным свойством разложений является сокращение степени определенности продуктов разложения, что служит источником расширения возможностей при решении задач синтеза, распараллеливания и оптимизации полностью и частично определенных логических программно-аппаратных систем. Результатом предложенной теории является новый тип двоичных диаграмм решений. На примере распараллеливания сумматоров показано значительное увеличение быстродействия системы при незначительном увеличении ее сложности.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Generalization of the shannon expansion for incompletely specified functions: theory and application

The well known Shannon expansion is not applicable to incompletely specified functions. We propose a theory that merges Boolean and partial algebras and provides creation of new representations and expansions of partially specified functions. A powerful property of the expansions is the reduction of definiteness level of expansion products. This is a source of enlargement of possibilities for synthesis, parallelization and optimization of completely and incompletely specified logical software/hardware systems. A result of proposed theory is a new type of decision diagram. It is shown on the parallelization of adders that the throughput of the system grows rapidly while the system complexity grows slowly.Key words: incompletely specified function, partial logic, expansion, decision diagram, optimization.

Текст научной работы на тему «Обобщение разложения Шеннона для частично определенных функций: теория и применение»

УДК 681.3

ОБОБЩЕНИЕ РАЗЛОЖЕНИЯ ШЕННОНА ДЛЯ ЧАСТИЧНО ОПРЕДЕЛЕННЫХ ФУНКЦИЙ: ТЕОРИЯ И ПРИМЕНЕНИЕ

докт. техн. наук, проф. А.А. ПРИХОЖИЙ Белорусский национальный технический университет

Аннотация. Известное разложение Шеннона не применимо к не полностью определенным булевым функциям. Предлагается теория, связывающая булеву и частичную алгебры, позволяющая построить новые представления и разложения частично определенных функций. Замечательным свойством разложений является сокращение степени определенности продуктов разложения, что служит источником расширения возможностей при решении задач синтеза, распараллеливания и оптимизации полностью и частично определенных логических программно-аппаратных систем. Результатом предложенной теории является новый тип двоичных диаграмм решений. На примере распараллеливания сумматоров показано значительное увеличение быстродействия системы при незначительном увеличении ее сложности.

Ключевые слова: не полностью определенная функция, частичная логика, разложение, диаграмма решений, оптимизация.

GENERALIZATION OF THE SHANNON EXPANSION FOR INCOMPLETELY SPECIFIED FUNCTIONS: THEORY AND APPLICATION

Abstract. The well known Shannon expansion is not applicable to incompletely specified functions. We propose a theory that merges Boolean and partial algebras and provides creation of new representations and expansions of partially specified functions. A powerful property of the expansions is the reduction of definiteness level of expansion products. This is a source of enlargement of possibilities for synthesis, parallelization and optimization of completely and incompletely specified logical software/hardware systems. A result of proposed theory is a new type of decision diagram. It is shown on the parallelization of adders that the throughput of the system grows rapidly while the system complexity grows slowly.

Key words: incompletely specified function, partial logic, expansion, decision diagram, optimization.

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

Полностью определенные системы моделируются посредством полностью опреде-

ленных логических (в частности, булевых) функций. Булева функция /х) от векторного аргумента х=(хр.. ,,хя), есть отображение /: В"^В, где множество В={0, 1}. Эффективность использования булевых функций для моделирования и оптимизации систем зависит от форм их представления. Наиболее эффективные формы строятся посредством разложения Шеннона функции /х) по переменной х.:

/х) = х Л А=1 V -х А (1)

где —, л, v - булевы операции инверсии, конъюнкции и дизъюнкции соответственно; fxi=1 и fxj=0, - положительный и отрицательный кофакторы (остаточные подфункции) функции fx) по аргументу x

Частично определенные системы моделируются посредством частично определенных логических функций. Частично определенная булева функция ф(х) от векторного аргумента x=(x1,^,xn), есть отображение ф: Bn^M, где множество M={0, 1, dc }. Элемент dc называется не определенным или безразличным (don’t care) значением. Он может быть заменен произвольным образом на 0 или 1 на наборах значений аргументов из множества ф*, называемого множеством конституент dc. В результате функция ф доопределяется до булевой функции f Всего существует 2 доопределений, составляющих допустимое множество (пространство поиска) при решении задач оптимизации.

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

В частичной логике множество M используется для построения частичных функций. Частичная функция или функция Клини Ф(у) от векторного аргумента y=(yp...,yn) есть отображение Ф: Mn^M. Здесь аргументы и функция принимают три значения 0, 1, dc,

что позволяет строить суперпозиции частичных функций. В частичной логике существует 33=27 одноместных частичных операций, пять операций определены в табл.1. Всего существует 39=19683 двухместных частичных операций, три операции определены в табл.2. В частичной логике в основе получения различных представлений одной и той же частичной функции лежит использование законов. Относительно частичных операций конъюнкции & и дизъюнкции + в полной мере действуют законы ассоциативности, коммутативности, дистрибутивности, идентичности, аннигилятора, идемпотентности, поглощения, двойного отрицания, де Моргана. Законы исключенного третьего, склеивания конъюнкций, поглощения литерала и некоторые другие действуют в ограниченной форме.

Формой «значение/область определенности» (Value-Care Representation - VCR) назовем следующее кодирование частичной пере-меннойу. парой булевых переменных v. и d:

(2)

Таблица 1

Базовые одноместные частичные операции

№ Значения частичной переменной у Обозна- чение операции Имя операции

0 1 dc

1 0 0 0 0 Константа 0

2 0 1 dc У Идентичность

3 1 0 dc ~y Инверсия

4 1 1 1 1 Константа 1

5 dc dc dc dc Константа dc

Таблица 2

Базовые двухместные частичные операции

№ Значения частичных переменных у1 и у2 Обозначение операции Имя операции

0 0 0 1 1 1 dc dc dc

0 1 dc 0 1 dc 0 1 dc

1 0 0 0 0 1 dc 0 dc dc У1&У2 Конъюнкция

2 0 1 dc 1 1 1 dc 1 dc <N +1 У1 Дизъюнкция

3 0 1 dc 1 0 dc dc dc dc CN у * У Исключающее или

Булева переменная v . называется переменной значения, булева переменная d. называется переменной области определенности. При d.=1 частичная переменная у. принимает такое же значение 0 или 1 как и булева переменная v При d.=0 переменная у. принимает неопределенное значение dc независимо от значения переменной v Таким образом, частичной переменной у. ставится в соответствие частично определенная функция, записываемая в дальнейшем посредством вертикальной черты в форме y.=(v.|d.). Для функции (v.|d.) имеют место следующие частные случаи: (v J 0)=(010)=(110) - константа dc независимо от значения v.; (v \ 1) - полностью определенная переменная v.; (0\ 1) - константа 0; (1 \ 1) - константа 1.

Форма VCR является связующим звеном между булевой логикой и частичной логикой. Результатом слияния является смешанная логика. Множество законов, выполняющихся в смешанной логике, расширено по сравнению с исходными логиками. Важнейшими являются законы, выражающие частичные операции через булевы операции и VCR форму:

~(v1|d1) = (-v1|d1), (3)

(v1|d1)&(v2|d2) = (v1Av2|d1Ad2v-v1Ad1v-v2Ad2), (4) (v1|d1)+(v2|d2) = (v1vv2|d1Ad2vv1Ad1vv2Ad2), (5)

v | ^)ф^1 d2) = (v1®v21 d^d^), (6)

где © - булева операция исключающее или. Так, закон (4) доказывается табл.3. Строки таблицы соответствуют различным комбинациям значений булевых переменных v1, d1, v2, d . Столбец & содержит результаты выполнения частичной операции конъюнкции, вычисляемые по выражению (2) и строке 1 табл.2. Пара булевых функций (v|d) кодирует результат операции &. На значении dc операции & функция v может принимать любое из значений 0,1, а функция d принимает значение 0.

На значениях 0, 1 операции & функция d принимает значение 1. Булевы

Таблица 3

Доказательство закона (4)

v1 d! V2 d2 & V d g h

0 0 0 0 dc 0,1 0 0 0

0 0 0 1 0 0 1 0 1

0 0 1 0 dc 0,1 0 0 0

0 0 1 1 dc 0,1 0 0 0

0 1 0 0 0 0 1 0 1

0 1 0 1 0 0 1 0 1

0 1 1 0 0 0 1 0 1

0 1 1 1 0 0 1 0 1

1 0 0 0 dc 0,1 0 0 0

1 0 0 1 0 0 1 0 1

1 0 1 0 dc 0,1 0 1 0

1 0 1 1 dc 0,1 0 1 0

1 1 0 0 dc 0.0 0 0 0

1 1 0 1 0 0 1 0 1

1 1 1 0 dc 0,1 0 1 0

1 1 1 1 1 1 1 1 1

функции g=v1лv2 и h=d1лd2v—v1лd1v—v2лd2 представляют правую часть закона (4). Легко видеть, что функция g принимает значения, полностью согласующиеся со значениями функции V. Значения функции h полностью совпадают со значениями функции d. Таким образом, левая и правая части закона (4) описывают одну частично определенную функцию, что и доказывает закон. Аналогично доказываются законы (3), (5), (6).

Рассмотрев основные положения смешанной алгебры и некоторые ее законы, перейдем к исследованию разложений частично определенных функций. Начнем с полностью определенной функции (/[1), описываемой, по существу, булевой функцией /. Пусть с - некоторая характеристическая булева функция, определенная на том же множестве булевых переменных, что и/ Тогда для любых/и с выполняется следующее разложение функции (/[1):

(/[1) = (с|1)&(/С)+~(с|1)&(/[-с). (7)

Докажем его, выполнив следующие преобразования правой части с использованием законов (3)-(5):

(с|1)&(/[с)+~(с|1)&(/[—с) =

=(сл/[1 л^—сл 1V—/лс)+(—сл/[1 л—сvcл 1V—/л—с)= = (сл/[1)+(—сл/[1) = (сл^—слД1) = (/[1).

Замечательным свойством разложения (7) является сокращенная степень определенности операндов (/[с) и (/[—с) по сравнению с исходной функцией (/[1). Сокращение области определенности является источником решения разнообразных задач оптимизации. В частном случае при с=х разложение (7) становится известным разложением Шеннона (1), так как для операндов выполняются соотношения /с)=/н|х) и (/Ы=(4=0|— х.). В другом важнейшем частном случае при с=х .©х. разложение (7) приобретает вид

где / и / есть остаточные функ-

^ хг=—х/ хг=х] т

ции, которые мы называем исключающим отрицательным и исключающим положительным кофактором функции / по переменным х. и х.. Кофактор /х= . получается путем замены переменной х на инверсию переменной х. в функции / а кофактор / получается в результате замены переменной х. на переменную х Автору не известно использование этих кофакторов в известных разложениях.

В общем случае успех применения разложения (7) зависит от выбора характеристической функции с. Накладными расходами в разложении являются операция инверсии ~, две операции конъюнкции &, операция дизъюнкции +, а также сама функция с. В связи с этим функция с не должна быть сложной в представлении и реализации.

Разложение (7) обобщается для частично определенной функции /А) следующим образом:

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

/А) = (c|d)&/dлc)+~(c|d)&/dл-c), (10)

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

В частично определенной функции ф(х)=^(х)|А(х)) булева функция v(x) может быть заменена булевой функцией и(х) такой, что (и[А)=(у\А) или uлd=vлd. Если иоп - множество конституент 1, то диапазон допустимых функций и описывается соотношением:

Реальные границы диапазона (11) зависят от вида функций V и d. Введем операцию минимизации тт(у\А) функции значения V по функции области определенности А, возвращающую ту функцию и из диапазона vлd < и < vv—d, для которой %(и)=тт, где %(и) есть функция стоимости, определяемая в зависимости от оптимизируемого физического параметра. Не смотря на то, что операция минимизации требует конкретизации, она обладает также и важнейшими общими свойствами, которые мы изучим и свяжем с разложениями функций. Пусть /- заданная булева функция, и с

- произвольно выбираемая характеристическая

(/[а?) = (с|1)&/Алс)+~(с|1)&/Ал-с), (9)

функция. Использование операции минимизации позволяет корректно преобразовать частичное разложение (7), построенное на частичных операциях, в разложение, построенное на аналогичных булевых операциях:

/ = слтт(/с^—слтт(/—с).

(12)

Точно также, разложения (9), (10) корректно трансформируются в разложения

тт(/А) = слт1п/Алс^—слтт/Ал—с), (13)

тт/А) = min(c|d)лmin/dлmin(c|d))v v—min(c|d)лmin/dл—min(c|d)).

(14)

Разложение (12) использует при поиске оптимального представления функции / возможность выбора наиболее подходящих функций и=тт/с) и w=min(f[—c) из диапазонов /лс < и < ^—с и /л—с < ^ < ^с. Размер диапазонов быстро возрастает с ростом числа п аргументов. В разложениях (13), (14) минимизация функции / по функции А сводится к минимизации менее определенных булевых функций, что расширяет пространство поиска и увеличивает возможности нахождения меньшего значения функции стоимости.

Пример 1. Исходная булева функция / представлена картой Карно на рис.1. Представление функции в минимальной дизъюнктивной нормальной форме МДНФ:

/ = —х^^^хл—х^^—хл—хл—х^

—х^—хл—х^х^^л—х^хл—х^^^ Функция стоимости х(МДНФ(/))=19 в числе операций конъюнкция и дизъюнкция. Применим к / разложение (12), выбрав с=х2©х4. Функция с представлена картой Карно на рис.1. Продукты разложения показаны на рис.2. Минимизируем функции тт(/с)=х 1лх3 и тт(/—с)=—х^—х3.

Собирая воедино продукты разложения, получаем систему из двух функций: с = х©х

/ = сл(х;лх3^—сл( —х^ V—х,), для которых функция стоимости х(/)=1+1+3+1=6 в числе операций v, л, © и х(/)=8 в числе операций v, л, поскольку %(©)=3 в числе операций v и л. Таким образом, полученное представление функции / компактнее, по крайней мере, на 11 операций по сравнению с МДНФ. Пример показывает, насколько важным является выбор функции с.

Разложения (7)-(14) являются базисом для построения нового типа диаграмм решений, а именно, двоичных if-диаграмм решений или Д1ЩР. Базовый фрагмент диаграммы изображен на рис.3. Д1ЩР есть связанный, ориентированный, однокорневой ациклический граф, нетерминальные вершины которого метятся меткой ./а и имеют три исходящие дуги, а терминальные вершины метятся переменными х., инверсиями переменных —х значениями 0 и 1. Семантика каждой нетерминальной вершины определяется разложением (12). Каждой вершине Д1ЩР и диаграмме в целом соответствует некоторая булева функция.

Пример 2. На рис.4 изображена Д1ЩР: представляющая булеву функцию / из примера

1. Размер и глубина Д1ЩР меньше размера и глубины известной в литературе сокращенной упорядоченной двоичной диаграммы решений.

Диаграммы Д1ЩР являются эффективным средством моделирования, распараллеливания, синтеза и оптимизации цифровых систем. В табл.4 даны параметры параллельных сумматоров, синтезированные и оптимизиро-

Таблица 4

Параметры сумматоров

№ Биты Последовательные сумматоры Параллельные сумматоры

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Глубина Сложность Глубина Сложность

1 1 2 2 2 2

2 3 4 6 3 8

3 7 8 14 4 24

4 15 16 30 5 64

5 31 32 62 6 160

6 63 64 126 7 384

7 127 128 254 8 896

8 255 156 510 9 2048

9 511 512 1022 10 4608

ванные по временным задержкам распространения сигналов с помощью ДИДР С увеличением разрядности слагаемых до 511 глубина и быстродействие параллельного сумматора сократились в 51.2 раза, в то же время сложность увеличилась только в 4.5 раза по сравнению с последовательным сумматором.

Заключение. Предложенные в статье разложения частично определенных булевых функций являются эффективным инструментом для манипулирования неопределенностью в логических проектах в процессе их моделирования, синтеза, верификации, распараллеливания, оптимизации. Применение разложений позволяет улучшить параметры логической системы. Работа поддерживалась грантом академического фонда DAAD, Германия.

ЛИТЕРАТУРА

1. Prihozhy, A.A. Methods of Partial Logic and If-Decision Diagrams for Synthesis and Formal Verification of Digital Circuits / A.A. Prihozhy, B. Becker // DAAD Research Report. - Freiburg University, Germany, 2000. - 30 P.

2. Prihozhy, A.A. If-Diagrams: Theory and Application / A.A. Prihozhy // Proc. ofthe European Conference PATMOS’97. - UCL, Belgium, 1997.

- P. 369 - 378.

3. Prihozhy, A.A. Parallel Computing with If-Decision-Diagrams / A.A. Prihozhy, P.U. Brancevich // Proc. of the Int. Conference PARELEC’98. - Poland, Technical University of Bialystok, 1998. - P. 179 - 184.

4. Prihozhy, A.A. If-Decision Diagram Based Modeling and Synthesis of Incompletely Specified Digital Systems / A.A. Prihozhy, B. Becker // Electronics and communications, Special Issue on Electronics Design. - Kyiv, 2005. -P. 103 - 108.

5. Прихожий, А.А. Преобразование if-диаграмм решений в пространстве параметров время-сложность / А.А. Прихожий // Автоматизация проектирования дискретных систем, Материалы Седьмой межд. конф. CAD’10. -Минск: ОИПИ НАН Беларуси, 2010. - С. 15-22.

X, с=х2®х4 X,

0 1 0 1

1 0 1 0

0 1 1 0

1 0 0 1

0 1 1 0

1 0 0 1

1 0 0 1

0 1 1 0

х2 х2

Рис. 1. Заданная функция { и характеристическая функция с=х2©х4, зависящие от булевых переменных х х х х4

(/[с) х, (/Ьс) X,

dc 1 0 dc

1 dc dc 0

0 dc dc 0

dc 0 0 dc

0 dc dc 1

dc 0 1 dc

dc 1 1 dc

1 dc dc 1

х2 х2

Рис. 2. Частично определенные функции (ф) и (^—с): х х х х4 - булевы переменные; dc -безразличное значение

Г

i

с min( f]c) min{ fj^c)

Рис. 3. Базовый фрагмент ДНДР

f

С ifd

Х2 Х4 Х| Х3 О X] ^х3 1

Рис. 4. Пример двоичной if диаграммы решений

i Надоели баннеры? Вы всегда можете отключить рекламу.