Научная статья на тему 'Эволюционный метод размещения разногабаритных блоков СБИС'

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

CC BY
534
134
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МЕТОД РАЗМЕЩЕНИЯ БЛОКОВ / АВТОМАТИЗИРОВАННОЕ ПРОЕКТИРОВАНИЕ / СБИС / ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / ЭВОЛЮЦИОННОЕ МОДЕЛИРОВАНИЕ / РLACEMENT METHOD / COMPUTER-AIDED DESIGN / VLSI / GENETIC ALGORITHM / EVOLUTIONARY SIMULATION

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

Целью данной работы является разработка метода размещения разногабаритных топологических блоков сверхбольших интегральных схем (СБИС), а также проведение оценки эффективности применения отдельных функций (операторов) данного метода. Метод размещения, основанный на принципах моделирования генетической эволюции, при сравнительном анализе на стандартных тестовых задачах показал высокую эффективность. Разработанный метод размещения может быть использован в системах автоматизированного проектирования (САПР) как СБИС, так и печатных плат.

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

THE EVOLUTIONARY METHOD FOR A PLACEMENT OF NON-SLICING BLOCKS IN VLSI

The development of the method for non-slicing blocks placement in very large scale integrated circuits (VLSI) is described in this paper. The method for placement based on genetic evolution simulation. The effectiveness analysis showed a high result. The method for non-slicing block placement can be used in CAD systems for VLSI or PCB design.

Текст научной работы на тему «Эволюционный метод размещения разногабаритных блоков СБИС»

Begliyrov Vadim Valeryevich

South Russian State University of Economics and Service. E-mail: [email protected].

147, Shevchenko street, Shakhty, 346500, Russia.

Phone: +79081760312

Bereza Andrew Nikolayevich

E-mail: [email protected].

Phone: +789281574449.

Storogenko Andrew Sergeevich

Volgodonsk Institute of Services.

E-mail: [email protected].

6, Chernikova street, Volgodonsk, 347375, Russia.

Phone: +79281116807

УДК 621.382.82 (076.5)

А.В. Ковалев, С.А. Бушин

ЭВОЛЮЦИОННЫЙ МЕТОД РАЗМЕЩЕНИЯ РАЗНОГАБАРИТНЫХ

БЛОКОВ СБИС

Целью данной работы является разработка метода размещения разногабаритных топологических блоков сверхбольших интегральных схем (СБИС), а также проведение оценки эффективности применения отдельных функций (операторов) данного метода. Метод размещения, основанный на принципах моделирования генетической эволюции, при сравнительном анализе на стандартных тестовых задачах показал высокую эффективность. Разработанный метод размещения может быть использован в системах автоматизированного проектирования (САПР) как СБИС, так и печатных плат.

Метод размещения блоков; автоматизированное проектирование; СБИС; генетический алгоритм; эволюционное моделирование.

A.V. Kovalev, S.A. Bushin

THE EVOLUTIONARY METHOD FOR A PLACEMENT OF NON-SLICING

BLOCKS IN VLSI

The development of the method for non-slicing blocks placement in very large scale integrated circuits (VLSI) is described in this paper. The method for placement based on genetic evolution simulation. The effectiveness analysis showed a high result.

The method for non-slicing block placement can be used in CAD systems for VLSI or PCB design.

Рlacement method; computer-aided design; VLSI; genetic algorithm; evolutionary simulation.

Введение. Современные системы-на-кристалле содержат большой набор сложных функциональных (СФ) блоков (IP-ядер), топологические образы которых имеют уникальные габаритные размеры. Такие СФ-блоки с нестандартными формами нельзя скомпоновать в регулярные ряды или матрицы - они требуют разногабаритного, бессеточного размещения [1,2].

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

трассированных межсоединений. Эти критерии косвенно связаны между собой, т.е. минимизация длины межсоединений эквивалентна минимизации площади.

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

Задача размещения блоков СБИС является №-полной, поэтому получение ее точного решения за полиномиальное время невозможно [3-5].

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

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

