К оптимизации комбинационных схем на основе решения уравнений

УДК 519.7

К оптимизации комбинационных схем на основе решения уравнений

Наталья Г.Кушик* Мария В.РекуН

Томский государственный университет, пр. Ленина 36, Томск, 634050,

Россия

Получена 15.03.2008, окончательный вариант 05.06.2008, принята 25.06.2008

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

Ключевые слова: цифровая схема, автоматное уравнение.

Рассмотрим комбинационную схему, представленную в виде последовательной композиции двух подсхем. Каждая из подсхем реализует систему булевых функций (СБФ), и известно, что в общем случае при сохранении внешнего поведения всей схемы в качестве каждой из компонент можно использовать схему, реализующую другую СБФ из некоторого множества. Множество допустимых СБФ для головной (или соответственно для хвостовой) компоненты композиции описывается как наибольшее решение [1] соответствующего автоматного уравнения*. Наибольшее решение уравнения можно рассматривать как резервуар, из которого выбирается в некотором смысле оптимальная СБФ для реализации соответствующей компоненты. Критерии оптимизации могут быть различными. В частности, можно выбрать СБФ для головной компоненты таким образом, чтобы число различных значений системы было минимальным, и оптимизировать хвостовую компоненту, доопределяя нужным образом неопределенные переходы. Можно оптимизировать головную подсхему на основе уменьшения числа функций в соответствующей системе, выбирая из наибольшего решения, например, СБФ, в которой одна или несколько функций тождественно равны 0 или 1, или систему, в которой некоторые функции совпадают, или систему, в которой одна из функций есть дизъюнкция (конъюнкция и т.п.) двух других. В данной работе мы показываем, что процедура выбора достаточно проста для случая, когда СБФ заданы посредством характеристических функций. Все описанные ниже операции эффективно выполняются, если характеристические функции представлены в виде двоичных решающих диаграмм (БОБ). Мы также обсуждаем возможности применения предлагаемого подхода для оптимизации композиции последовательностных схем.

* e-mail: belkidtom@rambler.ru t e-mail: mariareckun@sibmail.com

© Siberian Federal University. All rights reserved Комбинационную схему можно рассматривать как автомат с одним состоянием.

для набора значений Х\, ...,Хп, переменных х1, ..., хп, п\, ..., «к функ-

ция Фф(Х1,..., Хп, ..., и к) = 1, если и только если и = ^ч(Х1,..., Хп),..., и к = (Х1,. .. ,Хп). Будем говорить, что функция Ф есть СБФ-характеристическая функция, если данная функция является характеристической функцией некоторой СБФ. Характеристическая функция Ф определяет множество Мф наборов значений переменных, на которых функция равна 1. Если для двух функций в и Ф, определенных на одном множестве переменных, справедливо Мд С Мф, то будем обозначать этот факт как в ^ Ф.

Мы рассматриваем последовательную композицию из двух комбинационных компонент, реализующих СБФ Ф1 и Ф2 (Рис. 1), и их суперпозицию Ф = Ф2(Ф1), которая описывает поведение всей комбинационной схемы.

