Научная статья на тему 'Особенности автоматизации синтеза булевых функций'

Особенности автоматизации синтеза булевых функций Текст научной статьи по специальности «Математика»

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

Аннотация научной статьи по математике, автор научной работы — Гурченков Анатолий Андреевич, Егорова Евгения Кирилловна

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

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

Похожие темы научных работ по математике , автор научной работы — Гурченков Анатолий Андреевич, Егорова Евгения Кирилловна

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

Features of Boolean functions synthesis automatization

In article original approach to automatic synthesis of discrete devices in basis of chips is stated. Methodical installations of this approach are based on mathematical and information descriptions of Boolean functions and their structurally functional decomposition. Parallel and consecutive decomposition on complexity (number of subformulas) are characterized by identical quality, but judging by depth the best quality (smaller or equal value) has the first one therefore we apply parallel decomposition possesses to synthesis of schemes. In particular the computing method for finding of estimates of complexity of realization of any Boolean functions in Zhegalkin's basis on the basis of parallel decomposition is offered. These procedures allow to estimate possibility of minimization of transistors number and time of delay of the scheme. For algorithm some special cases which have been also illustrated by examples are considered. On the basis of these "features" additions are made to algorithm. As a result the algorithm became universal.

Текст научной работы на тему «Особенности автоматизации синтеза булевых функций»

УДК 519.714

Особенности автоматизации синтеза булевых функций

1 2 © А.А. Гурченков , Е.К. Егорова

1МГТУ им. Н.Э. Баумана, Москва, 105005, Россия 2МАТИ — РГТУ им. К.Э. Циолковского, Москва, 121552, Россия

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

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

В данной работе применяется метод структурно-функциональной декомпозиции булевых функций и схем из функциональных элементов [1-5]. При использовании структурно-функциональной декомпозиции произвольной булевой функции, зависящей от любого конечного числа переменных, получены функционалы, позволяющие заранее подсчитывать показатели качества синтеза — число элементов и глубину схемы [2, 3, 6, 7]. Функционалы также могут быть использованы для оптимизации синтеза [1, 6, 8-10].

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

Пусть X = {хь..., хп | — множество булевых переменных и произвольная булевой функции / ^) задается полиномом Жегалкина р(п) в базисе G3 (п — число переменных); т — длина полинома; Кг — монотонная элементарная конъюнкция ранга тг, г = 1, т. Вектор

