Научная статья на тему 'Новые разложения булевых функций по операции исключающее или в системах логического проектирования'

Новые разложения булевых функций по операции исключающее или в системах логического проектирования Текст научной статьи по специальности «Математика»

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

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

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

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

The Boolean function expansions and representation forms which are based on exclusive or operation are a key facility for design, test and diagnosis of digital systems and computer programs. The Zhegalkin polynomials, Reed- Muller expressions and functional binary decision diagrams are among them. In the paper, novel expansions and Boolean function representation forms that are constructed using the partial logic, minimization operation and exclusive or operation are proposed. They generalize the positive and negative Davio expansions, take into account the orthogonality conditions for the minimization operation products and provide the creation of new graph-based Boolean function representation forms.

Текст научной работы на тему «Новые разложения булевых функций по операции исключающее или в системах логического проектирования»

Системный анализ

9

УДК 681.3

А. А. ПРИХОЖИМ, БНТУ

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

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

The Boolean function expansions and representation forms which are based on exclusive or operation are a key facility for design, test and diagnosis of digital systems and computer programs. The Zhegalkin polynomials, Reed-Muller expressions and functional binary decision diagrams are among them. In the paper, novel expansions and Boolean function representation forms that are constructed using the partial logic, minimization operation and exclusive or operation are proposed. They generalize the positive and negative Davio expansions, take into account the orthogonality conditions for the minimization operation products and provide the creation of new graph-based Boolean function representation forms.

1. Введение

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

Полностью определенные системы моделируются посредством полностью определенных логических (в частности, булевых) функций. Булева функция fix) от векторного аргумента x = (х1, ..., xn), есть отображение f Bn^B, где множество B = {0, 1}. Эффективность использования булевых функций для моделирования, оптимизации и логического проектирования систем зависит от форм их представления. Разложение Шеннона функции fix) по переменной xi [1] явилось исторически первым и наиболее известным при построении широко используемых форм. Другой класс эффективных форм представления построен на базе операции исключающее или. Из этого класса наиболее известны положительное

fx) = fxi = 0®xAfx, = 0©fx, = 1) (1)

и отрицательное

fx) = fxi = 1®—xiA(fxi = 0©fxi = 1) (2)

разложения Давио, где —, л, © - булевы операции инверсии, конъюнкции и исключающего или соответственно, перечисленные в порядке

1-3, 2014

СИСТЕМНЫЙ АНАЛИЗ И ПРИКЛАДНАЯ ИНФОРМАТИКА

10

Системный анализ

понижения приоритета; fxi = 1 и fxi = 0, - положительный и отрицательный кофакторы (остаточные подфункции) функции f(x) по аргументу xi.

Статья имеет следующую структуру. В разделе 2 вводятся основные понятия, относящиеся к частично определенным булевым функциям. Раздел 3 обобщает разложения Давио за счет определения остаточных функций посредством операции минимизации. В разделе 4 новые разложения конструируются за счет определения условий ортогональности остаточных функций. Раздел 5 вводит новый тип диаграмм решений по операции исключающее или. Выводы по работе даются в заключении.

2. Частично определенные логические функции

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

dc

значений аргументов из множества ф , называемого множеством конституент dc. В результате функция ф доопределяется до булевой

Ldcl

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

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

у = 0, если v = 0 и d = 1; у = 1, если v = 1 и d = 1; у = dc, если ve{0,1} и d = 0. Булева переменная v называется переменной значения, булева переменная d называется переменной области определенности. При d = 1 частичная переменная у принимает такое же значение 0 или 1 как и булева переменная v. При d = 0 переменная у принимает неопределенное значение dc независимо от значения переменной v. Таким образом, частичной переменной у ставится в соответствие частично определенная функция, записываемая в дальнейшем посредством вертикальной черты в форме у^, d) = (v|d).

