УДК 681.325
Б.К. Лебедев
Перекоммутация соединений в канале на основе коллективной адаптации
При проектировании элементов СБИС, содержащих вентили, выводы вентилей и сами вентили могут быть взаимозаменены без изменения функций элементов. Взаимозамена выводов и вентилей позволяет изменить в канале число пересечений, длину соединений и, самое главное, плотность канала. Взаимозамена, фактически, сводится к перекоммутации соединений между эквивалентными выводами и группами выводов.
В работе процесс поиска решения представляется в виде адаптивной системы, которая работает в условиях частичной ( или полной ) априорной неопределенности и изменяющихся внешних условиях, а получаемую в процессе работы информацию об этих условиях использует для повышения эффективности работы.
1. Проблемная формулировка и определения
Канал ограничен верхним рядом выводов Т и нижним рядов выводов В.
Выводы имеют сквозную нумерацию слева направо. Не теряя общности, рассмотрим верхний ряд выводов. Пусть к ряду выводов подключена некоторая схема S. На основе анализа функций схемы с помощью тривиального алгоритма строится дерево Т эквивалентности выводов и групп выводов ( рис. 1 ). Вершины у подножия дерева не имеют приемников и соответствуют выводам. В дереве Т имеются два типа вершин. Вершины типа ИЛИ ( незаштрихованный кружок ) и вершины типа И ( заштрихованный кружок ). Введем рекурсивное определение уровня для вершины дерева эквивалентности ( ДЭ ):
вершины дерева, соответствующие выводам, имеют нулевой уровень;
уровень вершины не соответствующей выводу, равен максимальному уровню среди вершин приемников плюс единица.
Вершины VI] дерева имеют следующую индексацию: { - соответствует номеру уровня; ] - номеру вершины { - уровня. Пусть Ру - множество вершин приемников вершины V] На рис. 1б для V41 множество Р41 = { Vз1, Vз2 }. Обозначим через Ву множество выводов ( вершин нулевого уровня ДЭ ), имеющих общим корнем вершину V] На рис. 1 для V32 множество Ву = < 7, 8, 10, 11, 9 >. Множество Ву упорядоченное: выводы записаны в том порядке, в каком они размещены в подножии дерева Т. Вершина VI] типа ИЛИ обладает следующими свойствами. Все вершины Ру являются эквивалентными: имеют один и тот же уровень { - 1; для любой пары вершин - приемников Vi-1,neРy и Vi-1,meРy соответствующие им множества выводов В^1п
и Вм,т являются эквивалентными, то есть при взаимо- | однозначной перекоммутации соединений между В1-1п и В^1т функция схемы не изменится.
У вершины Vij типа И вершины - приемники Ру могут иметь различный уровень к < 1, и неэквивалент- у ны, то есть перекоммутация соединений между парой
вершин - приемников невозможна. Например: для 1 2 3 4 57 8101196 графа, изображенного на рисунке 1, некоторые Ру рис1
имеют вид:
Р11 = < 1, 2 Р21 = < VII, ^12 >;...;р31 = < ^21, 5 >;...; Р41 = < V31, V32 >.
Сформируем на основе Ру и Ву для вершины типа ИЛИ множества Оу эквивалентных групп выводов ( ЭГВ ). Для общности, обозначим отдельный вывод Ь], как группу Во], состоящую из одного вывода Ь]. Тогда,
Оу = < < БЬ1,к > | к = ^...1] >.
Для нашего примера:
С11=<<1>,<2>>;...; 021=<<1,2>,<3,4>>;...;041=<<1,2,3,4,5>,<7,8,10,11, 9>>.
Обозначим через А = < а1 | 1 = 1, 2, ... п > список соединений, подключаемых к выводам, где а1 - номер соединения, подключаемого к 1 - выводу.
Например, пусть имеется список АТ=<4,5,5,6,6,3,2,1,2,3,1> для верхнего ряда выводов и АБ=<1,0,2,3,0,4,0,5,0,0,6> для нижнего ряда выводов. АТ иАВ=А.
Верхний ряд выводов с 1 по 11 подключен к схеме, изображенной на рис. 1. Нижний ряд выводов имеет фиксированную коммутацию с соединениями списка АВ. На рис. 2а показана трассировка в соответствии со списками АТ и АВ.
Произведем на базе вершины ИЛИ V41 перекоммутацию соединений. В соот ветствии с О41 получим АТ = < 2, 1, 3, 1, 2, 3, 4, 5, 6, 5, 6 >. Далее произведем перекоммутацию в соответствии с О11 и О12 получим: АТ = < 1, 2, 1, 3, 2, 4, 5, 6, 5, 6 >. На рис. 2б показана трассировка для вновь полученного списка АТ.
Перекоммутация цепей фактически приводит к изменению длины горизонтальных фрагментов цепей. Чем меньше суммарная длина Ь горизонтальных фрагментов, тем меньше плотность канала, число пересечений соединений, и т.п. Работа алгоритма направлена на минимизацию показателя Ь.
Введем в точках расположения выводов силы притяжения, величина и направление которых характеризует стремление соединения к перекоммутации.
Пусть Ь1 и Ь два вывода, подключенные к одной цепи, причем Ь1 расположен слева от Ь]. Пусть 1 - расстояние между Ь1 и Ь]. Тогда на контакт соединения, подключенный к выводу Ь1 действует сила Бу = к • 1] а на контакт соединения той же цепи подключенный к выводу Ь] действует сила Б]1 = - к • 1у, где к - коэффициент.
45566321231
О о о о о о о о оо
£
?
цепи
121323456 56
О 0000000 ООО
і’
і
і
0 ООООООО ООО
1 2 3 4 5 6
б )
О О О О О О О О О О
1 2 3 4 5 6
а )
Рис 2
Поскольку цепь подключается к нескольким выводам, то на контакт соединения, подключенный к выводу Ь1 действует суммарная сила, определяемая как:
^ Ец.
j
На рис. 3 представлена цепь и действующая на контакты соединения в точках
Ьі
1 2 Ь2 --- • 2
подключения к выводам силы притяжения.
Б 1=311+212+Ь;р2=-11+212+Ь; Е3=-11-212+13;р4=-11-212-313.
Отличительной особенностью такого подхода является то, что ^ Е± = 0 .
Рис .3
Это дает возможность объединить выводы в группы Б1] и вычислять суммарную силу притяжения Б( Б1] ), действующую на группу контактов соединений, подключенных к группе Б] Например, пусть Б11 = { Ь1, Ь2, Ь3 }
( рис.3 ). Тогда, Б ( Б11 ) = 11 + 212 + + 313, а Б( Б11 ) + Б4 = 0.
Самые большие силы притяжения действуют на крайние контакты соединения. Для нашего примера это силы Б1 и Б4.
2. Алгоритм перекоммутации соединений
Процесс поисковой адаптации имеет последовательный многоэтапный характер, на каждом этапе которого определяется адаптирующее воздействие на объект, повышающее его эффективность и оптимизирующее критерии качества. Сложившаяся ситуация характеризуется двумя факторами: состоянием среды, в которой находится объект и самим объектом адаптации.
Задано первоначальное подключение соединений к выводам. На каждой итерации под действием адаптирующего воздействия выполняется групповая перекомму-тация соединений, не изменяющая функции схемы.
Объектами адаптации являются выводы Ьк и группы выводов Б] Состояние среды характеризуется топологическим вариантом реализации заданной функции схемой, то есть, фактически, вариантом подключения контактов соединений к выводам и, как следствие, значениями сил притяжения, действующих на контакты соединений в точках подключения к выводам. Оценкой состояния объекта является действующая в нем сила притяжения.
Локальная цель конкретного объекта - достичь состояния, при котором сила притяжения, действующая в Ьк или в Б1], была бы равна 0. Глобальная цель коллектива объектов достичь состояния среды, обеспечивающее благоприятные условия для последующей трассировки ( минимизация плотности канала и числа пересечений ).
Для организации процесса перекоммутации на основе анализа множеств Оу эквивалентных групп выводов формируются множества непересекающихся пар ЭГВ, что дает возможность одновременно ( параллельно ) реализовывать перекоммутацию во всех парах. Под реализацией понимаем рассмотрение пары ЭГВ И, если соответствующие условия выполняются, то осуществляется взаимная перекоммутация соединений между парой ЭГВ.
Рассчитаем для каждой ЭГВ координаты геометрического центра. Пусть для заданной схемы имеется взаимное расположение геометрических центров со сквозной нумерацией вдоль ряда выводов.
В пределах каждого О1+1,] формируется два непересекающихся множества пар ЭГВ. В первое множество входят пары Б1к и Б1к+1 такие, что к является нечетным числом, к = 1, 3, 5, .... Во втором множестве к является четным числом, к = 2, 4, 6, .... Отметим, что в пределах одного уровня ЭГВ не пересекаются по выводам.
Для реализации механизма адаптации каждому объекту ( ЭГВ ) Б1] ) сопоставляется автомат адаптации ( АА ) А1], моделирующий поведение объекта в среде. АА Ау Рис . 4 имеет три состояния: { Су1, Су2, Су3
} ( рис. 4 ) соответствующее трем альтернативам перекоммутации. Если АА находится в состоянии Су1, то соответствующая ЭГВ Ву стремится к перекоммутации с ЭГВ Вц-Ь расположенной слева от Ву. Состояние Су соответствует стремлению В1] к перекоммутации с группой Вц+ь расположенной справа от Ву. Су - нейтральное состояние.
Каждому состоянию сопоставляется параметр Q1jk, называемый глубиной памяти, или степенью доверия, изменяемый в пределах 0-Пук Первоначально АА находится в одном из состояний и значение Q1jk = пА для остальных состояний глубина
памяти равна 0.
На вход АА после оценки состояния объекта в среде подается сигнал поощрения или наказания. Под действием сигнала поощрения параметр Qijk, соответствующий состоянию, в котором находится АА, увеличивается на 1, но не может быть больше ПукПод действием сигнала наказания Qijk уменшается на 1. Если АА нахо-
1 3
дится в состоянии Сії или Сії , и глубина памяти равна 0, а на вход АА был подан
2 2
сигнал наказания, то АА переходит в новое состояние Су , и параметру Qy присваи-
2 2 1 вается предельное значение и . Если было Су , то АА переходит в состояние Су или
Сії , которое совпадает с текущим направлением вектора сил притяжения, действующих в Ву.
На каждом уровне ЭГВ работа адаптивного алгоритма осуществляется за два такта. На первом такте рассматривается первое непересекающееся подмножество пар ЭГВ, а на втором такте - второе.
На каждом такте выполняется четыре шага. На первом шаге для каждой ЭГВ Ву определяется суммарный вектор сил притяжения. На втором шаге сравниваются между собой состояния объектов в среде и соответствующих им АА. Если они не противоречивы, то есть направления перекоммутации, задаваемые АА и направление силы притяжения совпадают, то вырабатывается сигнал поощрения, иначе - наказания. На третьем шаге по сигналу поощрения или наказания производится переход АА в новое состояние в соответствии с алгоритмом поведения АА. Отметим, что здесь возможны новые стратегии, основанные на более глубоком анализе состояний объектов и среды. На четвертом шаге в соответствии с комбинациями состояний каждой пары АА осуществляют или нет парные перекоммутации. Очевидными для пе-рекоммутации являются следующие комбинации состояний пары АА: ^0; 0^;
где 0 соответствует нейтральному состоянию.
Возможны две структуры адаптации общая и иерархическая. В случае общей адаптации на каждой итерации осуществляется совместная на всех ЭГВ групповая парная перестановка.
В случае иерархической структуры одна итерация на уровне і выполняется после п итераций на уровне і - 1. Исходными на каждой итерации состояниями среды и состояниями объектов для ЭГВ уровня і, являются состояния, полученные после выполнения п итераций для ЭГВ уровня і - 1.
Алгоритм был реализован на языке С++ для ІВМ РС. Трудоемкость алгоритма О( N • Т ), где N - число ЭГВ, а Т - число итераций.
Эксперименты проводились для схем, содержащих ЭГВ одного, двух и трех уровней. Общее число выводов в линейке было до 50. Снижение плотности канала для одноуровневых схем было на 20% - 80%, двухуровневых - 30% - 100%, трехуровневых - 30% - 200%. Широкий диапазон объясняется различиями в числе ЭГВ.
Было установлено, что быстрее всего алгоритм сходится при Q = 1...3. В случае общей структуры для первого уровня Q = 1, для второго Q = 2, для третьего Q = 3.