СБФ представлены характеристическими функциями Фф1, Фф2 и Фф, причем Фф = (Фф1 Л Фф2 )[х,у, где |х,у обозначает проекцию функции на множество переменных Х1,... хп, у1,..., ут. Согласно [2], можно сформулировать следующее утверждение. Утверждение 1. Для СБФ

справедливо Ф2(Ф1) = Ф2(Фз), если и только если Фф3 ^ (Фф2 Л Фф)|х,И; где Ф обозначает инверсию функции Ф.

Таким образом, утверждение 1 определяет, какие СБФ могут заменить Ф1 в исходной суперпозиции. Выбирая оптимальную в некотором смысле СБФ Ф3, можно упростить головную или хвостовую компоненты исходной комбинационной схемы. Мы иллюстрируем, что для некоторых оптимизационных критериев выбор СБФ решается достаточно просто с использованием характеристических функций.

Заметим, что утверждение 1 можно соответствующим образом переформулировать для случая произвольной композиции без обратных связей, например, для случая, когда хвостовая СБФ зависит не только от промежуточных переменных П1,...,Пк, а также и от (некоторых) входных переменных Х1,..., хп, или для случая, когда рассматривается композиция £ комбинационных схем, £ > 2 [3]. Соответственно, результаты последующих разделов применимы и к таким композициям.

2. Выбор СБФ для оптимизации головной компоненты

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

1. Определения и обозначения

Пусть Ф есть система булевых функций (СБФ):

«1 = ^1

I «к = ¥к (х1,...,Хп) СБФ Ф можно описать посредством характеристической функции

Фф(х1,... ,хп, «1,..., «к) :

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

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

и1

X - Ф1 - и, ь Ф2

2 • • • х • и _ • • • __ . к

ик *

Рис. 1. Последовательная композиция двух комбинационных схем

Согласно утверждению 1, для решения поставленной выше задачи требуется определить по функции (Фф2 Л Фф)^,«, существует ли система Фз булевых функций 01(х1,...,хп),..., 0к (х1,...,ж„), в которой функция тождественно равна 1 и Фф3 ^ (Фф2 Л Фф)^,«. Для нахождения системы Фз можно воспользоваться следующим утверждением:

Утверждение 2. Существует СБФ Фз, Фф3 ^ (Фф2 Л Фф)|х,и, в которой функция тождественно равна 1, если и только если проекция [(Фф2 Л Фф)|х,иЛиутождественно равна 1.

Доказательство. Функция (Фф2 Л Фф)|х,и Л и равна 1 только на тех единичных наборах функции (Фф2 Л Фф)|х,и, для которых значение переменной иу равно 1. Соответственно, для того, чтобы можно было выбрать СБФ Ф3, Фф3 ^ (Фф2 Л Фф)|х,И, в которой функция 0у тождественно равна 1, для каждого набора Х1,..., Хп значений переменных Х1,... ,хп должен существовать набор значений ^1,..., и к переменных и1,... ,ик, такой, что функция (Фф2 Л Фф)|х,и Л и2 равна 1 на наборе Х1,..., Хп, и1,..., и к. Таким образом, существует СБФ Фз, Фф3 ^ (Фф2 Л Фф)^,«, в которой функция тождественно равна 1, если и только если проекция функции [(Фф2 Л Фф)|х,и Л иу] на множество переменных Х1,... ,хп тождественно равна 1.

Заметим, что подобным образом можно осуществить проверку возможности выбора СБФ Фз, в которой одна из функций тождественно равна 0. В этом случае достаточно рассмотреть конъюнкцию функции (Фф2 Л Фф)|х,и с иу. Перебирая ] от 1 до к, можно проверить, существует ли СБФ Фз, в которой одна или несколько функций тождественно равны 1 или 0. Соответственно, представляет интерес вопрос о нахождении СБФ Фз, которая содержит максимальное число таких функций.

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

этом случае также можно синтезировать головную компоненту, которая реализует СБФ не из к, а из меньшего числа функций. Для такой проверки в характеристическую функцию можно добавить новую переменную = щ ф щ. Тогда существует СБФ Фз, Фф3 ^

(Фф2 Л Фф)^,«, в которой функции в^ и в] совпадают, если и только если существует Ф4, зависящая от переменных Х1,..., ж„, М1,..., мй+1, в которой функция 6^+1 тождественно равна 0 и Фф4 ^ [(Фф2 Л Фф)|х,и Л = щ ф щ)]. Согласно утверждению 2, в этом случае

достаточно провести анализ функции ((Фф2 Л Фф)|х,и Лмк+7Л (п^щ Vщ м])). Таким образом, как следствие утверждения 2, можно показать следующее.

Следствие. Существует СБФ Фз, Фф3 ^ (Фф2 Л Фф)|х,и, в которой функции вI и в у совпадают, если и только если существует СБФ Ф4, в которой функция 6^+1 тождественно равна 0 и Фф4 ^ (((Фф2 Л Фф)^,« Л мй+1 Л (п^у V щй])).

Заметим, что подобным образом можно осуществить проверку возможности выбора СБФ Ф3, в которой две (или более) функции системы совпадают с точностью до инверсии. В этом случае нужно проверить, существует ли СБФ Ф, в которой функция 6^+1 тождественно равна 1. Перебирая г, ] от 1 до к, можно проверить, существует ли СБФ Фз, в которой две или несколько функций совпадают с точностью до инверсии. Соответственно представляет интерес вопрос о нахождении СБФ Ф3 с максимальным числом таких функций.

Заметим, что можно сформулировать соответствующие следствия из утверждения 2 для проверки возможности выбора СБФ Фз, в которой одна из функций является дизъюнкцией (или конъюнкцией) двух других и т.п. Проверки, на основании которых можно выбрать СБФ Фз с необходимыми свойствами для оптимизации головной компоненты, даже для больших схем достаточно быстро выполняются с использованием так называемых 8ЛТ-солверов [4] или при использовании БОБ-пакета прикладных программ [5].