Если переменные v и d заменить булевыми функциями v(x) и d(x), зависящими от векторного аргумента х = (x1,..., xn), то функция у = (v|d) заменяется частично определенной функцией ф(х) = (v(x)|d(x)), зависящей от х. Изменив значение v(x) хотя бы на одном наборе значений переменных xb ..., xn, на котором d(x) = 0, получим новую булеву функцию u(x) такую, что (v(x)|d(x)) = (u(x)|d(x)). Диапазон функций u(x), способных заменить функцию v(x), описывается соотношением (vhd)on с uon с (vv—d)on, где uon - множество конституент 1 функции u. Далее будет использоваться эквивалентная запись диапазона, в которой включение с заменяется неравенством <:

vt\d < u < vv—d. (3)

Свяжем с булевой функцией u(x) функцию стоимости c(u) и рассмотрим задачу дискретной оптимизации на допустимом множестве функций (3) в виде:

min c(u). (4)

v Ad <u <vv—d

Интерпретация функции стоимости c может быть самой разнообразной, от сложности представления функции u до физических параметров ее реализации. Для решения задачи оптимизации (4) введем операцию минимизации min(v\d), возвращающую ту функцию и из диапазона (3), для которой c(u) = min. Не смотря на то, что операция u = min(v\d) обладает общими свойствами, она должна быть детализирована для каждой конкретизации задачи (4). Так, для d = —xi значением операции минимизации становится отрицательный кофактор min(v\— x;) = vxi = о, а для d = xi значением становится положительный кофактор min(v\xi) =

vxi = 1.

СИСТЕМНЫЙ АНАЛИЗ И ПРИКЛАДНАЯ ИНФОРМАТИКА

1-3, 2014

Системный анализ

11

3. Обобщение разложений Давио

Рассмотрим теперь возможность построения разложений булевой функции fx) по операции исключающее или, аналогичных разложениям Давио, но использующих вместо кофакторов операцию минимизации. Пусть c(x) - произвольная характеристическая функция, зависящая от тех же переменных, что и функция f Тогда первое разложение сформулируем в виде:

f = mm(f—c)®cA(mm(fc)®mm(f[—c)'). (5)

При c = х, разложение (5) конкретизируется до положительного разложения Давио (1). Второе разложение сформулируем в виде:

f = min(f[c)®—cA (min(fc)®mm(J\—c)), (6)

Аналогично, при c = xi разложение (6) конкретизируется до отрицательного разложения Давио (2). Докажем справедливость разложения (5).

В правую часть уравнения (5) булева функция s = min(f[—c), получаемая в результате выполнения операция минимизации, входит дважды. Согласно неравенству (3), функция принадлежит диапазону fA—c < s <fvc, граничными точками которого являются булевы функции fA—c и fvc. Следует отметить, что оба вхождения функции s являются идентичными. Булева функция t = min(fc), также получаемая в результате выполнения операции минимизации, входит один раз в правую часть уравнения (5). Согласно неравенству (3), функция принадлежит диапазону fAc < t < fv—c, граничными точками которого являются булевы функции fAc и fv—c. Поскольку диапазоны функций являются монотонными, справедливость разложения (5) можно доказать методом граничных точек [2]. Вычислим функцию r = s®cA(t®s) на четырех комбинациях граничных точек s и t:

1. Обе функции s и t представлены левыми (нижними) границами диапазонов: s = fA—c, t = fAc. Тогда для функции r можем записать r = fA—c®cA(fAc®fA—c) = f.

2. Функция s представлена правой (верхней) границей s = fvc диапазона, а функция t представлена левой (нижней) границей t = fAc диапазона. Тогда для функции r можем записать r = fvc®cA(fAc®fvc) = f.

3. Функция s представлена левой (нижней) границей s = fA—c диапазона, а функция t представлена правой (верхней) границей t = fv—c

диапазона. Тогда для функции r можем записать r = fA—c®cAfv—c®fA—c) = f.

4. Обе функции s и t представлены правыми (верхними) границами диапазонов: s = fvc, t = fv—c. Тогда для функции r можем записать r = fvc®cA(fv—c®fvc) = f

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

Пример 1. Исходная булева функция f зависящая от четырех переменных хх, х2, Х3, Х4, представлена картой Карно на рис. 1. Алгебраическое представление функции f в минимальной дизъюнктивной нормальной форме (МДНФ), построенное по шести кубам карты Карно, имеет вид:

МДНФ(/) = —X1AX2AX4vX2A—X3AX4v—X1A —X2A—X4v—X2A—X3A—X4vX1AX2AX3A—X4vX1A —X2AX3AX4,

где v - булева операция дизъюнкция. В качестве функции стоимости c(f) выберем число положительных и отрицательных литералов в представлении функцииf с(МДНФ(/)) = 20.

Сначала применим разложение (5) к исходной функции f выбрав в качестве характеристической функции c = X2. Карта Карно этой функции показана на рис. 2 слева. Частично определенные функции (f[c) и (f—c) представлены на рис. 2 в центре и справа. На наборах значений аргументов, на которых c = 0, частично определенная функция (f[c) принимает значение dc, на остальных наборах значения этой функции равны значениям функции f Значение функции (f—c) равно dc при c = 1 и равно f в противном случае. Булевы функции min(fc) и min(f—c), полученные в результате выполнения операции минимизации, представлены картами Карно на рис. 3 слева и в центре соответственно. Выполняя операцию исключающее f) xi

0 1 0 1

1 0 1 0

0 1 1 0

1 0 0 1

Х2

Рис. 1. Исходная булева функция f, представленная картой Карно; X1, X2, X3, x4 - булевы переменные

1-3, 2014

СИСТЕМНЫЙ АНАЛИЗ И ПРИКЛАДНАЯ ИНФОРМАТИКА

12

Системный анализ

с=х2

0 1 1 0

0 1 1 0

0 1 1 0

0 1 1 0

х2

Х4

х3

dc 1 0 dc

dc 0 1 dc

dc 1 1 dc

dc 0 0 dc

Х2

(Л-с)

Хз

0 dc dc i

1 dc dc 0

0 dc dc 0

1 dc dc 1

Х2

Рис. 2. Частично определенные функции c = x2, (f] c) и (/]—c); dc - безразличное значение

min(/fc) xi mm(/f-nc) Xl

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1

0 0 1 1

1 1 0 0

0 0 0 0

1 1 1 1

1 1 0 0

0 0 1 1

1 1 1 1

0 0 0 0

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

Рис. 3. Функции min/c) и min/—c) при c = x2 и выполнение над ними операции ©

с=х2Фх4 XI

0 1 1 0

1 0 0 1

1 0 0 1

0 1 1 0

Хз

ifrc)

0

dc 1 0 dc

1 dc dc 0

0 dc dc 0

dc 0 0 dc

Хз

Х4

0 dc dc i

dc 0 i dc

dc 1 i dc

i dc dc i

Х2

Х2

Рис. 4. Частично определенные функции с = x2©x4, (/]c) и (/]—c)

Х4

Рис. 5. Функции min/c) и min(/]—c) при с = x2©x4 и выполнение над ними операции ©

или, получаем min(/]c)©min(/]—c) = 1 (рис. 3 справа). Тогда на основе разложения (5) (Р5) получаем следующее представление функции f.

Р5(/) = min(f—c)©ca1 =

(x1A—x4V—x3A—x4Vx1Ax3Ax4)©x2.

Функция стоимости с(Р5(/)) = 8 в числе литералов, что в 2.5 раза меньше по сравнения с с(МДНФ(/)). На основе разложения (6) (Р6) получаем следующее представление функции f Р6(/) = minf]c)©—ca1 =

(—x1Ax4V—x3Ax4Vx1Ax3A—x4)©—X2,

Как и для разложения Р5, функция стоимости с(Р6(/)) = 8.

Пример 2. Он является продолжением примера 1 и демонстрирует зависимость эффективности разложений (5) и (6) от используемой характеристической функции c. Выберем

