Диссертация (1090534), страница 14
Текст из файла (страница 14)
что также большое значение имеютиспользуемые методы построения задачи SAT. Выбор правильной кодировкиможет повлиять на возможность решения задачи в целом. Однако, единогоправила, позволившего бы выбрать нужный метод трансляции, не существует— каждая задача требует индивидуального подхода и, более того, глубокогопонимания предметной области.Прогресс в развитии методов решения задачи SAT позволил также решатьи задачи более сложные. Практический интерес представляет, в частности, метод62перечисления всех возможных решений для заданной логической формулы.Разработаны различные способы решения этой задачи, от тривиальногоиспользования блокирующих выражений до применения методов минимазциилогических функций в процессе решения.Решение задачи AllSAT является основой для построения инструментовработы с задачами немонотонной логики, в которых истинность или ложностьнекоторого факта может меняться по мере поступления новой информации.Примером такого инструмента являются методы поиска стабильных моделейлогических систем, позволяющие использовать выразительный язык постановкизадач.
Данные методы активно используются при решении разнообразныхпрактических задач.Перечисление всех конфигураций, удовлетворяющих заданнымограничениям является одной из базовых задач комбинаторики. Методы решенияэтой задачи являются предметом активных исследований. Задача перечислениявозникает при решении проблем искусственного интеллекта, теории графов,исследований операций, в задачах анализа данных, биоинформатике. Примеромтакой задачи может является перечисления максимальных клик графа, которыемогут быть использованы для моделирования отношений между объектами.Каждая клика может соответствовать группе объектов, объединенных покакому-то признаку.
Задача поиска клик входит в класс N P –сложных и дляее решения может потребоваться экспоненциально много вычислительныхресурсов. Существует множество различных алгоритмов, позволяющих найтивсе максимальные клики графа в условиях ограниченных ресурсов, в частности,для некоторых классов графов известны полиномиальные алгоритмы.Формальная спецификация задачи может содержать избыточнуюинформацию об исходной проблеме.
С учетом того, такое описание можетвключать в себя множетсов параметров и ограничений, актуальной становитсяпроблема удаления избыточной информации, для хранения и обработки котороймогут потребоваться большие объемы вычислительных ресурсов. Для поискакомпактого представления исходной информации могут быть использованыметоды минимизации логических функций, которые изначально применялисьпри разработке интегральных схем.
Данные методы активно используются прирешении практических задач в самых разных прикладных областях. Поиск63эффективных методов решения данной задачи, как точных, так и эвристических,является предметом активных исследований.Таким образом, современные формальные методы решения задач обладаютдостаточной выразительной силой для формулирования сложных практическихзадач.
Вместе с тем, прогресс в развитии этих алгоритмов позволяет решатьсложные практические задачи многопараметрической оптимизации, содержащиетысячи параметров и сотни тысяч ограничений.64Глава 3. Разработка вычислительного комплекса вывода геометрическихограниченийТретья глава диссертационной работы посвящена практическойреализации предложенного вычислительного комплекса автоматическоговывода геометрических ограничений на границах структурных компонентов.В качестве примера рассмотрен маршрут проектирования физического синтезастандартных ячеек.Рис. 3.1.
Блок–схема предлагаемого маршрута проектирования библиотекстандартных ячеек для КМОП технологии с учетом вспомогательных правилпроектированияОбщая блок-схема маршрута проектирования библиотек стандартных ячеекпредставлена на Рисунке 3.1. Пунктиром обозначены этапы, разработанные врамках диссертационной работы.3.1 Алгоритм вывода геометрических ограниченийБлок–схема этапов алгоритма представлена на Рисунке 3.2. В рамкахдиссертационной работы был реализован программный модуль для выводавспомогательных правил на границах ячеек. Входными данными являются65технологический файл, содержащий описание элементов топологии и правилапроектирования. Также на вход подается информация об архитектуре заданнойбиблиотеке ячеек — высота элементов и положение линий питания.На первом этапе полученная информация используется для построения окнафиксированного размера.
Внутри окна строится трассировочная сетка, в узлахкоторой могут быть размещены различные дискретные элементы топологии.Правила проектирования представляются в виде логических выражений,параметрами которых являются объекты в узлах трассировочной сетки. Правилапроектирования представляются в виде КНФ.
Полученная формула поступаетна вход алгоритма AllSAT, который находит все выполняющие наборы исходнойзадачи. Каждый такой набор соответствует топологии, которая не содержитнарушений заданных правил проектирования. Каждая такая топология образуетразрешенную топологию при установке встык самой к себе.Рис. 3.2. Этапы алгоритма вывода вспомогательных правил проектирования награницах стандартных ячеекНа следуюшем этапе выполняется поиск таких групп разрешенныхтопологий, что любая пара элементов в группе образует разрешеннуютопологию при установке встык друг к другу.
Полученное на предыдущеммножество разрешенных топологий является входными данными. Поставленнаяпроблема разбиения на группы сводится к задаче на графе. Каждая группаразрешенных топологий соответствует клике (полному подграфу) заданногографа. В диссертационной работе выполняется перечисление максимальныхклик графа, которые не могут быть расширены добавлением новых вершин.66Множество клик является результатом работы на данном этапе. Вершины каждойклики соответствуют разрешенным топологиям.Полученные группы разрешенных топологий уже могут быть использованыв качестве ограничений на границах. Однако, для этого их хранения ииспользования может потребоваться слишком большой объем памяти, что данныйподход мог быть использован на практике.
На третьем этапе выполняетсяминимизация полученных формул. Полученное компактное представлениедобавляется в исходный технологический файл. Он же и является результатомработы всей процедуры. Полученные данные могут быть сразу же использованыдля синтеза элементов библиотеки, без дополнительной обработки.Одной из задач данной работы является поиск такого наборадополнительных правил проектирования, который бы оказывал минимальноевлияние на площадь стандартных ячеек. В диссертационной работе реализованалгоритм, выполняющий процедуру оценки правил проектирования награницах. В основе предложенного подхода лежит разделения заданныхправил проектирования на группы. Для каждой группы выполняется выводдополнительных ограничений, после чего с учетом полученных правилпроектирования на границах выполняется синтез элементов тестовой библиотеки.Количество успешно оттрассированных элементов в заданной площади являетсяметрикой качества дополнительных ограничений.
Субоптимальный наборполученных правил проектирования добавляется к исходному множествуправил, после чего выполняется анализ следующей группы ограничений.3.2Модель данныхВ основе модели данных, описывающей правила проектирования итопологии стандартных ячеек в, лежит подход, представленный в работе [105].Традиционные модели, описывающие правила проектирования, оперируютпарными отношениями между объектами, которые могут быть размещеныпроизвольным образом в пространстве. Как правидло, описываются отношениятипа “граница–граница”, “угол–угол”, отношения пересечения объектов или67включения одним объектом другого.
Современные технологические процессы немогут быть корректно описаны в рамках таких ограничений.Современные технологические процессы могут включать в себя следующиеотношения между объектами топологии:– расстояние между объектами должно быть меньше, равно или большезаданного значения;– объекты должны быть выровнены определенным образом;– набор определенных объектов в заданном размещении может быть какразрешен, так и запрещен;– набор определенных объектов в заданном размещении запрещает илиразрешает размещения другого набора объектов;– наличие или отсутствие тех или иных объектов требует или запрещаетналичия (отсутствия) набора других элементов топологии;– другое.В основе модели, рассматриваемой в работе [105], лежит использованиетрассировочных сеток.
В узлах заданной сетки G могут быть размещеныразличные элементы топологии. Правила проектирования могут бытьсформулированы в виде выражений логики высказываний, включающихэлементы топологии в качестве переменных. Пример такой трассировочнойсетки представлен на Рисунке 3.3.Рис. 3.3. Пример регулярной трассировочной сеткиВ данном примере объекты A и B представляют собой кусочки металловвертикального и горизонтального слоев, соответственно. Объекты C и Dописывают переходные отверстия. Красные точки на рисунках — узлысетки (пересечение горизонтальных и вертикальных линий), к которым68прикреплены соответствующие элементы топологии.
Цвет обозначет присутствиеили отсутвие объекта. Зеленым отмечены присутствующие элементы, красным —отсутствующие. В любом узле сетки могут быть размещены любые показанныеобъекты. Таким образом, трассировочная сетка фиксирует дискретны позиции итипы объектов, которые могут быть в них размещены.Правила проектирования в виде выражений логики высказываний могутбыть определены поверх элементов топологии на трассировочной сеткеследующим образом.
От каждого объекта в заданном узле сетки может бытьпотребовано присутствие или отсутствие. Правило проектирование включаетв себя не менее двух объектов. Каждому элементу топологии в соответствиеставится булева переменная, которая затем используется в качестве параметралогических функций.На Рисунке 3.4 представлено правило, ограничивающее минимальнуюразрешенную длину проводника.