♦ Во многих случаях наблюдается «зона безразличия», когда при увеличении n ВСПП остается практически постоянной (см. рис.2-4), после чего ВСПП резко возрастает.
Выводы
1. При построении распределенных САПР следует иметь в виду, что число
n ,
,
этого значения приводит к увеличению ВСПП.
2. , . .
элементов N целесообразно использовать и большее число компьютеров , .
3. Для более полного представления всех возможных результатов проектирования с помощью распределенных САПР необходимо: провести более тщательное исследование полученных зависимостей, расширив диапазон изменения параметров n, N и k; учесть в выражении (2) фактор разделения передаваемой информации на фреймы и «пристыковку» к каждому из них некоторой служебной информации; согласовать полученные результаты оптимального числа компьютеров n с качеством проектирования в зависимости от степени декомпозиции общей задачи.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК.
1. Глушань В. М., Будников Е. В. Распределенная сетевая обработка при решении задач конструкторского проектирования ЭВА / Известия ТРТУ. Тематический выпуск «Интеллектуальные САПР». - Таганрог: Изд-во ТРТУ, №3, 1997. - С. 42-47.
2. Адамов А. 3. Разработка и исследование распределенных Web-ориентированных архитектур САПР: Дис. канд. техн. наук (рук. Глушань В.М.) - Таганрог, 2003. - 195 с.
3. Minski M., S. Papert: On same associative, parallel and analog computations; In: Associative Information Techniques, edit E. T. Jacobs Elsevier, New York, 1971.
4. Глуш ань B.M., Далекин А.В., Иванько Р.В., Косов ИМ. Автоматизированное конструкторское проектирование радиоэлектронных схем на локальных вычислительных сетях. Известия ТРТУ. Тематический вып. «Интеллектуальные САПР». - Таганрог: Изд-во ТРТУ, 2005, №3(47). - С. 64-69.
5. ., . : . .
- М.: Мир, 1982. - 416 с.
6. . ., . ., . .
. - .: « », 1990. - 216 .
С.В. Баринов, В.М. Курейчик, Л.А. Гладков
КОМПОНОВКА МЭС НА ОСНОВЕ ИТЕРАЦИОННОЙ КЛАСТЕРИЗАЦИИ С УЧЕТОМ ВРЕМЕННЫХ ЗАДЕРЖЕК*
. -
ные части называется процесс распределения элементов низшего конструктивного уровня в высший в соответствии с заданными критериями [1]. Такими критериями : , -. -
.
* Работа выполнена при поддержке РФФИ (грант №06-01-00272) 120
В данной статье рассматривается проблема компоновки комбинационных схем на основе итерационной кластеризации с учетом временных задержек и про.
Комбинационные схемы - это такой тип схем, при котором значения на выходе зависит только от величин сигналов на входах. Такие схемы могут быть описаны таблицей истинности и решают какую-либо Булеву функцию [2]. Необходимость разработки новых алгоритмов в области компоновки комбинационных схем связана, в первую очередь, с широким распространением схем с БРвА архитекту-.
Комбинационная схема может быть представлена ориентированным ациклическим графом G = (V, Е) , где V - множество вентилей схемы, Е - множество соединений. В графе основные входы схемы - это вершины, которые имеют только исходящие ребра (Р1), и основные выходы схемы - это вершины, имеющие только входящие ребра (РО) [3].
Для каждой вершины У еV определим функцию площади Ш(у) . Величина этой функции показывает занимаемую площадь соответствующего вентиля.
Кластером на первой итерации кластеризации С1 С V называется набор вершин [У1,У2,...,Ук}, который удовлетворяет пространственному ограничению Ш(С1) = ^^Ш{у),Ш(С1) = М1. Тогда кластер на второй итерации образуется из
уеС1
множества кластеров на первой итерации С1, т.е. С2 = {С\, С^..., Сг'}. Кластер С2 удовлетворяет пространственному ограничению М2. В общем случае, кластер на итерации 1 - это множество кластеров (1-1) итерации С1 -1 = {С1г-1, С2-1, ...С‘г-1} и его пространственное ограничение определяется как М;.
М
Таким образом, кластер на I -ой итерации может содержать не более -------
М-1
кластеров, полученных на (1 — 1) итерации.
Кроме пространственных ограничений каждой вершине и каждому ребру в графе G = (V, Е) ставится в соответствие временная задержка. Для каждой вершины УеV, величина временной задержки определяется значением функции задержки д(У) . Тогда величина 3(а, Ь) определяет задержку сигнала на ребре между вершинами а и Ь . Для каждого ребра, находящегося внутри некоторого кластера С1 величина задержки фиксирована и определяется константой Д . Тогда, для каждого ребра, соединяющего две вершины в кластерах С\ и С1у и находящегося внутри кластера С2, величина задержки определяется константой Д2, причем Д2 > 01. В общем случае, для каждого ребра, соединяющего вершины в разных кластерах на (1 — 1) итерации и расположенного внутри кластера С\ на 1 -ой итерации, величина временной задержки определяется константой Д., Д. > 01—1. Ребра, соединяющие вершины в разных кластерах, полученных на итерации 1,
обладают задержкой Д+1, Д+1 > П {. Таким образом, для п -мерной кластериза-
ции схемы верно следующее неравенство:
Пп+1 > Пп > ••• > > Д.
Величина задержки сигнала на маршруте между вершинами а и Ь определяется как сумма всех временных задержек на ребрах и вершинах, входящих в маршрут. Общая временная задержка, возникающая на вершине V, определяется максимальной задержкой на всех маршрутах от вершин Р1 до V . Тогда времен, , маршрутах от основных входов схемы Р1 до основных выходов РО .
Задача итерационной кластеризации комбинационных схем с учетом временных задержек состоит в следующем. Задан ациклический ориентированный граф О = (V, Е), представляющий собой модель исходной схемы. Необходимо разбить
граф О на множество кластеров 8п = {С1п,СП,к,СП }, где п - число итера, . иметь одинаковые вершины, однако схема, полученная в результате кластеризации должна быть логически эквивалентна исходной. При этом каждый кластер должен удовлетворять следующим ограничениям:
'ЖС1.) < М^
1.
V.е{1,...,тЛ, С1 с V :
***1
и с1=V
j=l
V.е{1,...,т2}, С? с V:
Ш(С?) < М?;
т?
и С2 = V,
.=1
2.
V1 е{3,..., п }, V. е {1,..., т,}, С] с 8,_1 :
Ш(С,) < М,;
т 1
и С1 =-1.
.=1
Оптимальное решение такой задачи может быть получено только на основе полного перебора (что невозможно при решении практических задач большой размерности). Возможно также использование методов сокращенного перебора (метод ветвей и границ) или различных эвристик, что не гарантирует получения оптимального результата [2].
В связи с этим, разработка новых алгоритмов и эвристик, позволяющих получать близкие к оптимальным решения за приемлемое время, является ак.
В данной статье предлагается новый многоуровневый подход к решению задачи компоновки. Структурная схема предлагаемого метода представлена на рис.1.
Рис.І.Ст^’ктурная схема алгоритма
В начале работы алгоритма имеется исходный граф О, О0 = О . В графе О0 = {V, Е0} для каждой вершины V е V установим величину временной задержки ¿(у) , для каждого ребра (а, Ь) е Е определим задержку д1 (а, Ь), причем верно следующее условие:
Vvе У0, V(а,Ь) е Е0 :
¿¡V)=ед,
д1 (а, Ь) = Д.
О0 ,
получаем множество кластеров на первой итерации ¿1 = {С1, С1,..., С } . После
этого счетчик итераций . увеличивается на 1 и проверяется условие . = п .
Если условие верно, то алгоритм завершает работу. Иначе, выполняется про-
О0 . О1 , -
торого являются кластерами графа О0, т.е. У1 = ¿1. В графе О1 каждой вершине ставится в соответствие временная задержка д2 (у) , а каждому ребру - задержка ¿2 (а, Ь), причем: Vv е ^1, V(a, Ь) е Е1 : д2 (у) Ф д1 (у) п 82 (а, Ь) Ф 81 (а, Ь) .
О1 ,
свертки. Алгоритм завершает работу, когда выполнено требуемое число итераций. Рассмотрим более подробно процедуры кластеризации и свертки графа.
Кластеризация графа.Дан граф О. = {V., Е1}, где . - номер итерации ал. О.
о (/^г +1 г +1 +1
о.+1 = {Ц ,С2 ,...,Ст } при минимизации величины временной задержки.
О. РО , -
щей. Кластеры могут содержать одинаковые вершины, однако в графе, полученном после кластеризации, отношения между вершинами должны сохраняться. Вершина и в графе О. является предшествуюствующей вершине V, если существует маршрут от и к V. Вершина и в графе О. является после дующей по отношению к вершине V, если существует маршрут от V к и . Соответственно, верши-и ( ) -
ношению к V, если существует ребро в графе О. от и К V (от V к и).
Кластеризации графа состоит из двух фаз: маркирования вершин и кластери.
Пусть N - множество всех вершин, предшествующих V, включая образующую вершину V, т.е.: N = {и1,и2,...,и-} и{у}.
Кластер Ск+1 (у) , образованный вершиной V, есть подмножество , т.е.:
СТОО с N .
Тогда маркером .+1(у) вершины V является минимальная задержка, возникающая на маршруте от любой вершины и из множества N к V :
Vvе V,: 3 N = (ц,и2,...,и.},
Vuе N : 38,+1 (и,у)=> Д1+1 = {б11+1,82+1,...,б^>
= т1п(Д 1+1).
Фаза кластеризации образует множество кластеров +1 на основе информа-
, О. . , -
зующей вершине V ставится в соответствие некоторый кластер С'^1(у). Затем, рассматриваются вершины, еще не назначенные в какой-либо кластер. Причем, вершина X включается в множество вершин Ск+1 (у) , если она является непосредственно предшествующей какой-либо вершине у из Ск+1 (у) и величина задержки на ребре (X, у) минимальна, т.е.:
Vyе Ск+1,Vxе V([3(х,у)пб+1(х,у) ^ ш1и]^хе Ск+1).
Э.Свертка графа.После кластеризации графа О.-1 на шаге . образуется множество кластеров . На данном этапе работы алгоритма, необходимо преобразовать граф О.-1 к виду О. = {VІ, Е.}. Кроме того, на этом этапе необходимо переопределить временные задержки Зм(у*, ) и дм(у-, Ук )для каждой вершины V* еV и для каждого ребра (V-, Ук) е Е соответственно. Каждая вершина
V* е V - это некоторый кластер С. е 0 .. Величина временной задержки Зм(у*,)
определяется значением задержки, возникающей на маршруте к образующей вершине Г в кластере С. е .
Кластеры отличаются друг от друга по количеству вершин и по структуре ребер. Кроме того, в графе О.-1 могут быть такие ребра, которые соединяют вершины из разных кластеров. Поэтому задача переопределения временных задержек не .
представлен на рис.2.
Алгоритм: Свертка (О.-1, ).
Исходные данные: граф О.-1, множество кластеров = {С1,С2,...,С'т. } .
: О. .
1. .
2. Для VС; е :
3. создать вершину в графе О.
4. з+1 (V;)=п(с; ).
5. Конец цикла.
6. Для V е = (а, Ь) в графе О.-1
7. пусть Ь принадлежит С'к с образующей вершиной г
8. найти кластер С\ с образующей вершиной а.
9. Если не существует ребра е(у;, Ук ) е О., то
10. добавить ребро е(у;, Ук ) е О.
11 б+1 (У, V) = 3 (а Ь) + (А+1 - А ) - б+1 (у; ) + А,.(Ь, г) .
12. Иначе, если ребро е(у;, Ук) е О. существует, то,
13. если дг+1(у1,Ук) <3(a,Ь) + (А+1 -А)-3+1(У;) + А(Ь,г), то
14. 3+1 (У, V ) = 3 (a, Ь) + (А+1 - А-) - 3+1(У;) + Аг (Ь, г)
15. .
16. .
Рис.2.Псевдокод алгоритма свертки графа
В первом цикле алгоритма (строки 2-5) создаются вершины в графе О., соответствующие определенному кластеру С. е 0.. Задержка (у; ) некоторой
вершины определяется величиной А(С;) , которая определяется максимальной временной задержкой маршрута от некоторой вершины, входящей в кластер С.,
до образующей вершины этого кластера. Таким образом, в графе О. величина
максимальной временной задержки сохраняется.
Второй цикл (см. рис.2 строки 6-15) предназначен для добавления ребер между вершинами в графе О., а также для вычисления величины временной задержки
¿■+1(У, Ук ) для каждого ребра (у , Ук ) е Е;. Это наиболее сложный этап работы .
На рис.3 показан процесс определения временной задержки. При этом разме-
,
элементов. Очевидно, что X + д+1(у1) = 8І (а, Ъ) + Аг. (Ъ, г). Из этого выражения получим, что
х = Зг(а Ъ) -д1+1(у ) + А г (Ъ, г).
Поскольку ребро (а, Ъ) соединяет разные кластеры в графе 0—, то временную задержку этого ребра необходимо скорректировать на величину Д.+1 — Д , т.е.:
¿+1(у, ук) = х+А+1— А.
GM
G
Рис.З.Определение временной задержки Sj+l(vt, vk )
Полученное выражение соответствует уравнению, используемому в алгоритме свертки (см. рис.2 строки 11 и 14).
В случае, если для вершин Vj и vk существует несколько ребер, то в графе
Gi , .
В результате свертки образуется новый граф Gt, который снова подвергается
кластеризации. Процесс продолжается до тех пор, пока не выполнено требуемое .
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Норенков ИЛ. Основы автоматнзнрованного проектирования. - М.: Изд-во МГТУ им. Баумана, 2002.
2. Курейчик В.М. Математическое обеспечение конструкторского и технологического проектирования с применением САПР. - М.: Радио и связь, 1990.
3. Овчи н ников В А. Алгоритмизация комбинаторно-оптимизационных задач при проектировании ЭВМ и систем. - М.: Изд-во МГТУ им. Баумана, 2001.
4. “Multilevel circuit clustering for delay minimization” Sze, C.N.; Ting-Chi Wang; Wang, L.-C.; Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on Volume 23, Issue 7, July 2004 Page(s): 1073-1085.