с = x2©x4.

Функция c а также частично определенные функции f]c) и (/]—c) представлены картами Карно на рис. 4. Выполнение операций минимизации minfc) и minf]—c) дает булевы функции, показанные на рис. 5 слева и в центре, а применение к ним операции исключающее или дает функцию константа 1 (рис. 5 справа). Тогда на основе разложения Р5 получаем следующее представление функции f

СИСТЕМНЫЙ АНАЛИЗ И ПРИКЛАДНАЯ ИНФОРМАТИКА

1-3, 2014

Системный анализ

13

Р5(/) = mm(J\—c)®cA 1 = (—х^—х3)©(х2©х4).

Функция стоимости c(P5(J)) = 4 в числе в числе литералов, что в 2 раза меньше по сравнению с Р5(/) при c = x2.

На основе разложения Р6 получаем следующее представление функции J

P6J) = minfc)©—сл1 = (х1лх3)©—(x2©x4).

Снова функция стоимости c(P6J)) = 4 в числе литералов, что в 2 раза ниже по сравнению с P6J) при c = х2.

Разложения (5) и (6) булевой полностью определенной функции J обобщаются на частично определенную функцию (Jd) следующим образом:

minfd) =

min(Jd^—c)©cлmin(Jd^c)©min(J\d^—c), (7) minfd) =

minfd^c)©—cлminfd^c')©minfd^—c). (8)

Степень определенности продуктов minfdhc) и minfdh—c) разложений (7) и (8) определяется конъюнкцией двух характеристических функций: исходной функции d и вновь введенной функции c.

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

Важнейшим механизмом оптимизации представления функций на базе операции исключающее или является поиск условий построения ортогональных остаточных функций. Для заданной функции J и некоторой функции c остаточные функции minfc) и minf—c) называются ортогональными, если minfc) = —minf—c). Подставляя —minf—c) вместо minfc) в разложение (5), получаем: f = minf—c)©cл(—minf—\c) ©minf—c)) = c©minf—c). Делая аналогичную подстановку функций в (6), снова получаем f = —minf—c)© —cл(—minf—\c)©minf—c)) = c© minf—c). Таким образом, мы вывели еще одно очень важное разложение:

f = c©minf—c) при c таком, что

minfc) = —minf—c). (9)

Применяя операцию © к левой и правой частям уравнения (9) со вторым операндом c, получаемf©c = c©minf—c)©c = minf—c). Другими словами, остаточная функция minf—c) в (9) вычисляется в виде f©c. Успешное применение разложения (9) зависит от метода од-

новременного построения и совместной минимизации двух булевых функций c и minf—c). Пусть обе функции представлены в классе МДНФ. Возьмем предельный случай c = f Тогда остаточные функции min(JJ) = 1 и minf—j = 0. Они ортогональны, однако выгоды от такой функции c нет. Для построения других функций c воспользуемся тактикой пошагового добавления одних конституент 1 к множеству включения Jon и исключения других конститу-ент 1 из этого множества.

Обозначим u = minfc) и w = minf—c). Пусть к множеству fn добавляется набор a<£fn. Тогда con = JDn'u{a] и c(a) = 1. Как следствие u(a) = 0 и J|—a) = dc. Для ортогональности и и w на наборе а принимаем w(a) = 1. Функции и и w уже не являются константами 1 и 0 соответственно. Пусть теперь из множестваJon удаляется набор aeJ°n. Тогда con = Jon\{a} и c(a) = 0. Как следствие fa) = dc и w(a) = 0. Для ортогональности и и w на наборе а принимаем и(а) = 1. Последовательная реконструкция функции c должна быть направлена на формирование меньшего числа кубов булева пространства большего размера и с меньшим числом существенных переменных в функциях c и minf—c). Надо искать слегка незавершенные кубы и завершать их в процессе конструировании функции c.

