ИНСТИТУТ ТОЧНОЙ МЕХАНИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ ИМ. С.А. ЛЕБЕДЕВА РОССИЙСКОЙ АКАДЕМИИ НАУК Мелик-Адамян Арег Фрикович МЕТОДЫ И АЛГОРИТМЫ МНОГОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ СТАНДАРТНЫХ ЯЧЕЕК В СУБМИКРОННЫХ ТЕХНОЛОГИЯХ ПРОЕКТИРОВАНИЯ СБИС Специальность: 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 Стратегия поиска. Стандартные итерационные алгоритмы не гарантируют получения глобального оптимума. Работа таких алгоритмов завершается либо после попадания в локальный оптимум, либо после выполнения очередного количества шагов. Обычно на каждой итерации выполняются стандартные операции, изменяющие решение.