УДК 621.3.049.771.14:004.023
М.В. Лисяк
ГИБРИДНЫЙ АЛГОРИТМ МНОГОКРИТЕРИАЛЬНОГО РАЗМЕЩЕНИЯ
ЭЛЕМЕНТОВ СБИС*
Рассматривается задача многокритериального размещения элементов СБИС с оптимизацией таких параметров, как суммарная длина связей, количество критических цепей и трассируемость топологии. Учет данных критериев позволяет уменьшить временные задержки в межсоединениях и создать условия для выполнения трассировки, что является актуальной задачей в связи с переходом на новые субмикронные и наноразмерные нормы проектирования СБИС. Предложен гибридный алгоритм размещения на основе генетического поиска, представлены данные экспериментальных исследований по определению вычислительной сложности и эффективности алгоритма.
Субмикронные СБИС; размещение элементов СБИС; стандартная ячейка; многокритериальная оптимизация; гибридный алгоритм; генетический поиск.
M.V. Lisyak
HYBRID ALGORITHM FOR MULTICTICERIA PLACEMENT OF VLSI
ELEMENTS
There is discussed a problem of multi-criteria placement of VLSI elements with optimization of such parameters as the total wire-length, the quantity of critical nets and the layout traceability. Taking into account those criteria allows to decrease time delays in wires and to create conditions for routing process, which is an actual task in coincidence with the transition to new submicron and nanoscale VLSI design standards. A new hybrid algorithm of placement, based on genetic search, is proposed, results of experimental research on time complexity and efficiency of the algorithm are represented.
Submicron VLSI; placement of VLSI elements; standard cell; multi-criteria optimization; hybrid algorithm; genetic search.
Введение. В связи с непрерывным увеличением степени интеграции СБИС и переходом на новые субмикронные и нанометровые нормы проектировния все больше возрастает трудоёмкость проектирования топологии СБИС. Появляется необходимость в использовании новых комплексных критериев решения задач физического синтеза, которые учитывали бы такие тенденции, как доминирование проводников над соединяемыми элементами по различным показателям на всех уровнях проектирования [1-3]. Поэтому актуальной остается и задача разработки эффективных методов многокритериальной оптимизации.
Данная работа посвящена решению задачи размещения элементов СБИС. Существуют два базовых варианта задачи размещения, различающихся моделью рабочего поля: с постоянным и переменным расстоянием между рядами размещения. Цели размещения для двух вариантов различны [4]. В первом случае расстояния между рядами и длина ряда не фиксированы до начала размещения. Минимизация площади и удовлетворение ограничений на время прохождения сигнала являются основными целями размещения. По сравнению с первым вариантом задачи размещения второй лучше соответствует современным тенденциям. В задаче размещения с фиксированным расстоянием между рядами число и расположение допустимых посадочных мест для элементов до начала размещения фиксировано. Трассировка производится в нескольких слоях, поэтому нет необходимости резер-
*
Работа выполнена при частичной поддержке РФФИ (проект № 11-01-00122).
вировать расстояние между рядами размещения, если трассировка не очень сложна, или распределение трассировочных ресурсов по горизонтальному и вертикальному направлению равномерно. Целью размещения в этом случае является минимизация времени прохождения сигнала и достижение трассируемости при заданном расстоянии между рядами.
Постановка задачи многокритериального размещения. Задача размещения элементов стандартных ячеек СБИС с фиксированным расстоянием между рядами формулируется следующим образом. Пусть даны множество элементов V и множество соединяющих элементы цепей U, а также множество P позиций на коммутационном поле:
V = (vi |i = 1,..,n},U = {ui |i = 1,...,l},
P = {pi I i = 1,...,m},m > n, где n - количество размещаемых элементов; l - количество цепей; m - количество позиций на коммутационном поле.
Произвольное размещение элементов в позициях представляет собой пере-
ТЛ*
становку P =p(i), ■■■, p(i), ■■■, p(„), где p(i) - номер позиции, в которую назначен элемент У(1.В зависимости от выбранного критерия для оценки результатов размещения вводится целевая функция F(P ) ^ opt. Таким образом, задача размещения представляет собой задачу оптимизации и состоит в отыскании оптимального значения функции F на множестве перестановок Р .
В общем случае для оценки качества размещения вводят многокритериальную целевую функцию F, в которую включают оценки по частным критериям fi. Тогда целью размещения является определить такое расположение элементов, при котором комплексная функция стоимости будет иметь оптимальное значение F(fi) ^ opt.
Классическими целями размещения являются минимизация общей площади кристалла, а также минимизация суммарной оценки длины межсоединений. При размещении элементов наноразмерных СБИС на первый план выходят такие цели как минимизация задержки сигнала, рассеиваемой мощности и обеспечение трас-сируемости - создание наилучших условий для трассировки [5]. Минимизация площади непосредственно влияет на такие характеристики как рассеивание энергии и повышение уровня выхода годных, в то время как прямой расчет этих показателей влечет за собой большие вычислительные затраты [6].
Критериями оптимизации для разработанного алгоритма размещения элементов СБИС выбраны следующие: суммарная длина цепей; количество цепей, задержка сигнала в которых превышает критическое значение; и трассируемость. В качестве оценки длин межсоединений целесообразно использовать полупери-метр описывающего прямоугольника цепи. Для повышения трассируемости СБИС предлагается следующий эвристический критерий: показатель трассируемости тем лучше, чем меньше суммарная площадь пересечения областей описывающих прямоугольников всех цепей. Тогда комплексный критерий оптимизации примет вид:
F = а- fr + Р-/Г" + /■ /3°тн ^min, (1)
а + Р + у = 1,
/1 отн *-* ^ отн ^ отн
j - суммарная длина цепей; /2 - количество критических цепей; f3 -
площадь пересечений прямоугольников, описывающих цепи; а Р У - коэффициенты значимости критериев.
Для компенсации разницы в абсолютных значениях частных критериев, которая может привести к подавлению одного критерия другим, предлагается использовать их относительные значения. Для приведения всех частных целевых функ-
ций к относительному виду абсолютное значение делится на математическое ожидание значения этой функции, вычисленное на первой итерации предложенного алгоритма, где решения генерируются случайным образом.
Гибридный алгоритм размещения. На сегодняшний день одним из эффективных подходов к решению №-сложных задач, к которым относится рассматриваемая задача, является использование гибридных методов, которые сочетают в себе достоинства нескольких классов алгоритмов. Предложенная стратегия оптимизации состоит в выполнении двух этапов (рис. 1):
1) глобальный поиск оптимального решения, призванный максимально полно охватить все пространство решений, осуществляется генетическим алгоритмом (ГА);
2) локальный поиск вблизи решений, полученных на предыдущем этапе, осуществляется модифицированным алгоритмом парных перестановок (ПП).
Рис. 1. Общая схема вычислительного процесса
Особенность предложенного гибридного алгоритма состоит в том, что ГА формирует множество промежуточных размещений, которые затем подвергаются локальной оптимизации. Количество промежуточных решений определяет количество независимых ветвей алгоритма ПП и является параметром поиска, влияющим на его эффективность, наряду с количеством итераций и размером популяции ГА.
Схема глобального поиска. Распространенным методом решения задач многокритериальной оптимизации в САПР является моделирование природных процессов и систем, которое включает эволюционные и генетические алгоритмы, алгоритмы моделирования отжига, различные методы роевого интеллекта и другие. Основным преимуществом эволюционных методов является параллельная обработка множества альтернативных решений, что является мощным средством выхода из локальных оптимумов [7]. ГА являются по своей сути алгоритмами стохастического поиска, однако заложенные в них стратегии эволюционного развития на основе программируемых механизмов отбора и репродукции, приводят к синтезу решений, близких к
оптимальным. Другим достоинством ГА является линейная оценка временной и пространственной сложностей генетических процедур, выполняемых на каждой итерации. Это даёт возможность решать задачи большой размерности за приемлемое время, что особенно важно при проектировании топологии СБИС.
Известно, что скорость изменения качества решений не одинакова на всем протяжении генетического поиска. Она достигает максимального значения на первых итерациях ГА и значительно снижается на последних [8]. Эффективным решением этой проблемы является выполнение определенного количества итераций ГА (параметр рассчитывается экспериментально) и последующее улучшение полученного решения менее трудоемкими методами, в данном случае - алгоритмом ПП. На рис. 2 представлена схема работы ГА. Рассмотрим его основные характеристики.
/Ввод данных: электрической схемы, параметров ячейки
Формирование случайной начальной популяции размером М
О - количество итераций, М - размер популяции, Р(ОК) - вероятность кроссинговера,
Р(ОМ) - вероятность мутации
Рис. 2. Алгоритм глобального поиска
Кодирование решения. Каждое размещение описывается хромосомой, ген которой соответствует определенной позиции рабочего поля. Гены содержат информацию о том, какие топологические элементы назначены в соответствующие им позиции, следовательно, значение гена может изменяться в пределах диапазона номеров элементов. Значения генов в хромосоме должны быть уникальными, хромосомы негомологичны, а, значит, требуют использования модифицированных генетических операторов (ГО), не порождающих нелегальных решений. Приспособленность хромосомы оценивается в соответствии со значением целевой функции (1) для соответствующего размещения.
Генетические процедуры. Рассматриваемый ГА содержит операторы крос-синговера (ОК), мутации (ОМ) и селекции. Для работы с негомологичными хромосомами были выбраны следующие модификации основных ГО [9]: одноточечный упорядоченный ОК и двухточечный ОМ, оценки временной сложности которых составляют O(n), где n - количество размещаемых элементов, и 0(1).
ВО
Создание начальной популяции решений производится случайным образом на основе стратегии «дробовика» [10] с целью максимально широкого охвата области допустимых решений и выполняется за время O(n2), где n - количество размещаемых элементов.
Отбор решений в следующее поколение использует стратегию элитизма: решения из текущей популяции объединяются с новыми решениями, полученными после применения ГО, и ранжируются в соответствии со значениями целевой функции. В новое поколение отбираются лучшие решения, размер популяции в каждом поколении остается неизменным. Отбор в новое поколение осуществляется за время O(n), где n - количество размещаемых элементов.
Оператор селекции производит выбор одного решения из популяции для последующего выполнения операторов кроссинговера и мутации. В данном алгоритме используется селекций на основе колеса рулетки [10], при которой вероятность выбора i-го решения определяется формулой (2):
Р( х.) =-
(2)
j=i
где ^(х;) - значение целевой функции /-го решения; М - размер популяции.
Селекция решений на основе колеса рулетки выполняется за линейное время О(п), где п - количество элементов схемы.
После оценки времени выполнения отдельных блоков ГА можно дать теоретическую оценку времени выполнения всего алгоритма. В худшем случае она составит О(п3), где п - количество размещаемых элементов.
Схема локального поиска. Алгоритм парных перестановок (ПП) осуществляет локальный поиск на множестве решений, найденных в ходе глобального поиска. 1111 использует то же представление решений и метод оценки их качества, что и ГА. В ходе работы ПП выполняется параллельная обработка промежуточных решений, полученных ГА. Схема работы алгоритма 1111 представлена на рис. 3.
Рис. З. Алгоритм локального поиска
Множество промежуточных решений формируется следующим образом: из последней популяции ГА выбирается D лучших неповторяющихся решений. Целесообразна оптимизация сразу нескольких решений, поскольку локальный поиск для начального решения с худшим значением целевой функции зачастую дает лучший результат, чем локальный поиск для наилучшего начального решения. Параметр D задается экспертом, он влияет на эффективность и время поиска. Теоретическая оценка временной сложности алгоритма парных перестановок составляет 0(п2), таким образом, ВСА гибридного алгоритма составляет 0(п3), где n -количество размещаемых элементов.
Экспериментальные исследования гибридного алгоритма. Для реализации предложенного алгоритма и выполнения экспериментальных исследований был разработан программный продукт. Разработка выполнялась в среде Microsoft Visual Studio 2010 Express на языке C#, продукт предназначен для работы в исполняемой среде Windows.
Экспериментальные исследования проводились на компьютере с процессором Intel® Pentium® Dual, CPU T2410, 2.00 GHz, оперативной памятью 2.00 GB и операционной системой Windows 7 для схем, сгенерированных случайным образом, а также для схем стандартных ячеек открытой библиотеки Nangate Open Cell Library 45nm [11]. Схемы, сгенерированные случайным образом, имеют следующие характеристики: количество элементов < 200; количество цепей < 800; количество элементов, объединенных в одну цепь 2^6.
Результаты экспериментов по определению временной сложности гибридного алгоритма (ВСА) представлены в табл. 1. Полученные данные свидетельствуют о кубическом характере ВСА в среднем случае, что согласуется с ранее полученной теоретической оценкой.
Таблица 1
Зависимость времени поиска от количества размещаемых элементов
Число поколений (G) Время работы программы, с
№ эксперимента Среднее значение
1 2 3 4 5 6 7 8 9 10
20 0,38 0,4 0,4 0,57 0,45 0,44 0,45 0,47 0,46 0,45 0,45
40 0,85 0,98 1,09 1,01 1,03 0,94 0,96 1,07 1,07 1,09 1,01
60 2,65 1,85 1,72 1,95 1,79 1,98 1,95 2,28 2,18 2,00 2,03
80 4,07 5,45 3,27 4,03 3,66 3,82 3,71 3,16 3,79 2,36 5,86
100 6,31 6,69 5,50 5,61 7,22 7,32 5,82 6,98 4,82 5,95 6,22
120 8,45 8,52 8,74 10,99 10,85 8,89 10,89 8,76 9,02 7,99 9,31
140 15,88 14,99 14,02 18,05 15,06 15,07 13,01 11,67 10,89 17,14 14,58
160 17,55 17,12 19,42 16,27 17,25 23,43 23,51 18,08 19,98 16,88 18,95
180 23,67 24,57 26,86 23,49 28,01 20,51 28,24 26,46 28,01 29,19 25,91
200 28,82 33,38 27,54 26,80 42,02 34,34 40,57 33,13 33,57 29,67 32,99
Эффективность эвристического алгоритма измеряется степенью достижения требуемого качества решений и необходимым для этого временем, и зависит от качества настройки параметров алгоритм. В соответствии с выбранной методикой определения оптимальных параметров алгоритма [7] эффективность работы алгоритма оценивалась вероятностью (частотой) получения оптимального решения в единичном запуске и количеством независимых запусков, необходимых для достижения оптимума с вероятностью 99 %. В связи с тем, что глобальный оптимум
для задачи размещения не известен, при проведении оценок оптимальными было принято считать решения, которые хуже наилучшего из решений, полученных в серии экспериментов для одной и той же схемы не более, чем на 5 %.
Для определения оптимальных значений параметров (количества итераций ГА - О, размера популяции - М, количества ветвей ПП - В) были проведены серии экспериментов для схем с разным количеством элементов. Для схем из 25 элементов оптимальной комбинацией параметров с точки зрения минимизации временных затрат и получения качественных решений является О = 142, М = 50, В = 4. Для схем из 50 элементов оптимальной комбинацией параметров с точки зрения минимизации временных затрат и получения качественных решений является О = 190, М = 60, В = 5. В табл. 2 представлены результаты вычислительных экспериментов по определению оптимальных параметров работы алгоритма.
Таблица 2
Определение оптимальных параметров работы алгоритма
Размер популяции, М 10 20 30 40 50 60 70 80 90 100
Оптимальное количество итераций, О 25 элементов
200 182 187 173 142 163 180 180 149 143
50 элементов
198 199 196 199 199 190 199 194 198 197
Вычислительная сложность, I, х104 25 элементов
0,649 1,160 1,580 2,000 2,290 3,080 3,120 3,640 4,180 4,720
50 элементов
0,574 0,980 1,380 1,880 2,210 2,830 2,980 3,540 3,980 4,400
Вероятность достижения оптимума в одиночном запуске, Р, % 25 элементов
75, 8 76,4 80,6 79,6 76 76 84,4 83,8 72,2 75,2
50 элементов
75, 8 76,4 80,6 79,6 76 76 84,4 83,8 72,2 75,2
На рис. 4 представлен совмещенный график зависимости вычислительных затрат и интегральной функции распределения вероятностей получения оптимального решения от количества итераций (при оптимальном значении М=60), на основании которых были получены значения параметров для схем из 50 элементов.
Итерашш. С
Рис. 4. Определение оптимальных параметров генетического поиска
для 50 элементов
Заключение. Предложенный гибридный алгоритм размещения элементов СБИС основан на использовании генетического алгоритма в целях охвата различных областей пространства решений и модифицированного алгоритма парных перестановок, улучшающего решения, найденные генетическим алгоритмом. Использование такой стратегии позволяет снизить временные затраты на получение качественных решений, по сравнению с использованием только генетического поиска. Оптимизация происходит одновременно по трем частным критериям, которые являются актуальными в контексте постоянного увеличения степени интеграции СБИС и возникающих в этой связи тенденций.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Суетин Н. Полупроводниковые технологии: современное состояние, проблемы и перспективы [Электронный ресурс] / Н. Суетин - 2010. URL: http://nano.msu.ru/files/ confer-ences/school-2010-04/SuetinNV.pdf.
2. International Technology Roadmap for Semiconductors [Electronic recourse] - 2009. - URL: http://www.itrs.net.
3. Марченко М.А. Быстродействующий метод размещения элементов СБИС с учетом загрузки коммутационных слоев: Дис. ... канд. тех. н. - М., 2006. -156 с.
4. Sapatnekar S. Handbook of Algorithms for Physical Design Automation. / S. Sapatnekar -NY: CRC Press, 2009. - 1049 p.
5. Мелик-Адамян А.Ф. Исследование и разработка алгоритмов многокритериальной оптимизации библиотечных элементов при проектировании нанометровых СБИС: Дис. . канд. тех. н. - М., 2009. -176 с.
6. Рабан Ж., Чандракасан А., Николич Б. Цифровые интегральные схемы. Методология проектирования. -2-е изд. - М.: Вильямс, 2007. - 911 с.
7. Koza J. Genetic Programming: On the Programming of Computers by Means of Natural Selection. - Cambridge, MA: The MIT Press. - 1992. - 840 c.
8. Курейчик В.М. Биоинспирированный поиск с использованием сценарного подхода // Известия ЮФУ. Технические науки. - 2010. - № 7 (108). - С. 7-12.
9. Курейчик В.М. Модифицированные генетические операторы // Известия ЮФУ. Технические науки. - 2009. - № 12 (101). - С. 7-14.
10. Poli Ricardo. A field guide to Genetic programming. [Electronic resourse] / Ricardo Poli, William Langdon, Nicolas McPhee. -2008. - URL: http://www.gp-field-guide.org.uk.
11. Nangate Open Cell Library 45 [Electronic resource] - 2011. - URL: http://www.nangate.com.
Статью рекомендовал к опубликованию д.т.н., профессор В.П. Карелин.
Лисяк Мария Владимировна - Технологический институт федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге; e-mail: maria-lisyak@yandex.ru; 347928, г. Таганрог, пер. Некрасовский, 44, ГСП 17А; тел.: 88634360524; кафедра систем автоматизированного проектирования; аспирантка.
Lisyak MariaVladimirovna - Taganrog Institute of Technology - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”; e-mail: maria-lisyak@yandex.ru; GSP 17A, 44, Nekrasovskiy, Taganrog, 347928, Russia; phone: +78634360524; the department of computer aided design; postgraduate student.