Пример 3. Продемонстрируем эффективность разложения (9) на примере булевой функции f, представленной картой Карно на рис.6 слева и представленной следующей эквивалентной МДНФ:

МДНФ(Л =

х1лх^х1лх^х2л—х^х2л—x4v—х2лх^—х3лх4.

Функция стоимости с(МДНФ(/)) = 12 в числе литералов. Анализируя карту Карно, видим, что из-за нуля на пересечении второй строки и третьего столбца незавершенными являются два куба на восьми клетках каждый. Для того, чтобы воспользоваться разложением (9), функцию c строим по функции Jизменением значения 0 на значение 1 в одной клетке, как показано заливкой на рис. 6 справа. Остаточные ортогональные булевы функции minfc) и minf—c) представлены картами Карно на рис. 7. Клетки с инвертированными значениями показаны заливкой. В клетках без заливки значения остаточных функций совпадают со значениями функции f. Переходим от представления функций c и minf—c) к их представлению в МДНФ:

1-3, 2014

СИСТЕМНЫЙ АНАЛИЗ И ПРИКЛАДНАЯ ИНФОРМАТИКА

14

Системный анализ

Рис. 6. Булевы функции/и c

Рис.7. Ортогональные остаточные функции min/c) и min/—c)

МДНФ(с) = x2vx4, МДНФ(тт/—c)) = — Х1ЛХ2ЛХ3ЛХ4.

В результате получаем следующее разложение (9) функции /

Р9/ = (x2vx4)®(—х1лх2лх3лх4).

Функция стоимости с(Р9(/)) = 6 в числе литералов, что в два раза меньше стоимости представления этой же функции в МДНФ.

5. Новые диаграммы решений на базе операции исключающее или

If диаграммой решений (1ЩР) над множеством булевых переменных X = {xb ..., xn} и множеством значений-меток T = {0, 1} называется связанный, ориентированный, ациклический граф G = (V, E) с одним корнем root(G) е V и следующими свойствами:

1. вершина veV есть либо нетерминальная, либо терминальная вершина;

2. каждая нетерминальная вершина v имеет ровно три вершины-последователя, обозначаемые i/v), high(v), low(v);

3. каждая терминальная вершина v метится меткой label(v), которой может быть переменная хгеХ, инверсия переменной — хг-, значение teT; терминальная вершина не имеет вершин-последователей.

На графическом изображении if диаграммы примем, что левая дуга, исходящая из вершины v, направлена в вершину i/(v), средняя дуга направлена в вершину high(v), правая дуга направлена в вершину low(v). Размер диа-

граммы решений size(G) равен суммарному числу вершин в графе. Число нетерминальных вершин обозначим через sizen(G), число терминальных вершин - через size(G). Глубина диаграммы depth(G) равна максимальной длине пути в числе нетерминальных вершин из корня в терминальную вершину.

Диаграмма решений 1ЩР, семантика каждой нетерминальной вершины которой определяется разложением (5), называется положительной функциональной i/ диаграммой решений (пФИДР). Вершине v пФИДР соответствует булева функция /, определяемая следующим образом:

1. если v есть терминальная вершина и если label(v) = x, то/ = x,

если label(v) = —x, то /v = —x, если label(v) = 0, то /v = 0, если label(v) = 1, то /v = 1;

2. если v есть нетерминальная вершина, то

/v = fhigh (v) © -fifty) Л flow(v).

Базовый фрагмент пФИДР показан на рис. 8 слева. Каждая нетерминальная вершина пФIfДР метится меткой р/ По пФIfДР строится алгебраическое многоуровневое выражение в виде суперпозиции функций © и л с использованием дополнительных локальных булевых переменных. Это выражение может быть трансформировано к форме Рида-Маллера.

Пример 4. На рис. 8 справа изображена пФ!ЩР, представляющая булеву функцию /

СИСТЕМНЫЙ АНАЛИЗ И ПРИКЛАДНАЯ ИНФОРМАТИКА

1-3, 2014