Алгоритмы имитации отжига и генетический требуют интенсивных вычислений, однако генетический алгоритм обладает потенциальными возможностями к сокращению необходимого объема вычислительных затрат. Имитация отжига в каждый момент времени производится только с одной конфигурацией, генетический алгоритм, напротив, оперирует большим набором (популяцией) конфигураций, оптимизирующихся одновременно. Это приводит к тому, что метод моделирования отжига, имея для анализа «короткую» историю пробных вариантов, ведет поиск в узкой области, а генетический алгоритм позволяет расширить соответствующее пространство поиска и сделать акцент на «наилучших» областях.

Эффективность генетического алгоритма зависит от правильного выбора генетических операторов и набора различных параметров [7,15]. Наиболее часто используемые генетические операторы - кроссовер, мутация и инверсия, являются аналогами из биологических эволюционных процессов. Главная проблема в разработке генетического алгоритма заключается в выборе и эффективной реализации наиболее подходящих задаче операторов.

Способ кодирования данных о размещении блоков. В настоящее время для кодировки расположения блоков на рабочем поле используются различные способы. Например, для описания положения блоков на регулярных сетках применяют бинарные деревья, в которых листьями являются блоки и каждый внутренний узел определяет вертикальную или горизонтальную связь с двумя его потомками. В работе [8] положение разногабаритных блоков описывается отношениями между двумя блоками четырьмя классами и используется метод ветвей и границ для решения задачи размещения. В работах [9,10] применяются последовательные пары и ограниченные регулярные сетки для оперирования с разногабаритными блоками с малой областью решений. Эти два способа используют граф ограничений для трансформаций размещения и сложны для представления графа в топологии.

Результаты современных исследований показывают, что описание размещения на регулярных сетках относительно просты, но описания размещения разногабаритных блоков достаточно сложны и неоднозначны. При проектировании заказных СБИС используются не матричные структуры (полузаказные), а свободные от

сеток разногабаритные блоки. Поэтому для эффективного решения задачи размещения блоков заказных СБИС очень важно разработать простую и удобную для оперирования структуру представления данных о положении блоков на кристалле.

В данной работе предлагается использовать направленное диагональное дерево представления для описания размещения разногабаритных блоков СБИС, в отличие от горизонтального дерева, использованного в работе [11].

Дерево является графом О = (У,Б), у которого узлы V - размещаемые блоки, и ребра Е - геометрические отношения между двумя блокам. Направленные ребра Е показывают отношения “родитель-потомок”. В данном графе каждый родитель может иметь не более двух потомков - Рь (левый) и Рь (правый).

Корнем дерева является узел-блок, лежащий в левом нижнем углу поля размещения. Кодирующая хромосома (КХ) представляет собой объектное описание иерархии дерева на основе ссылок (рис. 1). Каждый узел дерева может иметь не более двух дочерних узлов (бинарное дерево). Это связано с особенностями процедуры построения топологии, о чем будет сказано ниже.

В данном дереве необходимо явно кодировать обе ветви Рь и Ра - левую и правую. Другими словами, при отсутствии одной из ветвей-потомков должно быть ясно, какая из них присутствует - левая или правая, потому что они неэквивалентны. Кодировки бинарных деревьев, применяемые в [12], не позволяют учитывать это обстоятельство.

0 0

д

0 0 &д 0

е

&е &Г

с1

0 0 &с1 0

ь с

т т

а ь с с1 е д

&ь &с

а

Рис. 1. Пример описания бинарного дерева на основе ссылок

Блоки, размещаемые на рабочем поле, являются прямоугольниками с различными отношениями сторон. Поэтому важно знать, как располагается блок - горизонтально или вертикально. Для описания такого положения блока достаточно одного кодирующего бита: 1 - вертикально, 0 - горизонтально. Однако при расчете значения целевой функции (ЦФ), может учитываться суммарная длина связей, соединяющих не центры блоков, а контакты на границах или внутри блока. В этом случае необходимо кодировать не два возможных положения блока, а четыре (рис. 2), т. е. необходимо два бита.

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

Г 1

00 І I 01 ■І!

10

11

Рис. 2. Варианты ориентации блоков

Таким образом, для кодирования направленного дерева с п узлами-объектами минимально необходимое количество бит Ь можно рассчитать по формуле:

Ь = 3п[1о§2 п] + 2п = п(з[1о§2 п])+2. (1)

Для сравнения, способ представления, описанный в [11], требует для кодировки бинарного дерева п([1од2 п]+2) бит, однако он не учитывает ориентации блоков на рабочем поле и требует больших вычислительных затрат при декодировании. Число возможных кодирующих конфигураций 0(п!22п-2/п1,5) [13].

Предложенный способ кодирования имеет компактную форму представления данных о размещении и позволяет эффективно оперировать ей.

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

Этапы построения топологии из дерева (первым текущим блоком является корневой узел-объект):

♦ текущий блок устанавливается в вакантное место. Под вакантным местом понимается ЬВ-компактное (левое нижнее) положение вставляемого блока;

♦ строится огибающий контур с учетом текущего размещенного блока;

♦ новый огибающий контур будет иметь два вакантных места для потомков РЬ и Ра вблизи текущего блока (слева сверху и справа снизу);

♦ далее в эти вакантные места размещаются дочерние блоки (если существуют);

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

Пример этапов построения дерева приведен на рис. 3.

Координаты вакантного места определяются не только по контуру, но и по габаритам вставляемого блока.

Для преобразования дерева в топологию описанным способом необходимо линейное время.

В [11] горизонтальное дерево описания размещения декодируется в топологию в несколько этапов. Сначала дерево преобразуется в граф ортогональных ограничений, из которого далее получается вертикальное дерево и затем опять горизонтальное дерево ЬВ-компактной топологии. Для разработанного диагонального дерева таких преобразований не требуется, т.к. ЬВ-компактная топология получается за один этап построения топологии. Это позволяет существенно сократить временные затраты на выполнение итераций алгоритма размещения.

1 !_х1 а • 1x2 Н* !

а

,ь X н 1 \±У2 6 о

а

с 1

с 1

в

-| XI

ге &

с] / 1 х2 ТУ1

