Научная статья на тему 'Алгоритм многоуровневой глобальной трассировки сверхбольших интегральных схем'

Алгоритм многоуровневой глобальной трассировки сверхбольших интегральных схем Текст научной статьи по специальности «Математика»

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

Текст научной работы на тему «Алгоритм многоуровневой глобальной трассировки сверхбольших интегральных схем»

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

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

1. Курейчик В.В., Нужное ЕМ. Подготовка инженеров специальности 230104 на основе использования методологии и промышленных САПР компании Cadence Design Systems // Труды Международных научно-технических конференций «Интеллектуальные системы (IEEE AIS’05)» и «Интеллектуальные САПР (CAD-2005)». Научное издание в 4-х томах. - М.: Изд-во физико-математической литературы, 2005, т.4. - С. 98-104.

2. . ., . .

Cadence Design Systems // -

технических конференций «Интеллектуальные системы (IEEE AIS’05)» и «Интеллектуальные САПР (CAD-2005)». Научное издание в трех томах. - М.: Изд-во физикоматематической литературы, 2005, т.2. - С. 430-436.

3. Куре йчик В.В., Нужное ЕМ., Полупанов АЛ. Редактор размещения VIRTUOSO для про-

// -лектуальные системы (электронный журнал), 2006, № 1(25).

4. Cadence Design Systems, 2006. - www.cadence.com

5. Cadence Design Systems. Products. Custom IC design. Analog Design Environment, 2006. -http://www.cadence.com/products/custom ic/veditor/index.aspx

Б.К. Лебедев, P.A. Белогородцев

АЛГОРИТМ МНОГОУРОВНЕВОЙ ГЛОБАЛЬНОЙ ТРАССИРОВКИ СВЕРХБОЛЬШИХ ИНТЕГРАЛЬНЫХ СХЕМ*

Традиционно проблема трассировки СБИС разбивается на две части - глобальную и детальную. При глобальной трассировке сначала вся трассируемая об-

( ).

После этого производится распределение соединений по дискретам и строится модель области трассировки коммутационного поля (КП) в виде решетчатого графа G=(X,U). Вершины этого графа соответствуют глобальным ячейкам, а ребра представляют границы между соседними ячейками. Каждому ребру u е U приписывается емкость еи. Это максимальное число трасс, которые могут проходить по этому . , металлизации и размером ячейки.

Алгоритмы глобальной трассировки делятся на «последовательные» и «па».

лабиринте и лучевые алгоритмы. Большинство параллельных алгоритмов используют формулировку проблемы в виде потока в сети [1] или линейного распределения [2] и позволяют трассировать некоторый набор сетей одновременно. Рассмотренные алгоритмы трассировки требуют большого времени для получения приемлемого решения. В [3] была предложена трехуровневая схема трассировки с дополнительной фазой распределения трасс между глобальной и детальной фазами, которая привела к улучшению времени работы трассировщика. Для решения задач большой размерности также применялись и иерархические методы [4]. С этими методами связаны следующие проблемы: во-первых, решение, принимаемое на более высоком уровне ограничивает решения на низких. Во-вторых, недостаток

* Работа выполнена при поддержке программы развития научного потенциала высшей школы РНП.2.1.2.3193

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

Первый многоуровневый алгоритм глобальной трассировки был предложен в [5]. Процесс поиска решения в нем состоит из 2-х ступеней: «огрубления» и «детализации» (рис.1). На первой ступени после разбиения трассируемого пространства на глобальные ячейки производится огрубление графовой модели КП от уровня к уровню до некоторого уровня к глобальной трассировки. На каждом таком уровне происходит объединение четырех глобальных ячеек в одну, более общую, что соответствует слиянию вершин графа О, представляющих эти ячейки. Число уровней выбирается таким образом, чтобы размер самого грубого представления КП не превышал 30-50 ячеек по горизонтали и вертикали. После этого осуществляется

Ок ,

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

Начальная

трассировка

КП0

Разбиение на глобальные ячейки К детальной трассировке

Рис.1.Схема работы алгоритма многоуровневой глобальной трассировки

Она определяется как отношение свободной площади, смежной с границей, к ширине ячейки. Например, на рис.2 значение проводниковой емкости на границе В слева равно