Системный анализ

15

Рис. 8. Базовый фрагмент и пример пФ1ЩР

Рис. 9. Базовый фрагмент и пример оФ1ЩР

описанную картой Карно на рис.1. Диаграмма включает три нетерминальные вершины и семь терминальных вершин. Она является источником построения следующего многоуровневого булева выражения:

и1 = Х4©(х2л1), u2 = 1©(XjAX3), f = U2©UjAL

Подставляя выражения для Uj и U2 в выражение для f получаем форму Рида-Маллера положительной полярности пФРМ:

пФРМ(Д = 1©x1ax3©x2©x4.

If диаграмма решений, семантика каждой нетерминальной вершины которой определяется разложением (6), называется отрицательной функциональной if диаграммой решений (оФНДР). Нетерминальной вершине v оФ1ЩР соответствует булева функция fv, определяемая

следуюЩим образом: fv = fhigh(v) © —fifty) A flow(v)-

Функция, соответствующая терминальной вершине, определяется также как и в пФ1ЩР. Базовый фрагмент оФНДР показан на рис. 9 слева. Каждая нетерминальная вершина оФНДР метится меткой nf По оФНДР строится алгебраическое многоуровневое выражение в виде суперпозиции функций ©, л, — с использованием дополнительных локальных булевых переменных. Это выражение может быть трансформировано к форме Рида-Маллера. Частными случаями пФНДР и оФНДР являются положительные и отрицательные функциональные диаграммы двоичных решений.

Пример 5. На рис. 9 справа изображена оФНДР, представляющая булеву функцию f из предыдущего примера. Диаграмма включает

три нетерминальные вершины и семь терминальных вершин. Она является источником построения следующего многоуровневого булева выражения:

Uj = —1X4©—1Х2Л1,

U2 = (1©—1X3)©—XjA(1©—1X3), f = U2©—lUjAl.

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

Подставляя выражения для Uj и U2 в выражение для f, получаем форму Рида-Маллера отрицательной полярности оФРМ:

оФРМ(/) = —х 1©—1X2©—1X3©—1X4©—XjA—1X3.

Наряду с if диаграммами двоичных решений, предложенными в [3, 4], положительные и отрицательные функциональные if диаграммы решений являются эффективным средством представления, манипулирования и реализации булевых функций. Совместное использование этих трех типов диаграмм существенно улучшает параметры представлений и реализаций систем булевых функций.

6. Заключение

Предложенные в статье новые разложения булевой функции по операции исключающее или отличаются от известных тем, что вместо кофакторов они используют минимизацию функции по сокращенной области ее определенности. В результате предложенные разложения обобщают известные разложения Давио и расширяют множество представлений и пространство поиска при решении задач оптими-зацци цифровых систем и программ. Работа поддерживалась грантом академического фонда DAAD [5], Германия.

1-3, 2014

СИСТЕМНЫЙ АНАЛИЗ И ПРИКЛАДНАЯ ИНФОРМАТИКА

16

Системный анализ

Литература

1. Shannon, C. E. The Synthesis of Two Terminal Switching Circuits / C. E. Shannon // Bell System Technical Journal. -Vol. 28. -1949. - № 1.- P. 59-98.

2. Прихожий, А. А. Частично определенные логические системы и алгоритмы / А. А. Прихожий // БНТУ, Техническая литература. - 2013. - 343 с.

3. Prihozhy, A. A. If-Diagrams: Theory and Application / A. A. Prihozhy // Proc. of the European Conference PAT-MOS’97. - UCL, Belgium, 1997. - P. 369 - 378.

4. Прихожий, А. А. Обобщение разложения Шеннона для частично определенных функций: теория и применение / А. А. Прихожий // Системный анализ и прикладная информатика, № 1, 2013. - С. 3-9.

5. 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.

СИСТЕМНЫЙ АНАЛИЗ И ПРИКЛАДНАЯ ИНФОРМАТИКА

1-3, 2014

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