Эволюционное размещение элементов с учетом ресурсов коммутационного поля

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Норенков ИЛ. Основы автоматизированного проектирования. - М.: Изд-во МГТУ имени Н.Э.Баумана, 2000. - 360 с.

2. Курейчик В.М. Математическое обеспечение конструкторского и технологического проектирования с применением САПР. - М.: Радио и связь, 1990.

3. Sherwani Naveed. Algorithms for VLSI Physical Design Automation, Kluwer Academic Publishers, Boston/Dordrecht/London, 1995.

4. Емельянов В.В., Курейчик В.В., Курейчик В.М. Теория и практика эволюционного моделирования. - М.: Физматлит, 2003.

5. . ., . ., . . . - - - :

, 2004.

6. . . : ,

психология, информатика. - М.: Эдиториал УРСС, 2002. - 352 с.

Б.К. Лебедев, О.Б. Лебедев

ЭВОЛЮЦИОННОЕ РАЗМЕЩЕНИЕ ЭЛЕМЕНТОВ С УЧЕТОМ РЕСУРСОВ КОММУТАЦИОННОГО ПОЛЯ*

Основным критерием при трассировке соединений в ограниченном числе слоев является число реализованных соединений. При трассировке, в виду ограниченности ресурсов коммутационного поля, получение оптимума по этому критерию во многом определяется размещением коммутируемых элементов. В боль, , оптимальности размещения используется критерий минимума суммарной длины соединений [1,2]. Однако, это критерий косвенно учитывает реальные условия последующей трассировки и оптимальное решение задачи размещения не всегда приводит к оптимальному решению задачи проектирования монтажа.

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

В основу метода решения задачи размещения положена структура эволюционных алгоритмов.

Пусть А = [S|i = 1,2,,..., A} - множество всех дискретов S . Каждый дискрет S огРаничен четырьмя гранями qk, k е {1,2,3,4}, qk е G. В качестве исходных данных зададим множество W = [Wk\k = 1,2,3,4; i = 1,2,..., A} wi -

k

вес грани qt . Под весом грани понимается ее пропускная способность, т.е. число , .

* Работа выполнена при поддержке РФФИ, грант № 04-01-00174

поле платы в виде ортогонального графа Q=(V,U) вершины которого соответствуют дискретам КП (рис. 1).

Рис.1. Ортогональный граф

Две вершины графа Q смежны тогда и только тогда, когда соответствующие им дискреты соприкасаются друг с другом и пропускная способность разделяющих их граней не равна нулю. Таким образом, каждое ребро графа Q моделирует пару соприкасающихся граней. Каждая цепь tL е T = {t^i = 1,2,...,е} после ее распределения по каналам представляет дерево Штейнера, построенное на множестве вершин VL Œ V графа Q, соответствующих дискретам, в которых оканчиваются pea-

n*L

лизующие цепь tL трассы. Под ребром Rm будем понимать пару вершин (Vi,Vj), где m-индекс ребра. Простую цепь ребер в ортогональном графе G, имеющую началом и концом две вершины Vtw.Vj, назовем S-ребром. Очевидно,

что существует некоторое подмножество Rm = {R^nw

w = 1,2,..., } вариантов

8-ребер, связывающих пару вершин, где НШ - число вариантов, ш-ого ре бра.

Любую цепь tL , являющуюся деревом Штейнера, можно представить в виде набора М L = (nL — 1) покрывающих ее 8-ребер, где П - число контактов, связываемых цепью tL . С помощью различных вариантов 8-ребер можно задать любую . .

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

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

. Затем для каждого ребра дерева ^формируется множество реализующих его вариантов 8-ребер Яьт = = 1,2,...,НШ}. Установим соответствие

Г(К,Б,0) между множеством вариантов 8-ребер всех деревьев

Я = и Я , Я =и Ятч множеством граней дискретов в. Образом Г( Ят№ )вари-

Ь т

анта 8-ребра Я^ будет множество граней дискретов, которые он пересекает. С помощью графика соответствия Е можно задавать любые варианты 8-ребер. Прообразом Гэлемента qk будет множество вариантов 8-ребер, пересекающих грань qk. Разобьем каждое множество Г^к)на подмножества /¿такие, что все

элементы некоторого подмножества РЦ[ С Г^к) ревизуют ребра одного дерева . Получим множество рк = {Ркь ^ =1,2,..., р/ } деревьев, пересекающих грань

