1 Algorithm Description

advertisement
ИНСТИТУТ ТОЧНОЙ МЕХАНИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
ИМ. С.А. ЛЕБЕДЕВА РОССИЙСКОЙ АКАДЕМИИ НАУК
Мелик-Адамян Арег Фрикович
МЕТОДЫ И АЛГОРИТМЫ
МНОГОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ
СТАНДАРТНЫХ ЯЧЕЕК В СУБМИКРОННЫХ
ТЕХНОЛОГИЯХ ПРОЕКТИРОВАНИЯ СБИС
Специальность: 05.13.01 ― Системный анализ,
управление и обработка информации
Диссертация на соискание ученой степени
кандидата физико-математических наук
Научный руководитель:
дoктор технических наук, доцент
Рыжов А.П.
Тверь ― 2009
2
Оглавление
ГЛАВА 1 .................................................................................................................................................................... 11
СИСТЕМНЫЙ АНАЛИЗ ПРОЕКТИРОВАНИЯ СБИС НА ОСНОВЕ КМОП-ТЕХНОЛОГИИ ............ 11
1.1 ВВЕДЕНИЕ ............................................................................................................................................ 11
1.2 МАРШРУТ ПРОЕКТИРОВАНИЯ СБИС ................................................................................................... 11
1.3 ЭВОЛЮЦИЯ ТЕХНОЛОГИИ ПРОИЗВОДСТВА КМОП ИЗДЕЛИЙ .............................................................. 13
1.4 ПРОБЛЕМА УТЕЧЕК В СУБМИКРОННЫХ ТЕХНОЛОГИЯХ КМОП .......................................................... 16
1.5 ТОК УТЕЧКИ В МОП-ТРАНЗИСТОРЕ ..................................................................................................... 18
1.5.1 Подпороговый ток утечки .......................................................................................................... 18
1.5.2 Ток утечки затвора ...................................................................................................................... 19
1.5.3 Компоненты тока утечки ........................................................................................................... 21
1.6 ТОК УТЕЧКИ В ЯЧЕЙКАХ ...................................................................................................................... 21
1.7 МЕТОДЫ БОРЬБЫ С ТОКАМИ УТЕЧЕК ................................................................................................... 25
1.8 УРОВЕНЬ ВЫХОДА ГОДНЫХ И СВЯЗАННЫЕ С НИМ ПРОБЛЕМЫ ............................................................ 26
1.8.1 Общие понятия УВГ .................................................................................................................... 26
1.8.2 Рассматриваемые ограничения .................................................................................................. 28
1.8.3 Определение УВГ .......................................................................................................................... 30
1.9 БИБЛИОТЕКИ СТАНДАРТНЫХ ЯЧЕЕК .................................................................................................... 31
1.10 ПОСТАНОВКА ЗАДАЧИ ......................................................................................................................... 34
1.11 ВЫВОДЫ ПО ГЛАВЕ .............................................................................................................................. 37
ГЛАВА 2 .................................................................................................................................................................... 38
НАУЧНО-МЕТОДИЧЕСКИЕ ПОЛОЖЕНИЯ ПО ОПТИМИЗАЦИИ ЯЧЕЕК СТАНДАРТНЫХ
БИБЛИОТЕК ЭЛЕМЕНТОВ ................................................................................................................................ 38
2.1 МЕТОДЫ ОПТИМИЗАЦИИ В ЗАДАЧАХ ПРОЕКТИРОВАНИЯ СБИС .......................................................... 40
2.1.1 Традиционные методы оптимизации ......................................................................................... 40
2.2. Эволюционные методы оптимизации .......................................................................................... 40
2.1 МАТЕМАТИЧЕСКАЯ МОДЕЛЬ ЯЧЕЙКИ СТАНДАРТНОЙ БИБЛИОТЕКИ ЭЛЕМЕНТОВ ................................. 59
2.1 МАТЕМАТИЧЕСКИЕ МОДЕЛИ ХАРАКТЕРИСТИК СТАНДАРТНЫХ БИБЛИОТЕК ЭЛЕМЕНТОВ .................... 59
2.1.1 Характеристика площади ........................................................................................................... 59
2.1.2 Характеристика статического энергопотребления................................................................ 59
2.1.3 Характеристика динамического энергоптребления ................................................................ 59
2.1.4 Характеристика задержки ......................................................................................................... 59
2.1.5 Характеристика уровня выхода годных .................................................................................... 59
2.1.6 Характеристика длины трассировки ........................................................................................ 59
2.1.7 Характеристика плотности размещения ................................................................................. 59
ВЫВОДЫ ПО ГЛАВЕ...................................................................................................................................... 59
ГЛАВА 3 .................................................................................................................................................................... 60
ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ РАЗРАБОТАННЫХ МЕТОДОВ И АЛГОРИТМОВ
МНОГОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ СТАНДАРТНЫХ ЯЧЕЕК .............................................. 60
3.1 ПРОГРАММНАЯ СИСТЕМА ДЛЯ РЕШЕНИЯ ЗАДАЧ МНОГОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ СТАНДАРТНЫЙ
ЯЧЕЕК........................................................................................................................................................... 60
3.1.2 Функциональная структура ........................................................................................................ 61
3.1.3 Эксплуатация и применение программной системы ................................................................ 63
3.2 ЗАДАЧА ПРИНЯТИЯ РЕШЕНИЙ ПРИ ОПТИМИЗАЦИИ БЛОКОВ ДЛЯ ПРОЕКТИРОВАНИЯ СИСТЕМЫ-НА-КРИСТАЛЛЕ
64
3.2.1 ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ ПРИНЯТИЯ РЕШЕНИЙ ......................................................................... 64
3.1 СДФСДФСФ ............................................................................................................................................. 64
3.1 КОМПАКТИЗАЦИЯ .................................................................................................................................. 66
1 ALGORITHM DESCRIPTION ............................................................................................................................ 66
1.1 INITIALIZATION ...................................................................................................................................... 66
1.2 LAYOUT PREPROCESSING ....................................................................................................................... 66
1.3 LAYOUT GRAPH CONSTRUCTION ............................................................................................................. 66
1.4 CONSTRAINT (GRAPH EDGE) GENERATION .............................................................................................. 68
3
1.4.1 Geometrical interpretation of graph edges .................................................................................... 68
1.4.2 Constraint generation ..................................................................................................................... 69
1.5 ACTUAL COMPACTION ............................................................................................................................ 79
1.5.1 Dynamic slack finding for the nodes .............................................................................................. 79
1.5.2 Pushing of the cell boundary (origin node) towards the other boundary (origin) ......................... 82
1.6 LAYOUT POSTPROCESSING...................................................................................................................... 84
1.7 FINALIZING............................................................................................................................................. 87
2 COMPACTION USAGE, ISSUES AND FUTURE PERSPECTIVES .............................................................. 87
2.1 USAGE .................................................................................................................................................... 87
2.2 ISSUES .................................................................................................................................................... 87
2.3 FUTURE PERSPECTIVES ........................................................................................................................... 88
3.1 СДФСДФСФ ............................................................................................................................................. 88
ВЫВОДЫ ПО ГЛАВЕ...................................................................................................................................... 88
ЗАКЛЮЧЕНИЕ ....................................................................................................................................................... 90
ЛИТЕРАТУРА ......................................................................................................................................................... 92
4
ВВЕДЕНИЕ
Актуальность темы диссертационного исследования.
В настоящее время современные субмикронные технологии производства СБИС достигли такой степени интеграции, что минимальный размер топологического объекта меньше длины волны, используемой при фотолитографии. В частности, за последние 30 лет длина затвора МОП-транзистора
уменьшилась в 250 раз, с 10 мкм в начале 70-х годов до 45 нм в наши дни, а
длина волны всего примерно, в 10 раз с 2 мкм до 193 нм. Как следствие этого, к известным технологическим ограничениям на минимальное расстояние
и размер объектов топологии добавились новые, более сложные правила, зависящие, например, от конфигурации объектов, геометрических размеров,
взаимного расположения объектов топологии и особенностей процесса производства. Кроме того, для создания объектов меньше чем длина волны применяются специальные приемы, позволяющие улучшить разрешающую способность технологического оборудования. Например, засветка противоположными фазами с разных сторон проводника, или оптическая коррекция
близости [1].
С другой стороны, известно, что с уменьшением геометрических размеров транзисторов снижается площадь кристалла, уменьшаются паразитные
ёмкости, улучшается быстродействие и снижается энергопотребление СБИС.
Тем не менее, это влечет за собой экспоненциальный рост утечек тока на
единицу площади. Например, на пороговые утечки приходиться до 50% от
общего объема энергии для портативных приложений, разработанных для
65нм технологии (рис. 1). Дальнейшее развитие технологии, масштабирование размеров, толщины подзатворного окисла приведет к значительному росту туннельного тока, что еще больше усугубляет проблему утечки.
5
Рисунок 1: Графики соотношения видов энергопотребления в СБИС по технологиям
Технологические ограничения таких видов делают процесс разработки
современных топологий более трудоемким, чем раньше. Уменьшение размеров привело к тому, что проводники вносят существенный вклад в задержку
распространения сигнала даже в топологии стандартной ячейки []. Следовательно, необходимо учитывать данные схемотехнические проблемы при разработке топологии ячеек. Особенно сильно на задержку распространения
сигнала и на статический ток утечки в стандартной ячейке влияет расстояние
между затворами транзисторов, так как диффузионная область имеет значительное сопротивление и емкость по сравнению с металлами.
Другой, не менее важной проблемой является задача повышения уровня выхода годных (УВГ, yield). УВГ зависит как от случайных технологических ошибок, возникающих во время процесса производства (catastrophic errors), так и от параметрических особенностей производства для данного типа
процесса. Параметрические проблемы хорошо моделируются статистическими методами в процессе производства, что позволяет учитывать результаты
работы этих методов в процессе проектирования, а в последнее время даже
использовать их в маршруте проектирования СБИС. Технологические ошибки трудно предсказывать, основываясь на прошлых данных, из-за частых и
существенных изменений в процессах.
6
Наряду с перечисленными ограничениями происходит быстрая смена
технологий. Каждый год появляется новый технологический процесс, который в первую очередь требует разработки новой библиотеки стандартных
ячеек. Это приводит к тому, что разработка библиотеки производится в сжатые сроки и часто параллельно с доводкой технологии.
Таким образом, сложные технологические ограничения и сжатые сроки
проектирования делают невозможным разработку топологии стандартных
ячеек без использования систем автоматизированного проектирования
(САПР). Параллельная разработка библиотеки и технологий требует коррекции уже разработанных ячеек после каждого изменения технологических
норм. Для каждой технологии создаются семейства библиотек – стандартного быстродействия, энергосберегающая, быстрая и т.д. Разработка эффективных методов оптимизации ячеек в маршруте проектирования по УВГ, энергопотреблению, площади и задержкам является актуальной задачей создания
новых библиотек и заказных блоков.
Цель работы состоит в разработке методов, алгоритмов, программноинструментальных средств, которые совместно формируют прототип технологии для эффективного решения задачи оптимизации стандартных ячеек по
нескольким параметрам, а также позволяют решать многокритериальные оптимизационные задачи в составе маршрута проектирования.
Для достижения этой цели необходимо решить следующие задачи:
1. Провести анализ современного состояния средств автоматизации проектирования и оптимизации библиотек стандартных ячеек, определение проблемы и направления их развития;
2. Сформулировать требования, определить целевые задачи и методику
оптимизации стандартных ячеек;
3. Обосновать выбор методов оптимизации и применимость для существующих библиотек стандартных ячеек;
7
4. Разработать математические модели тока утечки, быстродействия,
уровня выхода годных и площади для стандартной ячейки;
5. Разработать алгоритмическое обеспечение многокритериальной оптимизации стандартной ячейки, провести программную реализацию разработанных средств и их интеграцию в единую программную среду
маршрута проектирования стандартных ячеек;
Объектом исследования является топология стандартных ячеек.
Предметом исследования является оптимизация характеристик стандартных ячеек.
Методы исследования базируются на фундаментальных положениях
теории алгоритмов, принципах проектирования топологии интегральных
схем и правилах построения программного обеспечения. Также при выполнении диссертационной работы использовался аппарат системного анализа,
теории оптимизации, исследования операций, теории вероятности и математической статистики.
Научная новизна представляемой работы может быть охарактеризована следующим:
 Разработан новый гибридный алгоритм условной оптимизации тока
утечки для стандартной ячейки, отличающийся от известных алгоритмов организацией взаимодействия глобального и локального поиска.
 Разработан новый гибридный алгоритм безусловной многокритери-
альной оптимизации для стандартной ячейки, отличающийся от известных алгоритмов организацией взаимодействия глобального, локального и эволюционного поиска.
 Предложен модифицированный гибридный алгоритм условной оптимизации топологии стандартной ячейки, отличающийся от известных способом учета существенных ограничений.
8
 Предложены модифицированные математические модели оптимизации топологии СБИС, отличающиеся от известных наличием нескольких критериев.
Обоснованность и достоверность научных положений, представленных в диссертационной работе, обеспечивается тщательным анализом состояния исследований по теме работы, подтверждается согласованностью теоретических результатов с результатами компьютерного моделирования, а также
апробацией в печатных трудах и опытном внедрении.
Практическая значимость. На основе разработанных в работе методов
и алгоритмов создана программная система, которая снимает с пользователя
требование к знанию многокритериальной оптимизации, и позволяет пользователю решать практические задачи принятия решений в процессе проектирования и оптимизации топологии СБИС. Работоспособность системы продемонстрирована на примере реальных задач проектирования и оптимизации
промышленной библиотеки элементов и заказной системы-на-кристалле.
Основные положения, выносимые на защиту:
 Новый гибридный алгоритм безусловной многокритериальной оп-
тимизации списка цепей для стандартной ячейки, отличающийся от
известных алгоритмов организацией взаимодействия глобального,
локального и эволюционного поиска.
 Модифицированный гибридный алгоритм условной оптимизации
топологии стандартной ячейки, отличающийся от известных способом учета существенных ограничений.
 Модифицированные математические модели оптимизации топологии СБИС, отличающиеся от известных наличием нескольких критериев.
9
Реализация полученных результатов работы. Результаты диссертационной работы использованы в ряде научно-исследовательских проектов в
ИТМ и ВТ, а именно:
 В проекте «Ардон» – разработка инструментальной среды генерации стандартных библиотек.
 В проекте «Ардон-2» – разработка системы генерации и оптимизации стандартных библиотек.
 В оптимизации промышленных библиотек для «Микрон-НИИМЭ».
Апробация результатов исследования. Основные результаты диссертационной работы опубликованы в работах [1-7], из них в изданиях,
рекомендованныx Перечнем ВАК Министерства образования и науки
Российской Федерации – 3 работы [1-3]. Результаты неоднократно докладывалась на научных конференциях и семинарах, в частности:
 на 51-ой Научной конференции МФТИ, 2008;
 на конференции по автоматизации физического проектирования
Ментор Графикс, 2008;
 семинарах факультета ВМиК МГУ 2008;
 на семинарах ИТМиВТ 2006-2008.
Личный вклад автора заключается в:
 полной разработке практических и теоретических основ метода
комбинирования многокритериальной оптимизации на основе случайного поиска с локальным адаптивным алгоритмом;
 участие в разработке метода комбинированного поискa [4];
 в постановке обобщенной задачи пост-топологической оптимизации;
 руководстве разработкой программной системы Cell Compiler для
оптимизации и генерации стандартных ячеек;
10
 программной реализации гибридного метода глобальной оптимизации на основе генетических алгоритмов и случайного поиска.