1 (-►

|__ |у2

б

г

Ь ?е _х1

а 1 т+х2

а 1 1 _ (V1 I 1 1 _

I с

.Ь # е д -•

А

а

д е

Рис. 3. Демонстрация этапов декодирования КХ («а» — корневой блок)

Генетические операторы. Генетические операторы позволяют создавать новое поколение особей путем комбинирования структуры (или локальных подструктур) родителей, выбранных из нынешнего поколения. Из-за стохастического процесса отбора, «хорошие родители», содержащие, например, наиболее компактные локальные подструктуры, произведут больше потомства, нежели «плохие родители» с плохими показателями локальных подструктур. Таким образом, в последующих поколениях, количество вариантов размещений в хорошими показателями имеет тенденцию к увеличению, а количество неэффективных структур будет снижаться. Другими словами, целевая функция всей популяции будет улучшаться.

Существует два основных вида генетических операторов (ГО) - кроссинго-вер (перекрест) и мутация [6,7].

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

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

Для разработки ГО применительно к конкретной задаче необходимо исследовать ее особенности. Ниже приведены основные свойства разработанных КХ бинарного дерева:

♦ первый узел-объект в списке является корнем дерева;

♦ вставка нового узла-объекта (“листа”) или поддерева может быть произведена в любую позицию с пустой ссылкой на потомка;

♦ допустимы любые перестановки между потомками одного узла-объекта;

♦ “листья” дерева имеют две пустые ссылки на потомков;

♦ вставка внутреннего узла-объекта может быть произведена в любое место дерева с применением операции копирования ссылок (для сохранения иерархической взаимосвязанности).

Ниже приведен список разработанных ГО, позволяющих оперировать с КХ.

I. ГО инверсии (форма мутации). Применение оператора инверсии фактически даст вращение поддерева относительно узла на любом выбранном уровне. Сначала выбирается осевой узел, относительно которого будет происходить вращение. Затем выделяется поддерево, внутри которого в каждом узле меняются местами ссылки на потомки, включая осевой узел (рис. 4).

II. ГО мутации № 1. Суть оператора состоит в том, что он производит парную перестановку имен узлов по определенным правилам:

♦ перестановка имен производится путем обмена именами и свойствами между двумя, определенным образом выбранными, узлами-объектами;

♦ пары взаимообменивающихся узлов могут выбираться в заданных областях (уровнях иерархии). Например, на начальных стадиях жизни популяции члены пары могут принадлежать любым иерархическим уровням, а на последующих - только верхним.

А, , і / Л/і |.|ГЛ 1.1 I .1^1

№НсМе^Н дН ІаМс^НІе^Н дН 1аНьНсН^еЖ Нд^

Рис. 4. ГО инверсии: а — поворот поддеревьев; б — поворот листьев Применение данного ГО не приводит к изменению структуры дерева (рис. 5).

а^ьЦс^ЦІеЙ ЦдЦ Іа^Цд^Ц^ Нс

Рис. 5. ГО мутации: парная перестановка имен

а

III. ГО мутации № 2. Оператор осуществляет изменение ориентации блоков без изменения их позиции и все структуры дерева. Процедура изменения ориентации также может охватывать различные иерархические уровни в зависимости от времени жизни особей в популяции (рис. 6).

IV. ГО упорядоченного кроссинговера. Данный оператор позволяет потомкам наследовать лучшие свойства родительских особей. Суть его состоит в том, что

происходит перекрестный обмен конструкциями одинаковой длины в родительских хромосомах. Сначала в потомок Б2 в соответствующую позицию вставляется обменная конструкция из родителя Р1, затем добавляются недостающие гены из Р2. В потомок 6 в соответствующую позицию вставляется обменная конструкция из родителя Р2 и добавляются недостающие гены из Р1.

Рис. 6. ГО мутации: изменение ориентации блоков

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

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

Рт = Рт0 (1 - в‘ X (2)

где Рт0 - начальное значение вероятности применения ГО; 1 - время эволюции.

Для анализа эффективности применения различных ГО был проведен набор вычислительных экспериментов по тестовому размещению блоков. С целью обеспечения статистической достоверности для каждого типа ГО выполнялись тестовые размещения пяти различных наборов блоков по 10 тыс. экспериментов в каждом (а, Ь, с, ё, е на рис. 7-9). В качестве аргумента каждой функции ГО было принято процентное отношение числа задействованных в особи иерархических уровней от 10 % до 100 %.

Результаты применения ГО оценивались по величине улучшения целевой функции (ось ординат на рис. 7-9), рассчитываемое как отношение между итоговым и начальным ее значением.

Как показали исследования, эффективность применения ГО на 10 % уровней дерева особи практически не отличается от применения ГО на большем проценте уровней (для инверсии на 100 % происходит даже ухудшение). Данное свойство можно использовать для резкого сокрашения вычислительных затрат на поиск оптимального решения задачи размещения.

'0 -I-1-1-1-1-1-1-1-1-1-1 -Є

123456789 10 (х10%)

12345678 9 10 (х10%)

Рис. 7. Эффективность применения парной перестановки имен

Рис. 8. Эффективность инверсии

Рис. 9. Эффективность изменения ориентации

Генетический алгоритм и целевая функция. Этапы выполнения генетического алгоритма аналогичны описанных в литературе, например в [6]. Учитывая специфику задачи размещения разногабаритных блоков в интегральных схемах, вводится процедура оценки энергоэффективности решений (целевая функция): минимум потребляемой межсоединениями энергии при минимальной задержке сигналов в них. Для определения энергоэффективности вводится интегральный критерий Г:

^=-

^тіпо

вс..

г тгт

т ■

тш

Г С . (Р - і) Ї

^ _1_ тто /

С + С тіпі тіпо

Стп + Стіпі

+

(3)

ат - 1

+ Р СтЫо + (ьс + Ь1р) (М+\) Сш + N ( срт + Сшт)) VI

где Cmino - выходная емкость минимального инвертора; Cmini - входная емкость минимального инвертора; в - коэффициент прогрессии увеличения размеров выходных буферов в цепочке; m - число буферов в цепочке; RCmin - минимальный коэффициент ЯС; Lc - средняя длина стороны принимающего блока; Lsp - расстояние между принимающими блоками; N - число принимающих блоков; Cpin - емкость вывода; Cint - погонная емкость линии передачи; v - скорость распространения электрического сигнала; Vdd - напряжение питания.

Заключение. Разработанный ГА отличается от существующих способом кодирования и декодирования хромосом, набором адаптированных к особенностям задачи операторов. Предложенный способ кодирования отличается от существующих учетом ориентации блоков, учетом их относительного положения и удобством оперирования хромосомой. Способ декодирования позволяет сократить время построения ЬБ-компактной топологии. Созданные генетические операторы адаптированы к особенностям кодиро-

вания хромосом и позволяют эффективно преодолевать барьеры локальных оптимумов

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

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

1. Muroga S. VLSI System Design // John Wiley, New York, Chap. 9. - 1982. - Р. 365-395.

2. Ueda K., Kasai R. and Sudo T. Layout strategy, standardization, and CAD tools // In Layout Design And Verification, Elsevier Science Pub. Co., New York, Chap. 1, 1986.

3. Donath W.E. Complexity theory and design automation // In Proceedings of the 17th Design Automation Conference. - 1980. - Р. 412-419.

4. Leighton F.T. Complexity Issues m VLSI // MIT Press, Cambridge, Mass., 1983.

5. Sahni S. and Bhatt A. The complexity of design automation problems // In Proceedings of the 17th Design Automation Conference, 1980 - Р. 402-411.

6. Holland J.H. Adaptation in natural and artificial systems. University of Michigan Press, Ann Arbor, 1975.

7. КурейчикВ.М. Генетические алгоритмы: Монография. - Таганрог: Изд-во ТРТУ, 1998. - 240 с.

8. Onodera H., Taniguchi Y., Tamaru K. Branch-and-Bound Placement for Building Block Layout, DAC, 1991. - Р. 433-439.

9. Murata H., Fujiyoshi K., Nakatake S., Kajatani Y. Rectangular-Packing-Based Module Placement, ICCAD, 1995. - Р. 472-479.

10. Nakatake S., Fujiyoshi K., Murata H., Kajatani Y. Module Placement on BSG-Structure and IC Layout Applications, ICCAD, 1996. - Р. 484-491.

11. Guo P.N., Cheng C.K., Yoshimura T. An O-Tree Representation of Non-Slicing Floorplan,

DAC 36, 1999.

12. Aktuna M., Carley R.L. Rutenbar Device-Level Early Floorplanning Algorithms for RF Cir-

cuits // IEEE Trans. Conputer-Aided Design. - 1999. - Vol. 4.

13. Knuth D.E. The Art of Computer Programming, 2nd Ed., Vol. 1, Addison-Wesley Publishing Co., 1973. - Р. 385-395.

14. Ведерникова О.Г. Разработка и исследование комбинированного алгоритма генетического поиска и имитации отжига для задачи размещения элементов СБИС: Дис... канд. тех. наук: 05.13.12/ РГА Сельхозмаш. - Ростов-на-Дону, 1999. - 152 с.

15. Курейчик В.В., Курейчик В.М., Родзин С.И. Концепция эволюционных вычислений, инспирированных природными системами // Известия ЮФУ. Технические науки. - 2009. - № 4 (93). - С. 16-24.

Ковалев Андрей Владимирович

Технологический институт федерального государственного автономного

образовательного учреждения высшего профессионального образования «Южный

федеральный университет» в г. Таганроге.

E-mail: [email protected].

347928, Таганрог, ул. Шевченко, 2.

Тел.: 88634371603.

Бушин Сергей Алексеевич

Общество с ограниченной ответственностью «Астор-Трейд».

E-mail: [email protected].

105484, г. Москва, ул. 16-я Парковая, 26.

Тел.: 84954684334.

Kovalev Andrey Vladimirovich

Taganrog Institute of Technology - Federal State-Owned Educational Establishment of

Higher Vocational Education “Southern Federal University”.

E-mail: [email protected].

2, Shevchenko street, Taganrog, 347928, Russia.

Phone: +78634371603.

Bushin Sergey Alekseevish

“Astor-Trade” Company.

E-mail: [email protected].

26, 16th Parkovaya street, Moscow, 105484, Russia.

Phone: +74954684334.

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