qk, где р/ -число деревьев(цепей), пересекающих qk. Будем считать, что реализация соединений осуществляется таким образом, что каждая грань может пересекаться одним деревом не больше одного раза. Стопроцентная реализация всех соединений после выбора оптимального набора 8-ребер, реализующих ребра всех деревьев, обеспечивается выполнением условия:

(V/е {1,2,..,Л})(Уке {1,2,3,4})р <¥/].

Под исходными ресурсами платы будем понимать сумму пропускных способностей всех граней, т.е.

Л 4

я*= ТТ^к.

/=1 к=1

8- -

тенциальные ресурсы платы , которые могут быть использованы данным набором вариантов 8-ребер деревьев Я={ ЯШ }

пг

А 4

С1К

где -V. =

V, - Т.^к,

1=1 к=1

Уч  если ;

к , в противном случае.

8/ - это часть пропускной способности qk, которая может быть использована заданным ребром К

Если < 8т, то это значит, что не все исходные ресурсы платы будут уча-

ствовать при решении задачи распределения, что сужает область решений.

Подсчитываем теперь минимально необходимые ресурсы для реализации всех деревьев вариантами 8-ребер из Я. Построим для каждого дерева ^множество Л L = {4|к = 1,2,3,4; / = 1,2,..., Л} , где ^ - число ребер ЯШ дерева , у

которых варианты реализующих их 8-ребер пересекают грань qk. Так как после

к

реализации дерева каждая грань ql может пересекаться этим деревом только один

к

раз, то минимальная часть ресурсов грани ql , используемая некоторым вариантом 8-ребра, проходящем через qk, равна 1/ А^ . Тогда минимальный объем ресурсов

р( ЯШ№) , 8- , :

Р

L)- I (1/ % ),™ К,

XL

mw

m,), используемых ребром Rhm ,

L ) _______________________ dL _

mw ) min

Под минимальным числом ресурсов Р( Ятк ), используемых ребром Я

будем понимать минимальное значение р(Я1тм, )т1П среди реализующих ЯШ вари 8- .

Тогда минимальный объем ресурсов платы 8 Я , необходимый для реализации соединений с помощью заданного ребра Я вариантов 8-ребер деревьев, опре:

L М L

Sr = YLpR, )

}Я

I =1 Ш=1

Если 8 Я > , то реализовать данный комплекс деревьев невозможно.

В качестве критерия оптимизации выберем функцию:

Р= - 8 Я .

Работа алгоритма размещения ориентируется на достижение максимального значения этой функции. Действительно, чем большее значение имеет , тем

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

Организация процесса переразмещения. Для организации итерационного процесса переразмещения можно воспользоваться алгоритмом групповых парных [3].

одного решения (р^мещения элементов) к другому решению (р^мещению эле). . с этими правилами осуществляется выбор кандидатов на переразмещение и прове, . возможных кандидатов для переразмещения.

Для организации последовательного процесса перемещения элементов в целевые позиции (но итерационного с точки зрения выполняемых операций и проце-) -тационного поля в виде сети перестановок Б(¥,Т)>Г№ К-множество узлов, соответствующих позициям. Для каждого узла (позиции) V, заданы координаты (х, у). Между парой узлов V, и vj существует ребро тогда и только тогда, когда любую пару элементов, помещенных в узлы V, и Vj можно взаимно переразмечать. Таким , -становок. Вес ребра равен расстоянию между соответствующими позициями.

Конфигурация сети, т.е. множество ребер Т, определяется методикой формирования и организации групп парных перестановок элементов.

Множество ребер в сети Т разбивается на г подмножеств 7} е Т, Т, пТ} = 0и и Т} = Т так, что каждое подмножество представляет паросочетание, т.е. нет ни одной пары смежных ребер. Таким образом, в каждом подмножестве сформировано множество непересекающихся пар позиций, что дает возможность одновременно (парадлельно) реализовать перестановки во всех этих парах. Под реализацией понимается рассмотрение пары позиций и элементов, расположенных в них, и после анализа соответствующих условий эти элементы переставляются или нет.

На каждой итерации последовательно одно за другим рассматриваются все подмножества 7}. Это дает возможность перемещаться элементу, расположенному В некотором узле V,, В любой смежный ему узел V} сети 8.

С точки зрения организации непрерывно-последовательного перемещения элемента из исходной позиции в целевую, а так же с точки зрения тривиального разбиения множества Т на паросочетания, наиболее удобной является конфигурация сети 8 в виде плоского простого графа, близкого по форме к ортогональной .

