УДК658.5
АНАЛИЗ СТРУКТУРЫ ЗАДАЧИ ПРОЕКТИРОВАНИЯ ТОПОЛОГИИ МИКРОЭЛЕКТРОННЫХ УСТРОЙСТВ
СЕМЕНЕЦ В.В., ИВАНОВ В.Г.________________
Рассматривается задача канальной трассировки - выбора наименьшей ширины канала, достаточной для размещения в нем всех соединений и назначения их на магистрали. Предлагаются варианты решения и оптимизации в классе простейшей конфигурации.
Введение
Общеизвестны трудности, встречающиеся при решении сложных, многомерных практических задач оптимизации [1]. Это особенно относится к многоэкстремальным задачам, для решения которых тратится сравнительно много ресурсов ЭВМ. Для многих задач рост объема вычислений с ростом размерности n оценивается как Сп , где С - некоторая константа. Эти трудности связаны со специфическими свойствами геометрии многомерного пространства, по поводу которых Беллман использовал термин “проклятие размерности” [1].
Не менее важны и трудности качественного характера, вызываемые большой размерностью. Во-первых, имеется сравнительно много эффективных методов оптимизации для задачи малой размерности. Во-вторых, многомерность делает маловероятной унимодальность задач, что заставляет при решении прибегать к использованию сравнительно сложных и малоэффективных глобальных методов.
Размерность не является исчерпывающей характеристикой сложности задачи оптимизации. Важна структура задачи, возможности упрощения, сведения к менее сложным задачам.
Целью этой работы является исследование структур задачи проектирования топологии многокристальных микросборок.
Для успешной трассировки необходимо решить оптимизационную задачу.
Для линейных и выпуклых задач известно много работ, в которых структура задачи используется для уменьшения размерности [1]. К сожалению, опыт учета структуры линейных и выпуклых задач нельзя непосредственно распространить на более широкие классы задач, особенно на многоэкстремальные задачи.
В САПР проектируемые объекты обычно имеют выраженную иерархическую структуру (размещение, трассировка). Хотя взаимосвязи фрагментов такой системы достаточно сложны и недостаточно формализованы, эффективность подходов, учитывающих структуру задачи, часто подтверждается практикой. Тем не менее, несмотря на выраженный иерархический ха-
рактер практических задач оптимизации и неравномерность влияния отдельных переменных на точность решения, до сих пор отсутствует методическое обоснование исследований структуры задач, использование ее особенностей для более эффективного их решения. Это указывает на перспективность исследований в данной области. Систематическому изучению анализа возможностей упрощения задач оптимизации, рассматриваемых в данной работе, до сих пор уделялось мало внимания. Разрабатывались именно сами методы оптимизации.
Основная задача канальной трассировки - выбор наименьшей ширины канала, достаточной для размещения в нем всех соединений и назначения их на магистрали. Решение задачи трассировки будем искать в классе простейших конфигураций: для р-вы-водной цепи конфигурация содержит один горизонтальный и р вертикальных отрезков. Горизонтальный отрезок располагается в одном коммутационном слое, вертикальный - в другом. Цепь полностью определяется горизонтальным отрезком и номером магистрали, на которую этот отрезок назначен. При трассировке существуют ограничения на расположение горизонтальных и вертикальных участков.
Структура системы ограничений задачи трассировки МЭУ
Рассмотрим расположение горизонтальных отрезков цепей без их привязки к магистралям. Учесть горизонтальные ограничения можно с помощью графа интервалов (графа горизонтальных ограничений) стн (v,w),
где v={v1,v2,...,vn}, w < V х V - количество горизонтальных отрезков, ребро (vi,vj) существует в множестве w, если горизонтальные отрезки vi и vj, перекрываются при расположении их на одной прямой. Задача трассировки с выполнением горизонтальных ограничений сводится к нахождению раскраски вершин графа cth в наименьшее число цветов так, чтобы смежные вершины были окрашены разными цветами.
В двустороннем канале возникают ограничения на перекрытие вертикальных отрезков различных цепей. Их наличие связано с парами контактов на верхней и нижней сторонах канала, инцидентных разным цепям и имеющих одинаковую абсциссу. Вертикальные ограничения выявляются путем просмотра каналов слева направо. При появлении пары контактов, лежащих на одной вертикали и принадлежащих цепям с номерами i и j (i ф j), для выполнения вертикальных ограничений должно соблюдаться условие хі<х (нумерация магистралей сверху вниз), хі, xj - номера магистралей, на которых должны располагаться цепи с номерами i и j соответственно. Вертикальные ограничения учитываются с помощью графа av(V,U), v={v1,v2,...,vn}, U< VxV, дугаUij = (vi,vj) направлена от i к j, если хі<Х .
Необходимым и достаточным условием возможности удовлетворения вертикальных ограничений является отсутствие ориентированных циклов в графе с v.
РИ, 2007, № 3
113
Способы устранения циклов:
1) изменение координат контактов, участвующих в ограничениях, которые приводят к циклу;
2) усложнение конфигурации цепи (использование нескольких горизонтальных отрезков).
Обобщенный граф вертикальных и горизонтальных ограничений с VH(V,U1), V={vi,v2,...,vn}, Ui < VxV учитывает вертикальные и горизонтальные ограничения. Задача трассировки в канале - поиск раскраски вершин графа ст vh минимальным числом цветов. Раскраской вершин графа с vh считаем такую, при которой номера цветов, присваиваемых вершинам, удовлетворяют условиям х; ф Xj для ребра U=(Vi,Vj) и х;<Х| для дуги U = (vj,vj) .
Тогда задача тр ассировки может быть представлена в
следующем виде:
X* = argminF(x), xeQ'cQ, (1)
F(x) = Е Ii(xi), (2)
i=1
где Q = A1 х A2 х... х An,
Ai = {1,2,...,n},i = 1,2,...,N , (3)
n - количество магистралей канала;
Q' :x; > xj,i = 1,2,...,N, j: vj єст* [v;], (4)
x; > x j, i = 1,2,...,N, j: V j є ctv [v;], (5)
xi - * xj Ф 0,; = 1,2,...,N, j: у*єстн[у;], (6)
CTV [v;] - множество конечных вершин всех ребер, начальной вершиной которых служит Vi; ст* [vj] -множество, обратное множеству ctv[v;] [2].
В данной работе исследуются только ограничения вида (4) - (6), так как от вида ограничений можно выбрать подходящий алгоритм для оптимизации функции (2), либо значительно уменьшить область оптимизации Q.
В том случае, если граф a vh описывает только горизонтальные ограничения (6), задача трассировки может быть решена точно с помощью следующего алгоритма [3].
Алгоритм 1
1. Упорядочить горизонтальные отрезки множества v по левым концам: v1,v2,...,vn (v;<vj, если левая координата і-го отрезка меньше левой координаты j-го отрезка).
2. После раскраски ^N вершин v; (I=1,2,...,k) вершину v;+1 окрасить первой по порядку краской, которой не окрашены смежные с ней вершины из множества vi, {i=1, 2,...,k}.
Для графа интервалов оказывается справедливым равенство у(сн) = ф(сн), где у - хроматическое число графа а н ; ф(ст н ) - число вершин наибольшего полного подграфа графа a H .
В том случае, когда граф ууН описывает только вертикальные ограничения (4) - (5) и граф с vh ациклический, то задача трассировки решится точно с помощью алгоритма 2 [3].
Алгоритм 2
1. Пронумеровать вершины так, чтобы дуга (vi,vj) была всегда ориентирована от вершины v; к вершине vj, имеющей больший номер. Для ациклического графа такая нумерация всегда возможна и производится очень легко.
2. Присвоить вершине v; пометку i(v;), равную длине самого длинного пути от 1 до v; {i=1,2,...,N}.
3. Количество магистралей для трассировки канала равно max I(v;) .
i=1n
Пример правой и левой группы цепей представлен на рис.1.
/1 1 v / і—1 І — 1ч /1 і \ / 1-1-1 І — 1ч.
(ХьУі) (Xi . Уі ) (Х2?У2) (х2 9У2 )
(х2 5 У 2 ) (х2 \ У2 *) (хьУі) (Х1 15 У1 Ь
Рис. 1
В последующих разделах главы исследуется обобщенный граф вертикальных и горизонтальных ограничений (ОГВГО), который описывает ограничения (4) - (6).
Способы уменьшения области оптимизации задачи трассировки
Будем рассматривать двухконтактные цепи с одним горизонтальным фрагментом, координаты контактных площадок которых связаны соотношением x1 < x2
и y1 < у2 и которые расположены на различных сторонах горизонтального канала (i - номер цепи). Множество цепей, для которых выполняется условие
x1+1 = x2, будем называть правой группой цепей (см. рис. l).
Рассмотрим две группы правых цепей. ОГВГ О полностью описывает горизонтальные и вертикальные ограничения тр ассировки этих цепей. Пусть р; - локальная степень i-й вершины (количество неориентированных ребер, входящих в данную вершину). Будем рассматривать ОГВГО, для всех вершин которого справедливо соотношение р;>0, i = i, N . Множество вершин первой группы R={r1,r2,...,rm}, множество вершин второй группы K={kbk2,...,kn} (рис. 2). ОГВГО для двух групп правых цепей показан на рис. 3.
114
РИ, 2007, № 3
3.Cardr(ki) > 1 j = 1,n,
h k3 r2 k2 r3 kn rm
і----1----1--------■-----;--------1-------г
ri к і k2 i\; kn
Рис. 2
Основные свойства этих групп:
1. Г(гі) = {ki,k2,...,k а1},
Pq = a1,
r(r2) _ {ka,kai +1,---,kai } ,
Pr2 =a2 “a2 +1 , ri = {ka;-1>ka;-1 + k",ka; } ,
Pr; = ai -ai-1 + 1, r(rm) = {kam-1>kam-1 + 1,---,kn} ,
Prm = n _ am-1 +1 ,
где Г(ц) - множество номеров вершин, инцидентных вершине ri.
2. nkO = {г1,Г2,...,гР1},
CаrdГ(kj) > 1 j = 1,m .
4. Г(Гі) П Г(Гі+1) = k ai.
5. если CаrdГ(ki) > 1, то CardГ(ki) = 1,
Если CardT(ki) > 1, то CardT(r;) = 1.
Пусть А=(аьа2,...,аа) - множество номеров вершин первой группы, локальная степень которых больше единицы, а В={Ь1,Ь2,.,Ь;} - множество номеров вершин второй группы, локальная степень которых больше единицы. Из свойств 1 - 5 следует: d=l либо d=l+1. Пусть для определенности первая вершина первой группы имеет локальную степень больше единицы. Необходимо расставить пометки из множества натуральных чисел каждой вершине ОГВГО, причем две вершины должны иметь различные пометки, если они связаны неориентированным ребром, и вершина должна иметь меньшую пометку, если из нее выходит ориентированное ребро, чем вершина, в которую это ребро входит. Количество пометок должно быть минимально.
Определим разности при d=l:
Д1 = Pa1 _ Pb1 ,
Д2 = Pa2 _ Pb2 ,
Ді = Pa; - Pbi, (7)
Аd Pad Pbd, i
gi = EAs , i=1,2,...,d.
S=1
При d=l+1:
Д1 = qa1 - qb1 ,
A2 = Pa2 _ Pb2 ,
Pk1 =P1,
r(k2) = {rp1,rp1+1,...,rp2}, Pk2 =P2 -P1 +1,
Г(kj)={rp j-1’rp j-1+1,-’rp j}, Pkj=pj-pj-1+1,
Г(kn) = {rPn-1’rPn-1 +1’"',rPm } ,
Pkn = m _Pn-1 +1.
A; — Pa; Pb;
(8)
Ad = Pad ,
li =E Pb; - (l -1), І2 = E Paj - (d - 1) i=1 ; j=1 j ,
где l1,l2 - длина пути в графе вертикальных ограничений первой и второй группы, соответственно.
Утверждение 1. Если g1 > 0=i,2,''',d, то для трассировки двух групп цепей необходимо и достаточно i треков, где l = max{l1 Д2} +1.
РИ, 2007, № 3
115
Доказательство. Необходимость.
d d d d
gd = EAS = Ё (pas - PbS) = Ё PaS -Ё PbS ^ 0. S=1 S=1 S=1 S=1
Для (7) имеем
dd
gd = Z PaS - (d - 1) -Z PbS + (d - 1) =І2 - І1 ^ 0.
S=1 S=1
Для (8) имеем
gd = ZPaS - ZPbS + PaS = Z PaS “ (l “ 1 “
S=1 S=1 S=1
-Z PbS + (l -1) + Pad = І2 -11 ^ 0
S=1
Поэтому max{l1 ,І2} +1 = І2 +1.
Если первой вершине первой группы присвоим пометку с номером один (назначим на первый трек), то первой вершине второй группы можно присвоить пометку с номером два, так как между ними существует неориентированное ребро. Тогда последней вершине второй группы - пометку с номером І2+1.
Если первой вершине второй группы присвоить пометку с номером один, то соответствующей вершине
первой группы - пометку с номером Pa1 + 1, вершине
а2 - пометку с номером Pa1 + Pa2 . Тогда вершина аd
d
получит метку Z PaS _ (d _ 1) +1. Это следует из того, S=1
что gi > Оі=1,2,_,d. Таким образом, последняя вер-
шина первой группы получит метку с номером І2+1.
Достаточность. Присвоим первой вершине первой группы пометку, равную единице. Всем вершинам второй группы, которые связаны с помеченной вершиной, присвоим пометки от 2 до Ра1+1. Таким образом, вершина b1 получит пометку Ра1+1. Вершине b1 инцидентно рь1 < ра1 вершин первой группы, в том числе и первая, уже имеющая пометку 1. Поэтому оставшимся рь1 - 1 вершинам присвоим пометки с номерами от 2 до pb1.
Вершина а2 получит пометку с номером меньшим, чем ря1+1. Вершине а2 инцидентно ра2 вершин второй группы (в том числе и вершина Ьц имеющая пометку с номером ра1+1). Вершина b2 полнит пометку с номером ра1+ра2. Путем аналогичных рассуждений присваиваются пометки для вершин ОГВГО. Последняя вершина второй группы получит пометку с номе-d
ром, равным ^ Pa - (d -1) +1, а последняя вершина i=1
первой группы - пометку с номером l1. Утверждение 1 доказано.
Рассмотрим три группы правых цепей. В ОГВГО присутствуют только вершины, локальная степень которых больше нуля, поставим в соответствие каж-
дой группе вершину графа. Ребро направлено из вершины i в вершину j, если в ОГВГО локальная степень первой вершины соответствующей группы больше единицы. Легко убедиться, что граф для трех групп всегда будет ациклическим. Докажем следующее утверждение.
Утверждение 2. Если любой треугольник в полном ориентированном графе ациклический, то данный граф ациклический.
Доказательство. Докажем по индукции.
При п=3 - очевидный факт.
Допустим, что при n=i граф ациклический. Пронумеруем вершины так, что дуга (vi,vj) всегда ориентирована от вершины Vi к вершине vj, имеющей больший номер. Для ациклического графа такая нумерация всегда возможна и производится очень легко. При этом начальная вершина получает номер 1, а конечная - номер -1, причем из начальной вершины все дуги выходят, а в конечную - входят. Докажем, что и при n=1+i полный ориентированный граф будет ациклический.
Пусть дуга направлена от вершины 1+i к вершине 1. Так как все дуги направлены от вершины 1 к вершинам 2...1, то чтобы любой треугольник был ациклическим, необходимо направить все ребра от вершины с номером 1+i. Таким образом, граф получается ациклическим.
Если дуга будет направлена от вершины 1 к вершине 1+i, то в этом случае все треугольники с 1-й вершиной будут ациклическими. Возьмем вторую вершину. Для этой вершины справедливы все рассуждения, касающиеся первой вершины (когда дуга направлена от вершины 1+i ко второй, и наоборот). Это справедливо и для всех остальных вершин. Утверждение 2 доказано.
Рассмотрим Р групп правых цепей. Допустим, что в ОГВГО локальная степень всех вершин отлична от нуля. Для каждой пары групп по аналогии с (7) - (8) построим
ар
gi
ZAsP
S=1
i = 1,2,...,dа, а = 1,2,...P, р = 1,2,...P, а^р , dа — количество вершин группы с номером а , локальная степень которых больше единицы, 1а - длина дуги в графе вертикальных ограничений с номером а .
ар
Утверждение 3. Если gi > 0
i = 1,2,...,dа, а = 1,2,...P, р = 1,2,...P, а^р ,
то для трассировки Р групп цепей необходимо и достаточно 1 треков, где 1=тах{11,12,...,1р}+р-1.
Доказательство. Необходимость.Для любых а и Р на основании утверждения 1 необходимо 1 треков,
116
РИ, 2007, № 3
где 1=тах{1б,1в}+1. На основании утверждения 2 построим полный ациклический граф на р вершин, веса всех ребер которого одинаковы и равны единице. Найдем критический путь в этом графе с помощью алгоритма 2. Он будет равен р-1.
Таким образом, для трассировки р групп необходимо 1=тах{1і,І2,...,1р}+р-1треков.
Достаточность. На основании утверждения 2 построим полный ациклический граф на р вершин. Пронумеруем вершины этого графа как в утверждении 2. Возьмем вершины 1 и 2. Согласно утверждению 1 для трассировки двух групп цепей достаточно i треков, где і=тах{іб,ів}+1=І2+1. Вершинам первой группы присвоим пометки от 1 до І1, а вершинам второй группы - от 2 до і2+1. Рассмотрим вершины 2 и 3. Для трассировки второй и третьей группы достаточно і=тах{12,13}+1=13+1 треков. Вершинам третьей группы присвоим пометки от 3 до із+2. Продолжая аналогичные рассуждения, получим, что вершины р-й группы получат пометки от р до 1р+р-1. Утверждение 3 доказано.
С доказательства утверждения 3 следует алгоритм трассировки.
Алгоритм 3
ар
Шаг 1. Построение оценок gi и проверка условия
ар
gi > 0 (і = 1,2,...,da, а = 1,2,...P, р = 1).
Шаг 2. Построение ациклического графа для групп. Определение порядка трассировки групп цепей.
Шаг 3. Назначение треков для каждой группы цепей.
Рассмотрим две группы правых цепей. Найдем оценки с помощью выражения (7) или (2)-(8). До настоящего времени мы рассматривали случай, когда
gi ^0,i = 1,2,...,d.
Допустим, что g];<0. Для того чтобы использовать полученные выше результаты, введем фиктивные вершины и ребра, как показано на рис. 4.
Существует и второй способ введения фиктивных вершин (рис. 5).
Рис. 5
Таким образом, можно построить две системы оценок. Первая - с помощью выражений (7) - (8). Вторая:
а) при d=i
А1 = 1 - Pa1,
А 2 = Pb1 _ Pa ,
Ді = Pbi-1 - Pai , (9)
Ad = Pbd ,
gi = EAsi = 1,2,.,d;
s=1
б) при d4+1
A1 =1 - v
A2 = Pb1 _ Pa2 ,
Ai = Pbi_1 - Pai , (10)
Ad - Pbd -1 Pad , i
gi = EAS , і = 1,2,...,d .
S=1
Первый способ введения фиктивных вершин.
При первом способе мы увеличиваем i2 , а при втором ц. Пусть І2 - новое значение пути в графе вертикальных ограничений для второй группы, a І1 - для первой. Тогда с учетом утверждения 1 минимальное число пометок для двух групп равно
min{i1,i2} +1. (11)
Вычислим веса ребер для полного ориентированного графа (рис. 6):
і12 = І2 +1 - max{i1,i2}, i21 = i1 +1 - max{i1,i2}.
РИ, 2007, № 3
117
В том случае, когда существует р групп правых цепей, определим аналогично веса ребер для всех пар вершин графа а. Допустим, что выполняется условие
треугольника lij ^ lik + lkj.
Утверждение 4. Если выполняется условие треугольника, то трассировка р групп цепей возможна в l треках, где l - длина минимального ориентированного пути, проходящего через все вершины графа а .
Доказательство. На основании утверждения 2 при трассировке р групп должен быть ориентированный ациклический граф а. Любому ациклическому графу будет соответствовать свой вариант трассировки.
Второй способ введения фиктивных вершин.
Веса ребер для ориентированного графа.
Рассмотрим ациклический граф. Пронумеруем вершины этого графа так, что дуга (vi,vj) всегда ориентирована от вершины Vi к вершине Vj, имеющей больший номер. Для ациклического графа такая нумерация всегда возможна и производится очень легко. При этом начальная вершина получает номер 1, а конечная - номер р. Найдем критический путь в этом графе. Первой вершине присвоим пометку 0. Тогда вторая вершина получит пометку i 12, третья - i 13 и т.д., последняя - Цр. Переходим ко второй вершине. Третья вершина получит пометку, р авную max{i13,i12,i23}, так как выполняется условие треугольника, то пометка будет равна і 12+i23. Четвертая вершина получит пометку, равную max{i14,i12,i24}=i12+i24, и так далее, последняя - Ц2+2р. С помощью аналогичных рассуждений
p-i
присвоим вершинам метки, равные 2 li,j. Для вер-
i—1
шины р - это длина пути, проходящего через все вершины. Из всех графов выберем граф с минимальным путем. Утверждение 4 доказано.
Следствие. Если условие треугольника не выполняется (lij>lik+lkj), то заменим каждый элемент lj для которого оно не выполняется, элементом min [lik+lki] и продолжим эту замену до тех пор, пока для всякого k
не будет справедливо неравенство lij < llk + lkjj. Тогда длина минимального ориентированного пути,
проходящего через все вершины графа, будет нижней границей для задачи трассировки р групп цепей.
Из утверждения 4 следует, что задача трассировки тесно связана с открытой задачей коммивояжера (т.е. задача нахождения кратчайшей гамильтовой цепи в графе).
Выводы
В статье показано, что размерность не является исчерпывающей характеристикой сложности задачи трассировки. Важна структура задачи трассировки, т.е. возможности упрощения, сведения к менее сложным задачам.
Представляется необходимым дальнейшее исследования структур системы ограничений задачи трассировки многокристальных микросборок.
Научная новизна. Методически обоснована необходимость научного исследования структуры задач для более эффективного их решения в области проектирования и разработки микроэлектронных устройств на базе методов логического синтеза.
Практическое значение. Рассмотренные методы предназначаются для разработки многофункциональных устройств различного назначения. Разработанные методы оптимизации можно применить при проектировании систем автоматизированного проектирования.
Литература: 1. Шалтянис В.Р. Анализ структур задач оптимизации. Вильнюс: Институт математики и кибернетики АИ Литовской ССР, 1989. 120 с. 2. СелютинВ.А.Ав-томатизированное проектирование топологии БИС. М.: Радио и связь, 1983. 112 с. 3. Оре О. Теория графов. М.: Наука, 1980. 336 с.
Поступила в редколлегию 02.09.2007
Рецензент: д-р физ-мат. наук, проф. Бых А.И.
Семенец Валерий Васильевич, д-р техн. наук, профессор, первый проректор ХНУРЭ. Научные интересы: САПР, логический синтез. Увлечения и хобби: футбол, бильярд, рыбалка. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 702-13-64.
Иванов Виталий Геннадьевич, соискатель каф. БМЭ ХНУРЭ. Научные интересы: САПР, логический синтез. Увлечения и хобби: футбол, охота. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 702-13-64.
118
РИ, 2007, № 3