3. Проиллюстрируем на простом примере возможности оптимизации на основе утверждения 2. Рассмотрим комбинационную схему, представленную на рис. 2.

Функцию (Фф2 Л Фф)|х,и можно представить в виде следующей дизъюнктивной нормальной формы: (Фф2 Л Фф)|х,и = щТ V V Ж1Ж2й1М2 V Ж1Ж2М1М2. Непосредственной проверкой нетрудно убедиться, что конъюнкция этой функции с щ есть функция 51ПГ^ V ^Тй V ж1ж2й1й2. Таким образом, для наборов 11, 10 и 01 значений переменных Х1, Х2 можно выбрать значение Ц^, Ц из интервала 0-, и в частности можно выбрать значение 01. Для набора 00 значений переменных 51, 5 можно выбрать значение Ц^, Ц равное 11, и, таким образом, существует СБФ Фз, Фф3 ^ (Фф2 Л Фф)|х,и, в которой функция М2 = 62(^1, Ж2) тождественно равна 1. С учетом того, что щ Л 1 = щ, элемент МЛМБ в исходной схеме можно заменить инвертором, удалив ставшую избыточной одну из связей. Результат оптимизации представлен на рис. 3.

Рис. 2. Комбинационная схема

Рис. 3. Оптимизированная комбинационная схема

4. Оптимизация хвостовой компоненты. Поведение хвостовой компоненты является существенным только для наборов значений СБФ Ф1. Поэтому оптимизация хвостовой компоненты сводится к оптимизации системы частичных булевых функций, т.е. к выбору оптимальной СБФ, которая реализует заданную систему частичных булевых функций.

Заключение

В данной работе рассмотрена проблема покомпонентной оптимизации композиции комбинационных схем на основе решения автоматного уравнения для случая, когда все СБФ представлены посредством характеристических функций. Предложен способ нахождения СБФ для компоненты композиции, в которой минимизируется число базовых (независимых) функций. Можно также параллельно решать задачу оптимизации хвостовой подсхемы, выбирая значения промежуточных функций таким образом, чтобы поведение хвостовой компоненты комбинационной схемы было "безразличным"на возможно большем числе входных наборов. Предложенный в работе подход можно распространить на последовательностные схемы. В этом случае поведение каждой из компонент композиции описывается некоторым структурным автоматом, и помимо функций выходов каждой компоненты необходимо рассматривать еще и функции возбуждения. Множество допустимых структурных автоматов для компоненты (наибольшее решение соответствующего автоматного уравнения) может быть найдено по характеристическим функциям так же, как и для комбинационных схем; однако в случае последовательностных схем в наибольшем решении могут появиться состояния, в которых поведение определено не для каждого входного набора, и такие состояния (и переходы в них) необходимо итеративно удалить до начала оптимизации. Для проверки возможности представления одной из выходных функций суперпозицией других функций необходимо также проверить, что такая суперпозиция существует в каждом из оставшихся состояний.

Работа выполнена при поддержке гранта РФФИ №07-08-1224-3.

Список литературы

[1] Yevtushenko N., Villa T., Brayton R., Petrenko A., Sangiovanni-Vincentelli A., Logic synthesis by equation solving, Proc. Of the XVI Intern. Workshop on Logic synthesis, 2000.

[2] Ветрова (Рекун) М.В. Разработка алгоритмов синтеза и тестирования конечно автоматных компенсаторов, дис. ... канд. техн. наук, Томск, 2003.

[3] Жарикова С.В., Евтушенко Н.В., Решение автоматного уравнения для многомодульной композиции, Вестник ТГУ. Приложение, 2007, №23.

[4] Заикин О.С., Семенов А.А., Сидоров И.А., Феоктистов А.Г., Параллельная технология решения SAT-задач с применением пакета прикладных программ D-SAT, Вестник ТГУ. Приложение, 2007, №23.

[5] CUDD [Electronic resource] — режим доступа: http://vlsi.colorado.edu/~fabio/CUDD

On Digital Circuit Optimization Using Automata Equations

Nataly G.Kushik Mariya V.Reckun

The paper is devoted to combinational circuit optimization based on automata equation solving. We show how the flexibility of a component circuit can be calculated when using behavioral functions and propose a technique for checking whether some output functions can be simplified. For example, we show how to chek whether there exists an output function that can equal to 0 or to 1 or whether two output functions can be equal up to the inversion. The proposed technique is illustrated by a simple example. Keywords: digital circuit, automata equation.