Научная статья на тему 'Использование гиперграфовой модели для гибкой трассировки соединений специализированных больших интегральных схем'

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

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

Аннотация научной статьи по математике, автор научной работы — Старостин Н. В., Балашов В. В.

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

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

THE USE OF HYPERGRAPH MODEL FOR FLEXIBLE TRACING OF SPECIAL HIGHLY INTEGRATED CIRCUIT CONNECTIONS

The problem of orthogonal tracing of highly integrated circuits with irregular structure is examined. It is offered to modulate the connecting field of the chip with a marked hypergraph, perform «flexible tracing» on the hypergraph model and fix the routes only at the last stage.

Текст научной работы на тему «Использование гиперграфовой модели для гибкой трассировки соединений специализированных больших интегральных схем»

Математическое моделирование и оптимальное управление Вестник Нижегородского университета им. Н.И. Лобаче вского, 2007, № 6, с. 134-139

УДК 519.179.1

ИСПОЛЬЗОВАНИЕ ГИПЕРГРАФОВОЙ МОДЕЛИ ДЛЯ ГИБКОЙ ТРАССИРОВКИ СОЕДИНЕНИЙ СПЕЦИАЛИЗИРОВАННЫХ БОЛЬШИХ ИНТЕГРАЛЬНЫХ СХЕМ

© 2007 г. Н.В. Старостин, В.В. Балашов

Нижегородский госуниверситет им. Н.И. Лобачевского

nvstar@iani.unn.ru

Поступила в редакцию 08.11.2007

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

Введение

Трассировка больших интегральных схем (БИС) является трудоёмкой задачей и вопрос автоматизации этого этапа конструкторского проектирования кристаллов на протяжении последних десятков лет стоит остро.

До недавнего времени для решения задачи трассировки применялись модели коммутационного поля (КП), называемые дискретными рабочими полями (ДРП). ДРП основаны на предложенной Ли [1] идее разбиения монтажного пространства на элементарные клетки (дискреты) с размерами, соответствующими шагу расположения трасс. Модель типа ДРП неадекватно отражает реальные условия трассировки, а именно: за счёт фиксации построенных трасс в определённых клетках ДРП для следующего соединения часто не существует искомой трассы на модели, в то время как можно найти решение, выполнив локальную деформацию трасс. Реализовать деформацию на ДРП сложно, требуется большое время на передвижение трасс в новые клетки.

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

В работе Р.П. Базилевича [2] был использован подобный подход, названный «гибкой трассировкой». При этом КП разбивается на макро-

дискреты, имеющие увеличенные, по сравнению с дискретами, размеры.

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

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

1. Задача ортогональной трассировки БИС

Исходными данными рассматриваемой задачи трассировки являются:

• параметры ортогональной сетки трассировки - шаг и минимально допустимое расстояние между трассами;

• граница КП - координаты ограничивающего прямоугольника;

• множество зон запрета трассировки и множество контактных площадок, каждый элемент

которых описывается координатами ограничивающего прямоугольника в пространстве КП;

• множество цепей БИС - на множестве контактных площадок задается разбиение на не-пересекающиеся подмножества, каждое из которых соответствует определенной цепи БИС.

В задаче требуется для каждой цепи в КП построить систему трасс. Под трассой будем понимать связанную друг с другом систему проводников с координатами их расположения на КП. На систему трасс налагается ряд ограничений:

• трассы разных цепей не должны иметь контакта друг с другом на КП;

• трассы должны проходить только по сегментам сетки трассировки;

• запрещено пересечение трасс с зонами запрета трассировки.

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

2. Разбиение коммутационного поля на макродискреты

Приведем координаты прямоугольных участков на КП в соответствие с параметрами ортогональной сетки трассировки. Зоны запрета трассировки и зоны контактных площадок создают преграды для прокладки трасс. В силу этого пространство КП имеет неоднородный характер с точки зрения пропускных способностей. Построим разбиение КП с учётом «узких мест» трассируемого пространства.