Публикации. Основное содержание диссертации опубликовано в 6 работах, перечень которых приведен в списке литературы.
Структура и объем диссертации. Диссертация состоит из 120 страниц текста, содержит введение, четыре главы, заключение, список литературы из 160 наименований, приложение, 31 рисунков и 6 таблицы.
11
ГЛАВА 1
Системный анализ проектирования СБИС на основе
КМОП-технологии
1.1 Введение
КМОП (комплементарная логика на транзисторах металл-оксид-полупроводник; англ. CMOS, Complementary metal-oxide semiconductor) — технология построения электронных схем, использующая полевые транзисторы с
изолированным затвором с каналами разной проводимости. Отличительной
особенностью функционирования схем КМОП по сравнению с биполярными
технологиями является очень малое энергопотребление в статическом режиме (до недавнего времени этим фактором пренебрегали). А отличительной
особенностью структуры КМОП является наличие как n-, так и p-канальных
полевых транзисторов, что приводит к более высокому быстродействию и
меньшему энергопотреблению. Однако при этом характеризуются более
сложным технологическим процессом изготовления.
Подавляющее большинство современных логических микросхем, в том
числе, процессоров, используют схемотехнику КМОП. В этой работе исследуются только сверхбольшие интегральных схем (СБИС) произведенные по
технологии КМОП.
1.2 Маршрут проектирования СБИС
В настоящее время сложность проектируемых СБИС определяется сотнями миллионов транзисторов на кристалле и продолжает расти, что и определяет безальтернативность использования технологий САПР при разработке
СБИС.
К настоящему времени различными фирмами создано большое число программ САПР [], различающихся типами выполняемых проектных процедур и
ориентацией на те или иные разновидности СБИС. Динамичное развитие мик-
12
роэлектроники предъявляет все более жесткие требования к САПР по эффективности и разносторонности выполняемых функций. Для успешного выполнения любого сложного проекта необходимо организовать его иерархическую декомпозицию. В процессе разработки выделяются различные уровни абстракции в зависимости от стадии проектирования от идеи до производства. Так, на рисунке ? показано, что, в зависимости от уровня представления, объектом абстракции является система, регистр, вентиль, геометрия
библиотечного элемента на кристалле, которые определяют типичный
маршрут проектирования СБИС.
Библиотеки стандартных
ячеек
Рис. Типичный маршрут проектирования СБИС и уровни абстракции
Каждый уровень абстракции в маршруте проектирования СБИС характеризуется своим математическим обеспечением, используемым для моделирования и
анализа схем. Выделяют уровни системный, регистровый (RTL ― Register Transfer Level), называемый также уровнем регистровых передач, логический, схемотехнический, компонентный. Общее название для регистрового и логического
уровней ― уровень функционально-логический. При проектировании заказных
СБИС, преобладает нисходящий стиль функционально-логического проектирования, при котором последовательно выполняются процедуры уровней системно-
13
го, RTL и логического. В этих процедурах широко используются ранее принятые
унифицированные решения, закрепленные в библиотеках стандартных ячеек.
Эти библиотеки разрабатываются с помощью процедур схемотехнического и
компонентного проектирования вне маршрутов проектирования конкретных
СБИС. В дальнейшем, нас будут интересовать именно библиотеки стандартных
ячеек.
Верхний иерархический уровень называют системным, архитектурным
или поведенческим. Последнее название связано с тем, что на этом уровне
оперируют алгоритмами, подлежащими реализации в СБИС, которые выражают поведенческий аспект проектируемого изделия.
На уровне межрегистровых передач выполняют синтез и верификацию
схем операционных и управляющих блоков, получают функциональные схемы СБИС.
На логическом уровне, иначе называемом вентильным (gate level),
преобразуют RTL-спецификации в схемы вентильного уровня с помощью программ-компиляторов логики; здесь опять используются библиотеки стандартных ячеек.
1.3 Эволюция технологии производства КМОП изделий
В настоящее время современные КМОП технологии производства
СБИС достигли такой степени интеграции, что минимальный размер топологического объекта меньше длины волны, используемой при фотолитографии.
В частности, за последние 30 лет длина затвора МОП-транзистора уменьшилась в 250 раз, с 10 мкм в начале 70-х годов до 40 нм в наши дни, а длина
волны всего примерно, в 10 раз с 2 мкм до 193 нм. С переходом к проектным
нормам глубокого субмикрона (130 нм и далее) в конструировании СБИС
возникли принципиально новые проблемы. Помимо трудностей технологического свойства, связанных с тем, что традиционная конструкция МОПтранзистора перестает работать из-за различных паразитных эффектов, про-
14
являющихся в малоразмерных конструкциях, возникли проблемы, связанные
с программно-аппаратным и методологическим обеспечением процесса проектирования. Как следствие этого, к известным технологическим ограничениям на минимальное расстояние и размер объектов топологии добавились
новые, более сложные правила, зависящие, например, от конфигурации объектов, геометрических размеров, взаимного расположения объектов топологии и особенностей процесса производства. Кроме того, для создания объектов меньше чем длина волны применяются специальные приемы, позволяющие улучшить разрешающую способность технологического оборудования [
], что требует новых сложных САПР и сильно влияет на методологию проектирования. Например, засветка противоположными фазами с разных сторон
проводника, или оптическая коррекция близости [ ].
С другой стороны, известно, что с уменьшением геометрических размеров транзисторов снижается площадь кристалла, уменьшаются паразитные
ёмкости, улучшается быстродействие и снижается энергопотребление СБИС.
Тем не менее, это влечет за собой экспоненциальный рост утечек тока на
единицу площади [ ]. Дальнейшее развитие технологии, масштабирование
размеров, толщины подзатворного окисла приведет к значительному росту
туннельного тока [ ], что еще больше усугубляет проблему утечки.
Рисунок 2: Графики соотношения видов энергопотребления в СБИС по технологиям
Другой, не менее важной проблемой является задача повышения уровня выхода годных (УВГ, yield). УВГ зависит как от случайных технологиче-
15
ских ошибок, возникающих во время процесса производства [ ] (random
defetcts), так и от параметрических особенностей производства для данного
типа процесса (systematic defects) [ ]. Параметрические проблемы хорошо моделируются статистическими методами [ ], что позволяет учитывать результаты работы этих методов в процессе проектирования. Технологические
ошибки трудно предсказывать, основываясь на прошлых данных, из-за частых и существенных изменений в процессах []. В настоящее время существуют несколько специализированных САПР в маршруте проектирования
СБИС повышающих УВГ [ ].
Вышеназванные технологические ограничения делают процесс разработки современных топологий более трудоемким, чем раньше. Уменьшение
размеров привело к тому, что проводники вносят существенный вклад в задержку распространения сигнала даже в топологии стандартной ячейки [ ].
Следовательно, необходимо учитывать данные схемотехнические проблемы
при разработке топологии стандартных ячеек [ ].
Наряду с перечисленными ограничениями происходит быстрая смена
технологий. Каждый год появляется новый технологический процесс, который в первую очередь требует разработки новой библиотеки стандартных
ячеек [ ]. Это приводит к тому, что разработка библиотеки производится в
сжатые сроки и часто параллельно с доводкой технологии. Это приводит к
тому, что математические модели, используемые для проектирования, меняются очень часто как количественно, так и качественно – меняются типы и
параметры моделей.
Таким образом, сложные технологические ограничения и сжатые сроки
проектирования делают невозможным разработку топологии стандартных
ячеек без использования САПР. Параллельная разработка библиотеки и технологий требует коррекции уже разработанных ячеек после каждого изменения технологических норм или изменения параметров технологического
процесса проектирования. Для каждой технологии создаются семейства биб-
16
лиотек ― стандартного быстродействия, энергосберегающая, быстрая и т.д.
Разработка эффективных методов и современных САПР быстрой оптимизации библиотек стандартных ячеек в маршруте проектирования по УВГ, энергопотреблению, площади и задержкам и, возможно, другим характеристикам,
является актуальной задачей.
1.4 Проблема утечек в субмикронных технологиях КМОП
1.4.1 Основные проблемы
Для технологий комплементарного МОП-транзистора (КМОП), при их
дальнейшем усовершенствовании, роль новых физических явлений, становится существенным, особенно для технологий энергосбережения [ ]. В работах [ ] указывается, что энергопотребление станет одним из важнейшич факторов в технологических нормах проектирования 45нм и ниже. На конференции DAC’2008 вошел в обиход и стал устоявшимся термин Design for Power
(DFP) – проектирование с учетом энергосбережения. Международная дорожная карта по полупроводниковой технологии (International Technology
Roadmap for Semiconductors (ITRS) [ ]), указывает на основные проблемы в
области борьбы с энергопотреблением
1. Подпороговые утечки
2. Туннельные токи
3. Статистическая дисперсия материала
4. Истощение поликремния и квантовые эффекты
Далее, вкратце, рассмотрим все эти проблемы и связанные с ними вопросы проектирования изделий и возможные решение проблем.
1.4.2 Основные вехи развития – дорожная карта ITRS
Переход от одной технологии к другой, масштабированием физических
размеров, всегда был, и остается основным способом уменьшения энерго-
17
потрeбления. Oсновные паразитические емкости (вентили и взаимосвязи)
уменьшаются, активный ток увеличивается, и следовательно, сопоставимую
производительность можно получить при меньшем напряжении питания. Переход на новые технологии уменьшает значения напряжения питания (Vdd),
порогового напряжения (VT) и толщины оксида вентиля (TOx). Начиная с технологии 0.18 мкм оказалось, что изготовление транзистора с хорошим активным током (Ion) и маленьким током утечки (Ioff) становиться все труднее. Для
этого былы введены два семейства транзисторов: высокоскоростных и малотекущих. Пороговые напряжения для этих двух семейств формируются разным образом, благодоря различным методам допирования канала транзистора. Но оказалось, что и два семейства недостаточно для совремнных приложений. Тогда, ITRS в 2001 году ввела три основные группы транзисторов:
1. Высокопроизводительные (HP – High Performance)
2. Малоточные (LOP – Low Operating Power)
3. Малотекущие (LSTP – Low Standby Power)
На этом этапе не только допирование канала разное, но и толщина оксида затвора тоже. Таблица ? суммирует основные характеристики текущих и будущих транзисторов.
18
1.5 Ток утечки в МОП-транзисторе
Ток утечки транзистора в состоянии выключен (Iоff), это ток текущий через сток, когда напряжение затвор-исток равен нулю. Существуют два основных вида утечек – подпороговый ток утечки и утечки затвора.
1.5.1 Подпороговый ток утечки
Подпороговый ток транзистора обычно определятся следующим уравнением.
(1)
где a – некая константа,
– эффективная длина затвора,
– напряжение
затвора, VТ – пороговое напряжение, kT/q – напряжение тепловых шумов. В
типичном сценарии уменьшения геометрических размеров, электрические
поля сохраняются при уменьшении напряжения и геометрических размеров
на один и тот же множитель и увличении уровня допирования на тот же
множитель. Несмотря на то что Iоff
экспоненциально увеличивается при
19
уменьшении VТ , статическое энергопотребление имеет некую нижнюю грань
понижения, при уменьшении порогового напряжения транзистора. И несмотря на то, что динамические характеристики транзистора непосредственно связаны с отношением VDD /VТ, напряжение питания тоже не понижается
так легко. Соответственно, в дорожной карте ITRS напряжение питания не
уменьшается с той же скоростью, что и геометрические размеры затворса.
Это влечет за собой невозможность иметь транзистор одновременно с хорошым активным током и током утечки. Для уменьшения активного тока используется понижение частоты, разные напряжения питания и другие методы
управления током утечки [][]
1.5.2 Ток утечки затвора
На Iоff влияют подпороговое нарпяжение, физическое формообразование канала и эффективные размеры, контур легирования канал-поверхность,
глубина стыка сток-исток, толщина оксида затвора, напряжение питания и
температура. Но Iоff определенный выше не единственно важный механизм
утечки для глубоких субмикронных технологий.
Рис. Ток утечки, показывающий DIBL, GIDL, слабую инверсию и p-n
обратный стыковой компонентны в 0,13 мкм технологии
20
На рис. Показаны графики зависимости тока утечек в затворе (ID) относительно напряжения затвора (VG). Значение ID относительно VG является важной величиной в состояниях насыщения и линейного смещения. Измеряемые
транзисторы были взяты из процесса TSMC 130нм, КМОП технология, с Leff
< 100нм, и номинальным напряжением 1,2В [ ].
Существуют 8 механизмов тока утечки затвора показанные на рис. .
Рис. ?. Ток утечки в субмикронных транзисоторах
I1 это утечка при обратном смещении в стыке p-n, вызванная барьерной эмиссией вместе с небольшим сдвигом носителей и межзонным сдвигом туннелирования от оксидно-поликремниевой поверхности, I2 это слабо инверсионный ток, I3 это стоко-вызванная утечка через барьер (DIBL), I4 затворно вызванная утечка стока (GIDL), I5 – утечка канала, I5 – утечка через поверхность канала из-за узости канала, I7 – утечка через оксид, и I8 – утечка зерез
затвор вследсвтии вхождения горячих носителей заряда. Токи I1 – I6 возникают, когда транзистор выключен, а I7 (туннелирование оксида) возникает в
рабочем состоянии. I8 возникает как в выключенном состоянии, так и при переходном из включенного в выключенное. Более детально механизмы воникновения токов утечек рассмотрены в [].
21
1.5.3 Компоненты тока утечки
Рис. показывает экспоненциальную зависимость тока утечки от эффективной длины канала затвора.
Рис. Зависимость утечки от эффективной длины канала
♦ - подпороговые утечки, ► - утечки затвора
Рис. показывает относительный вклад каждой компоненты в статический ток утечки для типичной КМОП технологии 130 нм. Мы видим, что при
номинальном напряжении 1.5В, DIBL является основным компонентом тока
утечки (он повышает подпороговоый ток и ток слабой инверсии). При предельном напряжении 2.2В, доминирует GIDL.
1.6 Ток утечки в ячейках
В этом параграфе рассмотрим методы расчета и аппроксимации тока
утечки для основных КМОП ячеек. КМОП ячейки составляются серией па-
22
раллельной комбинации сети МОП транзисторов. Это означает, что ток утечки зависит также от входного вектора значений и состояния ячейки: при изменении входов, цонфигурация транзисторов также меняется. Если рассматривать только подпороговые утечки, то зависимости хорошо изучены и представлены в работах [ ], включая хорошо известный эффект стекирования. Но
при учитывании токов затвора, расчет тока утечки затрудняется зависимостью подпорогового и затворного тока от состояния ячейки. Как было показано выше, подпороговый ток утечки ISUBTH и ток утечки затвора IG взаимозависимы, и должны анализироваться вместе. В настоящее время этот вопросу
посвещены множество работ [ ].
На уровне ячейки энергопотребление для каждого входного вектора
вычисляется на основ SPICE моделирования [] с использованием моделей
транзисторов BSIM4 с добавлением антипараллельных источников тока с
экспоненциальной зависимостью [] такая модель очень полезна, также для
выявления токов протекающих через несколько затворов. Другие модели
описанные в [ ] выдают аналогичный результат. Например, рассмотрим цепочку из нескольких инверторов на рис. 7. Представлены две возможные ситуации : входной VG низкий (первый инвертер) и входной VG высок (второй
инвертер). Все туннелированные пути также показаны. В данном случае для
инвертора с высоким VG, подпороговый ток n-трансизтора соединяется с током затвора предыдущего транзистора, тогда как предыдущие,
23
Рис. . Серия из транзисторов показывающая токи утечек
транзисторы с высоким VG комбинируют подпороговый ток p-транзистора с
током затовра следующего транзистора. В данном случае подпороговый и затворные токи могут быть вычисленные независимо.
Проанализируем поведение двухвходовой НЕ-И (NAND) ячейки, рис.
9. Вход 11 приводит к выходу 0, и ток утечки есть простая сумма подпорогового тока и тока I4 для n и p транзисторов. Ток утечки течет от VDD к земле
GND.
Рис. 8. Ячейка НЕ-И с токами утечки и анти-параллельными источниками токов
Для входов 00-01-10 выход равен 1. В этом случае, путь до GND блокирован
одним или двумя транзисторами. Рассмотрим варианты более детально.
1. AB = 10. Транзистор N1 (соединенный с землей) включен, а транзистор N2
(соединенный с VDD через P транзистор) выключен. В этом случае туннельные токо и подпороговеы токи могут быть опять вычислены отдельно. Заметьте, что управляющий вентиль и НЕ-И вентиль совместно используют
один и тот же ток.
24
2. AB = 01. Транзистор N1 (соединенный с землей) выключен, а транзистор
N2 (соединенный с VDD через P транзистор) включен. В этом случае, сток
транзистора N1 держиться на значении VDD – VТ . Таким образом, напражение
применяемое к истоку тока IGS (N2) на порядок меньше предыдущего случая,
тогда как, IGD (N1) который тоже равен VDD – VТ, не смотря на то, что тоже
меньше предыдущего случая не может быть опущен.
3. AB = 00. Оба транзистора выключены. В этом случае, подпороговый ток
проходит через стековый эффект, и внутренние узлы имеют напряжение в
диапазоне от ·VDD = 60-100 мВ (моделирует DIBL эффект). Туннельные
токи IGD (N1) и ISG (N2) на порядок меньше чем в слуае 11, и могут быть
опущены.
Анализ случаев для трехвходового НЕ-И, аналогичен рассмотренному
выше, кроме случая 010. В этом случае, детально рассмотренным в [ ], ток в
стеке повышает внутреннее напряжение, что приводит к понижению подпорогового тока, оставляющий общий ток утечки относительно незименным.
Эти примеры показывают, что токи утечки существенно могут повлиять на
производительность ячейки и анализ токов утечки должен быть обязательным условием проектирования ячейки.
Существуют разные методы оценки и анализа подпороговых и затворных токов утечки, относительно состояния ячейки [ ]. В целом, для очень
больших схем, было выявлено, что структурные зависимости между ячейками, и следовательно между токами утечек уменьшаетя с расстоянием вентилей друг от друга. А также, что распределение токов утечки в больших схемах Гауссово или близко к Гауссовому [ ]. Другими словами, для больших
схем с подпороговым током утечки, как основным, некоторые части могут
быть независимо установлены в некоторое логическое состояние и контролировать утечки [ ]. С введением в рассмотрение затворных токов, возникают
новые трудности. Во-первых, существенная зависимость от состояния ячейки, так как, значение подпорогового тока зависит только от количества
25
транзситоров, затворный ток зависит от расположения выключенного транзистора в стеке [ ]. Во-вторых, вопрос о токах протекающих в больших схемах, со сложными ячейками, и структурными зависимостями между частями
не исследован достаточно для хороших оценок.
Для больших схем необходимо найти максимум и минимум тока утечки, что возможно только для маленьких схем. Для больших схем обычно используют либо некие эвристические методы для нахождения экстремумов,
либо разные аппроксимационные методы [ ], осуществимость которых еще
необходимо доказать.
1.7 Методы борьбы с токами утечек
Существует множество методологий проектирования для уменьшениия
токов утечек и энергосбережния (Design for Power) []. Они применимы на
разных уровнях абстракции, начиная с систмного уровня, далее на архитектурном, логическом, структурном и топологическом. Чем выше абстракция,
тем больше можно влиять и больше выиграть в энергопотреблении. Но все
методы на высоком уровне абстракции сильно зависят от приложения, и
наоборот, чем ниже уровень абстракции тем меньше можнo выиграть, но тем
универсальнее методы.
В основном используются такие методы как понижение напряжения
питания [], уменьшение паразитных емкостей [ ], острова напряжения [],
многопороговое проектирование [], clock gating [], динамическое управление
питанием[ ]. Эти техники являются стандартными и показали свою эффективность. Для реализации этих техник, в основном, используются программные маршруты проектирования от компаний Synopsys, Cadence и Magma. Эти
инструменты могут работать на всех уровнях маршрута проектирования:
уровня регистровых передач (RTL) до топологического уровня (GDSII). Для
эффективной работы эти инструменты должны быть интегрированы и должны распознавать сложные взаимосвязи в проектах. Так как в работе исполь-
26
зуются инструменты размещения и трассировки, логического синтеза, временной проверки, анализа целостности и т.д., они должны использовать одни
и те же данные и должны иметь доступ к единой системе хранения и обработки данных о проекте. Изменения, производимые одним инструментом,
должны быть немедленно доступны другим.
При проектировании библиотек стандартных элементов используются
методы топологического уровня, из-за маленького размера схем и важности
достижения предельных характеристик по заданным параметрам.
1.8 Уровень выхода годных и связанные с ним проблемы
1.8.1 Общие понятия УВГ
Уровнем выхода годных (УВГ) называется удельный процент функционально годных чипов по отношению к общему количеству произведенных
чипов. Для интегральной схемы (ИС) УВГ, обозначаемый Y, может быть выражен следующим образом:
Ytotal = Yline × Ybatch,
где: Yline – процент полупроводниковых подложек, которые были успешно
произведены на производственной линии, а Ybatch – процент ИС на подложке,
которые полностью функциональны. Чем выше УВГ, тем больше подложек
может производить фабрика. Если компонента Yline контролируется фабрикой-производителем, то Ybatch может управлятся также инженером, с помощью соответствующего инструментария САПР.
Компонента Ybatch состоит из следующих частей:
 Существенная потеря УВГ (catastrophic yield loss). Эта часть состоит из
функциональных дефектов в следствие которых ИС полностью неработоспособен. Причиной таких проблем являются ошибки типа замыкание (short defect) или размыкание (open defect). Ошибки такого рода
27
могут быть предсказаны с помощью аппарата критических площадей
[];
 Параметрическая потеря УВГ. Ошибки такого рода, означают, что ИС
функционально работоспособна, однако не удовлетворяет критериям
энергопотребления или быстродействия. Причиной таких ошибок являются вариации в параметрах ИС, такие что их специфическое распределение в ИС приводит к отклонению от спецификации. Например,
некоторая часть ИС может функционировать в узком диапазоне напряжения питания VDD, но не в специфицированном диапазоне. Другим
примером, является частичная функциональность из-за токов утечек,
которые могут возникать из-за вариаций параметров процессов производства. Примером ИС, которые сильно подвержены параметрическим
потерям УВГ, являются микропроцессоры. Во время тестирования они
микропроцессоры сортируются по быстродействию и энергопотреблению. Заказные ИС (ASIC - Application Specific Integrated Circuit), с другой стороны не могут быть классифицированы, так как должны удовлетворять спецификациям. Такие интегральные схемы проектируюся
с большим запасом прочности для функциональных параметров.
 Третьим источником потери УВГ является потеря УВГ из-за проблем
