Многоуровневый восходящий гибридный подход трассировки по всему чипу

УДК 681.3.001.63

Б.К. Лебедев, А.А. Шашелов

МНОГОУРОВНЕВЫЙ ВОСХОДЯЩИЙ ГИБРИДНЫЙ ПОДХОД ТРАССИРОВКИ ПО ВСЕМУ ЧИПУ

Рассмотрена одна из важных задач конструкторского проектирования СБИС - задача трассировки схем. Она относится к классу NP-сложных и трудных задач. Предлагается многоуровневый подход к решению задачи трассировки по всему чипу. Описана структура графа глобальной трассировки. Разработан принцип разбиения графа глобальной трассировки на подграфы при многоуровневом подходе. Приведена общая схема многоуровневого подхода. Описан генетический алгоритм глобальной трассировки, основная идея которого заключается в кодировании альтернатив построения маршрута в вершинах графа. Приведен алгоритм глобальной трассировки методом муравьиной колонии, отличительной особенностью которого является концепция конкуренции колоний за коммутационное поле. Описан бессеточный волновой алгоритм детальной трассировки. Приведен принцип построения графа соединений для детальной трассировки. Описан принцип анализа занятости вершин в графе соединений. Разработана структура гибридизации глобальной трассировки с детальной трассировкой. Экспериментальные исследования проводились на IBM PC. По сравнению с существующими алгоритмами достигнуто улучшение результатов.

Генетический алгоритм; алгоритм муравьиной колонии; глобальная трассировка; детальная трассировка; глобальная дотрассировка; многоуровневая трассировка по всему чипу; оптимизация.

B.K. Lebedev, A.A. Shashelov MULTILEVEL DOWN-TOP HYBRID FULL-CHIP ROUTING

The article describes one of the most important tasks of the design of VLSI design - routing circuits task. It belongs to a class of NP-hard and difficult tasks. In this paper, we present a new multilevel down-top hybrid full-chip routing. The structure of a global routing graph is described. The principle of global routing graph partition into subgraphs in a multi-level approach is developed. General scheme of a multi-level approach is showed. Described genetic algorithm global routing basic idea is to coding alternatives of constructing the route in the vertices of the graph. Algorithm of global routing method ant colony is described. Feature of algorithm is the concept of competition colonies. The features of algorithm the implicit griddles maze detail routing is described. The structure of hybridization the global routing with detailed routing is developed. Experimental researches were spent on IBM PC. Compared with existing algorithms achieved better results.

Genetic algorithm; ant colony; global routing; detail routing; global rerouting; multilevel full-chip routing; optimization.

Введение. Для решения задачи трассировки традиционно применяют одноуровневую архитектуру, которая состоит из: глобальной трассировки и следующей за ней детальной. В начале коммутационное поле делится на области трассировки. Затем глобальный трассировщик распределяет цепи по областям с учетом ограничений и целевой функции. Далее детальный трассировщик определяет фактическое расположение соединений и переходных отверстий. Недостатком такого подхода является его плохая масштабируемость к большим проектам. Таким образом при проектировании современных СБИС данный подход оказывается не эффективным.

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

к следующему уровню размер подграфа(окна) изменяется. Особенность данного подхода заключается в том, что для решения задачи трассировки применяется чередование алгоритмов глобальной и детальной трассировки.

В работе предлагается новый многоуровневый гибридный восходящий подход к трассировке по всему чипу.