Разбиение предлагается строить в два этапа. На первом этапе из прямоугольной области КП исключаются прямоугольные участки особых зон - получаем непрямоугольный сегмент1 КП,

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

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

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

6 11 10 1 4

12 1 5 9 2

Рис. 1. В пространстве КП (ограничено прямоугольником) определены 2 контактные площадки (черные квадраты) и 2 зоны запрета трассировки (серые прямоугольники). Порядок разрезания КП указывают номера отрезков. Предпоследний 11 разрез разделил разрез 10 на два - так получился последний 12 разрез

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

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

бы одно ребро с ненулевой пропускной способ-

2

ностью , соответствует одному макродискрету. Каждое ребро с ненулевой пропускной способностью граничит ровно с двумя гранями. В самом худшем случае получаем столько граней М, сколько вершин со степенью два в графе сетки макротрассировки после первого этапа алгоритма. Наибольшее число подобных вершин 4К, где N - число особых зон КП. Таким образом, М < 4^ что означает линейную зависимость числа макродискретов от числа особых зон КП.

3. Макротрассировка на гиперграфовой модели

Разбиение КП будем моделировать гиперграфом Н (см. рис. 2), в котором вершины уеНУ соответствуют ребрам в графе О сетки макротрассировки (или разрезам КП), а гиперребра е<=НЕ - граням графа О (или макродискретам).

© ©

1 4

© © ©

3 5

(§) (Л)

© 7 ©

9 6

© 8 ©

Рис. 2. Разбиение КП 12 разрезами на 9 прямоугольных сегментов моделируется гиперграфом на 12 вершинах и 9 гиперребрах

Предлагается следующая схема макротрассировки. На каждой итерации алгоритм выполняет последовательность действий:

1) выбирает контактную площадку и моделирует её введением вершины в гиперграф Н;

2) находит кратчайший маршрут с учетом пропускных способностей от данной вершины до некоторого элемента гиперграфа, который соответствует фрагменту трассируемой цепи;

2 Ребро, моделирующее разрез, всегда имеет пропускную способность больше нуля.

3) модифицирует структуру гиперграфовой модели КП и пересчитывает пропускные способности вершин.

Рассмотрим подробнее обозначенные шаги алгоритма. Порядок перебора контактных площадок может существенно сказаться на результате. Определять порядок перебора поручается схемам, основанным на «разумных» стратегиях ранжирования нерассмотренных контактных площадок.

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

Если существует маршрут от новой введенной вершины до некоторого элемента гиперграфа, то и топология КП допускает возможность построения связи между соответствующими объектами в пространстве трассировки без учёта пропускных способностей «узких мест».

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

„ 4

последний разделён трассой на два разреза . При этом сумма пропускных способностей обоих разрезов равна пропускной способности начального разреза без единицы5. Моделируя данные разрезы вершинами в гиперграфе с соот-

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

4 Возможны более сложные случаи, когда разрез разбивается на более чем 2 разреза, однако сути это не меняет. Для простоты описания будем считать, что разрез разбивается ровно на 2 фрагмента.

5 Одна трасса уже пересекла разрез - поэтому его пропускная способность уменьшилась на 1.

ветствующими метками, приходим к задаче поиска трассы на гиперграфовой модели КП, которую формулируем как задачу поиска кратчайшего пути с учётом ограничений вида:

р п О/| <т1, / = 1^ , (1)

где P с HV - множество вершин гиперграфа Н, через которые проходит некоторый маршрут; Оl с HV - /-ая группа вершин гиперграфа H, где I = 1, k ; т1еЫ - пропускная способность /-й группы вершин; k - число групп вершин, соответствует числу разрезов КП.

Для решения поставленной задачи предлагается волновой алгоритм, который строит всевозможные пути в гиперграфе Н от начальной вершины У0 до остальных с учётом пропускных способностей групп вершин О,. Алгоритм заканчивает работу, как только будет найден маршрут до одного из элементов гиперграфа, помеченного специальной конечной меткой.

