СХЕМОТЕХНИКА И ПРОЕКТИРОВАНИЕ
УДК 621.3.049.771.16
Алгоритм синтеза множества остовных деревьев для выполнения глобальной трассировки заказных СБИС
Г.Г.Заглядин, И.А.Сырцов
Московский государственный институт электронной техники (технический университет)
А.В.Школа ЗАО «Аплана Софтвер» (г. Москва)
Предложен новый подход к решению задачи глобальной трассировки (планировки) сигнальных цепей СБИС. Изложен оригинальный алгоритм синтеза множества остовных деревьев, стоимость которых близка к минимальной. Представлены результаты исследований данного алгоритма.
Ключевые слова: глобальная трассировка, СБИС, остовное дерево.
Повышенное внимание к проблемам автоматизации проектирования СБИС связано не только с постоянным ростом степени интеграции (закон Мура), но и с существенным усложнением требований к выпускаемым схемам. В этом смысле на первый план выходят такие критерии, как быстродействие и потребляемая мощность. В то же время традиционные критерии (площадь, коэффициент выхода годных) остаются актуальными, в связи с чем необходимо решать задачу многокритериальной оптимизации.
Существует несколько подходов к проблеме многокритериальной оптимизации (синтеза). Из них можно выделить два подхода, которые широко используются при автоматизации топологического проектирования. Первый - сведение нескольких критериев к одному путем определения весовых множителей и дальнейшее использование взвешенной целевой функции [1]. Второй подход заключается в установлении приоритетов для каждого из критериев с последующей оптимизацией по каждому из них [2]. Эффективность первого подхода может варьироваться в зависимости от архитектуры проектируемой СБИС и в отдельных случаях приводит к неприемлемым результатам. Для избежания данной ситуации пользователю необходимо подбирать параметры для получения удовлетворительных результатов. Второй подход - последовательная оптимизация - эффективен только на начальных шагах, далее проводятся только локальные улучшения по каждому из критериев.
Актуальные критерии. Основными задачами на этапе планировки цепей являются: сокращение общей длины цепей, удовлетворение временным ограничениям, обеспечение 100% трассируемости [3]. На начальной стадии строятся деревья Штейнера (SMT - Steiner Minimum Tree) для всех цепей. Далее проводятся оценка загруженности коммутационного пространства и оптимизация. Качество глобального решения зависит
© Г.Г.Заглядин, И.А.Сырцов, А.В.Школа, 2010
от начального решения в виде деревьев Штейнера и точности модели оценки загруженности коммутационного пространства.
Описание подхода. Суть предлагаемого подхода состоит в искусственном ограничении качества оптимизации по одному из критериев, чтобы расширить возможности для оптимизации по другим критериям. Для каждой цепи строится не одно, а множество (семейство) решений, используются семейства SMT с различной топологией. Для
л
получения семейства SMT генерируется множество остовных деревьев M ST (Minimum Spanning Tree), отклонение длины каждого из деревьев от минимального составляет не более определенного параметра Acost. При последующей оптимизации по другим критериям поиск решений проводится только в пределах полученного множества SMT. На рис.1,а показан традиционный подход, на рис.1, б - подход, основанный на использовании семейств остовных деревьев. В данной работе рассмотрен алгоритм пол
строения M ST.
а б
Рис. 1. Построение дерева Штейнера: а - стандартный подход; б - использование множества остовных деревьев
Постановка задачи. Для вершин полного графа
={Л,Г}: V = К : ^ = {а,, а,)}, Л = {а1: а, =(х1, у,)}, V/,] е [1, ^ / * ],
где N - количество вершин, необходимо найти остовные деревья. Каждое дерево можно обозначить как подмножество ребер ^ ^ V, вес ребер составляет
Avm ) = к " Xj
+
У - yj
(1)
Стоимость любого из таких деревьев д1 множества MST ^ V равна сумме длин его ребер
cos
t )= Z w(vm )
(2)
vm
по манхэттенской метрике (1). Тогда искомое множество остовных деревьев
MST = {[j,. : cost(^) -cost(MST)< Acost}, MST - минимальное остовное дерево.
Критерий сравнения деревьев. Для сравнения двух топологий деревьев используется оценка локальной плотности. Расчет проводится при помощи сетки из горизонтальных и вертикальных сечений. D(x) и D(y) отображают количество подпадающих под сечение ребер для столбцов и строк соответственно. Значение локальной плотности D = D(x) + D(y). Значит для ) AD = D1 - D2y . В качестве критерия близости
деревьев используется
pfo, ^)=р(^2, *)=ZZ ADxy2 = ZZ(Dy - Dy )2 =
x y 2
xy
= nxZADy2 + nyZD + 2ZADx -ZADy,
(3)
здесь АОх = Б(х1)- Б(х2), АОу = Б(у1)- В(у2), пх и пу - количество дискретов сечений сетки по осям.
Для учета разницы длин ребер можно использовать или фиксированный шаг сетки, или сетку Ханана [4]. От величины шага зависит точность оценки и быстродействие алгоритма. Пример применения критерия (3) показан на рис.2.
1 2 3 4 D(y)
Лщ,Р2) = 355 Рис. 2. Пример расчета критерия
1 2 3D(y)
н—I—I—у
Л
x
x
x
Реализация алгоритма. За основу взят алгоритм Краскала [5]. Его основная идея заключается в применении сортированного списка для последовательного выбора ребер основного дерева. В данном алгоритме гарантируется вхождение первого элемента списка в состав результирующего дерева. Для генерации семейства деревьев проводится поиск множества ребер-кандидатов для перестановки в начало списка. Стоимость (2) основного дерева, построенного на любом из ребер-кандидатов, должна отличаться от MST не более чем на Acost. На рис.3 приведен псевдокод алгоритма.
DELTA-KRUSKAL( V) input: G={A,V}, MST={A,VMSt} output: {jui} begin
(V\ VMST)
sort Vby w(vi)
candidates: {vk: vke V\ V*m: w(vk)<cost(max(VMST))+ A/
fo reach candidates
vk: first element /"temp =spanning_tree(V) if fu,emp:planar, /J,=ple,„p
end
Рис.3. Псевдокод алгоритма Delta-Kruskal
Для реализации алгоритма использовались языки высокого уровня Python и C++, для визуализации применялся программный модуль matplotlib. В алгоритме на каждой итерации добавления ребра встроена проверка на планарность. На рис.4 представлены некоторые из генерируемых деревьев.
Обсуждение результатов. Главной характеристикой реализованного алгоритма является размер генерируемого семейства остовных деревьев. При его построении определяется дополнительное
8
ство ребер-кандидатов VA
подмноже-с V. Для
1216 1088 960 832 704 576 448 320 192
64 0
АСШ/ = const
MST
V
2 4 6 8 10 12 14 16 18 20 22 24 26 A cost, %
при увеличении
^cos
(рис.4).
возникает насыщение алгоритма
Рис.4. Эффективность алгоритма Delta-Kruskal при различных N (N - количество вершин)
В состоянии насыщения число ребер-кандидатов будет равно
VA = V \ MST =
^cost
2
Данная оценка не учитывает планарность генерируемых деревьев, однако коррелирует с экспериментальными данными.
Предложенный подход к решению задачи многокритериальной глобальной трассировки позволяет распределять локальную плотность коммутационного пространства путем выбора конечных топологий деревьев Штейнера. Формализованный критерий используется для фильтрации путем сравнения топологий двух деревьев. Сложность разработанного алгоритма генерации множества остовных деревьев, близких к минимальному дереву, составляет o(n3 log n), где N - количество терминалов цепи.
А
cost
Литература
1. Гилл Ф., Мюррей У., Райт М. Практическая оптимизация: Пер. с англ. - М.: Мир, 1985. - 509 с.
2. Подиновский В.В., Гаврилов В.М. Оптимизация по последовательно применяемым критериям. -М.: Сов. радио, 1975. - 192 с.
3. Moffitt M.D., Roy J.A., Markov I.L. The Coming of Age of (Academic) Global Routing // International Symposium on Physical Design (ISPD, Portland, Oregon, 2008). - 2008. - P. 148-155.
4. Hannan M. On Steiners problem with rectilinear distance // SIAM J. of Applied Mathematics. - 1966. -Vol. 14, N 2, March. - P. 255-265.
5. Khandeval V., Srivastava A. Basic Algorithmic Techniques // Handbook of Algorithms for VLSI Physical Design Automation. - N.Y.: CRC Press, 2008. - P. 73-88.
Статья поступила 1 апреля 2010 г.
Заглядин Глеб Георгиевич - аспирант кафедры проектирования и конструирования интегральных схем МИЭТ. Область научных интересов: САПР, алгоритмы топологического проектирования. E-mail: [email protected]
Сырцов Илья Анатольевич - кандидат технических наук, доцент кафедры проектирования и конструирования интегральных схем МИЭТ. Область научных интересов: прикладная математика, проектирование топологии СБИС, методы и алгоритмы в автоматизации проектирования СБИС.
Школа Андрей Васильевич - инженер-аналитик ЗАО «Аплана Софтвер» (г. Москва). Область научных интересов: теория графов, дискретная математика, физика твердого тела.
f \
Вниманию читателей журнала
«Известия высших учебных заведений. Электроника»
Оформить годовую подписку на электронную
версию журнала можно на сайте
Научной Электронной Библиотеки:
www.elibrary.ru
Ч у