Постановка задачи. Проблема трассировки может быть сформулирована следующим образом. Дан список электронных компонентов Е = (ег | г = 1 ,2 расположенных на чипе. Каждый компонент описывается геометрическими характеристиками: длиной, шириной, расположением контактов. Дано расположение У = (уеI | е I = 1 , 2 ,. . .) электронных компонентов на коммутационном поле. уе ¿ является картежем длины 4 < ее¿,х,у,ъ>, где е е; - тип электронного компонента из Е; х,у - координаты центра электронного компонента, ъ - слой, в котором лежит компонент. Список цепей Т = {^ | к = 1 ,2 ,...} соединяющих контакты электронных компонентов. В качестве исходных данных для каждой цепи задается список контактов электронных компонентов, которые соединяет эта цепь, а также задается параметр рЛ, равный ширине цепи плюс расстояние между цепями.

Коммутационное поле описывается следующими геометрическими параметрами: длина, ширина, число слоев. Исходя из этих параметров строится модель коммутационного поля. Для этого коммутационное поле разбивается на равномерные прямоугольные области трассировки А = {а г | I = 1 , 2 ,..}. Также формируется множество границ между областями В = { Ь,- |у = 1 , 2 ,..} .

Для представления модели коммутационного поля используется графовая модель. Прямоугольным областям трассировки соответствуют вершины графа х; 6 X. Если две области имеют общую границу Ь;-, то вершины соответствующие этим областям соединяются ребром . Вершине или ребру назначается про-

пускная способность в соответствии с физическим размером (числом треков). Таким образом, трассировочные ресурсы представляются в виде многослойного графа трассировки .

Основным критерием задачи трассировки является трассируемоесть, т.е. количество разведенных соединений.

Многоуровневый восходящий подход. При многоуровневом восходящем подходе процесс начинается с уровня 0 и выполняется до самого верхнего уровня. На каждом уровне l формируются окна(глобальные ячейки), каждое окно включает в себя 3-мерный подграф С С 1,р1 исходного графа С '.

На уровне 0 количество окон и подграфов соответствует количеству вершин в одном слое графа . Таким образом, подграф будет состоять из вершин

х 1, 1, х 1, 1, •••, х 1, 1. На следующем уровне размер окна увеличивается в 2 раза по вертикали и в 2 раза по горизонтали, вследствие чего 4 смежных подграфа объединяются. Таким образом подграф С С 1, ^ 1 будет состоять из вершин х °ъ х 1 ъ ..., х1,]_, х°2, х 1, 2, ..., х 1, 2, х1 ъ хгд, ..., х!д, х12, х1,2, ..., х1,2. С каждым уровнем количество окон и подграфов уменьшается в 4 раза. Алгоритм продолжается до тех пор, пока число подграфов не станет равным или меньшим пороговому (в крайнем случаем останется только 1 подграф, соответствующий исходному). Процесс увеличения окна проиллюстрирован на рис. 1.

Многоуровневый гибридный подход к решению задачи трассировки по всему чипу. Многоуровневый гибридный подход представлен на рис. 3. Пунктиром показаны цепи имеющие коллизии, сплошным протрассированные.

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

о о о о о о о о

о о о о о о о о

о о о о о о о о

о о о о о о о о

о о о о о о о о

о о о о о о о о

о о о о о о о о

о о о о о о о о

Рис. 1. Процесс формирования подграфов

о

О

О

го

£1

н

о

сг

Рис. 2. Многоуровневый гибридный подход

>

На каждом уровне 1 в начале происходит формирование окон (глобальных ячеек). Создается двумерный массив окон М^, каждый элемент которого содержит подграф С С о д. Далее для каждого окна рд создается массив Р Б 0р д не про-

трассированых ДС, контакты которых лежат в текущем С С 0 р

Для каждого окна W0рд выполняется преобразование 3-мерного графа С С *рд к однослойному двумерному С С д. Вершины и ребра многослойного графа проецируются на один слой. Вертикальные ребра исчезают. Затем на графе С С 0 д выполняется глобальная трассировка методом генетического алгоритма [6]. После чего выполняются распределения соединений по слоям [7].

Далее цепи делятся на 2 категории:

♦ Полностью протрассированные - все 2-контактные соединения одной цепи лежат в одном подграфе.

♦ Не полностью протрассированные - не все 2-контактные соединения лежат в одном подграфе.

На рис. 4 проиллюстрированы 2 категории цепей: сплошным - полностью протрассированные; пунктиром - не полностью. Информация о расположении двух контактных соединений, входящих в не полностью протрассированные цепи, передается на следующий уровень. Данная информация используется при генерации начальной популяции для шага глобальной трассировки на следующем уровне.

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