Для описания алгоритма введём понятие маркера. Четверку (у,Ь,г,Т) будем называть

маркером, где V е HV, Ь е 2+ , I е 2 , Т = = (tl,..,tk), tl е 2 + , / = 1,k . Маркер (у,Ь,\,Т) будем называть допустимым, если ^ <Х1,

t2 < ^2,...,tk < ^, т.е. tl < X/, V/ = 1,k . Маркер (V, Ь, и) можно рассматривать как метку (Ь,/,Т), приписанную к вершине V. Пусть име-

ется множество маркеров М= ,ті,...

маркер

т

= V1,V,і1,Т] ) М

V3 = V, V < Ь, ґ{ < ,

такой,

что

маршрут найден, трасса будет сформирована при помощи Т-образного соединения внутри ячейки микротрассировки.

6. Находим множество смежных вершин

г(у]) к вершине V1 .

7. Для каждой вершины V е в(у1):

7.1. Строим маркер т = (V, Ь,/,Т), где:

Ь = Ь1 + Б^,V1), здесь Б^,V1)- расстояние в КП между соответствующими разрезами;

, =1;

tl = ■

ї/, если V і ; ї] +1, если V є G^

"Г 1, к с ,

здесь I = 1, k .

7.2. Если маркер т - допустимый и метка (Ь,/,Т ) ещё не приписана к вершине V, то выполняем:

7.2.1. mJ+1 = т .

7.2.2. J = J +1.

7.2.3. Упорядочиваем маркеры т^,т^,...,

т_у- по возрастанию Ь: Ь" < Ь"+1 для " = 3, J — 1.

7.2.3. Если вершина V3 помечена конечной меткой, то ВЫХОД - маршрут найден, трасса будет сформирована при помощи соединения контактных площадок;

8. 1 = 1 +1;

9. Переход к п. 3.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Результат работы предлагаемого алгоритма -последовательность маркеров. Маркер т3 =

= (^3,Ь3,і],Т] ) указывает на последний разрез Vі, через который пройдет трасса; компонент V определяет оценку длины трассы; компонент і1 содержит индекс предыдущего маркера; компоненты ї/ (і = 1, к) вектора Т1 принимают целочисленные значения и отмечают, сколько раз трасса пересечёт разрезы с ограниченными пропускными способностями (1). Таким образом, двигаясь от маркера к маркеру, восстанавливается искомая трасса.

5. Изменение структуры гиперграфовой модели коммутационного поля

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

J >

Будем говорить, что к некоторой вершине V уже приписана метка (Ь, \,Т ), если существует

4. Алгоритм поиска трассы на гиперграфовой модели

1. Обозначим через J - последний маркер, через 1 - текущий маркер: J = 0 , 1 = 0.

2. Строим маркер т^ = V1,V,і],Т}) где Vі = Vo - начальная вершина, V = 0, і] = — 1,

Т] = (0,...,0).

3. Если 1 > J, то ВЫХОД - маршрута не существует.

4. Находим множество инцидентных гиперребер Е(V1) к вершине Vі .

5. Если существует гиперребро из Е(V1), помеченное конечной меткой, то ВЫХОД -

Рис. 3. Трасса соединила два контакта (см. рис. слева), разделив разрез 12 и два макродискрета. В гиперграфо-вой модели КП (см. рис. справа) вершина 12 будет заменена парой вершин 12' и 12'', гиперребра 3 и 9 будут разбиты на 3', 3'' и 9', 9'' соответственно. Все четыре новых гиперребра будут помечены меткой цепи, к которой принадлежат соединенные контакты

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

Будем моделировать каждый разделённый трассой разрез включением в гиперграф Н пары новых вершин, а каждую ячейку макротрассировки, разделённую трассой, моделируем в Н парой новых гиперребер (см. рис. 3). После этого удаляются все элементы (вершины и гиперребра) исходного гиперграфа Н, соответствующие объектам КП (разрезы и ячейки макротрассировки), через которые прошла трасса.