тестирования. Практические тесты не могут идентифицировать все дефекты илипотенциальные дефекты, и поэтому попадают в отдельный
класс дефектов приводящих к потере УВГ. Здесь мы не будем рассматривать этот аспект, так как он не связан с вопросами физического проектирования ИС.
28
Рис. Таксономия потери УВГ. (перевести на русиш)
Типы дефектов могут быть классифицированы следующим образом:
 Случайные дефекты. Это случайно распределенные дефекты, возникающие из-за попадания пылевых частичек на подложку.
 Систематические дефекты. Этот тип дефектов предсказуем, и состоит,
например, из ошибок химическо-механической полировки (CMP –
chemical mechanical polishing) или разрушение фоторезисторного шаблона.
Важно понимать что и случайные и систематические дефекты могут
быть причиной как параметрической, так и существенной потери УВГ.
Например, литографическая вариация [ ], которая попадает в класс систематических ошибок, может привести к недостаточному образованию контура
затвора (кремний на диффузионном слое) МОП-транзистора, что может привсти к функциональной ошибке.
1.8.2 Рассматриваемые ограничения
Как было изложено выше, потери УВГ могут быть как от систематических, так и от случайных дефектов. В этой работе нас будут интересовать
только дефекты имеющие случайную природу. Рассмотрим детальнее сначала, ошибки связанные с вариациями, и далее перейдем к дефектам. Нас будут
интересовать следующие типы вариаций:
29
 Технологические. Вариации возникающие во время функционирования(например, температура, напряжение питания) по природе своей
связаны с окружающей средой, в отличие от технологических вариаций
возникающих во время процесса производства (например, сдвиг маски,
смещение фокуса степпера), которые по сути своей имеют физическую
природу. Нас будут интересовать только технологические вариации.
 Систематические и случайные. Как было уже сказано, систематические
вариации можно прогнозировать и моделировать с помощью специальных САПР. В отличии от случайных вариацаий которые по природе
своей непредсказуемые. Нас будут интересовать в дальнейшем только
случайные вариации.
 Внутри подложки и между подложками. В зависимости от масштаба
вариации, она может быть классифицировано как между подложками
(например, вариации материала) или внутри одной подложки (например, зависящий от формы шаблона литографическая вариация). Вариации между подложками, связаны с параметрами технологического
процесса производства и контроллируются фабрикой-производителем.
Вариации внутри подложки, соответствуют флуктуациям параметров
производства изначально идентичных для данной подложки. Влиять на
эти параметры можно с помощью инструментов САПР при физическом
проектировании ИС.
Интересным моментом является интерпретирование уровня абстракции
природы этих вариаций. С точки зрения инженера логики ИС является источником вариации является изменение задержки внутри стандартная ячейки. Большинство инструментов статистического анализа покажут именно такой результат []. С точки зрения инженера-схемотехника ячеек источником
является вариации на уровне транзистора. С точки зрения процесса это проблема литографии и т.д.
30
1.8.3 Формальная модель УВГ
Существует несколько моделей прогнозирования УВГ которые являются общепринятыми [][]. Все модели успользуют меру называемую критическая площадью для обозначения чуствительности ИС к случайным дефектам во время производства, которые могут привести в существенным ошибкам. Большинство случайных дефектов появляются в процессе литографии.
Ошибки типа замыкание, размыкание, и ошибки в формировании переходов
являются основными типами случайных дефектов.
УВГ ИС с учетом случайных дефектов определяется уравнением:
где, Yi УВГ случайных дефектов связанный с i-тым шагом производства []. В
дальнейшем мы будем опускать индекс и тракторвать как УВГ отдельного
шага производства. Есть несколько моделей расчета УВГ случайных дефектов: таких как модели Сида, модели Пуассона, отрицательной биномиальной
модели, модели Мерфи и т.д. [ - ]. Основным различием между моделями
является выбор статистика покрывающая распределение дефектов на площади ИС. Например, с помощью Пуассоновской модели, УВГ определяется
следующим образом:
где:
d – среднее количество дефектов на единицу площади;
Ac – критическая площадь;
α – параметр кластеризации, исправляющая эффект кластеризации дефектов;
Ac критическая площадь, обозначающая чуствительность ИС к случайным
дефектам, вычисляемая следующим образом []:
1
R
A c = A(r )D (r )dr
0
31
где:
D(r) – функция плотности размера дефекта;
А(r) – критическая площадь дефекта размером r, т.е. площадь в которую
центр дефекта радиуса r должен попасть, чтобы привести к функциональной
ошибке.
Функция плотности обычно определяется следующим образом []:
,
где:
p,q – вещественные числа;
C – (q–1)(p+1)/(q+p);;
r0, – минимально допустимая дистанция между элементами топологии.
Рис. Примеры потерь УВГ. Все типы (перевести на русиш)
Рис ? иллюстрирует пониятие критической плщади для двух проводников.
Вычисление критической площади для разных типов дефектов является
вычислительно трудной задачей [], и для стандартных ячеек мы будем использовать модель представленную в [Chang].
1.9 Библиотеки стандартных ячеек
32
Стандартные библиотеки ячеек, это коллекция ячеек предоставляющих
базовые логические функции с базовыми ячейками хранения состояний. В
типичной стандартной библиотеке существуют 400 и более разновидностей
ячеек. Такие библиотеки предоставляют все полупроводниковые фабрики,
как основу проектирования []. А также сторонние компании, которые предоставляют для полупроводниковых фабрик оптимизированные по применениям библиотеки [ ]. Эти применения обычно подразумевают наличие нескольких высокоскоростных библиотек, энергосберегающих библиотек, и малоточных библиотек. Причем модели транзисторов могут использоваться как
стандартные, предоставляемые фабрикой, так и заказные.
Для инженера очевично, что САПР на разных уровнях абстракции, где
используется библиотека стандартных ячеек может сильно влиять на характеристики проектируемого СБИС. Так, например, на уровне логического
синтеза, характеристики СБИС можно улучшить, при наличии выбора однотипных ячеек с разными параметрами внутри библиотеки. Так, компания Интел активно использует такой подход при проектировании процессоров.[]
Рис. Показывают пример использования различных вариантов одной и
той же бибиотеки, для достижения различных целей.
33
Рис. Характеристики проектируемых ИС при применении
стандартной и оптимизированных библиотек
В стандартном маршруте проектирования библиотеки стандартных
элементов являются неизменяемыми объектами. Они поставляются извне и
используются при проектировании как есть. Это связано с тем, что библиотеки сильно зависят от технологического процесса производства. Фабрики
производители тестируют библиотеки перед их выпуском на разные параметры и удостоверяют, что выпущены библиотеки соответствуют критериям
произовдства. Однако основным примитивом произвдства для фабрики является транзистор. Модель транзистора поставляется в составе библиотек и все
его характеристики вычисляются на основе программ типа SPICE []. Возникает возможность изменения библиотек на основе модели транзисторов. Такой подход нов, и позволяет изменять характерстики СБИС не возвращаясь
на
более
высокие
уровни
абстракции.
Это
так
называемая
пост-
топологическая оптимизация. Пионерами в этой области являются компании
Blaze DFM с САПР BlazeMO и компания Nangate с САПР Design
Optimizer[][].
Как было показано выше, оптимизацию характеристик СБИС можно
проводить на разных этапах маршрута проектирования. Этим вопросам уделено много внимания и публикаций, см., например [][][][]. Однако, как известно целевые характеристики СБИС, такие как энергопотребление, площадь, производительность ухудщаются, по мере снижения абстракции по хо-
34
ду продвижения по маршруту проектирования. Результирующая топология
может по характеристикам в разы отличаться от целевых. Этому вопросу и
применению более точных методик оценок и проектирования посвящены
множество публикаций и разработанных методологий проектирования [ ][] [
]. Их метод основан на идентификации критических путей в топологии и оптимизации некритических ячеек на уровне поликремния утолщением на заданный технологический шаг транзисторов, например для технологии 65нм
шаг 2 нм. Так, как известно [][] что понижение энергопотребления, положительно влияет на уровень выхода годных, уменьшая критические площади, то
такой подход жизнеспособен и на практике доказал свою применимость. Однако как было показано в [ ][ ] геометрические операции на уровне поликремния, с нарушением топологических правил проектирования, могут как
улучшить, так и ухудшить уровень выхода годных, и как следствие, косвенным образом ухудшить энергопотребление и производительность. В предлагаемой методике, инженер лишен возможностей контроля и оценок изменений, и всю ответственность берет на себя выпускающая фабрика. Однако сама идея оптимизации топологии для энергосбережения на уровне поликремния, хоть и стара, но актуальна, так как позволяет существенно улучшать характеристики СБИС, особенно в технологиях ниже 90нм.
Оптимизация характеристик СБИС с помощью изменений в библиотеке является хотя и нестандартной, но актуальной темой исследований[][].
1.10 Постановка задачи
Существенным недостатком вышеуказанных исследований, является
то, что исследуемыe характеристики стандартной ячейки при оптимизации
рассматриваются обособленно друг от друга, или в лучшем случае сопоставляются две характерстики. Инженеру, при проектировании СБИС или стандартной ячейки, необходимо проанализировать все пространство решений, и
выбрать решение, которое наиболее подходящее для данного контекста, а
35
именно целевых характеристик, модели транзистора, целевой функции СБИС
и т.д. Для достижения этой цели необходимо решить несколько взаимосвязанных задач:
 сформировать критерии, по которым инженеру необходимо оптимизаировать стандартную ячейку;
 решить задачи многокритериальной оптимизации стандартной
ячейки по данным критериям;
 сформировать пространство решений и предоставить необходмиую
информацию инженеру для выбора лучшего решения.
Для постановки задачи рассмотрим следующие ограничения на стандартную ячейку:
 Мы будем рассматривать только вариации внутри подложки, на
которые можно влиять с помощью инструментов САПР физического уровня. Это соотвествует значением p=3, q=1 в функции
распределения (?) [].
 В модели УВГ (?) используется обратная биномиальная модель
.
 Вместо интегрирования в (?) используется простое суммирования
от r0 до 6r0.
 Не будем рассматривать стекированные транзисторы внутри
ячейки, что позволит упростить модель тока утечки.
Сопоставим ячейке ненаправленный ациклический граф G = (N,E) следующим образом. Введем нумерацию на множестве транзисторов. Множество N={1,…,n}, соответсвующее множеству узлов в графе, отображается
взаимнооднозначным образом на множество транзисторов в ячейке. Таким
образом транзистору i соответствует i  N. Если транзистор i соединен с транзистором j, то ребро еij  E ,. Через хi обозначим длину транзистора i.
36
pA
nA
pB
nB
Рис. Схема ячейки 2И-НЕ и соостветсвующий ему граф
Введем понятие критериальных функций. Таких функций у нас будет
4: P – статического энергопотребления, T – задержки, A – площади ,Y – уровня выхода годных. Все эти функции зависят от множества параметров и детально будут рассмотрены в главе 2, но для наших исследований, существенными являются длины транзисторов. Таким образом, P = P(x1, x2,… xn), A =
A(x1, x2,… xn), T = T(x1, x2,… xn), Y = Y(x1, x2,… xn). Функции P, T и Y характеризуются тем качеством, что точное значение может быть вычислено только
с помощью либо SPICE моделирования [ ] для функций P, T, либо с помощью
системы нелинейных уравнений для Y [ ]. Так как длины транзисторов, являются величинами дискретными, то критериальные функции тоже являются
дискретными.
Задача оптимизации ставиться следующим образом, ищем экстремумы
критериальных функций при заданных ограничениях:
P → min,
Т → min,
А → min,
Y → max
P ≤ Pmax
T ≤ Tmax
A ≤ Amax
Y ≥ Ymin
(1.4)
37
Далее нам необходимо сформировать пространство решений соответсвующее оптимизированным характеристикам ячейки и представить инженеру для выбора.
1.11 Выводы по главе

В главе рассмотрено современно состояние вопросов физического проектирования ИС на основе КМОП технологий.


Рассмотрены проблемы связанные с развитием КМОП технологии.
Определено место проектирования библиотек элементов в маршруте
проектирования СБИС.

Определены задачи и проблемы связанные с проектированием библиотек в современных технологиях КМОП.


Рассмотрены основные характеристики библиотечных элементов.
Определены задачи требующие решения для достижения цели работы.
38
ГЛАВА 2
НАУЧНО-МЕТОДИЧЕСКИЕ ПОЛОЖЕНИЯ ПО
ОПТИМИЗАЦИИ БИБЛИОТЕК СТАНДАРТНЫХ ЯЧЕЕК
2.1 Особенности задачи оптимизации
Решение задачи многокритериальной дискретной оптимизации (1.4),
поставленной в главе 1, связано с трудностями принципиального характера.
Полный перебор точек допустимого множества неосуществим из-за слишком
большого объема вычислительной работы [ ]. Из-за дискретности допустимого множества неприменимы многие приемы, разработанные в математическом программировании, например, движение по направлению градиента или
антиградиента, переход из одной вершины многогранного множества допустимых точек в другую и т.д. Неприменима здесь и теория условий оптимальности []. Поэтому для решения задач дискретной оптимизации приходится создавать специальные методы, см., например [ ]. Важное значение
имеют вопросы эффективности алгоритмов решения дискретных оптимизационных задач. Ясно, что для дискретных задач не всегда пригодны критерии
оценки эффективности алгоритмов оптимизации, используемые для непрерывных задач. Так, например, такой критерий, как скорость сходимости минимизирующей последовательности к точке минимума, не может применяться к конечношаговым алгоритмам дискретной оптимизации. Различные критерии, выражающие точность решения задачи минимизации при заданном
числе вычислений значений минимизируемой функции, и число вычислений,
необходимое для обеспечения заданной точности, нельзя использовать для
оценки эффективности алгоритмов, предназначенных для отыскания точного
решения (хотя такие критерии можно использовать для оценки эффективности приближенных алгоритмов).
В настоящее время интенсивно развивается теория сложности дискретных задач и эффективности алгоритмов их решения [ ]. Из соображений
удобства в этой теории принято рассматривать задачи распознавания
39
свойств, т. е. задачи, в которых формулируются вопросы, допускающие один
из двух ответов — «да» или «нет». Так, например, в задаче о коммивояжере [
], сформулированной в виде задачи распознавания свойств, требуется установить, существует ли маршрут, длина которого не превосходит заданной
границы. Критерием эффективности в теории сложности служит временная
сложность алгоритма как функция входной длины задачи.
Решение многокритериальной задачи методом весовых коеффициентов, приведением к задаче однокритериальной оптимизации для оптимизации
полупроводниковых схем имеет несколько недостатков:
 решение однокритериальной задачи оптимизации будет зависеть от
ограничений, накладываемых на другие параметры, которые определяются инженером. Таким образом, если эти ограничения были выбраны неверно, решение не будет иметь практического смысла или не даст
максимального результата. Например, если мы ввели штрафы при
нарушении ограничений для, и если границы вариации целевых функций очень узкие, то оптимизация будет использовать штрафы по максимуму. При этом, при рассмотрении многокритериальной задачи, могут существовать другие решения, с меньшими нарушениями значениями ограничений, которые мы не получим;
 большинство используемых алгоритмов оптимизаций в промышленных
САПР, основываются на традиционных однокритериальных методах
оптимизации. При наличии нескольких критериев, они оптимизируют
сначала по одному критерию, а потом по второму и т.д. Результат такой «последовательной» оптимизации существенно зависит от выбора
порядка критериев, по которым идет оптимизация. При этом теряется
сам смысл многокритериальной оптимизации, когда идет одновременная оптимизация по нескольким критериям;
 при использовании многокритериальной оптимизации, при отсутствии
40
решения мы можем получить лучшее решение близкое к «оптимальному» с инженерной точки зрения. Традиционные методы, на основе однокритериальной оптимизации, в таких случаях не дадут результата.
Таким образом, необходим метод который:

одновременно оптимизирует по нескольким критериям;

максимально не требует вмешательства пользователя;