В случае провала трассировки ДС, на текущем уровне выполняется этап дот-рассировки. На этапе дотрассировки выполняется глобальная 3d трассировка методом муравьиной колонии и неявная бессеточная детальная трассировка волновым алгоритмом. Далее смежные области объединяются.

Рис. 3. Категории цепей: a - полностью протрассированнные;

Ь - не полностью протрассированнные

Алгоритм продолжается до тех пор, пока число подграфов не станет равным или меньшим пороговому (в крайнем случаем останется только 1 подграф соответствующий исходному).

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

зуется в соответствии с заданной альтернативой а2. Если а2 = 0 , то движение продолжается в том же направлении. Если а2 = 1 , то необходимо сменить направление. Другими словами, если перемещение в а2 происходило по горизонтали, то дальнейшее перемещение из а2 необходимо продолжить по вертикал, и наоборот.

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

2 N 2 N

< > С } 1

1

г

Е

<

Е

3

3

Направление Т1 Т2 Т3 Т4 Т5 Т6 Т7 Т8 Т9 Т10

й1 2(0) 0 1 1 1 1 1 0 1 0 1

й2 3(1) 0 0 1 0 0 1 0 1 1 1

Рис. 4. Примеры двух контактных соединений

Так как всего существует 4 глобальных направления, а для кодирования необходимо всего 2, то в начале для каждого ДС определяются 2 глобальных направления, в которых они могут быть построены, а затем 1-е и 2-е направление ДС ставится в соответствие определенным глобальным направлениям по часовой стрелке. Следовательно, направление ДС может быть закодирована 0 или 1. Таким образом, любое ДС может быть закодировано массивом состоящим из 0 и 1. Размер бинарного массива равняется сумме вертикальных и горизонтальных отрезков минус один. Либо можно представить бинарный массив в виде одного числа в двоичной системе счисления, каждый разряд бинарного числа соответствует элементу массива.

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

Для каждой цепи создается своя колония муравьев К^. Таким образом, решение задачи осуществляет кластер колоний. Его основная цель заключается в протрассировке максимального числа цепей.

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

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

Особенности алгоритма детальной трассировки. Отличительной особенностью предложенного алгоритма является использование неявного графа соединений с неоднородной сеткой [8].

Построение графа осуществляется следующим образом. В области трассировки существуют ранее проложенные проводники и объекты препятствий, которые должен избежать текущий маршрут трассировки. Эти препятствия могут быть наиболее удобно определены как ряд прямоугольников, лежащих в разных слоях R = ( rs | s = 1,...,d).

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

шириной cw должна быть, по крайней мере dw; = + cws , удалена от ребра

препятствия rs, где cwSj-проводное расстояние между текущей цепью и препятствием rs. Мы полагаем R есть ряд прямоугольников, который получается путем расширения прямоугольников R на dwt в каждом из 4-х направлений.

Таким образом, наш граф является графом соединений с неоднородной ортогональной сеткой, где x (координаты сетки) - вертикальные границы и центры прямоугольников R плюс x местоположения s и t. Таким же образом определяются y координаты сетки.

В своей работе вместо того, чтобы предварительно вычислить граф, мы вычисляем узлы графа на лету. Так как наш граф соединений состоит из неоднородных сеток, мы создаем массивы и . содержит x координаты вертикальных линий сетки графа G, отсортированных по возрастанию. Yh, соответственно содержит y координаты горизонтальных линий сетки графа G. Для хранения графа мы создаем двумерный массив размером , где и - число

вертикальных и горизонтальных линий сетки графа G.

Поэтому структура данных, для неявного представления графа соединений с неоднородной сеткой являются 2 линейных массива и 1 двумерный массив с полной требуемой памятью O( | Xv |+| Yh |+| Xv | x | Yh | ). Для создания сетки требуется просмотр всех прямоугольников, что требует 0(^|)-времени, также для сортировки массивов Xv, Yh требуется O^RIloglRD-времени.

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

Экспериментальные исследования проводились на IBM PC. Для исследований использовались бенчмарки из [9], а также собственные модели, приближенные к реальным СБИС. Сравнение производилось по критерию трассируемость соединений. По сравнению с существующими алгоритмами достигнуто улучшение результатов в среднем на 3 %.

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