( .2).

следующий. Пронумеруем вертикальные и горизонтальные ряды. В начале рассмотрим горизонтальные ряды. В множество Т1 войдут все соседние пары узлов в горизонтальных рядах, причем 1-й элемент пары занимает в горизонтальном ряду нечетную позицию. В нашем случае (1-2; 3-4; ...) (рис.3,а). В множество Т2 войдут все соседние пары узлов в горизонтальных рядах, причем 1-й элемент пары занимает четную позицию (2-3; 4-5; ...) рис.3,Ъ.

1

2

3

4

1 2 3 4 5

.2.

3 4 5 1 2 3 4

1

2

5

а) мно- Ь) множество ТI жеСТВО 72

Рис.3

Аналогичным образом рассматриваются вертикальные ряды. При этом формируются подмножества Т3 и Т4. Так как в начале работы алгоритма может сказаться, что элементы находятся в позициях, удаленных от целевых, то для по-

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

Ь)

.4.

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

, ( .5).

При этом дополнительно выделяют 2 множества диагональных рядов: в первом множестве диагональ распространяется сверху вниз и слева направо; во вто-

- . -ниям Е } и Еу определяются значения сил Е1} и Е2}, действующих вдоль диагоналей. Причем, если Е} или Е} равна нулю, то Е1} и Е2'} принимаются равными нулю. Аналогично тому, как разбивались на паросочетания горизонтальные и верти, . 8 -жеств ребер ТГТ8, каждое из которых является паросочетанием.

Рис.5.Усложненная структура сети

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

Не вдаваясь в предысторию и теоретические выкладки метода, суть моделирования отжига можно описать следующим образом [4]. Задаются параметры, названия которых отражают историю возникновения метода: Т„,ТК - начальная и конечная температура, At - интервал изменения температуры. Температура Т меняется от Т„ до Тк с интервалом At. Начальное значение Т„ - высокое, Тк - низкое. Обычно Тк=0. При каждом значении Т выполняется заданное множество итераций.

На каждой итерации выполняются следующие действия. Для каждой пары элементов определяется приращение АЕ функции Б, если эту пару элементов по. -

- Е, .

Е Е,

AF

P = exp(-—), kl

где к - константа.

Выбирается случайное число r из равномерного распределения от нуля до единицы. Если r<P, то изменение сохраняется, если r>P , то осуществляется возврат к предыдущему состоянию.

Фактически алгоритм отжига реализует итеративный подход к решению оп-

,

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

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

, , топологии СБИС на этапе размещения и трассировки используется новый единый ,

трассировки и непосредственно направленный на достижении основной цели -реализации максимального числа соединений в КП с ограниченными ресурсами.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Naveed Sherwani. Algorithms for VLSI physical design automation. Kluwer academic publishers. Boston /Dordrecht/ London. 1995.

2. Курейчик АММатематическое обеспечение конструкторского и технологического проектирования с применением САПР. - М.: Радио и связь, 1990. - 352 с.

3. Лебедев Б.К. Методы поисковой адаптации в задачах автоматизированного проектирования СБИС: Монография. - Таганрог: Изд-во ТРТУ, 2000. - 192 c.

4. Sechen C. VLSI Placement and Global Routing Using Simulated Annealing. Kluwer, B.V., Devenler, The Netherlands.

СИ. Родзин, О.Н. Родзина К ВОПРОСУ О СХОДИМОСТИ ЭВОЛЮЦИОННЫХ ПРОГРАММ

Интересным прикладным направлением эволюционных вычислений являются идеи эволюционного программирования (ЭП) при компьютерном синтезе , -[1]. Эти идеи выглядят сегодня актуальными с позиций теории многоагентных систем, коллективного поведения автоматов, а также других искусственных процессов и образований. В работе рассматривается базовая концепция эволюционного программирования и вопрос об асимптотической сходимости алгоритмов ЭП.

В эволюционных программах популяция является центральным объектом эволюции. ЭП исходит из предположения о том, что биологическая ЭВОЛЮЦИЯ ЯВ, , , не на уровне таких генетических структур как хромосомы. Популяция особей в ЭП отражает характер поведения, вид общения и пр. Этот уровень абстракции в природе не предусматривает рекомбинации. Поэтому в ЭП отсутствует оператор крос-