при отсутствии решения даст решения близкие к Паретооптимального решениям.
2.1 Эволюционные методы оптимизации
2.2. Эволюционные методы оптимизации
В последнее время дальнейшим совершенствованием итерационных алгоритмов была разработка поисковых методов, основанных на моделировании
естественных процессов, протекающих в живой и неживой природе. К ним
относятся метод моделирования отжига [ ], методы генетического поиска
(эволюционная адаптация) [ ], методы альтернативной адаптации [ ]. Являясь по своей сути итерационными, алгоритмы на основе моделирования
отличаются от обычных итерационных процедур слепого поиска. Все методы относятся к методам случайного направленного поиска, но имеют
существенные различия между собой. При моделировании отжига и альтернативной адаптации производится анализ и обработка одного решения, а при
генетическом поиске алгоритмы обрабатывают множество (популяцию) решений.
2.2.1 Моделирование отжига.
В 1953 г. в работе [ ] предложена вычислительная процедура, воспроизводящая механизм отжига металлов, для моделирования состояния равновесия сложных систем при заданной конечной «температуре». Идея переноса
механизма отжига металлов на решение оптимизационной задачи состоит в
41
том, что процесс оптимизации связывают с некоторой температурой. На
каждом шаге поиска случайным образом осуществляется малое изменение
состояния объекта и вычисляется изменение ΔЕ энергии системы. Новая
конфигурация системы принимается с вероятностью 1, если ΔЕ < 0, и с
вероятностью, равной ехр(–ΔЕ/kt), если ΔЕ > 0. Эта процедура переносится
на решение оптимизационных задач. При этом состояния физической системы заменяются изменением критерия качества, а значение ΔЕ заменяется
обобщенным понятием «температура» Т, которая может рассматриваться как
управляющий параметр оптимизационной процедуры.
На начальном этапе температуру принимают высокой, а затем ее ступенчато снижают. При каждой температуре выполняют серию пробных переборов решений, и после каждой перестановки подсчитывается значение целевой функции. Лучшие решения принимаются с вероятностью 1, а «плохие», для которых значение целевой функции ухудшается, принимаются с
некоторой вероятностью. Такой вероятностный механизм дает возможность,
принимая в качестве исходных некоторые «плохие» решения, проскакивать
через локальные оптимумы и находить глобальные.
Не вдаваясь в предысторию и теоретические выкладки метода суть моделирования отжига можно описать следующим образом.
Задаются параметры, названия которых отражают историю возникновения метода. Это Tн, Tк — начальная и конечная температура, Δt — интервал
изменения температуры. Температура T меняется от Тн до Тк с интервалом
Δt. Начальные значения Тн — высокое, Тк — низкое, обычно Тк = 0. При каждом значении Т выполняется заданное множество итераций. На каждой итерации выполняются действия, представленные на рис. 2.4. С помощью некоторого оператора D осуществляется пробное изменение состояния (решения).
Если пробное изменение привело к улучшению целевой функции F, то
это изменение фиксируется. Если пробное изменение привело к ухудшению
42
F на величину ΔF, то рассчитывается вероятность сохранения изменения по
формуле P  exp(
F
) где k — константа.
kT
Выбирается случайное число ζ, из равномерного распределения от нуля до единицы. Если ζ ≤ Р, то изменение сохраняется, если ζ > Р, то осуществляется возврат к предыдущему состоянию.
form inital solultion
t := T_initial;
n := l;
while (t < T_final) do
while (n < N) do
Пробное изменение решения;
Расчет оценки;
Расчет вероятности P и выбор ζ;
if (ζ <= P)
изменение принимается;
else
изменение не принимается
endwhile
t := t - delta_t;
endwile
Рис. 2.2. Алгоритм моделирования отжига
Фактически алгоритм моделирования отжига реализует итеративный
подход к решению оптимизационных задач, при этом в случае неудачи на
некоторой итерации возможно с некоторой вычисляемой вероятностью сохранение прошлого изменения, ухудшающего значения целевой функции.
Недостатком метода моделирования отжига является то, что он не хранит
информацию о разных действиях, выполненных на предыдущих итерациях.
Особенностью метода является то, что качество получаемого решения во
многом зависит от начального решения. Чем лучше начальное решение, тем
выше шанс получения нового решения с лучшим качеством [ ].
2.2.2 Генетические алгоритмы.
43
Генетические алгоритмы (ГА) оперируют с популяцией решений. С
одной стороны это позволяет быстрее находить лучшие решения, но с другой стороны требуется больше памяти для хранения информации о популяции решений. Тем не менее, последние исследования, связанные с использованием генетических методов оптимизации в различных областях показали их высокую эффективность.
Гибкость структуры генетических алгоритмов позволяет осуществлять
настройки и перенастройки в процессе решения. Это обеспечивает получение результатов с лучшим качеством по сравнению с другими методами.
Идеи использования методов естественной генетики появились в работах [ ]. Генетический алгоритм есть адаптивный поисковый метод, который основан на селекции лучших индивидуальностей в популяции, подобно
эволюционной теории Дарвина.
Отличительной особенностью генетических алгоритмов является следующее. Оперирование производится не с решениями, а с их кодами. Каждому решению соответствует одна или несколько хромосом, которые представляют собой закодированный генетический материал. Хромосомы состоят из генов. Каждый ген имеет свой локус или позицию в хромосоме. Гены
могут иметь различные значения: число, строка, сектор, массив и др. Генетические алгоритмы работают на основе популяции, т.е. на множестве индивидуальностей. Решение получается на основе декодирования хромосом.
Особенности строения хромосом и генов, а также их значения, образуют генотип индивидуальности. Построенный на основе декодирования хромосом
(индивидуальности) объект образует фенотип [ ].
Процесс поиска носит случайный характер. Получение новых решений
осуществляется на основе комбинирования (смешивания) генетического материала, содержащегося в хромосомах популяции. Хромосомы (индивидуальности) для комбинирования выбираются на основе селекции. Для комбинирования генетического материала используются генетические операторы.
44
Наиболее известные из них — это кроссинговер и мутация. На каждой генерации алгоритма (рис. 2.3) в результате использования генетических операторов появляются новые индивидуальности в популяции.
Каждой индивидуальности соответствует оценка качества. После репродукции новых членов популяции на основе селекции осуществляется усечение
(уменьшение) популяции до начального размера. Эта процедура соответствует методу естественного отбора или методу выживания сильнейшего.
Рис. 2.3. Структура генетического алгоритма
Селекция — это процесс, посредством которого хромосомы, имеющие более высокое функциональное значение, получают большую возможность для
репродукции, чем «слабые» хромосомы. Элементы, выбранные для селекции, обмениваются генетическим материалом, создавая потомков. Существует несколько основных видов селекции [ ].
Основным итогом анализа генетического алгоритма стал выбор триады
генетических операторов (ГО): кроссинговер - мутация - инверсия. Воздействуя с некоторой вероятностью на генотипы родительских особей, каждый
из них, с одной стороны, обеспечивает передачу потомству важных признаков, а, с другой, — поддерживает на протяжении эволюционно значимого периода достаточно высокий уровень его изменчивости. Определение в
потомстве новых, отличных от родительских, фенотипических (совокупность всех внешних и внутренних признаков) признаков открывает для популяции дополнительные возможности для адаптации.
В эволюционном моделировании под кроссинговером понимают оператор, который формирует хромосому потомка из фрагментов родительских
45
хромосом [ ]. Основная функция оператора кроссинговера (ОК) — создавать
хромосомы потомков на основе различного скрещивания родителей.
Мутация — генетическое изменение, приводящее к качественно новому проявлению основных свойств генетического материала: дискретности,
непрерывности и линейности. Таким образом, мутации представляют собой
изменения генов, хромосом.
При синтезе новых хромосом (альтернативных решений) часто возникает проблема реальности, т.е. возможности для вновь полученной хромосомы построения решения на основе ее декодирования. Это связано с наличием ограничений на функциональные значения генов. В частности, такие
требования заключаются в том, что в хромосоме не должно быть генов с
одинаковыми значениями. Хромосомы такого вида называются негомологичными. Это требует дополнительных временных затрат, связанных с контролем или же с использованием более трудоемких методов кроссинговера, не
допускающих получения нереальных решений. В связи с этим более предпочтительными являются гомологичные структуры хромосом, позволяющие получать реальные решения без дополнительных преобразований после
применения генетических операторов.
В качестве стратегии создания стартового множества решений чаще всего используется стратегия дробовика, т.е. генерируется абсолютно случайное множество решений. Размер этого множества задается пользователем в
настройках параметров генетического алгоритма с учетом времени работы
алгоритма и качеством желаемого результата. Размер популяции обеспечивает разнообразие генетического материала и дает широкий выбор для поиска оптимального решения, однако требует значительных вычислительных затрат [ ]. Затем каждое решение в исходной популяции оценивается в
соответствии с принятым критерием.
Основной недостаток методов генетического поиска — большой объем
вычислений на каждой итерации.
46
3. Методы альтернативной адаптации. В задачах САПР особый интерес представляет поисковая адаптация, основанная на использовании
гибридных: итерационных и последовательных алгоритмов.
Трудности использования такого подхода связаны в первую очередь с
проблемой представления исходной формулировки задачи в виде ???? системы [ ].
Методы поисковой адаптации на основе механизмов генетики являются
эффективным средством решения оптимизационных задач автоматизированного проектирования СБИС [ ].
Преимуществом этих методов является параллельная обработка множества альтернативных решений, что является мощным средством выхода из
локальных оптимумов. Генетические алгоритмы являются по своей сути алгоритмами случайного поиска, однако заложенная в них стратегия эволюционного развития на основе естественного отбора приводит к синтезу решений, близких к оптимальным.
Эффективность генетических алгоритмов во многом определяется как
учетом специфики решаемой задачи, так и использованием новых и модифицированных процедур поиска.
Специфика решаемой задачи учитывается при разработке структуры,
принципов кодирования и декодирования хромосом.
При разработке генетических алгоритмов стремятся к тому, чтобы хромосомы были гомологичными, что исключает возникновение нереальных решений и упрощает выполнение генетических операторов, модифицирующих
хромосомы. Достоинством генетических алгоритмов является линейная
оценка временной и пространственной сложностей генетических процедур,
выполняемых на каждой итерации. Это дает возможность решать задачи
большой размерности, что особенно важно при проектировании СБИС.
Для повышения эффективности алгоритмов используется структурирование хромосом и многохромосомные представления решений. При это каж-
47
дая часть структурированной хромосомы или каждая хромосома отвечает
за определенный аспект решения. Это упрощает и делает более целенаправленным процесс генетического поиска.
Степень изменения решения зависит как от способа кодирования хромосом, так и от способа выполнения генетических операторов (кроссинговер,
мутация). В генетических алгоритмах используются чередование типов
хромосом одного решения и типов генетических операторов, причем на
первых итерациях степень изменения решений более существенная, чем на
последующих.
Одним из приемов повышения эффективности генетических алгоритмов
является распараллеливание с последующей миграцией хромосом из подпопуляций. Распараллеливание вызывает увеличение пространственной и
временной сложностей. В связи с этим эффективным является метод формирования виртуального набора популяций, что позволяет организовать
распараллеливание процесса поиска без увеличения временной и пространственной сложностей.
Для увеличения скорости генетического поиска осуществляется
При генетическом поиске просматривается множество решений «разбросанных», особенно в начале поиска, по всему пространству решений. Однако
в процессе генетического поиска решения с худшими, по сравнению с другими, оценками, но лежащие в областях, включающих точки с глобальным
оптимумом, могут быть потеряны.
Другая проблема генетического поиска заключается в том, что решения, содержащиеся в развивающейся популяции, бывают очень близки к
оптимальным решениям. Механизмы генетического поиска, реализующие
случайные изменения, часто не находят ту цепочку изменений, которая
приводит к оптимальному решению. Для этого нужны «осмысленные» изменения, направленные в сторону глобального оптимума.
48
В связи с этим для преодоления барьера локальных оптиму-мов обоснованным является подход, основанный на сочетании генетического поиска с
адаптацией на основе самообучения и самоорганизации.
Простейшим способом комбинирования генетического и адаптивного обучающегося алгоритмов является их последовательная работа.
После отработки генетического алгоритма в популяции, полученной на
последней генерации, отбирается несколько решений
(может быть, одно — лучшее), затем подключается адаптивный обучаю
Использование рассмотренных средств и методов поисковой адаптации
позволяет синтезировать новые эффективные алгоритмы автоматизированного проектирования [ ].
Early analogies between the mechanism of natural selection and a learning
(or optimization) process led to the development of the so-called "evolutionary
algorithms" (EAs)3, in which the main goal is to simulate the
evolutionary process in a computer. The use of EAs for optimization tasks
has become very popular in the last few years, spanning virtually every
application domain22'44'25'4.
From the several emergent research areas in which EAs have become in- creasingly popular, multi-objective op-
timization has had one of the fastest
growing in recent years12. A multi-objective optimization problem (MOP)
differs from a single-objective optimization problem because it contains
several objectives that require optimization. When optimizing a singleobjective
problem, the best single design solution is the goal. But for multiobjective
problems, with several (possibly conflicting) objectives, there is
usually no single optimal solution. Therefore, the decision maker is required
to select a solution from a finite set by making compromises. A suitable solution
should provide for acceptable performance over all objectives40. Many
fields continue to address complex real-world multi-objective problems using
search techniques developed within computer engineering, computer
science, decision sciences, and operations research10. The potential of evolutionary
algorithms for solving multi-objective optimization problems was
hinted as early as the late 1960s by Rosenberg47. However, the first actual
implementation of a multi-objective evolutionary algorithm (MOEA)
was produced until the mid-1980s48'49. Since then, a considerable amount
of research has been done in this area, now known as evolutionary multiobjective
optimization (EMOO)12. The growing importance of this field is
reflected by a significant increment (mainly during the last ten years) of
technical papers in international conferences and peer-reviewed journals,
special sessions in international conferences and interest groups in the Internet13.
The main motivation for using EAs to solve multi-objective optimization
problems is because EAs deal simultaneously with a set of possible solutions
49
(the so-called population) which allows us to find several members of
the Pareto optimal set in a single run of the algorithm, instead of having
to perform a series of separate runs as in the case of the traditional mathematical
programming techniques40. Additionally, EAs are less susceptible
to the shape or continuity of the Pareto front (e.g., they can easily deal
with discontinuous and concave Pareto fronts), whereas these two issues
are known problems with mathematical programming techniques7'18'12'61.
This monograph attempts to present an extensive variety of highdimensional
MOPs and their acceptable statistical solutions using MOEAs
as exercised by numerous researchers. The intent of our discussion then is
to promote a wider understanding and an ability to use MOEAs in order to find "good" solutions in a wide
spectrum of high-dimensional real-world
applications.
1.2. Basic Concepts
In order to provide a common basis for understanding the rest of this book,
we provide next a set of basic definitions normally adopted both in singleobjective
and in multi-objective optimization12:
Definition 1 (Global Minimum): Given a function f : 0, C S = R" -»
K, 0 ^ 0, for x € f) the value f* = f(x*) > —oo is called a global minimum
if and only if
Vfefi: /(£*)</(£)• (l)
Then, x* is the global minimum solution(s), f is the objective function, and
the set fi is the feasible region (fl C S). The problem of determining the
global minimum solution(s) is called the global optimization problem.
•
Although single-objective optimization problems may have a unique optimal
solution, MOPs (as a rule) present a possibly uncountable set of solutions,
which when evaluated, produce vectors whose components represent
trade-offs in objective space. A decision maker then implicitly chooses an
acceptable solution (or solutions) by selecting one or more of these vectors.
MOPs are mathematically defined as follows:
Definition 2 (General MOP): In general, an MOP minimizes F{x) —
( / i ( x ) , . . . ,fk{x)) subject to gi(x) < 0, i = 1, . . . , m , x 6 f2. An MOP
solution minimizes the components of a vector F(x) where x is an ndimensional
decision variable vector (x = x\,..., xn) from some universe
Q. D
Definition 3 (Pareto Dominance): A vector u = (ui,... ,v,k) is said
to dominate v = (v±,..., v^) (denoted by u <v) if and only if u is partially
less than v, i.e., Vi € { 1 , . . . , k}, ut < vt A 3i e { 1 , . . . , k} : m < i>j. D
Definition 4 (Pareto Optimality): A solution x € Cl is said to be
Pareto optimal with respect to Q. if and only if there is no x' £ fl for which
v = F(x') = ( / i ( x ' ) , • • • , / * ( * ' ) ) dominates u = F{x) = (fi(x),...,fk(x)).
The phrase "Pareto optimal" is taken to mean with respect to the entire
decision variable space unless otherwise specified. • Definition 5 (Pareto Optimal
Set): For a given MOPF(x),
the Pareto
optimal set (V*) is defined as:
v* := {x e n | -a x' e n F(x') * F{X)}. (2)
•
Definition 6 (Pareto Front): For a given MOP F(x) and Pareto optimal
set V*, the Pareto front (VT*) is defined as:
VT* := {u = F(x) = (fi(x),...,fk(x)) \ x € V*}. (3)
•
The Pareto optimal solutions are ones within the search space whose
corresponding objective vector components cannot be improved simultaneously.
These solutions are also known as non-inferior, admissible, or efficient
solutions, with the entire set represented by V* or Ptrue- Their corresponding
vectors are known as nondominated; selecting a vector (s) from this
50
vector set (the Pareto Front set VT* or PFtrue) implicitly indicates acceptable
Pareto optimal solutions (genotypes). These are the set of all solutions
whose vectors are nondominated; these solutions are classified based
on their phenotypical expression. Their expression (the nondominated vectors),
when plotted in criterion (phenotype) space, is known as the Pareto
fronfi5>6S. With these basic MOP definitions, we are now ready to delve into
the structure of MOPs and the specifics of various MOEAs.
1.3. Basic Operation of a MOEA
The objective of a MOEA is to converge to the true Pareto front of a problem
which normally consists of a diverse set of points. MOPs (as a rule)
can present an uncountable set of solutions, which when evaluated produce
vectors whose components represent trade-offs in decision space. During
MOEA execution, a "local" set of Pareto optimal solutions (with respect
to the current MOEA generational population) is determined at each EA
generation and termed PCUrrent{t), where t represents the generation number.
Many MOEA implementations also use a secondary population, storing
all/some Pareto optimal solutions found through the generations55. This
secondary population is termed Pknown (t), also annotated with t (representing
completion of t generations) to reflect possible changes in its membership
during MOEA execution. Pknown (0) is defined as 0 (the empty set)
and Pknown alone as the final, overall set of Pareto optimal solutions returned
by a MOEA. Of course, the true Pareto optimal solution set (termed Ptrue) is not explicitly known for
MOPs of any difficulty. Ptrue is defined by
the functions composing an MOP; it is fixed and does not change.
Pcurrent^), Pknown, and Ptrue are sets of MOEA genotypes where each
set's phenotypes form a Pareto front. We term the associated Pareto front
for each of these solution sets as PFcurrent(t), PFknown, and PFtrue. Thus,
when using a MOEA to solve MOPs, one implicitly assumes that one of
the following conditions holds: PFknown Q PFtrue or that over some norm
(Euclidean, RMS, etc.), PFknown G [PFtrUe, PFtrUe + e], where e is a small
value.
Generally speaking, a MOEA is an extension on an EA in which two
main issues are considered:
• How to select individuals such that nondominated solutions are
preferred over those which are dominated.
• How to maintain diversity as to be able to maintain in the population
as many elements of the Pareto optimal set as possible.
Regarding selection, most current MOEAs use some form of Pareto
ranking. This approach was originally proposed by Goldberg25 and it sorts
the population of an EA based on Pareto dominance, such that all nondominated
individuals are assigned the same rank (or importance). The idea is
that all nondominated individuals get the same probability to reproduce
and that such probability is higher than the one corresponding to individuals
which are dominated. Although conceptually simple, several possible
ways exist to implement a MOEA using Pareto ranking18'12.
The issue of how to maintain diversity in an EA as been addressed by
a extensive number of researchers39'27. The approaches proposed include
fitness sharing and niching19, clustering54'65, use of geographically-based
schemes to distribute solutions36'14'13, and the use of entropy32'16, among
others. Additionally, some researchers have also adopted mating restriction
schemes51'63'41. More recently, the use of relaxed forms of Pareto dominance
has been adopted as a mechanism to encourage more exploration and, therefore,
to provide more diversity. From these mechanisms, e-dominance has
become increasingly popular, not only because of its effectiveness, but also
51
because of its sound theoretical foundation38.
In the last few years, the use of elitist schemes has also become common
among MOEA researchers. Such schemes tend to consist of the use
of an external archive (normally called "secondary population") that may
interact in different ways with the main (or "primary") population of the
MOEA. Despite storing the nondominated solutions found along the evo lutionary process, secondary
populations have also been used to improve
the distribution of the solutions35 and to regulate the selection pressure
of a MOEA65. Alternatively, a few algorithms use a plus (+) selection
mechanism by which parents are combined with their offspring in a single
population from which a subset of the "best" individuals is retained. The
most popular from these algorithms is the Nondominated Sorting Genetic
Algorithm-II (NSGA-II)21.
1.4. Classifying MOEAs
There are several possible ways to classify MOEAs. The following taxonomy
is perhaps the most simple and is based on the type of selection mechanism
adopted:
• Aggregating Functions
• Population-based Approaches
• Pareto-based Approaches
We will briefly discuss each of them in the following subsections.
1.4.1. Aggregating Functions
Perhaps the most straightforward approach to deal with multi-objective
problems is to combine them into a single scalar value (e.g., adding them
together). These techniques are normally known as "aggregating functions",
because they combine (or "aggregate") all the objectives of the problem into
a single one. An example of this approach is a fitness function in which we
aim to solve the following problem:
k
min ^2,Wifi{x) (4)
z=l
where Wi > 0 are the weighting coefficients representing the relative
importance of the k objective functions of our problem. It is usually assumed
that
X> = 1 (5)
Aggregating functions may be linear (as the previous example) or
nonlinear46'59'28. Aggregating functions have been largely underestimated by MOEA researchers mainly
because of the well-known limitation of linear
aggregating functions (i.e., they cannot generate non-convex portions
of the Pareto front regardless of the weight combination used17). Note however
that nonlinear aggregating functions do not necessarily present such
limitation12, and they have been quite successful in multi-objective combinatorial
optimization30.
1.4.2. Population-Based Approaches
In this type of approach, the population of an EA is used to diversify the
search, but the concept of Pareto dominance is not directly incorporated
into the selection process. The classical example of this sort of approach is
the Vector Evaluated Genetic Algorithm (VEGA), proposed by Schaffer49.
VEGA basically consists of a simple genetic algorithm with a modified selection
mechanism. At each generation, a number of sub-populations are
generated by performing proportional selection according to each objective
function in turn. Thus, for a problem with k objectives, k sub-populations of
size M/k each are generated (assuming a total population size of M). These
sub-populations are then shuffled together to obtain a new population of
size M, on which the genetic algorithm applies the crossover and mutation
52
operators. VEGA has several problems, from which the most serious is that
its selection scheme is opposed to the concept of Pareto dominance. If, for
example, there is an individual that encodes a good compromise solution
for all the objectives (i.e., a Pareto optimal solution), but it is not the best
in any of them, it will be discarded. Schaffer suggested some heuristics to
deal with this problem. For example, to use a heuristic selection preference
approach for nondominated individuals in each generation, to protect individuals
that encode Pareto optimal solutions but are not the best in any
single objective function. Also, crossbreeding among the "species" could
be encouraged by adding some mate selection heuristics instead of using
the random mate selection of the traditional genetic algorithm. Nevertheless,
the fact that Pareto dominance is not directly incorporated into the
selection process of the algorithm remains as its main disadvantage.
One interesting aspect of VEGA is that despite its drawbacks it remains
in current use by some researchers mainly because it is appropriate for
problems in which we want the selection process to be biased and in which
we have to deal with a large number of objectives (e.g., when handling
constraints as objectives in single-objective optimization9 or when solving
problems in which the objectives are conceptually identical11). 1.4.3. Pareto-Based Approaches
Under this category, we consider MOEAs that incorporate the concept of
Pareto optimality in their selection mechanism. A wide variety of Paretobased
MOEAs have been proposed in the last few years and it is not the
intent of this section to provide a comprehensive survey of them since such
a review is available elsewhere12. In contrast, this section provides a brief
discussion of a relatively small set of Pareto-based MOEAs that are representative
of the research being conducted in this area.
Goldberg's Pareto Ranking: Goldberg suggested moving the population
toward PFtrue by using a selection mechanism that favors solutions
that are nondominated with respect to the current population25. He also
suggested the use of fitness sharing and niching as a diversity maintenance
mechanism19.
Multi-Objective Genetic Algorithm (MOGA): Fonseca and
Fleming23 proposed a ranking approach different from Goldberg's scheme.
In this case, each individual in the population is ranked based on how
many other points dominate them. All the nondominated individuals in
the population are assigned the same rank and obtain the same fitness, so
that they all have the same probability of being selected. MOGA uses a
niche-formation method in order to diversify the population, and a relatively
simple methodology is proposed to compute the similarity threshold
(called a share) required to determine the radius of each niche.
The Nondominated Sorting Genetic Algorithm (NSGA): This
method53 is based on several layers of classifications of the individuals as
suggested by Goldberg25. Before selection is performed, the population is
ranked on the basis of nondomination: all nondominated individuals are
classified into one category with a dummy fitness value, which is proportional
to the population size, to provide an equal reproductive potential
for these individuals. To maintain the diversity of the population, these
classified individuals are shared with their dummy fitness values. Then this
group of classified individuals is ignored and another layer of nondominated
individuals is considered. The process continues until all individuals in the
population are classified. Stochastic remainder proportionate selection is
adopted for this technique. Since individuals in the first front have the
maximum fitness value, they always get more copies than the rest of the population. An offshoot of this
approach, the NSGA-II21, uses elitism and
53
a crowded comparison operator that ranks the population based on both
Pareto dominance and region density. This crowded comparison operator
makes the NSGA-II considerably faster than its predecesor while producing
very good results.
Niched Pareto Genetic Algorithm (NPGA): This method employs
an interesting form of tournament selection called Pareto domination
tournaments. Two members of the population are chosen at random and
they are each compared to a subset of the population. If one is nondominated
and the other is not, then the nondominated one is selected. If there
is a tie (both are either dominated or nondominated), then fitness sharing
decides the tourney results28.
Strength Pareto Evolutionary Algorithm (SPEA): This method
attempts to integrate different MOEAs65. The algorithm uses a "strength"
value that is computed in a similar way to the MOGA ranking system.
Each member of the population is assigned a fitness value according to the
strengths of all nondominated solutions that dominate it. Diversity is maintained
through the use of a clustering technique called the "average linkage
method."
A revision of this method, called SPEA262, adjusts slightly the fitness
strategy and uses nearest neighbor techniques for clustering. In addition,
archiving mechanism enhancements allow for the preservation of boundary
solutions that are missed with SPEA.
Multi-Objective Messy Genetic Algorithm (MOMGA): This
method extends the mGA20 to solve multi-objective problems. The
MOMGA55 is an explicit building block GA that produces all building
blocks of a user specified size. The algorithm has three phases: Initialization,
Primordial, and Juxtapositional. The MOMGA-II algorithm was
developed by Zydallis as an extension of the MOMGA67. It was developed
in order to expand the state of the art for explicit building-block MOEAs.
While there has been a lot of research done for single objective explicit
building-block EAs, this was a first attempt at using the concept for MOPs.
Exponential growth of the population as the building block size grows may
be a disadvantage of this approach in some applications. Multi-Objective Hierarchical Bayesian Optimization Algorithm
(hBOA): This search technique is a conditional model builder. It
expands the idea of the compact genetic algorithm and the stud genetic
algorithm. The hBOA defines a Bayesian model that represents "small"
building blocks (BBs) reflecting genotypical epistasis using a hierarchical
Bayesian network45. The mhBOA31 is in essence a linkage learning algorithm
that extends the hBOA and attempts to define tight and loose linkages
to building blocks in the chromosome over a Pareto front. In particular,
this method uses a Bayesian network (a conditional probabilistic model) to
guide the search toward a solution. A disadvantage of this algorithm is the
time it takes to generate results for a relatively small number of linkages.
Pareto Archived Evolution Strategy (PAES): This method, formulated
by Knowles and Corne34, uses a (1+1) evolution strategy, where
each parent generates one offspring through mutation. The method uses
an archive of nondominated solutions to compare with individuals in the
current population. For diversity, the algorithm generates a grid overlaid
on the search space and counts the number of solutions in each grid. A disadvantage
of this method is its performance on disconected Pareto Fronts.
Micro-Genetic Algorithm for Multi-Objective Optimization:
The micro-genetic algorithm was introduced by Coello Coello and Toscano
Pulido10 and, by definition, has a small population requiring a reinitialization
54
technique. An initial random population flows into a population
memory which has two parts: a replaceable and a non-replaceable portion.
The non-replaceable part provides the population diversity. The replaceable
portion of course changes at the end of each generation where this population
undergoes crossover and mutation. Using various elitism selection
operators, the non-dominated individuals compose the replaceable portion.
General Multi-Objective Program (GENMOP): This method is
a parallel, real-valued MOEA initially used for bioremediation research33.
This method archives all previous population members and ranks them.
Archived individuals with the highest ranks are used as a mating pool to
mate with the current generation. The method uses equivalence class sharing
for niching to allow for diversity in the mating pool. A disadvantage
of this algorithm is the Pareto ranking of the archived individuals at each
generation. unique MOEAs for their specific problem domain with excellent results.
1.5. MOEA Performance Measures
The use of performance measures (or metrics) allows a researcher or computational
scientist to assess (in a quantitative way) the performance of their
algorithms. The MOEA field is no different. MOEA performance measures
tend to focus on the phenotype or objective domain as to the accuracy of
the results. This is different to what most operations researchers do. They
tend to use metrics in the genotype domain. But since there is an explicit
mapping between the two, it doesn't really matter in which domain you
define your metrics12'57.
MOEA metrics can be used to measure final performance or track the
generational performance of the algorithm. This is important because it
allows the researcher to manage the algorithm convergence process during
execution. This section presents a variety of MOEA metrics, yet, no attempt
is made to be comprehensive. For a more detailed treatment of this
topic, the interested reader should consult additional references12'60'66.
Error Ratio (ER): This metric reports the number of vectors in
PFknown that are not members of PFtrUe- This metric requires that the
researcher knows PFtrue. The mathematical representation of this metric
is shown in equation 6:
ER = & i £ i (6)
where n is the number of vectors in PFknown and e^ is a zero when the i
vector is an element of PFtrue or a 1 if i is not an element. So when ER = 0,
the PFknown is the same as PFtrue; but when ER = 1, this indicates that
none of the points in PFknown are in PFtrue.
Two Set Coverage (CS): This metric60 compares the coverage of
two competing sets and outputs the percentage of individuals in one set
dominated by the individuals of the other set. This metric does not require
that the researcher has knowledge of PFtrue. The equation for this metric
is shown in equation 7:
CS(X>,X") ± \a"^";WeX':a'yg"\ (where X', X" C X are two sets of phenotype decision vectors, and (X1, X")
are mapped to the interval [0,1]. This means that CS = 1 when X' dominates
or equals X".
Generational Distance (GD): This metric was proposed by Van
Veldhuizen and Lamont56. It reports how far, on average, PFknown is from
PFtrue. This metric requires that the researcher knows PFtTUe • It is mathematically
defined in equation
GD A ( E k ^ ! (8)
n
where n is the number of vectors in PFknown, P = 2, and Di is the Euclidean
distance between each member and the closest member of PFtrue,
55
in the phenotype space. When GD = 0, PFknown — PFtrue.
Hyperarea and Ratio (H,HR): These metrics, introduced by Zitzler
& Thiele64, define the area of coverage that PFknown has with respect to
the objective space. This would equate to the summation of all the areas
of rectangles, bounded by the origin and (fi(x),f2{x)), for a two-objective
MOEA. Mathematically, this is described in equation 9:
# = j(Jai|«iePFfcnouml (9)
where Vi is a nondominated vector in PFknown a nd di is the hyperarea calculated
between the origin and vector V(. But if PFknown is not convex, the
results can be misleading. It is also assumed in this model that the origin
is (0,0).
The hyperarea ratio metric definition can be seen in equation 10:
HR±%- (10)
where Hi is the PFknown hyperarea and H2 is the hyperarea of PFtrueThis results in HR > 1 for minimization problems and HR < 1 for maximization
problems. For either type of problem, PFknown = PFtrue when
HR = 1. This metric requires that the researcher knows PFtrue. Spacing (S): This metric was proposed by
Schott50 and it measures the
distance variance of neighboring vectors in PFknown. Equation 11 defines
this metric.
and
di = minj(\fl(x) - f((x)\ + \f2{x) - f((x)\) (12)
where i, j = 1 . . . , n, d is the mean of all di, and n is the number of vectors
in PFknown- When 5 = 0, all members are spaced evenly apart. This metric
does not require the researcher to know PFtrue.
Overall Nondominated Vector Generation Ratio (ONVGR):
This metric measures the total number of nondominated vectors during
MOEA execution and divides it by the number of vectors found in PFtrUe •
This metric is defined as shown in equation 13:
ONVG = PJlalse (13)
When ONVGR = 1 this states only that the same number of points
have been found in both PFtrue and PFknown- It does not infer that
PFtrue — PFknown- This metric requires that the researcher knows PFtrue.
Progress Measure RP: For single-objective EAs, Back3 defines a
metric that measures convergence velocity. This single-objective metric is
applied to multi-objective MOEAs55, and is reflected in equation 14:
RP = inJ^ (14)
V GT
where Gi is the generational distance for the first generation and GT is the
distance for generation T. Recall that generational distance was defined in
equation 8 and it measures the average distance from PFtrue to PFknownThis metric requires that the researcher knows PFtrue. Generational Nondominated Vector Generation
(GNVG): This
is a simple metric, introduced by Van Veldhuizen55 that lists the number
of nondominated vectors produced for each generation. This is defined in
equation 15
GNVG = \PFcurrent(t)\ (15)
This metric does not require the researcher knows PFtrue.
Nondominated Vector Addition (NVA): This metric, introduced
by Van Veldhuizen55, calculates the number of nondominated vectors gained
or lost from the previous PFknown generation. Equation 16 defines this
metric.
NVA = \PFknown(t)\ - \PFknown(t - 1)| (16)
But this metric can be misleading when a new vector dominates two
56
or more vectors from the previous generation. In addition, this metric may
remain static over the course of several generations while new points are
added that dominate others from the previous generation. This metric does
not require the researcher knows PFtrueAs to what metrics are appropriate, it of course depends upon the
MOEA application to the given MOP. Since in real-world applications, the
true Pareto Front is unknown, relative metrics are usually selected. It is also
worth observing that recent research has shed light on the limitations of
unary metrics (i.e., performance measures that assign each approximation
of the Pareto optimal set a number that reflects a certain quality aspect)66.
Such study favors the use of binary metrics. As a consequence of this study,
it is expected that in the next few years MOEA researchers will eventually
adopt binary metrics on a regular basis, but today, the use of unary metrics
(such as error ratio and many of the others discussed in this section) is still
common.
57
Выводы
В связи с новыми технологиями и тенденциями в проектировании и изготовлении СБИС актуальной является разработка и исследование методов и
средств их проектирования, которые позволят повысить скорость, качество и
степень автоматизации процесса проектирования. Анализ приведенного
выше обзора методов оптимизации показал, что наиболее перспективными для решения поставленных задач являются методы поисковой адаптации.
Для решения задачи проектирования СБИС выбран общий подход на основе сочетания ?????????? и генетического поиска, что позволяет преодолевать барьер локального оптимума.
58
59
2.1 Математическая модель ячейки стандартной библиотеки
элементов
2.1 Математические модели характеристик стандартных библиотек элементов
2.1.1 Характеристика площади
2.1.2 Характеристика статического энергопотребления
2.1.3 Характеристика динамического энергоптребления
2.1.4 Характеристика задержки
2.1.5 Характеристика уровня выхода годных
2.1.6 Характеристика длины трассировки
2.1.7 Характеристика плотности размещения
Выводы по главе
1. Предложена.
2. Рассмотрены задачи.
3. Дана
4.
60
ГЛАВА 3
Практическая реализация разработанных методов и алгоритмов многокритериальной оптимизации стандартных
ячеек
Третья глава, как правило, содержит экспериментальное обоснование решения задачи, описание методов
экспериментальных исследований, оценку точности, анализ сходимости опытных и теоретических результатов. Функция третьей главы — конкретизировать обобщенное теоретическое решение задачи. Здесь же можно дать описание новых устройств, программных средств или иных "новшеств" и опыт проверки их работоспособности, дать описание новых методов или новой технологии проведения экспериментальных исследований. Глава также содержит решение конкретной задачи со всеми обоснованными и разработанным методиками, моделями, условиями, зависимостями и т.п. Здесь приводится структура и описание разработанного
вами устройства, программного обеспечения, методологии или нечто иного, что является результатом всей
вашей диссертации. Обсуждению и оценке результатов следует посвятить отдельный параграф. Оценка результатов работы должна быть качественной и количественной с предствлением графической информации,
табличных данных, диаграмм. Сравнение с известными решениями следует проводить по всем аспектам, в
том числе и по эффективности. Следует указать на возможность обобщений, дальнейшего развития методов
и идей, использования результатов диссертации в смежных областях, но с соблюдением необходимой корректности. Объем третьей главы 30-40 с.
Разрабатываемые алгоритмы решения сложных задач оптимизации
включают многократное выполнение некоторой последовательности шагов и
зачастую очень сложны для реализации. Поэтому требуется создание программного обеспечения, которое бы позволило производить проверку работы
разрабатываемого подхода на тестовых задачах — исследовать эффективность, а в случае необходимости осуществлять его отладку, которая порой
может привести к существенным изменениям исходного алгоритма. После
тщательной проработки и проверки на тестовых задачах, для окончательного
подтверждения эффективности разработанного алгоритма, необходимо проводить его тестирование на реальных практических задачах - осуществлять
апробацию, что также реализуется при непосредственном использовании созданного программного обеспечения. Вопросы, касающиеся этих двух аспектов разработки новых или модернизации уже существующих алгоритмов, и
рассматриваются в данной главе.
3.1 Программная система для решения задач многокритериальной оптимизации стандартный ячеек
Для проведения сравнительного анализа методов многокритериальной
оптимизации генетическими алгоритмами (см. § 1.5) и осуществления проверки эффективности работы разработанных подходов (см. гл. 2) была создана программная система, о которой и пойдет речь далее.
61
Профаммная система MultiobjectiveGA представляет собой программную реализацию предложенных в диссертации подходов и исследуемых в
ней методов многокритериальной оптимизации генетическими алгоритмами.
Разработанный программный продукт предназначен для решения сложных
задач многокритериальной оптимизации и является интегрированной программной системой, включающей все этапы решения многокритериальных
оптимизационных задач генетическими алгоритмами, начиная от выбора самой задачи и алгоритма ее решения с заданием соответствующих параметров, до получения ее конечного решения с выводом результатов в графической и текстовой форме (на экран и в текстовый файл).
Языком реализации программного продукта MultiobjectiveGA является
язык программирования C++ с использованием интегрированной среды визуального программирования Borland C++Builder 6 [16, 65, 66]. Благодаря заложенным в нее возможностям при разработке системы использовался объектно-ориентированный подход, при котором вся система представляется как
совокупность находящихся во взаимосвязи элементов.
Профаммная система для решения сложных задач многокритериальной оптимизации генетическими алгоритмами является 32-рязрядным приложением для Windows и для ее установки не требуется выполнение особых
операций. Чтобы установить MultiobjectiveGA, необходимо скопировать все
файлы системы в один каталог. Желательно создать отдельный каталог, для
того чтобы в последствии осуществлять более быстрый поиск файлов с результатами, которые в процессе работы системы создаются в том же каталоге, что и сама профамма.
Для установки и эксплуатации системы необходим IBM совместимый
персональный компьютер в следующей конфигурации:
- процессор Intel Pentium с тактовой частотой не ниже Pentium II
300, рекомендуется Pentium IV с частотой 2,2 ГГц;
— операционная система Microsoft Windows 98/МЕ/2000/ХР;
91
- оперативная память не менее 64 Мбайт, рекомендуется 512
Мбайт;
- не менее 8 Мбайт свободного пространства на жестком диске;
- мышь и клавиатура для осуществления ввода и изменения данных и параметров алгоритмов в интерактивном режиме;
- флоппи-дисковод/дисковод для компакт-дисков CD-ROM, чтобы
иметь возможность установки программы с дискеты или компакт-диска;
- монитор, поддерживающий разрешение экрана не менее 640x480
пикселей, рекомендуется 1024x768;
- видеокарта с памятью не менее 2 Мбайт, рекомендуется 4 Мбайт.
3.1.2 Функциональная структура
Функционирование программной системы контролируется и определяется пользователем (ЛПР). После запуска программы MultiobjectiveGA.exe
62
ЛПР выбирает из приведенного перечня тип задачи, которую бы он хотел
решить с помощью программной системы MuItiobjectiveGA. Также пользователем определяется способ ее решения - конкретный эволюционный многокритериальный алгоритм с заданием необходимых параметров. Выбор задачи, алгоритма и задание параметров осуществляется посредством диалога с
пользователем через пользовательский интерфейс [35, 62].
В результате выполнения программы пользователю выдается множество недоминируемых решений, аппроксимирующих множество Парето решаемой задачи, и соответствующий ему недоминируемый фронт. Из представленного множества решений, в случае необходимости, ЛПР может выбрать один из вариантов решения задачи, выдаваемых программой, исходя из
визуального представления точек-решений, отображаемых на экране монитора через пользовательский интерфейс, либо основываясь на числовых значениях, выводимых в текстовый файл с возможностью просмотра в процессе
выполнения программы. После получения результатов решения, если требуется, пользователь может осуществить повторный запуск алгоритма, при
этом изменив любые параметры или оставив их неизменными. функциональная схема разработанной программной системы для решения сложных задач многокритериальной оптимизации генетическими алгоритмами представлена на рисунке 30.
В ходе выполнения программы на стадии оптимизации создается несколько файлов-отчетов, соответствующих разным этапам осуш,ествления
последовательности шагов выбранного алгоритма. Благодаря этому удается
отслеживать эволюцию популяции решений от первого (начального) этапа
алгоритма (инициализации начальной популяции), проходя все шаги и фиксируя текущее состояние в отдельном файле, до конечного результата — недоминируемого множества.
Каждый алгоритм, включенный в состав программной системы, представляется в виде отдельного файла, то есть создание системы производилось
63
по принципу модульного программирования [ ]. Последнее обстоятельство обеспечивает удобство отладки, поиска и, в случае необходимости, модерннзации любого алгоритма, а также позволяет производить замену, удаление, либо добавление нового алгоритма в состав общей системы.
Таким образом, разработанная программная система характеризуется
рядом особенностей, благодаря которым в одном приложении становится
возможным [ ]:
— производить оптимизацию многокритериальных функций несколькими различными эволюционными методами, при этом меняя значения
параметров;
— осуществлять как безусловную, так и условную оптимизацию
многокритериальных функций;
— решать задачи многокритериальной оптимизации с разным типом
переменных: действительными и булевыми;
— решать как тестовые, так и практические задачи условной и безусловной многокритериальной оптимизации;
— получать результаты решения оптимизационных задач, как в
графическом, так и в числовом виде с их сохранением в текстовом файле;
— отслеживать эволюцию решений путем сохранения результатов выполнения каждого этапа алгоритма в отдельном файле.
3.1.3 Эксплуатация и применение программной системы
Работа с программной системой довольно проста и не требует особых
навыков. После запуска программы MGA появляется рабочее окно программной системы — пользовательский интерфейс. Для выбора оптимизационной задачи и алгоритма ее решения, а также для задания параметров этого
алгоритма и просмотра результатов решения задачи, необходимо активизировать одну из четырех закладок в окне программы и пометить ту или иную
настройку в соответствующем блоке закладки.
64
При запуске программы и появлении рабочего окна во всех полях уже
стоят настройки, принятые по умолчанию, но при необходимости (желании)
все настройки могут быть изменены пользователем. В случае неверного задания каких-либо параметров или просто при желании есть возможность
вернуть настройки, принятые по умолчанию, нажатием на кнопку «Установки по умолчанию». Для предотвращения введения заранее ложных или неправильных значений (недопустимых символов) также предусмотрен контроль со стороны программы — выдается соответствующее сообщение о неверности ввода.
3.2 Задача принятия решений при оптимизации блоков для проектирования системы-на-кристалле
Апробация разработанных в диссертационной работе алгоритмов решения сложных задач многокритериальной оптимизации проводилась на ряде актуальных практических задач
3.2.1 Общая постановка задачи принятия решений
3.1 сдфсдфсф
Introduction
The purpose of this document is to provide the architecture and implementation details of Transistor Sequences
Generation and their Placement implementation. Particularly it describes the implementation details of the Transistor Sequences and Placer adjustments high level requirements.
General
The transistor sequences generation should be done by following steps:
1. Construction of tree all possible N-mos transistor type sequences and P-mos transistor type sequences.
2. Consider the P-tree leaves against N-tree leaves one by one and identify the best matching sequences. The criterion is the following: max-um straight N-gate to P-gate connection + less crossings while connecting the gates.
3. Collecting the lists of transistor-sequences collections that match to best criteria's.
The placer should introduce new predicate (DiffConnectionWeights) while counting placement criterion (PlacementWeightedPredicate). On calculating 2 sequence elements pair placement weight (inside PlacementWeightedPredicate::calculateDisatanceConnectionPointCriteria) the new predicate stuff should multiply with externally given value the elements pair current weight depending on elements types.
Input/Output
Two vectors of transistors are provided N-mos and P-mos. Transistors Sequence generator should receive on input 2
maps - N-mos transistors and P-mos transistors maps that store pointers transistors vectors that belong to a particular
net. The Net name is used as map key.
typedef vector<transistor> Transitors; // collection of all available transistors
typedef map<string, vector<const transistor&>> TransistorsNetMap;
Transitors transistorCollection;
TransistorsNetMap transistorsMap;
//The resulting stuff is the list of best possible sequences.
list<TransistorSequences> listOfSequnces;
65
//The placer should receive new sequences and select the best one for routing.
//Sequence generator tree construction
typedef set<transistor> SequencesSet;
typedef vector<SeqNode> SeqChildNodes;
struct SeqNode
{
SeqGen* parent_;
SeqChildNodes childNodes_;
Transistor& transistor_;
bool addChildNodes(SequencesSet & seqSet, const TransistorsNetMap & transitorsMap);
};
The struct SeqNode should be used to construct the tree of all possible diff-connected p-mos and n-mos sequences
according to input spice net list.
Let's consider n-mos sequences tree construction (p-mos is identical).
The first 2*N trees nodes are just all n-mos transistors placed in both available directions, this will ensure that all
possible sequence combination will cosidered (N = allTransistors.size()).The SeqNode::childNodes_ member represenets next sequence item and is filled by SeqGen::addChildNodes_ member call.
SeqNode::addChildNodes_ takes the SeqNode::transistors_ right element nets name obtains the collection of transistors from transitorsMap that belongs to that net, and for every element of the collection cheks if it is not inside seqMap function parameter, if it is not than adds child node to childNodes_. Then the child is added to seqSet and SeqNode::addChildNodes_ is called for newly added node, on its return the child node is removed from seqSet.
Sequences tree generation is complete when SeqNode::addChildNodes_ for all members of allTransistors for P-mos
and N-mos transistors arrays is called.
P-mos and N-mos sequence matching and optimal TransistorSequences collection
void Placer::retrieLeaves(SeqGen& seqGen, vector<Indexes>& leaveArray);
void Placer::extractSequences2(vector<Indexes>& pLeaves, vector<Indexes>& nLeaves,
list<TransistorSequences>& listOfSequnces)
On a constructed tree Placer::retrivesLeaves should obtain all leaves from N-tree and P-tree. Every leaf sequence
from p-tree should be matched with everyone from p-tree. The matching criterion is calculated using the number of
straight connected gates, crossed connected gates, the sequences sizes difference. The best choices collections are
added to the list of TransistorSequences.
Sequences Placement and additional placement criteries
After the list of best TransistorSequences retrieved the placement should try to place the every sequence collection
and choose the best one if there are more than one in the provided list of sequences. It should implement new predicate (DiffConnectionWeights) to manage additional weighting for sequences placement counting different type of
diff to diff connections:
class DiffConnectionWeights
{
public:
enum connType {NN, PP, NP};
enum connPlace {SS, DD, SD};
;
public:
DiffConnectionWeights(
double nnSrcSrc, double nnDrainDrain, double nnSrcDrain,
double ppSrcSrc, double ppDrainDrain, double ppSrcDrain,
double npSrcSrc, double npDrainDrain, double npSrcDrain
);
double operator() (TransistorSequence::DPLayer lFirst, int tFirst, int cpFirst, TransistorSequence::DPLayer lSecond, int tSecond, int cpSecond) const;
bool isValid() const;
private:
double diffWeights_\[3\]\[3\];
};
66
3.1 Компактизация
1 Algorithm Description
Section briefly describes general steps of compaction.
INPUT:




Standard cell
Technology
Parameter Obtainer
Compaction direction (must be vertical or horizontal)
OUTPUT:

Modified standard cell
ALGORITHM STEPS:
1.
2.
3.
4.
5.
6.
7.
Initialization
Layout preprocessing
Layout graph construction
Constraint (graph edge) generation
Actual compaction
Layout postprocessing
Finalizing
In the following subsections these steps are described in detail.
1.1 Initialization
At this step initialization of DRC Manager is done using Parameter
Obtainer. All supported design rule values are obtained.
1.2 Layout preprocessing
At this step geometrical preprocessing of the layout is done.


Merge layout for all active layers (pimp, nimp, nwell, metal1, cut, diff, poly).
Generate gate layer as geometric AND operation of layers diff and poly.
1.3 Layout graph construction
At this step layout graph (LG in future) is constructed corresponding to input cell's layout. Refer to Layout graph page for
more information.



Generate graph nodes for all topologies in all active layers.
o For now it is assumed that the layout must be orthodiagonal. Diagonal edges are replaced by
"stairs" so the layout is made orthogonal.
Generate boundary shapes for boundary layers (pimp, nimp, nwell, metal1, diff).
o Generate left (bottom) and right (top) boundary shapes for horizontal (vertical) direction for given
layers. These shapes are generated based on corresponding layer's geometrical bounding rectangle
of all the shapes and with the fixed width (height) (See Fig. 1).
Generate boundary shapes for the cell and store them in dummy layer origins.
o Generate left (bottom) and right (top) boundary shapes for horizontal (vertical) direction for
whole cell. These shapes are generated based on geometrical bounding rectangle of all the layer's
boundary shapes (generated on the previous step) and with the fixed width (height) (See Fig. 2).
67
Layout graph construction is completed by setting corresponding
type of the nodes. Nodes are of type primary or secondary.
DEFINITION: LG node is called primary if it is representing horizontal (vertical) layout segment for vertical(horizontal) direction,
else it is called secondary (See Fig. 3).
68
1.4 Constraint (graph edge) generation
At this step constraints are modeled through layout graph edges.
Graph edges are generated only between primary nodes. In future when talking about LG edge from one node to another it is
implied that both source and target nodes are primary.
DEFINITION: LG node location for the horizontal (vertical) direction is the minimal coordinate of corresponding segment's projection on x axis(y axis).
NOTE: if LG node is primary (for given direction) then its segment's projection, by which the location (for the same direction)
is determined, is a point. In other words for horizontal direction
vertical segments are represented by primary nodes and their location is their x coordinate. The same applies for vertical direction.
1.4.1 Geometrical interpretation of graph edges
If LG edge is placed from source node S to target node T with data equal to D then the following relation is implied:
CENTRE locT – locS ≥ D
where locT and locS are locations of corresponding nodes. This
gives flexibility to express simple geometrical constraints between
segments. Two situations are possible:


locT ≥ locS. In this case, if edge's data is positive: L, constraint implies that the difference between node T
and node S must be at least L.
locT ≤ locS. In this case, if edge's data is negative: -M, constraint implies that the difference between node T
and node S must be at most M. Indeed, locT – locS ≥ -M ⇒ locS – locT ≤ M .
EXAMPLE: in Fig. 4 constraint edges between nodes A and B
means that their difference is at least 60 and at most 140.
69
1.4.2 Constraint generation
Constraint edges are generated in several categories:
1.
2.
3.
4.
Constraints between boundaries
Constraints between layer shapes and layer boundaries
Constraints for modeling supported DRC's
o Enclosure rules
o Separation rules
o Spacing rules
o Width rules
o Pimp/Nimp binding rules
o Power net min width preserving rule
Specific constraints to preserve layout topologies' validity
In the following subsections comes the description of the above
specified rules. In the description edge from node A to node B
with data D is specified as
.
1.4.2.1 Constraints between boundaries
As was specified in section 1.3 for given direction for each layer 2
boundary shapes are generated, plus 2 boundary shapes for the
whole cell, situated in dummy layer origins. Following constraints
are generated:
where, for horizontal(vertical) direction





OrLL is the rightmost(topmost) edge of the left(low) origin shape,
BndLLi is the leftmost(lowest) edge of the left(low) boundary shape for i-th layer,
BndURi is the rightmost(topmost) edge of the right(top) boundary shape for i-th layer,
OrUR is the leftmost(lowest) edge of the right(top) origin shape,
i runs all boundary layers.
This is a natural constraint which states that origins must include
boundaries of the cell. An example is shown in Fig. 5 for one
layer.
70
Besides, for horizontal direction additional constraints are set. In
this direction border shapes of boundary layers are usually
stretched till the boundary of the whole cell and must stay
stretched till the ends during cell modification. For metal layer
these are power net shapes, for diff layer usually two shapes are
put under the metal power nets and connected with those power
rails by contacts, for pimp/nimp/nwell layers they cover the
whole cell in horizontal direction. So for horizontal direction
additional reverse edges are generated:
where



dLLi is current distance between BndLLi and OrLL
dURi is current distances between BndURi and OrUR
all other symbols are as described above
These additional constraints state for horizontal direction not to
let the boundary of layers to go further from origins (boundary of
the whole cell) as they are now. An example is shown in Fig. 6 for
one layer.
71
1.4.2.2 Constraints between layer shapes and layer boundaries
For each boundary layer following constraint is generated:
where, for horizontal(vertical) direction







BndLLi is the rightmost(topmost) edge of the left(low) boundary shape of i-th layer,
ShLLi,j is the leftmost(lowest) edge of the j-th shape,
ShURi,k is the rightmost(topmost) edge of the k-th shape,
BndURi is the leftmost(lowest) edge of the right(top) boundary shape of i-th layer,
i runs all boundary layers,
j runs all shapes of layer i, which leftmost(lowest) edge is minimal
k runs all shapes of layer i, which rightmost(topmost) edge is maximal
This constraint binds border shapes, which previously formed the
boundary, to boundary shapes. The constraint states that layer's
boundary must stay real boundary of the layer during modifications.
NOTE: other shapes of the layer, which were not border shapes,
won't go outside the boundary during modification because of
spacing rules applied later between boundary and those shapes.
NOTE: these constraints particularly means that those border
shapes will stay as border shapes of the layer during compaction.
EXAMPLE: shown in Fig. 7 for one layer.
72
1.4.2.3 Constraints for modeling supported DRC's
At this stage constraint edges are generated between edges of
given shape(s) if they are in adjacency relation. Refer to Adjacency detection and DRC modeling through adjacency relation pages
for more information. In few words adjacency relation is some
kind of visibility between edges in the given direction.
DEFINITION: geometry is called clockwise (CW) if positive direction of topology's boundary is such, that while traversing it in
that direction the topology stays to the right of the boundary. In
other words topology boundaries are represented by CW curves
while topology holes are represented by counter-clockwise (CCW)
holes.
Hereinafter CW geometry is used.
DEFINITION: in CW geometry for horizontal(vertical) direction
vertical(horizontal) 2D segment (A, B) is called opening if Ay < By
(Ax > Bx), else it is called closing (See Fig. 8).
73
Enclosure rules
Enclosure rules state that shapes of layer L1 must enclose shapes
of layer L2 at least by some minimal value. Thus for this rule
modeling Double layer adjacency detection (in future DLAD) is
used, which works in enclosure detection mode. Following
constraints are generated:
where






L1,op is an opening segment on layer L1,
L2,op is an opening segment on layer L2,
L2,cl is an closing segment on layer L2,
L1,cl is an closing segment on layer L1,
enc is minimal enclosure value
edge pairs (L1,op , L2,op) and (L2,cl , L1,cl) are reported by DLAD.
Enclosure rule values are obtained from DRC modeler. For now
enclosure rules are run for following layers:













METAL-CONTACT
DIFF-CONTACT
POLY-CONTACT
DIFF-POLY (to model diff over gate extension rule)
POLY-DIFF (to preserve transistor validity - poly must pass through diff till the end if it overlaps somehow)
NIMP-DIFF
PIMP-DIFF
NWELL-NIMP
NWELL-PIMP
NIMP-CONTACT (to model nimp over diff contact extension rule)
PIMP-CONTACT (to model pimp over diff contact extension rule)
POLY-GATE (with enclosure size 0)
GATE-POLY (with enclosure size 0)
EXAMPLE: is shown below in Fig. 9.
74
Separation rules
Separation rules state that distance between shapes of layer L1
and shapes of layer L2 must be at least some minimal value. Thus
for this rule modeling DLAD is used, which works in separation
detection mode. Following constraints are generated:
where






L1,op is an opening segment on layer L1,
L2,op is an opening segment on layer L2,
L2,cl is an closing segment on layer L2,
L1,cl is an closing segment on layer L1,
dist is minimal distance value
edge pairs (L1,cl , L2,op) and (L2,cl , L1,op) are reported by DLAD.
Separation rule values are obtained from DRC modeler. For now
separation rules are run for following layers:


POLY-CONTACT
POLY-DIFF
EXAMPLE: is shown below in Fig. 10.
75
Spacing rules
Spacing rules state that distance between shapes of layer L must
be at least some minimal value. Thus for this rule modeling Adjacency detection (in future AD) is used, which works in spacing
detection mode. Following constraints are generated:
where




Lop is an opening segment on layer L,
Lcl is an closing segment on layer L,
dist is minimal distance value
edge pair (Lcl , Lop) is reported by AD.
Spacing rule values are obtained from DRC modeler. For now
spacing rules are run for following layers:







METAL
DIFF
POLY
CONTACT
NWELL
PIMP
NIMP
EXAMPLE: is shown below in Fig. 11.
76
Width rules
Width rules state that width of shapes of layer L must be at least
some minimal value, at most some maximal value or fixed. Thus
for this rule modeling Adjacency detection (in future AD) is used,
which works in width detection mode. Following constraints are
generated:
where





Lop is an opening segment on layer L,
Lcl is an closing segment on layer L,
minW is minimal width value
maxW is maximal width value
edge pair (Lop , Lcl) is reported by AD.
Width rule values are obtained from DRC modeler. For modeling
fixed rule with value F constraint edges are generated between
node pairs reported by AD - forward edge with data equal to F,
backward edge with data equal to -F. For now width rules are run
for following layers:







METAL - min width
DIFF - min width
POLY - min width
CONTACT - fixed size
PIMP - min width
NIMP - min width
NWELL - min width
EXAMPLE: is shown below in Fig. 12.
77
Pimp/Nimp binding rules
This rule simply binds pimp and nimp layer edges. It is done using DLAD working in separation detection mode just like separation rule does. For every pair of pimp-nimp nodes reported by
DLAD forward edge is constructed and backward edge is constructed - both with data equal to 0.
EXAMPLE: is shown below in Fig. 13.
Power net min width preserving rule
This rule is applied only when the input direction is vertical. Min
width rule constraints are generated for power net topologies on
METAL layer with data equal to current minimal width of rails.
EXAMPLE: is shown below in Fig. 14.
78
NOTE: for all DRC rules listed above constraint edge data is set
to minimum(current distance, rule value).
NOTE: all rules except enclosure rules are applied on layers including boundary shapes. If reported nodes are both boundary,
then no constraint is generated. If only one of the nodes is
boundary then edge data is set to minimum(current value, rule
value / 2). It is done because usually standard cells are put on
the rails one after another, so on the boundary of 2 cells if rule/2
DRC values are preserved then no DRC violations will be between
neighboring cell shapes.
1.4.2.4 Specific constraints to preserve layout topologies' validity
For each secondary node n in LG add constraints between its
neighboring primary nodes nn and np:

If locnn < locnn then generate
else generate
.

If n is part of a stair generated at step 1.3 then generate
.
Thus the first constraint type means that shape's form is preserved and the second type means fixing distance between stair
primaries for later diagonal segment reconstruction.
NOTE: if the input layout is merged then after LG construction
every secondary node's topological neighbor must be primary
node.
EXAMPLE: is shown below in Fig. 15.
79
1.5 Actual compaction
At this step LG modifications are done. The step consists of two
parts:
1.
2.
Dynamic slack finding for the nodes.
Pushing of the cell boundary (origin node) towards the other boundary (origin).
NOTE: from the previous section it is clear that the layout and LG
are not being in conflict with each other. Particularly this implies
from the fact that during constraint generation edge data is set
by choosing minimum of current situation and DRC rule. In future
this fact helps compaction process for example not to come to
contradiction (unlike during DRC Fixing).
1.5.1 Dynamic slack finding for the nodes
At this step left(low) dynamic slacks of the nodes are found for
horizontal(vertical) direction. Refer to Compaction Utilities page
for more information.
DEFINITION: Dynamic slack of a node is range of locations in
which node's location can vary without breaking any constraint.
NOTE: The definition of dynamic slack is not quite strict, however
it is meant that while finding node's valid location other node's location can change (they can be moved) and the location of leftmost(lowest) and rightmost(topmost) nodes are kept unchanged
(otherwise they will go to infinity).
1.5.1.1 Algorithm description
Following algorithm on graphs is used for finding left(low) dynamic slack of the nodes:
INPUT:
80

LG
OUTPUT:

New locations for graph nodes
ALGORITHM:
1) DynamicSlackLeftLow(LG lg)
2) {
3)
NodeLocationArray newLocations;
4)
NodeSet S1;
5)
NodeSet S2;
6)
for each node n in lg.nodes
7)
newLocations[n] = -infinity;
8)
newLocations[lg.leftOrigin] = lg.leftOrigin.location(lg.direction)
9)
S1.insert(lg.leftOrigin);
10)
while S1 is NOT empty
11)
{
12)
for each node n in S1
13)
{
14)
for each edge v in n.outgoingEdges
15)
{
16)
if newLocations[v.target] < newLocations [n] + v.data
17)
{
18)
newLocations[v.target] = newLocations [n] + v.data;
19)
S2.insert(v.target);
20)
}
21)
}
22)
}
23)
S1 = S2;
24)
S2.clear();
25)
}
26) }
The above described algorithm is well-known maximal path in
graph finding algorithm. It separates some node called origin and
finds maximal paths of all nodes from origin (of course all reachable from origin nodes). Thus nodes, which location is not -∞, will
get leftmost(lowest) possible location relative to left(low) origin,
which location is fixed. Word possible here means without violating any constraint expressed by graph edge.
Algorithm is based on wave propagation idea. Lines 3-9 of the algorithm is initialization part. Current wavefront of the wave is
represented by node set S1. At line 9 it is initialized as the origin.
The outer cycle at line 10 iterates while the wavefront is present.
The cycle at line 12 iterates in current wavefront nodes. The cycle
at line 14 iterates in outgoing edges of one wavefront node. At
lines 16-20 one edge is checked: edge source is from current
wavefront. If target node's value is updated then a new wave
should be propagated from that target. Thus updating value (line
18) and inserting into set of next wavefront nodes (line 19). At
line 23 current wavefront is updated.
As one can see the outer cycle at line 10 continues until wave
dies. Obviously this will happen if there are no nodes such, that
81
their values are always updated and they always propagate new
waves. As node value is always updated with higher value, this
would mean that their values tend to infinity, which is obviously
sign of positive length cycle in graph. In order not to let the algorithm hang on such cases the following condition can be added at
line 10 for cycle termination. At every advance of wavefront one
new edge of some longest path (from origin to some node) is
found. As any longest path cannot have cycles and cannot contain
any node more than once, that means that iteration number of
cycle at line 10 at most equals to the number of graph nodes.
This check can be added and if it breaks - then positive cycle is
present.
1.5.1.2 Usage in compaction
This algorithm is used in compaction in the following way. LG,
which was constructed in the previous steps, is passed to it. A
node representing left(low) dummy boundary shape origin's (constructed at step 1.3) leftmost (lowest) node is passed as graph
origin.
NOTE: as was mentioned above new locations are calculated only
for those nodes, which are reachable from origin. That's why the
appropriate origin must be chosen for this algorithm. At this step
passing leftmost(lowest) boundary shape as origin will guarantee
that all primary nodes will be reachable from it (guarantees are
based on AD and DLAD correct work, during which constraint
edges are generated).
NOTE: as was stated in note in section 1.5 during compaction actual layout and LG are not being in conflict with each other. That
particularly means that no positive cycle can be found in constructed LG - in the "worst" case the layout will remain the same
after compaction. This is NOT true if constraint edges are generated for so called DRC fixing. In this case, for example, if constraints say that shape A with maximal width of WA should enclose shape B of minimal width WB by enclosure value e, then if
(WB + 2 * e) > WA we'll have a positive cycle (Fig. 16).
82
However usually there are no such contradictory DRC rules so
such situation can occur after incorrect interpretation of DRC rule.
NOTE: only location of origin shape is needed - locations of all
other nodes will be relative to that location and will be calculated
and based only on constraint edges.
As the latter note states - no coordinates are needed for layout
compaction. Only one coordinate, relative to which everything
would have been located, and graph constraints. However this is
not a good solution. We must not be so idealistic by considering
that by constraint generation all possible issues are considered.
Within the limits of those constraints this algorithm will produce
valid layout, but on the other hand it would not be "pretty" in
some sense. Particularly we don't need all the shapes in the cell
to be "sticked to left wall" while the other part of the cell would
be occupied by couple of shapes which somehow couldn't go all
the way to the left. Thus we'll adopt the following approach make as less as possible changes in the layout. This leads us to
the second step of compaction - boundary pushing.
1.5.2 Pushing of the cell boundary (origin node) towards the other boundary (origin)
At this step graph boundary node pushing is done towards the
other boundary. Node pushing algorithm is the following.
1.5.2.1 Algorithm description
INPUT:



LG
Node to push
Push distance
OUTPUT:

Update locations of LG nodes
83
ALGORITHM:
1) GraphNodePushing(LG lg, Node pn, int pushDistance)
2) {
3)
NodeLocationArray newLocations = lg.nodeLocations(lg.direction);
4)
NodeAndLocationPairQueue Q;
5)
Q.pushback({pn, newLocations[pn]-pushDistance});
6)
while Q is NOT empty
7)
{
8)
NodeAndLocationPair front = Q.front;
9)
Q.popfront;
10)
if newLocations[front.node] <= front.location
11)
continue;
12)
newLocations[front.node] = front.location;
13)
for each edge v in front.node.incomingEdges
14)
{
15)
if newLocations[v.source] > newLocations[front.node] - v.data
16)
{
17)
Q.pushback({v.source, newLocations[front.node] - v.data
});
18)
}
19)
}
20)
}
21) }
The above described algorithm is quite simple. It holds a queue Q
of nodes which must be pushed. At the beginning Q is initialized
by single input node pn (line 5). In the outer cycle at line 6 a
node is taken from the Q and if it must be pushed (condition
checked at line 10) then it is pushed (line 12). Then at lines 1319 all nodes are processed which have constraint edges towards
current node being pushed. If any of those nodes also have to be
pushed (condition checked at line 15) then such nodes are added
to Q (line 17).
Again it is quite obvious that the outer cycle at line 6 will terminate unless there are positive cycles in graph. This problem is not
considered here because this algorithm is run after algorithm in
previous section, thus all such situations are already determined.
NOTE: if some nodes for some reason are not allowed to be
pushed, then such conditions can be easily introduced in the algorithm right before line 12 - stating continue the cycle if the corresponding check holds.
NOTE: as it is seen from the algorithm all nodes are pushed only
as much as it is necessary for node pn to reach its left slack. Thus
pushing is done as much as possible with minimal affect on the
layout.
1.5.2.2 Usage in compaction
This algorithm is used in compaction in the following way. Parameters passed to input are:

LG (as input graph)
84


OrUR (as input node to push)
Location(OrUR) - LLS(OrUR) (as push distance)
where


OrUR is node representing right(top) origin's leftmost(lowest) segment.
LLS(OrUR) is left(low) dynamic slack of node OrUR found by algorithm described in section 1.5.1.
Thus the actual compaction consists of two parts:
1.
2.
Left(low) dynamic slack is found for right(top) boundary of the cell. That is how much boundary can be
pushed to the left(down).
Pushing the right(top) boundary. This will affect other nodes to be pushed, but only as much as it takes the
right(top) boundary to reach its final location (See the last note in section 1.5.2.1).
After these two steps new locations for nodes are applied in LG.
Locations for primary nodes are obtained from step 2 mentioned
above. Locations for secondary nodes are updated based on the
locations of neighboring two primary nodes.
1.6 Layout postprocessing
At this step some postprocessing of the layout is done. For now it
is just a simple algorithm of reduction of the widths of bloated topologies. The algorithm is following:
INPUT:

LG
OUTPUT:

Updated LG
ALGORITHM:
1) LGPostProcessing(LG lg)
2) {
3)
NodeLocationArray newLocations = lg.nodeLocations(lg.direction);
4)
for each min width edge v in lg.edges
5)
{
6)
newLocations[v.source] = UpRightStaticSlack(v.source);
7)
newLocations[v.target] = LowLeftStaticSlack(v.target);
8)
}
9)
lg.apply(newLocations);
10) }
11)
12) UpRightStaticSlack(Node n)
13) {
14)
int ur_static_slack = +infinity;
15)
for each edge v in n.outgoingEdges
16)
ur_static_slack = min(ur_static_slack, v.target.location v.data);
17) }
18)
19) LowLeftStaticSlack(Node n)
20) {
21)
int ll_static_slack = -infinity;
22)
for each edge v in n.incomingEdges
23)
ll_static_slack = max(ll_static_slack, v.source.location +
v.data);
24) }
The algorithm traverses all min width edges of LG. Min width
edges are constraint edges generated during DRC modeling(see
section 1.4.2.3, point Width Rules). Source node and target node
85
of such edge are pushed towards each other as much as they can
without pushing other nodes. That kind of valid pushing distance
for node is called static slack. Static slack finding algorithm for
node is quite obvious and don't need any comments (see lines
12-24).
Such postprocessing somehow tries to make final layout "prettier"
in some sense. As it was mentioned above, in the sense of constraints in LG the layout is valid even without such kind of postprocessings. However, again as was mentioned, we are not always able to express everything through those constraints.
Besides, the idea of changing the layout as less as possible sometimes leads to undesirable layouts. Consider an example of part
of layout shown in Fig. 17a. Here there is an enclosure constraint
between shape A and shape B. During compaction a situation can
occur in which somehow shape B needs to pushed more than
edge n of shape A (that is shape B needs to be pushed more than
shape A which encloses it, probably because of being on different
layers). The enclosure rule would make edge m of shape A to be
pushed too, moreover - pushed as much as shape B. The result of
all this would be a new layout (Fig. 17b) in which edges n and m
of shape A would go further from each other. Current step of
postprocessing is used for solving such kind of problems; however, as it would be stated later, it can't handle all the cases.
NOTE: a simple max width rule between node n and m would fix
the issue, however it is not obvious between which nodes of a
shape such constraints must be generated, and which node pairs
must be skipped.
This is very simple algorithm which does not deal with following
possible issues:
1.
2.
If one topology includes another then try to reduce the length of the innermost shape first in order the outer
ones to have more space for width reduction (see Fig. 18).
If a complicated shape has two or more width rule areas (see Fig. 19a) for one node then minimal of them
is used and the others stay untouched even if the layout allows making that change (see Fig. 19b, node n
could have been pushed to the left).
86
3.
4.
Sometimes simple pushing of some third nodes would make enough space for current shape width reduction. However only static slacks are considered here (see Fig. 20).
If the right(top) static slack of left(low) node of the shape is greater than left(low) static slack of the
right(top) node of the shape, then resulting update will be invalid (see Fig. 21).
87
The issues 1 and 4 practically do not occur. This is also caused by
the fact that LG, on which this postprocessing algorithm works, is
a result of compaction algorithm work. For example in issue 4
left(low) node is pushed much further than right(top) node because "something" (not right(top) node) made it to go so far.
That same "something" will prevent the static slack of left(low)
node being too big (in Fig. 17 that "something" is shape B).
1.7 Finalizing
At this step finalizing of the compaction is done. Note that until
this step all modifications and works were done only on LG, input
cell stays untouched. Thus this step consists of 2 parts:


Finilizing LG modifications:
o Removing nodes representing boundary shapes from corresponding layers (including origins
dummy layer).
o Removing nodes representing virtual gate layer shapes (generated at step 1.2).
o Removing empty layers from technology (particularly origins and gate will be removed at this
step).
Modifying input standard cell based on the LG:
o Modifying all the topologies of the cell based on the corresponding node locations in LG.
2 Compaction usage, issues and future perspectives
This section summarizes the compaction algorithm.
2.1 Usage
Compaction algorithm can be useful in solving several kind of
problems. Lets state some of them:



Standard cell optimization. Compaction can significantly reduce cell area which is quite important criterion.
P&R problems. Placement and routing tools can consider more space for solving problems and then compaction can compact the resulting layout till the required sizes.
Some parts of compaction algorithm can be used for solving different problems:
o In the case of appropriate constraint generation node pusher part of compaction with some modifications can be used for DRC violations fixing.
o The same node pusher can be used for transistors' gate resizing.
2.2 Issues
Known issues are all related to the fact of being unable to represent by constraints all the desired rules for layout which must
hold during modifications. Besides as was shown above the idea
of changing the layout as less as possible sometimes leads to un-
88
desirable layouts. Thus some additional layout processing or
some kind of cleanup is needed in some cases.
2.3 Future perspectives
In future compaction algorithm can be enhanced in several ways.
For now couple of ways are seen:


As for now compaction is used only in one direction (horizontal or vertical) then some kind of imitation of
2 directions can be achieved by mixing or by alternating one direction compactions.
So called wire jogging step can be inserted into compaction algorithm which main idea is breaking up (jogging) shapes which cannot be pushed anymore in order to push some parts of them. Usually this step
significantly increases compactor work results.
3.1 сдфсдфсф
Выводы по главе
89
90
ЗАКЛЮЧЕНИЕ
В ходе выполнения диссертационной работы получены следующие результаты:
1. Проведен анализ классических подходов к решению сложных задач многокритериальной оптимизации и выявлены их основные недостатки по сравнению с эволюционным подходом к решению задач данного класса.
2. Проведен сравнительный анализ существующих методов многокритериальной оптимизации генетическими алгоритмами. В результате выявлен
наиболее перспективный подход и направления его совершенствования.
3. Разработан гибридный адаптивный поисковый алгоритм решения многокритериальных задач безусловной оптимизации, сочетаюший метод многокритериальной оптимизации генетическими алгоритмами и паретовский локальный поиск. Показано его преимущество над традиционными алгоритмами.
4. Разработан гибридный адаптивный алгоритм решения задач условной многокритериальной оптимизации, эффективно сочетающий эволюционный алгоритм, паретовский локальный поиск и обычный локальный поиск и обеспечивающий представительную аппроксимацию множества недоминируемых
решений. Показано его преимущество над традиционными подходами.
5. Алгоритмы реализованы в виде интегрированной программной системы,
позволяющей эффективно решать тестовые и реальные задачи условной и
безусловной многокритериальной оптимизации.
6. Проведена успешная апробация предложенного алгоритмического и программного обеспечения при решении реальных практических задач принятия
решений в условиях многоцелевого выбора.
Таким образом, в диссертационной работе разработаны, реализованы и
исследованы новые алгоритмы решения сложных задач многокритериальной
91
оптимизации, что имеет существенное значение для теории и практики поддержки принятия решений при управлении сложными системами
92
ЛИТЕРАТУРА
1.
Models and Applications for Global Optimization, Ed. P. Pardalos, Springer-Verlag, 2007, Berlin.
2.
Statnikov, R., A. Bordetsky and A. Statnikov. Multicriteria Analysis of Real-Life Engineering Optimization Problems: Statement and Solution. In Proceedings of the Fourth World Congress of Nonlinear Analysts (WCNA), Orlando, Florida, USA, June 30 -July 7, 2004.
3.
Statnikov, R.B., and J.B. Matusov, Multicriteria Analysis in Engineering.
Dordrecht/Boston/ London: Kluwer Academic Publishers, 2002.
4.
Statnikov, R.B., Multicriteria Design, Optimization and Identification. Dordrecht/ Boston / London: Kluwer Academic Publishers, 1999.
5.
Statnikov, R.B., and J.B. Matusov, Multicriteria Optimization and Engineering. New York: Chapman & Hall, 1995.
6.
Statnikov, R.B., and J.B. Matusov, Use of Pt Nets for theApproximation of
the Edgeworth-Pareto Set in MulticriteriaOptimization. Journal of Optimization Theory and Applications, Vol. 91, № 3, pp. 543-560, December, 1996.
7.
Аоки М. Введение в методы оптимизации. Перев. с англ., - М.: Наука.
Главная редакция физико-математической литературы, 1977. - 344 с.
8.
Банди Б. Методы оптимизации. Вводный курс: Пер. с англ. - М.: Радио
и связь, 1988. - 128 с : ил.
9.
Машунин Ю.К. Модели и методы многокритериальной онтимизации. М: Наука, 1982.-128 с.
10.
Многокритериальная оптимизация. Математические аспекты. / Березовский Б.А. и др. - М.: Наука, 1989. - 128 с.
11.
Ногин В. Д. Принятие решений в многокритериальной среде: количественный подход. — 2-е изд., испр. и доп. — М.: ФИЗМАТЛИТ, 2004.
- 176 с.
93
12.
Coello Carlos A. An Empirical Study of Еvolutionary Тechniques for Мultiobjective Оptimization in Еngineering Design. PhD thesis. Department of
computer science, Tulane University. New Orleans, LA, Apr 1996.
13.
S. Thompson, P. Packan, M. Bohr, MOS Scaling: Transistor Challenges for
the 21st Century, Технологичский журнал Интел, № 3, 1998.
14.
S-C. Lin et al. A closed-form back-gate-bias related inverse narrow-channel
effect model for deepsubmicron VLSI CMOS devices using shallow trench
isolation. IEEE Transactions on Electronic Devices, Vol. 47, April 2000.
15.
B. Doyle et al. Transistor elements for 30nm physical gate lengths and beyond. Intel Technol. J., Vol. 06, June 2002.
16.
S. Mudanai et al. Modeling of direct tunneling current through gate dielectric stacks. IEEE Trans. Electron. Devices, Vol. 47, October 2000.
17.
I. C. Kizilyalli et al. MOS transistors with stacked SiO2-Ta2O5-SiO2 gate
dielectrics for giga-scale integration of CMOS technologies. IEEE Electron
Device Letters, Vol. 19, November 1998.
18.
Y-C. Yeo et al. MOSFET gate leakage modeling and selection guide for alternative gate dielectrics based on leakage considerations. IEEE Trans. Electron. Devices, Vol. 50, April 2003.
19.
M. Koh et al. Limit of gate oxide thickness scaling in MOSFETs due to apparent threshold voltage fluctuation induced by tunnel leakage current. IEEE
Trans. Electron. Devices, Vol. 48, February 2001.
20.
K. Takeuchi, R. Koh, and T. Mogami. A study of the threshold voltage variation for ultra-small bulk and SOI CMOS. IEEE Trans. Electron. Devices,
Vol. 48, September 2001.
21.
National Technology Roadmap for Semiconductors 2007. vailable at
http://public.itrs.net/, 2007.
22.
B. Davari, R.H. Dennard, and G. G. Shahidi, CMOS scaling for high performance and low powerthe next ten years. Proc. of the IEEE, Vol. 83, April
1995.
94
23.
K. Roy, S. Mukhopadhyay, and H. Mahmoodi-Meimand. Leakage current
mechanisms and leakage reduction techniques in deep-submicrometer
CMOS circuits. Proc. of the IEEE, Vol. 91, February 2003.
24.
R. X. Gu and M. I. Elmasry, Power dissipation analysis and optimization of
deep submicron CMOS digital circuits. IEEE J. Solid-State Circuits, Vol.
31, May 1996.
25.
R. M. C. Johnson, D. Somasekhar, and K. Roy, Models and algorithms for
bounds on leakage in CMOS circuits. IEEE Trans. Computer-Aided Design,
Vol. 18, June 1999.
26.
A. Ferré and J. Figueras. Leakage power bounds in CMOS digital technologies. IEEE Trans. Computer- Aided Design, Vol. 21, June 2002.
27.
A. Ferré and J. Figueras. Leakage power analysis considering gate tunneling
currents. DEE – UPC Internal Report, No. 03/06, April 2003.
28.
D. Lee et al. Analysis and minimization techniques for total leakage considering gate oxide leakage. Proc. of the DAC, pp. 175–180, 2003.
29.
S. Mukhopadhyay, A. Raychowdhury, and K. Roy. Accurate estimation of
total leakage current in scaled CMOS logic circuits based on compact current modeling. Proc. of the DAC, pp. 169–174, 2003.
30.
T. Mak, Leakages and its implication to test, Private Communication, June
2002.
31.
Y-F. Tsai et al. Implications of technology scaling on leakage reduction
techniques, Proc. of the DAC, pp. 187–190, 2003.
32.
Brian Doyle et al. Transistor elements for 30-nm physical gate lengths and
beyond, Intel Technology Journal., May 2002. Available online.
33.
34.
35.
J. Sparso and S. Furber, Principles of Asynchronous Circuit Design, A Systems Perspective, Kluwer Academic Publishers, Dordrecht, 2001
P. Kocher, Differential power analysis, Advanced in Cryptology–Crypto 99,
Springer LNCS, Vol. 1666, pp. 388–397.
M. Renaudin and C. Piguet, Asynchronous and locally synchronous lowpower SoCs, DATE 2001, Münich, Germany, March 13–16, 2001, pp. 490–
491.
95
36.
C. Tiri et al. A dynamic and differential CMOS logic with signal independent power consumption to withstand differential power analysis on smart
cards, Proc. ESSCIRC 2002, Florence, Italy, September 2002, pp. 403–406.
37. L. Anghel and M. Nicolaidis, Cost reduction and evaluation of a temporary
faults detecting technique, Proc. DATE 2000, Paris, France, March 27–30,
2000, pp. 591–598.
38.
C. Heer et al. Designing low-power circuits: an industrial point of view,
PATMOS 2001, Yverdon, September 26–28, 2001.
39.
Новиков Ф.А. Дискретная математика для программистов. —
СПб.: Питер, 2000.
2.2. Иванов Б. Н. Дискретная математика. — М.: Лаборатория базовых
знаний, 2001.
2.3. Курицкий Б. Я. Оптимизация вокруг нас. — Л.: Машиностроение,
1989.
2.4. Андерсон Д. Дискретная математика и комбинаторика. — М.:
Вильяме, 2003.
2.5. Кузнецов О. П. Дискретная математика для инженера. — СПб.:
Лань, 2004.
2.6. Кормен Т., Лейзерсон И., Ривест Р. Алгоритмы: построения и
анализ. - М.: МЦМО, 2000.
2.7. Вермишев Ю.Х. Основы автоматизированного проектирования. —
М.: Радио и связь, 1988.
Курейчик В.М., Глушань В.М., Щербаков Л. И. Комбинаторные
аппаратные модели и алгоритмы в САПР. — М.: Радио и связь,
1990.
2.9. Батищев Д. И., Львович Я.Е., Фролов В. Н. Оптимизация в
САПР. — Воронеж: Изд-во ВГУ, 1997.
2.10. Шпц й.Р., Ьеоп§ Н. Ж, Ып С.Ь. 51ти1аЫ АппеаНпд {ог УЬ51 .
— Воз1оп, МА: Кктег Асаскгтс, 1988.
2.11. Редько В. Р. Эволюционная кибернетика. — М.: Наука, 2001.
2.12. Методы генетического поиска / Под ред. В.М.Курейчика. — Та
ганрог: Изд-во ТРТУ, 2002.
2.13. Магитйег Р., Кийтск Е. ОепеНс А1§оп1пт Рог УЬ51 Ое51^п,
Ьауои! & Тез! Аи1ота1юп. — 1псНа: Реагзоп Ес1иса1юп, 2003.
2.14. Лебедев Б. К. Адаптация в САПР. - Таганрог: Изд-во ТРТУ, 1999.
2.15. Оптимизационные структуры при проектировании на основе мето
дов гомеостатики, эволюционного развития и самоорганизации /
Под ред. В. М. Курейчика. — Таганрог: Изд-во ТРТУ, 2003.
2.16. Курейчик В.М., Лебедев Б. К., Лебедев О. Б., Чернышев Ю. О.
Адаптация на основе самообучения. — Ростов н/Д: РГАСХМ ГОУ,
2004.
2.17. РгасИса1 НапоЪоок о{ Оепе^с А1§оп1пт5. ЕсШог I. СЬатЬегз.
У.З. - иЪзЬт^оп, 115А, СКС Ргезз, 1999.
96
2.18. Цетлин М.Л. Исследования по теории автоматов и моделирова
нию биологических систем. — М.: Наука, 1969.
2.19. Интеллектуальные системы / Под ред. В.М.Курейчика. — М.:
Физматлит, 2005.
2.20. Лебедев Б. К. Методы поисковой адаптации в задачах автомати
зированного проектирования СБИС. — Таганрог: Изд-во ТРТУ,
2000.
97
Под оптимизационной задачей понимается задача, в которой необходимо найти решение, в некотором смысле наилучшее или оптимальное.
Отметим, что наилучшего решения во всех смыслах быть не может. Оно
может быть признано оптимальным на основе критерия (меры оценки исследуемого явления) или целевой функции (ЦФ). Существует большое
количество оптимизационных задач. Они могут иметь различный характер.
Однако постановка всех оптимизационных задач имеет много аналогий. Вопервых, в оптимизационных задачах часто указывается исходное множество
альтернативных вариантов решений. Из этого множества выбирается оптимальное решение. Это исходное множество решений называется пространством решений. В дальнейшем его будем обозначать через М.
Во-вторых, некоторые решения априорно отвергаются в качестве «плохих». Другими словами, в пространстве решений задаются ограничения, которым должны удовлетворять оптимальные решения. Эти ограничения позволяют выделить в пространстве решений М некоторое подмножество М' тех
решений, которые удовлетворяют заданным ограничениям Б.
В-третьих, указывается принцип сравнения любых двух допустимых решений с тем, чтобы можно было выяснить, какое из них лучше. Как правило,
этот способ сравнения задается с помощью критерия оптимальности (или
функционала, функции качества) [ ].
Согласно [ ], критерий оптимальности — тот признак, по которому
функционирование системы признается наилучшим из возможных вариантов
ее функционирования. Другими словами, критерий оптимальности — показатель, выражающий предельную меру экономического эффекта принимаемого решения для сравнительной оценки возможных альтернатив и выбора
наилучшего из них. Критерий оптимальности носит количественный характер для того, чтобы качественный признак решения, выражаемый нечетким
понятием «лучше-хуже», переводить в количественное определение «больше-меньше». Критерию оптимальности соответствует математическая форма
98
— целевая функция. Возможным выражением критерия оптимальности является шкала оценок полезности, ранжирования, предпочтений и т. п.
Обозначим критерий следующим образом:
Q : М' → R,
где R — множество неотрицательных вещественных чисел. Зная функцию Q ,
можно реализовать процедуру сравнения вариантов решений, при этом
решение т  М' лучше, чем решение m  M  , если Q(m)  Q(m) (при поиске наименьшего значения Q). В этом случае говорят, что оптимизационная
задача состоит в минимизации критерия Q, т. е. требуется найти такое допустимое решение m  M  , что
Q(m)  min Q(m) | m  M  .
Модель оптимизационной задачи запишем в виде кортежа длины три:
M , D, Q , где М — пространство решений; D — ограничения, выделяющие
в М область допустимых решений M   M ; Q : M   R — критерий оптимизации. Требованием оптимизации является выражение:
Q(m)  min
Решение m  M  , удовлетворяющее требованию оптимизации, называется оптимальным [ ].
Целью оптимизационной задачи является выбор допустимого или оптимального решения из множества альтернатив для достижения поставленной цели. Оптимизационная задача должна удовлетворять двум основным
требованиям:
— должны существовать как минимум два решения;
— надо знать, в каком смысле искомое решение должно быть наилучшим.
Выбор задачи заканчивается ее содержательной постановкой. Модель
описывает зависимость между исходными данными и искомыми величинами. Математическая модель оптимизационной задачи состоит из трех со-
99
ставляющих: целевой функции, ограничений, граничных условий. Часто
классификацию оптимизационных задач проводят по трем основным принципам:
— область применения;
— содержание задачи;
— класс математических моделей.
Классификацию математических моделей проводят:
(а) по элементам модели: детерминированные и случайные; (b) по искомым
переменным: непрерывные и дискретные; (с) по зависимостям, описывающим ЦФ, ограничениям и граничным условиям: линейные и нелинейные.
Комбинации элементов математических моделей приводят к различным
классам оптимизационных задач. Наиболее простые — линейные оптимизационные задачи, однако, на практике чаще всего встречаются нелинейные. При решении оптимизационных задач возможна одна из двух постановок:
— при заданных условиях и ограничениях максимизировать получаемый результат;
— при заданном результате минимизировать используемые ресурсы.
В параграфе 3 рассмотрим также и многокритериальную оптимизационную задачу, где критериальное ограничение есть также кортеж из функций.
Максимум и минимум значения ЦФ в оптимизационных задачах объединяют определением экстремума. Наибольшее или наименьшее значение
функции без учета того, где находится такое значение — внутри заданного
интервала или на его границе, называют не экстремумом, а оптимумом. Оптимум — более общее понятие, чем экстремум. Экстремум есть не у всех
функций, а в оптимизационных задачах оптимум есть всегда. Оптимум
может быть локальным и глобальным.
Глобальным максимумом (минимумом) называют такой максимум (минимум), который больше (меньше) всех остальных. В общем случае зада-
100
ча поиска глобального оптимума сводится к нахождению всех локальных
оптимумов, если это возможно, и выбора из него наилучшего с точки зрения значения целевой функции [ ].
Оптимальное решение x*  D называется точкой локального минимума
(локальным
решением),
если
для
любой
ε-окрестности
точки
х*
x  d ( x* ,  ) , истинно высказывание Q( x* )  Q( x) . Оптимальное значение
x*  D называется точкой глобального минимума (глобальным решением),
если ни в одной другой точке области допустимых решений функция Q(x)
не принимает меньших значений Q( x* )  Q( x); x  D . Следовательно, глобальный минимум — это наименьший из всех локальных минимумов. Тогда
квазиоптимальное решение — это одно из множества решений, попадающих в локальный экстремум, близкий к глобальному.
Экономичность математической модели характеризуют затратами вычислительных ресурсов ЭВМ при ее реализации. Основными из таких ресурсов являются время выполнения Т и объем используемой памяти V. Математическая модель считается тем экономичнее, чем меньше значения Т и
V. Величину Т определяют как усредненное число операций Ω, выполняемых при однократном обращении к модели. Величину V определяют в основном числом переменных Β математической модели. Сравнение математических моделей по экономичности состоит в сравнении значений Ω и В.
Основная задача конструкторского проектирования минимизация статического энергопотребления относится к классу NP-полных задач, т.е. временная сложность решения этих подзадач растет по экспоненте.
Обзор и анализ существующих подходов выявил следующее: многими авторами предприняты попытки сведения указанных выше задач к задачам
целочисленного программирования. Были получены математические модели
задач, к которым применялись стандартные методы оптимизации, такие как
методы линейного, нелинейного, динамического программирования и др. [
101
]. В данной постановке теоретически возможно получение глобального результата. В связи с тем, что стандартные методы оптимизации не исключают возможности полного перебора, данные методы оказываются неприемлемыми даже для задач малой размерности (n > 102, где п — число транзисторов) при выполнении на рабочей станции инженера.
Одним из мощных методов целочисленного программирования является
метод ветвей и границ [ ].
Разработка алгоритма по схеме метода ветвей и границ (МВГ) заключается в решении двух задач — разработке метода ветвления и метода подсчета нижней оценки, которые используются потом в стандартном процессе
поиска оптимального решения.
В общем случае процесс поиска оптимального решения по схеме метода
ветвей и границ выполняется следующим образом. Пусть на множестве решений А задан критерий оптимизации F и пусть цель оптимизации —
нахождение минимума F. Процесс поиска заключается в последовательном
целенаправленном разбиении и усечении исходного множества решений А
[ ].
На каждом шаге выбирается одно из подмножеств, полученное путем
разбиений на предыдущих шагах, которое подвергается дальнейшему разбиению. Процесс завершается после получения подмножества, содержащего одно решение. Поиск удобно представлять в виде дерева решений.
Вершина Ai дерева решений соответствует подмножеству Ai  A . Если
две вершины Ai и Ai 1 связаны ребром, причем Ai — родитель, а Ai 1 —
дочерняя вершина, то Ai 1 является подмножеством Ai 1  Ai . Разбиению
некоторого подмножества Ai на подмножества Ai 1 соответствует на дереве
решений ветвление родительской вершины Ai на дочерние вершины Ai 1 .
Первоначально множество решений разбивается по заранее выбранному
правилу ветвления (разбиения) на п подмножеств (рис. 2.1). Далее рассчи-
102
тывается нижная оценка критерия F. И происходит итеративное ветвление
вершина, для которой нижняя оценка имеет минимальное значение. Для
вновь образованных вершин подсчитываются нижние оценки. Все, не подвергшиеся ветвлению вершины, объединяются в множество и т. д.
Итак, на каждом шаге а множество не подвергавшихся ветвлению вершин объединяется в
множество Ва, называемое фронтом поиска.
Детально МВГ описан в [][][]
Отличительными особенностями метода ветвей и
границ являются:
— возможность получения локального оптимума;
— наличие информации о том, является ли полученное решение
глобальным оптимумом;
— сведения о максимально возможном отклонении полученного
решения от глобального.
Это позволяет сделать эффективной методику отсечки в процессе поиска
решения. Данные алгоритмы отличаются большой трудоемкостью и не гарантируют получения оптимального результата за полиномиальное время [
].
В связи с этим для проектирования топологии разрабатывают алгоритмы, основанные на эвристиках, обеспечивающих получение приемлемого результата за полиномиальное время [ ]. Алгоритмы такого класса разделяют на последовательные и итерационные. В основе работы этих алгоритмов лежит поиск в пространстве состояний (решений).
Суть последовательных алгоритмов состоит в последовательном
сужении исходного пространства решений, пока в нем не останется одно решение. На каждом шаге выбранное на предыдущем шаге подпространство
разбивается частичными решениями на подпространства.
103
Последовательные
алгоритмы
отличаются
наименьшей
трудо-
емкостью, но, с другой стороны, не гарантируют качественное решение.
Первая проблема последовательных алгоритмов — это выбор альтернативы
на каждом шаге решения. Вторая проблема связана с выбором порядка
решения однотипных задач. Для последовательных алгоритмов полное
решение задачи получается после выполнения последнего шага.
Итерационные алгоритмы предусматривают наличие произвольного
начального решения. Суть итерационных алгоритмов заключается в последовательном улучшении решения на каждой итерации.
Поиск решений в пространстве состояний удобно представить в виде
ориентированного графа G = (Х,U), где X = {1,2, ...,n} — множество
вершин, каждая из которых отождествляется с одним из состояний. Наличие
дуги U k  ( xi , x j ) свидетельствует о существовании некоторого оператора f l  F , преобразующего состояние, соответствующее вершине xi , в состояние, соответствующее вершине хj . Если дуга направлена от вершины хi
к вершине хj , то говорят, что вершина хj является приемником или дочерней
вершиной, а хi — родительской.
Разработка алгоритма поиска решений в пространстве состояний сводится к построению трех компонент (А, В, С).
Компонент А представляет собою структуру данных, описывающих конкретное состояние объекта проектирования.
Компонент В — это множество операторов, с помощью которых производится переход от одного состояния к другому. Для каждого оператора имеется предварительное условие, которому это состояние либо удовлетворяет,
либо нет. Если предварительные условия выполняются, то оператор может
быть применен. Использование этого оператора изменяет состояние объекта
проектирования.
Компонент С — это стратегия поиска в пространстве состояний.
104
Процесс применения операторов (правил) к какой-либо вершине для построения всех ее дочерних вершин называется раскрытием вершины. Дерево
— частный случай графа, в котором каждая вершина имеет не более одного
родителя. Вершина дерева, не имеющая приемников, называется концевой
вершиной. Корневой вершине соответствует глубина, равная нулю. Глубина любой другой вершины дерева определяется как глубина предшествующей вершины плюс 1.
Порядок раскрытия вершин на дереве принято называть стратегией поиска. Процесс раскрытия продолжается до тех пор, пока среди концевых
вершин не появится одна или несколько целевых вершин — вершин, соответствующих целевым состояниям. Пример стратегии поиска показан на рис.
2.2
Рисунок здесь
Рис. 2.2 Стратегия поиска.
Стандартные итерационные алгоритмы не гарантируют получения глобального оптимума. Работа таких алгоритмов завершается либо после попадания в локальный оптимум, либо после выполнения очередного количества шагов. Обычно на каждой итерации выполняются стандартные операции, изменяющие решение.
Download