1. Cong J., Xie M., Zhang Y. An Enhanced Multilevel Routing System // Proc. ICCAD. - 2002.

- P. 51-58.

2. Chang Y.-W., Lin S.-P. A novel framework for multilevel routing considering routability and performance // Proc. ICCAD. - 2002. - P. 44-50.

3. Tai-Chen Chen, Yao-Wen Chang. Multilevel Full-Chip Gridless Routing Considering Optical Proximity Correction // Proc. ASPDAC. - 2005. - P. 1160-1163.

4. Bozorgzadeh E., Kastner R., Sarrafzadeh M. Pattern Routing: Use and Theory for Increasing Predictability and Avoiding Coupling // Circuits and Systems. - 2002. - Vol. 21, № 7.

- P. 777-790.

5. Воронин Е.И., Лебедев Б.К. Многоуровневый подход к решению задачи трассировки по всему чипу с использованием модификаций муравьиного алгоритма // Известия ЮФУ. Технические науки. - 2009. - № 7 (120). - С. 73-80.

6. Лебедев В.Б., Шашелов А.А. Генетический алгоритм глобальной трассировки основанный на альтернативах построения маршрута // Известия ЮФУ. Технические науки.

- 2012. - № 7 (132). - С. 55-62.

7. Воронин Е.И., Лебедев Б.К. Генетический алгоритм распределения соединений по слоям при многослойной глобальной трассировке СБИС // Известия ЮФУ. Технические науки. - 2012. - № 7 (132). - С. 14-21.

8. Лебедев Б.К., Шашелов А.А. Волновой алгоритм детальной трассировки основанный на неявном графе соединений // Конгресс по интеллектуальным системам и информационным технологиям (IS&IT’12). - М.: Изд-во “Физматлит”, 2012. - Т. 3. - С. 155-160.

9. CSE Department. Testing and Verification of Circuits (CS60089, 3-1-0). [Online]. http://www.facweb.iitkgp.ernet.in/~isg/TESTING/. (Дата последнего обращения: 14.05.2013).

Статью рекомендовал к опубликованию д.т.н., профессор Я.Е. Ромм.

Лебедев Борис Константинович - Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Южный федеральный университет»; e-mail: lbk@tsure.ru; 347928, г. Таганрог, пер. Некрасовский, 44; тел.: 88634371743; кафедра систем автоматизированного проектирования; профессор.

Шашелов Артем Андреевич - e-mail: temant@mail.ru; 347900, г. Таганрог, ул. Октябрьская, 11а, кв. 9; тел.: +79185185701; кафедра систем автоматизированного проектирования; аспирант.

Lebedev Boris Konstantinovich - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”; e-mail: lbk@tsure.ru; 44, Nekrasovsky, Taganrog, 347928, Russia; phone: +78634371743; the department of computer aided design; professor.

Shashelov Artem Andreevich - e-mail: temant@mail.ru; 11a, ap.9. Oktabrskaya street, Taganrog, 347900, Russia; phone: +79185185701; the department of computer aided design; postgraduate student.

УДК 004.891

Н.А. Полковников;!, В.М. Курейчик

РАЗРАБОТКА МОДЕЛИ ЭКСПЕРТНОЙ СИСТЕМЫ НА ОСНОВЕ НЕЧЁТКОЙ ЛОГИКИ

Рассмотрена модель экспертной системы для идентификации неисправностей динамического объекта в условиях эксплуатации. Разработана структурная схема экспертной системы с оптимальным числом диагностических параметров на основе лингвистических переменных и нечёткой логики. Нечёткая экспертная система использует представление знаний в форме нечётких продукций и лингвистических переменных. Проектирование модели экспертной системы производилось по алгоритму нечёткого логического вывода Мамдани в пакете Fuzzy Logic Toolbox вычислительной среды MATLAB. Показана реализация модуля экспертной системы на примере идентификации неисправностей главного судового двигателя. Использование аппарата нечёткой логики при разработке базы знаний и