г = (,...,г,...,гт) рангов полинома Жегалкина упорядочивается для алгоритма один раз, отношением " >". Получаем г >.. .> г >...> гт. Полином Жегалкина Р (п) представляется в виде табл. 1 (К,,') с числом строк (т +1) и числом столбцов (п +1). Первые т строк и п столбцов определяют полином Жегалкина, (т + 1)-я строка применяется для указания числа повторений букв в формуле и (п + 1)-й столбец — для рангов элементарной конъюнкции (ЭК) К,. Если х7 ], то К,,7 =1, иначе К,,7 = 0, , = 1, т, ' = 1, п, где под символом {Ki | понимаем множество переменных, образующих ЭК Ki.

Таблица 1

х\ х7 хп г

К г

К, хг,' =1 Г

Кт Гт

Р р Р' Рп Ьв

Для элементарного симметричного полинома Жегалкина р(п) шаг декомпозиции определяется с помощью рекуррентного соотношения

Р (п )=(( хпР^)® р ^.

Остаточные функции, рассматриваемые на множестве X ' = X \ {х7}, в алгоритме будем записывать соответственно как

р '=р^^ и р "=р^.

В алгоритме используются следующие параметры: гх = 1, 2,... — номер последней функции, записанной в табл. 2; 12 = 1, 2,... — номер последней прочитанной функции; ' = 'тах — индекс переменной х7 с максимальным числом р' повторений в табл. 1.

На основе множества рангов г, элементарных конъюнкций К1, . = 1, т , выносим за скобки переменную х' с максимальным числом повторений, при этом получается полином Р' длиной р'. Остаточные формулы записываются в табл. 2.

Таблица 2

№ п m F

1 п' :=п -1 m' := pj F'

2 п" :=п' ш" := ш - ш' F"

В алгоритме используются следующие параметры: Ь = 1, 2, ... — номер последней функции, записанной в табл. 2; Ь = 1, 2, ... — номер последней прочитанной функции; ] = jmax — индекс переменной Xj с максимальным числом pj повторений в табл. 1. Если сразу несколько переменных удовлетворяют этому условию, то, для сохранения упорядоченности рангов, выбираем из них переменную с минимальными индексами i иj.

Реализуемая формула F (п) (и получаемые остаточные) в общем случае разбивается на две более простые следующим образом: F(п) = xjmax F(п-1)л Ф F("-1^2. На каждом шаге остаточные формулы записываются в табл. 2, при этом значение ^ увеличивается на единицу

с каждой записанной формулой. На следующем шаге происходит чтение формулы из строки с номером t2, после чего значение t2 также увеличивается на 1. Алгоритм завершается, когда выполнится условие t2 > ^. Таким образом, будут получены суперпозиционная

формула F(п) и оценка числа подформул LF (F(п)) = N, где N находится в процессе работы алгоритма.

Шаг 1. Подготовка начальных данных.

Вводится полином F( п ) , для него подсчитываются п , m , Ьв. Составляется таблица, подсчитываются и упорядочиваются векторы г и р. Инициализируются переменные ^ := 0, Ь := 0, N := 0.

Шаг 2. Исходный полином записывается в таблицу. Счетчик записи увеличивается на единицу: ^ := ^ +1.

Шаг 3. Чтение из таблицы полинома с индексом ^.

t2 := t2 +1.

Шаг 4. Проверка m = 1.

Если формула состоит только из одной конъюнкции, то

N := N + (m -1);

^ := ^ +1.

Переход к шагу 9.

Шаг 5. Проверка р7тах = 1.

Если максимальный ранг равен единице, то формула представляет собой сложение по модулю 2п переменных. N := N + (п -1) ; Ь := к +1. Переход к шагу 9.

Шаг 6. Проверка Ьв = 3 . N := N + 2; ¿1 := Ь +1. Переход к шагу 9.

Шаг 7. Разложение.

Выделяется переменная х'тах и конъюнкции, содержащие эту переменную, копируются в формулу Р'. п' := п -1;

т : р'тах ;

N := N +1; ¿1 := Ь +1.

Шаг 8. Проверка т' Ф т .

Оставшиеся конъюнкции копируются в формулу Р .

п'' :=п -1;

т'' := т - т';

N := N +1;

¿1 := ¿1 +1.

Переход к шагу 9.

Шаг Р. Проверка ¿2 < ¿1. Переход к шагу 3. Шаг 10. Вывод результата.

Ьр (Р(п\Оз ):= N.

Пример 1. Рассмотрим случай, когда число конъюнкций т = 1. В этом случае формула представляет собой перемножение п переменных:

Р ( п) =

р — х^ х2 . • • хп.

Поскольку число подфункций на единицу меньше числа переменных, можно считать, что

ЬР = п -1.

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

Пусть

сЧ7) -

Р — Х\ Х2 Х3 Х4 Х5 Хб Х7.

Тогда возможны два случая:

• случай 1 (рис. 1):

Р(7) —((((((Х1Х2 )хз )Х4) х5) х6) Х7); (1)

• случай 2 (рис. 2):

Р(7) — ((Х1Х2)(ХзХ4))((Х5Хб ) Х7). (2)

Формула (1) и соответствующая ей схема имеют глубину БерР — 6, а формула (2) - БерР — 2 . Очевидно, что параллельная декомпозиция будет иметь преимущества по скорости быстродействия.

Пример 2. Еще одним особенным случаем является вариант, когда Хутах — 1. При этом все ранги равны единице, следовательно, формула состоит из п переменных, сложенных по модулю 2:

Р(п) — Х1 ф Х2 ф...ф Хп.

Аналогично примеру 1 имеем

Р(5) — Х1 ф Х2 ф Хз ф Х4 ф Х5;

F(5) -((( 0Х2)®(*3 ФХ4))фХ5). Пример 3. Пусть

F(2)- Х1 ф Х1Х2. (3)

Если вынести переменную с максимальным рангом за скобки, получим

F(2)= xi (1Ф Х2 ). (4)

Формулы (3) и (4) содержат одно и то же число операций. Следовательно, формулу (3) можно оставить в исходном виде, но при этом учесть число подформул.

Рассмотрим еще два случая, когда при разложении отсутствует одна из подформул.

Пример 4. Пусть

F(n)- x. ф F(n_1),2

1 ~ л. max w 1

Очевидно, что переменная x. max имеет число повторений

p.max -1, иначе существовала бы подформула F(n_1)'1. Но в таком

случае и остальные переменные повторяются всего один раз. Можно привести аналогичный пример:

F(4)- x1 ф x2x3x4. (5)

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

F(4) - x2x3x4 ф x1,

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

F(4) - Х1 ф Х2 ф Х3 ф Х4. Данный вид формулы разбирается в примере 2. Пример 5. Рассмотрим последний случай, когда

F(n) - x F(n^1),1 1 л. max 1

Пусть

F(4^ = x1x2 Ф Xix3 Ф x1x4 = Xi (x2 Ф x3 Ф x4 ).

В данном случае просто учитываем, что появляется всего одна остаточная подформула, а следовательно, увеличиваем значение счетчика записи всего на единицу: t1 = t1 +1.

Рассмотрены все актуальные частные случаи представления булевой формулы в виде полинома Жегалкина, которые могут вызывать проблемы при работе алгоритма [5]. Были внесены изменения в алгоритм для корректной обработки этих случаев.

ЛИТЕРАТУРА

[1] Поспелов Д.А. Логические методы анализа и синтеза схем. Москва, Энергия, 1974, 342 с.

[2] Чебурахин И.Ф. Синтез дискретных управляющих систем и математическое моделирование: алгоритмы, программы. Москва, Физматлит, 2004, 247 с.

[3] Чебурахин И.Ф. Математические модели для интеллектуализации синтеза дискретных логических управляющих устройств на основе цифровых интегральных схем. Известия РАН. Теория и системы управления, 2008, № 1, с. 68—77.

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

[4] Чебурахин И.Ф., Цурков В.И. Синтез дискретных логических устройств обработки информации на основе теории агентов. Мехатроника, автоматизация, управление, 2011, № 3, с. 27—34.

[5] Егорова Е.К., Чебурахин И.Ф. О минимизации сложности и автоматизации эффективного представления булевых функций в классах формул и схем. Известия РАН. Теория и системы управления, 2013, № 3, с. 121—129.

[6] Чебурахин И.Ф. Преобразования функциональных уравнений и показатели сложности булевых функций. Матер. IX Междунар. семинара «Дискретная математика и ее приложения». Москва, Изд-во МГУ, 2007, с. 126—129.

[7] Чебурахин И.Ф. Сложность симметрических полиномов Жегалкина.

Тр. XVII Междунар. школы-семинара «Синтез и сложность управляющих систем» им. акад. О.Б. Лупанова. Новосибирск, 2008, с. 180—185.

[8] Кудрявцев В.Б., Гасанов Э.Э., Подколзин А.С. Введение в теорию интеллектуальных систем. Москва, Изд-во МГУ, 2006, 208 с.

[9] Цурков В.И. Декомпозиция в задачах большой размерности. Москва, Наука, 1981, 324 с.

[10] Чебурахин И.Ф. Математические модели для минимизации и автоматизации синтеза дискретных управляющих систем. Мехатроника, автоматизация, управление, 2012, № 4, с. 5—13.

Статья поступила в редакцию 05.07.2013

Ссылку на эту статью просим оформлять следующим образом:

Гурченков А.А., Егорова Е.К. Особенности автоматизации синтеза булевых функций. Инженерный журнал: наука и инновации, 2013, вып. 12. URL: http:// engjournal.ru/ catalog/appmath/hidden/1167.html

Гурченков Анатолий Андреевич — д-р физ.-мат. наук, профессор кафедры «Высшая математика» МГТУ им. Н.Э. Баумана. Сфера научных интересов: управление и устойчивость вращающихся твердых тел с жидким наполнением. е-mail: challenge2005@mail.ru

Егорова Евгения Кирилловна родилась в 1988 г., окончила МАТИ — РГТУ им. К.Э. Циолковского в 2011 г. Ассистент кафедры «Прикладная математика и инфо-рмационные технологии» МАТИ — РГТУ им. К.Э. Циолковского. e-mail: eeniya@gmail.com

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