6. Пересчёт групп вершин и их пропускных способностей

Любой разрез, через который проходит трасса, разбивается на два. При этом сумма пропускных способностей обоих разрезов равна пропускной способности начального разреза без единицы. Так (рис. 3), если разрез 12 имел пропускную способность 2 (г12=2), то два порожденных от него разреза 12' и 12 ' должны в сумме иметь пропускную способность не больше 1. Таким образом, в группе вершин 0^=^^} вершина v12 заменяется парой новых вершин v12', '1’12'', и пропускная способность группы г12 уменьшается на 1 (г12=1).

Рис. 4. Пример макродискрета, через который проходит две трассы. Выделенный треугольником разрез имеет пропускную способность 2 и через него не проходит ни одна трасса. Формально это означает, что его пропускная способность г =2, однако КП макродискрета уже не позволит пропустить сквозь этот разрез ни одну трассу при любом варианте прокладки трасс

Описанная выше процедура пересчёта пропускных способностей групп носит характер оптимистичной эвристики. На рис. 4 показан пример, когда тривиальным вычитанием 1 из правых частей ограничений (1) не обойтись. Всевозможные процедуры пересчёта пропускных способностей на данном этапе можно условно разбить на две группы: оптимистичные и пессимистичные эвристики. Первые находят верхние оценки пропускных способностей границ макродискретов, вторые - рассчитывают их гарантированные возможности трассировки. Главным достоинством оптимистичных эвристик является максимальное использование КП для прокладки трасс, а недостаток заключается в отсутствии гарантий трассировки трасс внутри макродискретов. Пессимистические стратегии напротив, гарантируют трассировку внутри макродискетов, но не позволяют максимально использовать возможности КП. В силу этого целесообразность применения той или иной конкретной стратегии зависит от особенностей задачи трассировки и решается экспериментальным путем.

7. Фиксация трасс внутри макродискретов

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

Микротрассировку предлагается осуществлять последовательно. Макродискреты КП перебираются один за другим в порядке убывания «сложности» трассировки. Для каждого осуще-

ствляется построение и фиксация системы трасс с учётом зафиксированного расположения трасс, идущих из соседних ячеек. Подобные задачи хорошо известны, для их решения могут использоваться, в частности волновые и канальные алгоритмы [1, 3].

В качестве критериев определения «сложности» трассировки макродискретов выступают:

1) нижняя оценка плотности трасс внутри макродискрета (оценка числа ДРП не занятых под трассы, делённая на общее число дискретов в пространстве макродискрета);

2) коэффициент проходимости края ячейки (оценка числа свободных каналов всех рёбер макродискрета, делённая на суммарную пропускную способность границы макродискрета);

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

Описанные критерии предлагается ранжировать. Линейный порядок, определённый на множестве критериев, будем называть стратегией.

Таким образом, для трёх критериев допускается 6 вариантов стратегий перебора макродискретов. Подбор оптимального варианта решается экспериментальным путём.

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

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

1. Назаров А.В., Фомин А.В., Дембицкий Н.Л. и др. Автоматизация проектирования матричных КМОП БИС / Под ред. А.В. Фомина. М.: Радио и связь, 1991. 256 с.

2. Базилевич Р.П. Декомпозиционные и топологические методы автоматизированного конструирования электронных устройств. Львов: Вища школа. Изд-во при Львов. ун-те, 1981. 168 с.

3. Ватанабэ М., Асада К., Кани К., Оцуки Т. Проектирование СБИС: Пер. с японского. М.: Мир, 1988. 304 с.

THE USE OF HYPERGRAPH MODEL FOR FLEXIBLE TRACING OF SPECIAL HIGHLY INTEGRATED CIRCUIT CONNECTIONS

N. V. Starostin, V. V. Balashov

The problem of orthogonal tracing of highly integrated circuits with irregular structure is examined. It is offered to modulate the connecting field of the chip with a marked hypergraph, perform «flexible tracing» on the hypergraph model and fix the routes only at the last stage.

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