^ , (1)

прав ^

,=1 ™

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

площади свободных прямоугольников, проходящих с одного конца до другого насквозь. Для ячейки на рис.2 при прохождении слева направо (или справа налево) С™ = (Я2W2+Я4W4)/W.

н, с, Ж,

1 н2 С;

, п3 С3 т

> “

/М 1 к С, '

IV

Рис.2. Вычисление емкости на границе

Межуровневая емкость характеризует ресурсы переходов между уровнями металлизации и равна нормированной площади свободных прямоугольников в глобальных ячейках. Если ячейка полностью свободна, то Сму=1. При «огрублении» графовой модели трассировки для новой вершины, образующейся при объединении четырех более детальных, в [5] результирующие емкости просто складываются. В отличие от этого, в данном методе при каждом переходе от уровня к уровню проводниковая и сквозная емкости пересчитываются. Это приводит к более точной оценке трассировочного ресурса на более грубых уровнях представле-.

После завершения процедуры огрубления осуществляется начальная трассировка на самом верхнем уровне. Для этого мы сначала преобразуем сети во множество бинарных соединений (рис.3). При этом для всех сетей строятся деревья Штейнера с учетом Манхэттеновского расстояния с помощью алгоритма из [6].

« »,

чтобы не путать с ребрами графовой модели КП.

,

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

До начальной трассировки значение дефицита трассировочного ресурса в ребрах графа неизвестно, поэтому первые трассы могут быть проложены через , . цель - минимизировать число плохо трассированных соединений на самых ранних этапах трассировки. Для этого вычисляется «статическая» и «динамическая» оценки дефицита трассировочного ресурса.

Статическая оценка определяется как математическое ожидание количества трасс, проложенных через ребро графа, если допустить, что трасса между двумя точками прокладывается только в прямоугольнике, ограниченного этими точками [7].

Формиротние графовой мебели КП

Огрубление

Лабиритоиал ірассировка верхнего уровня

Быбср следующего уровня

Трассировка локальных. селей

____________^

Выбор цепи верхнего уровня

Отражение результатов, полученных на предыдущем уровне [назначение штрафов)

Трассировка цепи

Снял и є ипрафов

Рис.3. Структурная схема алгоритма

, -

, , -го. Эти две оценки далее объединяются в общую “подсказку” глобальному трасси-, , следует избегать. «Обобщенная» оценка дефицита трассировочного ресурса рассчитывается по следующей формуле:

d/=dce-3x +d (1-e^), (2)

где x е {1,2,...} - номер итерации перетрассировки; dc, da - статическая и динамическая оценка соответственно; в - коэффициент, подбираемый опытным путем. Обобщенный показатель перегруженности ребра на первой итерации равен

,

показатель практически равен динамической.

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

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

. , -ложенный подход позволяет получать качественные решения для задач большой размерности. Пространственная сложность алгоритма - O(n~).

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

1. T.F. Chang, J. Cong, T.Kong, J.R. Shinnerl. Multilevel optimization for lagre-scale circuit placement. Proc. ICCAD, pp. 171-176, Nov. 2000.

2. Y.-W. Chang, K. Zhu, D.F. Wong. Timing driven routing for symmetrical-array based FPGAs. Trans. on Design Automation of Electronic Systems, vol. 5, no. 3, pp. 433-450, July 2000.

3. J. Cong, J. Fang, K. Khoo, DUNE: A multy-layer gridless routing system with wire planning. Proc. International Symposium on Physical Design, pp. 12-18, Apr. 2000.

4. D. Wang, E. Kuh. A new timing driven multilayer MCM/IC routing algorithm. Proc. IEE Multi-Chip module Conference, pp. 89-94, Feb. 1997.

5. J. Cong, J. Fang, Y. Zhang, Multilevel approach to full-chip gridless routing. Proc. ICCAD, pp. 396-403, Nov. 2001.

6. Лебедев Б.К. Интеллектуальные процедуры синтеза топологий СБИС. - Таганрог: Изд-во ТРТУ, 2003. - 108 с. "

7. . . . // -

бернетика. 1980, №1. - С. 217.

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