УДК 658.512
Мухлаев А.В., Щеглов С.Н., Сеченов М.Д. Ликвидация вертикальных конфликтов межсоединений в канале перед
трассировкой
Введение.
Низкая временная и пространственная сложность алгоритмов канальной тоассиоовки делает их наиболее приемлемыми в САПР электронных систем, где решаются задачи огоомной размерности (несколько миллионов транзисторов). Указанное обстоятельство обусловило повышенный интерес разработчиков САПР к группе канальных алгоритмов и как следствие большое число различных типов канальных трассировщиков. ’ ’
Наибольшее внимание исследователей традиционно привлекала группа канальных алгоритмов, относящихся к безизломным канальным трассировщикам. Подробнее остановимся на указанной группе алгоритмов и введем некоторые основные понятия, так как безизломные канальные трассировщики наиболее приемлемы в последующим причинам-
- позволяют получать решения наиболее быстро ;
- хорошо апробированы и применяются на практике ;
канале’ Д°СТаТ0ЧН° качественно и эФФеетивно Решают задачу трассировки в двустороннем
1. Классификация, критерии и постановка задачи канальной трассировки.
Ввиду того, что задача канальной трассировки в сводится к задаче трассировки горизонтального канала, сверху и снизу ограниченного подлежащими соединению Гнтактями запишем формальную постановку задачи и дадим традиционные
графа аергиюльных ограничений (ГВО) (рис. 1). ™' плотности и
Пусть задана декартова система координат и на оси X с та-™*. „ ,
Р'2, ....Р1,,, образующие кортеж В и соответствующие нижнему ряду контактов°гпеНЫ Т°ЧКИ ? " канала, а на некоторой линии щ (линии т; откладываются с шати ц \ ризонтального
— -V л......* т .
горизонтального канала. р м контактам
Т =< Р',Р‘,...,Р' >
В =< Р,Ь,Р2Ь ...,Рпь >
рис 1 Постановка задачи
канальной трассировки
Выделим подмножества Р'у.Р'^Мй^ХР^Р^О}, каждое из которых составлено из Р^ и равных между собой, т.е. соответствующих одной цепи число цепей). На их основе сформируем множество отрезков Оь^^г.-.-.ц^левые координаты которых равны Минимальной координате Р*^Р1, из соответствующего подмножества Р1-Хч\=т1п Хр1, а правые координаты-максимальной координате Р^уР'гХя2(=тахХр(
Необходтмо распределить яг отрезков по магистралям таким образом, чтобы требуемое Для трассировки число магистралей было минимально: п^—>пип и выполнялось ограничение (1)
( 1)
а также ограничения, задаваемые с помощью графа вертикальных ограничений (ГВО), Множество вершин которого соответствует Р^=1,Г ,т.е. соответствует множеству цепей, а две его вершины Р| и Pj соединяются ориентированным ребром, что означает принудительное Расположение отрезка Я; выше, чем ^ в том случае, если ур^т^рур'уев
Следует отметить, что условие (1) несомненно приоритетно по сравнению с другими критериями трассировки (см. рис. 1), однако, может носить и аддитивный и мультипликативный характер. Отметим, что плотность 111 колонки I канала будем называть число горизонтальных сегментов 2к]| , пересекающих 1 ко-лонку. Максимальной плотностью 11тах назовем 111:
1*1
Широко известны и применяются на практике алгоритмы "Левого края" и раскраски графа ограничений комбинаторные, дающие решения очень быстро. К наиболее эффективным алгоритмам этой группы следует отнести алгоритм Йошимуры, где каждому горизонтальному сегменту цепи qi ставится в соответствие интегральная характеристика
Наряду с указанными достоинствами беэизломные алгоритмы обладают и рядом недостатков, при этом один из основных- невозможность решения так называемых циклических конфликтов.
В связи с этим целесообразным представляется разработка подсистемы трассировки, базирующейся на методе систем продукций и содержащей интеллектуализированнь.е процедуры решения циклических конфликтов. В качестве достоинств метода систем продукций отметим:
- модульность;
- понятность работы для операэвора;
- легкость ведения и дополнения БЗ;
- описание правил - продукции на профессиональном языке
Отметим, что более 70% современных ЭС строятся на основеметода систем продукций /86,87/, и среди них такие известные как MYCIN.OPSS.VIREX,SMALL TALK и до
"г‘
2. Разработка стратегии управления процессомканальной трассировки в
Как известно, продукционные системы включают три основныхкомпонента; глобальную базу данных (ГБД), набор решающих правил (НРП) и стратегию управления (СУ) Именно стратегия управления выбирает какое именно правило продукций следует применять в сложившейся ситуации к глобальной базе данных и останавливает процесс, если глобальная база данных удовлетворяет априори заданным условиям.
В нашем случае ГБД состоит из двух кортежей: Т=<Р'„Р’2, р* > и r=<p‘ Р1 Р1 >
описывающих контакты канала и множества 0=/а, п ’ " 11 2’ "’ "
у ч v 141*42» ■ ♦ '»Яп / > описывающего цепи
(горизонтальные сегменты), подлежащие распределению по магистралям
Задача ста.™ следующим образом. На основе экспертных знаний о ликвидации циклических конфликтов и перераспределении инвариантных контактов постаит. стовтегаю управления дм преобразования ГБД к такому виду, который 6ы с
помощью известных беэизломных канальных трассировщиков. ИнымТслоиш. гит ас
должна содержать циклических конфликтов «вами пд
3. Разработка информационного содержания базы знаний
конфликтов решения вертикальных
БЗ для решения вертикальных конфликтов (ВК) в nnn..^» _ основе продукционных правил. Ввиду того, что возможны различныЛапиТ^.КИ СТр0ИТСЯ конфликтов, целесообразным представляется проведение классиЖ™» вертикальных
o6pio«, чтобы к каждой такой ipynne ВК !.™“"фтащт вк ” ТУ™™ продукционных правил (ПП), применима сооткгствующа, грум
3.1. Классификация ВК
Дадим строгое определение ВК 1-типа.
Определение ВК первого типа называется ситуация „
жировки ХяW„ • также и ^ AT*
Некоторым обобщением ВК 1-го типа являются ВК втопо допускается произвольное число конфликтующих контактов Г° ™ПЗ ^ ЭТ0М слУчве
Определение ВК второго типа называется ситуация »
трассировки, когда Bqi.qj.i^j^P^eqj.BP^eqj: а=1,2,.. • Хра = Xd“ и Л НЫХ °ПециФИкацИЯХ
Pi лр j и некоторые подмножества
сТ.Рц, cL
> а соответствующие Конфликты третьего типа образуют в соответствующем ГВО цикл, в
котором может быть произвольное число вершин больше двух.
Определение ВК третьего типа называется ситуация в исходных спецификациях
трассировки, когда Зя^яг........ч„: Х'я^Х'яг: Х2я2=х'яз ........Х2я„-1=х'Яп Х2Я„=Х2Я1 и
одновременно \/Р1Х|, 1=2,3,...,пеЬ, УР2^ ,1=2,3.пеТ , а Р'^еТ и Р^еЬ.
ВК четвертого типа можно назвать комбинированными, так как они могут включать в один конфликтный узел ГВО одновременно произвольное число конфликтов 1-го, 2-го, 3-го типов.
3.2. Ликвидация ВК на основе технологии ИИ
После того, как ВК идентифицирован, необходимо ликвидировать его с помощью применения правил предикатного типа. Такие правила получение в результате экспертных исследований при трассировке и иерархичеоки организованных БЗ. Общий вид правила следующий:
Правило N1 ЕСЛИ (условие)
И (условие)
И (условие)
ТО ( рекомендуемое действие)
ЕСЛИ решение задачи с помощью текущего 1 -го правила невозможно, т.к. не выполняется какое-либо из его условий, то происходит вызов Л+1/-го правила и так до тех пор, пока не будет получено решение. В противном случае при данном наполнении БЗ получить Решение невозможно. Одним из важных достоинств такого подхода является легкая Модификация или дополнение правил БЗ, если получена свежая экспертная информация.
Таким образом возможна перманентная передача знаний системе трассировки и, как следствие, повышение качества проектирования.
Набор правил-продукций должен удовлетворять следующим условиям. Полноты, т.е. возможности получения решения в любом случае с помощью какого-либо из правил. Корректности, т.е. удовлетворение ситуации одному и тому же предварительному условию не должно влечь за собой различных действий для различных правил. Непротиворечивости, т.е. пРавила не должны противоречить друг другу.
Вначале рассмотрим группу правил, предназначенных для ликвидации ВК 1-го и 2-го
типов
Правило 1 (Правило наложения)
Если зона канала между самой левой х'у/тш и самой правой х2у/тах координатами •конфликтующих соединений не содерхит других горизонтальных сегментов. То расположить бликом j и I соединения в разных слоях.
Однако, такое правило сравнительно редко может быть применено в реальных задачах. Чаще возможно применение правила 2
Правило 2
Если имеется свободная колонка в зоне между х’ц/тт и х2|/тах с координатой Хп3, То 8 точке Рх'пэ€ Т вводится псевдоконтакт -} и все остальные Р] е Т получают статус а в к°ординате Рх'п3€ Ь вводится псевдоконтакт ^
Таким образом, путем введения "излома" в области конфликта возможна его ликвидация Отметим, что введение излома будет произведено там, где совпадут абсциссы 0тРезков ] и -] в области введения псевдоконтактов.
Правило 3 во многом сходно с правшюм 2. Однако, в отличие от последнего поиск свободной колонки осуществляется не в области конфликта, а вне его П
производится последовательно слева справа от зоны конфликта ТРИ ЭТОМ П0ИСК
обеспечивается нахождение ближайшей к зоне свободной колонки аКИМ °
Правило 3
Если существует свободная колонка от вертикальных сегмри™„ „ ,
ВК с координатой Хп,р И от колонка СлпОши среди все» с«,бод™“о™
конфликта. То в точке Рхп3еТ ВВОДИТСЯ псевдо контакт И все Остяпч™, п- ^
г» I ¥ ч^тльные г| € Т получают
статус -.), а в координате Рх„3еЬ вводится псевдоконтакт]. '
В том случае, когда свободные колонки в области канала
вводить излом в области ВК, но для того, чтобы избежать наложения . УЮТ’ нео6ходимо
слоях, необходима будет соответствующая модификация ГВО. 00 в одинаковых
Ввиду того, что такое решение предусматривает увеличение плотности участка ВК то правило содержит соответствующую проверку значений плотности ; ’
Правило 4
Если Отахк в области конфликта меньше, чем Отах Тп назначается дополнительный индекс -] и всем Р] е Т назначается Прои^вольномУ рк е Т дополнительный индекс .ь Хрк = Хр,. При этом отрезок к в ГВО лоп*^ * Е Ь назначается чем а отрезок 1 выше, чем 1. Д0Лжен Располагаться выше,
Правило 5 напоминает правило 4, однако вводит излом в той к произойдет увеличение плотности П)| до Этах. Делался это п олонке •, в которой не
канала. ЯХ минимизации ширины
Правило 5
Если колонка, для которой Ох Ошах располагается в обляг™ ш/ м колонка Б вне области ВК, для которой Отах-Эв 52 И такая колонка б существует
удовлетворяющих ранне приведенным условиям к области ВК ТО ЛИЖ шая сРеди всех> дополнительные индексы и] с соответствующей корректировкой гвоЛОНКе Я назначаются назначается И, наконец, последнее правило, предлагаемое в работе- ’ * ТаКЖе всем Р-1 6 Т Правило 6
Если существует конфликт. ТО слева (справа) от области каналя колонку Б, при этом Ря е Т назначить -} и всем Р] е Т назначить чар ВВССТИ дополнительнУю На этом заканчиваются правила БЗ для решения ВК 1-го и 2 в 6 ^ назначить], не исключает возможность их модификации или дополнения БЗ н ГО ТИПОВ’ что естественно
правил, и, следовательно, последовательность обращения СУ ЫМИ правилами- Иерархия
порядковому номеру. Такая иерархия необходима для оп-тимизаци НИМ соответ'ствУет •“ точки зрения ширины канала и длины получаемых отрезков получаемого решения с
Теперь опишем группу правил, позволяющих производить ли типа. Как и прежде работу эвристическихправил рассмотрим на п К'видацию Циклов 3-го Правило 1 р еРах'
Если между координатами п - конфликтующих отрезков х' ■/ ' *
...,п не существует отрезков с номерами, отличными от 1, 2 г то0 ** Х ‘^тах ’ где > “ 2,
соединения целиком в разныхслоях с наложением горизонтальных расположить Iе и 2, ... ,пе Работа правила проиллюстрирована на рис. 2 Ппал СеГМентов-разрешения конфликта п -соединений требует ( п-1 ) магнето ^ Э(^"Фективно> т к- Для сравнительно редко возникают на практике. фале . Однако, такие ситуации
Рассмотрим следующее правило.
Правило 2
Если V из колонок с координатами х1,/т1п=х'п/тт или х2 / - г ,
пересекающих ее горизонтальных сегментов ТО расположить ве ' таХ~Х *тах не существует сегменты соединений 1 и п соответствующей колонки в ные и горизонтальные
поясняется на рис. 1.3, откуда видно, что для решения п-зв НЫХ СЛ0ЯХ' Работа правила требуется п- магистралей. Заметим, что хотя Правило 2 используе””0™ КОН<^ликта 3'го ™па такие ситуации также сравнительно редки. я чаще> чем Правило 1, но
Гораздо чаще работает следующее правило. Заметим, что работа нижеследующих правил во многом совпадает с аналогичными правилами для ликвидадии ВК 1-го и 2-го типов, в тоже время, имея существенные отличия.
Правило 3
Если существует свободная колонка в зоне между хУтт и хУтах где 1=1,2.п с
координатой Ха
ТО в точке Р1хае Т вводится псевдоконтакт - 1 и все остальные Р1 е Т получают статус -1, а в координате Р^е Ь вводится псевдоконтакт 1.
12 3
~1—1—1—
3 4
а) исходная спецификация
т
П=4
т=3
в) решение
рис. 2 Работа правила 1
1 2 3
-----------1------------1------------\-
3' 4
1
а) исходная спецификация
1 -г---
і
3 4
в) решение
в) решение
рис. 3 Работа правила 2
Правило 4
Если существует свободная от вертикальных сегментов слева (справа) от зоны п-звенного ВК с координатой Ха. И эта колонка ближайшая среди всех свободных колонок к зоне ВК ТО в точке Р'хае Т вводится псевдоконтакт - 1 (-п ) и все остальные Р] е Т (Р„ е Т) получают статус - 1 (-п), а в координате Р'^е Ь вводится псевдоконтакт 1(п). Решение может
быть получено, если Х« располагается слева от зоны ВК и решение получается если X справа от зоны ВК. Получение двух различных решений, в зависимости от того с какой стороны ВК располагается ближайшая свободная колонка, связано с тем, чтобы одно’ввеменно с ликвидацией ВК минимизировать длину соединений.
Дальнейшие правила по ликвидации ВК 3-го типа полностью совпадают с правилами №
4, 5, 6 ддя ликвидации ВК 1-го, 2-го рода. Только в данном случае дни получат номера соответственно 5,6,7. 3 F
Особо стоит вопрос о ликвидации ВК 4-го типа. Несмотря на то, что в тактических задачах ВК 4-го типа встречаются крайне редко, их ликвидация представляет наибольшие сложности. В рабо-те предлагается подход к решению указанных ВК на композиции и приведению к ВК 1-го, 2-го и 3-го типов с после-дующей°Сликви^циЛей последних на основе вышеописанной технологии. w “
Отаетим, что возможны два варианта ВК 4-го типа. Для того, чтобы определить вапиант
ВК 4-го типа необходимо организовать просмотр направленных дуг ГВО Есл
по номеру вершины ГВО существует направленное ребро к первой
вложенного типа. Если такого ребра не существует, то ВК секпитшп™
- лциинн°го типа с числом секций
равным числу ребер, организующим путь из n-вершины в 1-ю ггои
выбирается то ребро среди альтернативных, которое ведет' к п*п каждом шаге
возможным номером. Вершине с минимально
Решение секционных ВК 4-го рода очевидно. Необходимо разбить такой ВК на секции и обрабатывать каждую секцию по отдельности (заметим, что ВК un^ я , " секции и
г>.г л \ л может быть 1-го, 2-го 3-го а
так же ВК 4-го рода вложенного типа). » J 1 “
ВК вложенного типа можно решить последовательным "оаскпмты».." ..
первом шаге применено правило 4 для ВК 3-го типа. На втором шаге ли внешних ВК. На типа путем применения правила 2 для ликвидации ВК 1-го типа квидирован ВК 1-го
В результате произведен анализ существующих алгоритмов канЯп..„„* его основе сделан выбор в пользу применения в САПР без 1РвссиРовки и на трассировщиков ввиду того, что в мире разработано большое число бе^оГы* трассировщиков с широким спектром характеристик от очень бысто канальных
решения до точных получающих решения близкие к оптимальнм«МХтС Низким качеством возможность гибкой тактике применения различных трассиров СИТ^ация дает
безизломные канальные трассировщики наиболее широко применяют 0В' Кроме того того, что безизломные канальные трассировщики имеют реэервы*СЯ пРактически Ввиду решения, а также исключают возможность решения ВК предлагав повышения качества автоматической трассировки на основе метода систем продукций^П0ВЫШение качества содеркит эвристические полиномиальные процедуры ликвидации Rif л ^®длагаемая система решающих правил по форме "ЕСЛИ" "ТО" для ликвидации ВК и с “Р360™1*! ФУППЫ свойств ВК и декомпозиции горизонтальных сегментов. Форма °Кращения m 33 счет
позволяет легко ИХ модифицировать ИЛИ изменить В CITVuoa г, а пРедставления правил предметной области. появлеиия новых знаний о
УДК 658.512
Philipp Heuberger (M.Sc) Alexander Malioukov (M.Sc) Comparing Oberon and Java by a Simple Data Structure.
Abstract
In this paper, we compare two computer languages: Oberon anH To„„ . to avoid any judging statement. Our goal is to show similarities and differenr e/‘ave carefuIIy 111641 languages have syntactical differences but similar concepts We uivp 9n CS ween ^em: both
' g e an overview and some details of