/
Text
ОГЛАВЛЕНИЕ Предисловие .......................................................... 5 Список употребляемых обозначений ..................................... 7 Введение ............................................................. 9 Глава 1. МАТЕМАТИЧЕСКИЕ МЕТОДЫ И МОДЕЛИ В КОНСТРУКТОРСКОМ и ТЕХНОЛОГИЧЕСКОМ ПРОЕКТИРОВАНИИ ЭВА С ПОМОЩЬЮ САПР 17 1.1. Элементы теории алгоритмов ..................................... 17 1.2. Методы теории графов ............................................ 32 1.3. Методы математического программирования в задачах конструкторс- кого и технологического проектирования ЭВА ........'................. 67 1.4. Математические модели объектов проектирования .................. 86 1.5. Графовое представление математических моделей конструктивных модулей ........................................................ 94 1.6. Моделирование механических воздействий ........................ 106 1.7. Вопросы моделирования тепловых полей .......................... 117 1.8. Краткие выводы ................................................ 127 Упражнения, задачи, вопросы для повторения ......................... 128 Глава 2. алгоритмы и модели компоновки эва ......................... 137 2.1. Постановка задачи и критерии компоновки ....................... 137 2.2. Задачи покрытия и типизации ................................... 143 2.3. Последовательные и итерационные алгоритмы компоновки .......... 150 2.4. Параллельно-последовательные алгоритмы компоновки схем ........ 158 2.5. Компоновка с учетом диагностических свойств модулей ЭВА ....... 167 2.6. Краткие выводы ................................................ 174 Упражнения, задачи, вопросы для повторения ......................... 175 Глава 3. алгоритмы и модели размещения модулей эва в мон- тажном пространстве ................................................ 176 3.1. Постановка задачи. Классификация методов размещения элементов конструктивных узлов ЭВА ........................................... 176 3.2. Модель задачи размещения. Выбор целевой функции ............... 187 3.3. Размещение элементов на основе поиска медианы графа ........... 196 3.4. Алгоритм размещения графа схемы методом ветвей и границ........ 207 3.5. Размещение элементов с совместной оптимизацией монтажно-коммута- ционных и тепловых характеристик ................................... 212 3.6. Краткие выводы ................................................ 229 Упражнения, задачи, вопросы для повторения ......................... 230 Глава 4. алгоритмы и модели трассировки соединений модулей эва ................................................................ 231 4.1. Постановка задачи и классификация алгоритмов трассировки ...... 231 4.2. Трассировка проводных соединений .............................. 238 4.3. Определение планарности математической модели схемы и ее плоская укладка ..................*......................................... 244 4.4. Распределение соединений по слоям ............................. 250 4.5. Алгоритмы трассировки ......................................... 254 4.6. Улучшение результатов компоновки, размещения и трассировки на основе метода адекватного преобразования логических функций........ 264
4.7. Краткие выводы ................................................ 270 Упражнения, задачи, вопросы для повторения ......................... 271 Глава 5. алгоритмы и модели проектирования топологии интег- ральных микросхем и микропроцессоров ............................... 272 5.1. Общие вопросы проектирования БИС и СБИС ....................... 272 5.2. Топологический и метрико-топологический подходы к проектированию БИС ................................................................ 284 5.3. Синтез метрико-топологической модели эскиза топологии матричных БИС ................................................................ 291 5.4. Расслоение совмещенной топологии .............................. 296 5.5. Язык описания и контроль топологии схем БИС .................. 307 5.6. Вопросы аппаратной поддержки программного обеспечения САПР СБИС ............................................................. 314 5.7. Проектирование топологии СБИС с помощью кремниевых компи- ляторов ................................................. 319 5.8. Краткие выводы .......................................... 325 Упражнения, задачи? вопросы для повторения ...................... 326 Глава 6. МАТЕМАТИЧЕСКИЕ МОДЕЛИ И АЛГОРИТМЫ ПРОЕКТИРОВАНИЯ ТЕХНОЛОГИЧЕСКИХ ПРОЦЕССОВ ПРОИЗВОДСТВА ЭВА ........ 327 6.1. Основные понятия и определения ................................ 327 6.2. Модели технологических процессов ............................. 331 6.3. САПР с перестраиваемой архитектурой для решения задач техно- логического проектирования ......................................... 337 6.4. Краткие выводы ................................................ 343 Упражнения, задачи, вопросы для повторения ...................... 344 Заключение ......................................................... 345 Приложение 1. Рекомендуемый список ГОСТов и методических указаний.. 345 Приложение 2. Примерный перечень практических занятий ............ 347 Приложение 3. Рекомендуемый перечень заданий на курсовые работы.... 348 Список литературы .................................................. 349
В.М.Курейчик МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ КОНСТРУКТОРСКОГО И ТЕХНОЛОГИЧЕСКОГО ПРОЕКТИРОВАНИЯ С ПРИМЕНЕНИЕМ САПР Допущено Государственным комитетом СССР по народному образованию в ка- честве учебника для студентов вузов, обучающихся по специальностям "Кон- струирование и технология радиоэлек- тронных средств", "Конструирование и технология электронных вычислитель- ных средств"
ББК 32.844 УДК [658.512.011.56:621.396.6]:681.3.06(075) Рецензенты: кафедра САПР московского института электронного машиностро- ения (зав. кафедрой д-р техн, наук, проф. Шрамков И. Г.) и д-р техн, наук, проф. Мироненко И. Г. Редакция литературы по информатике и вычислительной технике Курейчик В. М. К93 Математическое обеспечение конструкторского и технологического проектирования с применением САПР: Учебник для вузов.— М.: Радио и связь, 1990.— 352 с.: ил. ISBN 5-2564)0698-3. Изложены, принципы построения современных систем автоматизированного проектирования радиоэлектронной (РЭА) и электронно-вычислительной (ЭВА) аппаратуры. Рассмотрены основные задачи и алгоритмы, связанные с раз- работкой и реализацией математического обеспечения конструкторского и тех- нологического проектирования. Описаны и проанализированы математические модели устройств РЭА и ЭВА. Приведены конкретные примеры разработки ЭВА четвертого и гмгого поколений, организации автоматизированного банка данных проектирования и гибкого производства РЭА и ЭВА. Для студентов вузов специальностей «Конструирование и технология радиоэлектронных средств», «Конструирование и технология электронных вычислительных средств». Может быть полезна специалистам, занятым раз- работкой РЭА и ЭВА. , 2304030000-163 К----------------128-90 046(01>90 БЬК 32.844 Учебное издание Курейчик Виктор Михайлович МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ КОНСТРУКТОРСКОГО И ТЕХНОЛОГИ- ЧЕСКОГО ПРОЕКТИРОВАНИЯ С ПРИМЕНЕНИЕМ САПР Учебник Заведующая редакцией Г. И. Козырева. Редактор С. Н. Удалова. Переплет художника В. Я. Виганта. Художест- венный редактор Л. В. Проценко. Технический редактор Т. Г. Родина. Корректор Н. В. Козлова. ИБ № 1856 Сдано в набор 1,11.89 Подписано в печать 28.06,90 Формат 60х88*/16 Бумага офсетная №2 Гарни- тура «Таймс» Печать офсетная Усл. печ. л. 21,56 Усл. кр.-отт. 21.56 Уч.-изд. л. 24,12 Тираж 12000 экз. Изд. № 22448 Зак. 3536 Цена 1 р. 10 к. Издательство «Радио и связь». 101000 Москва, Почтамт, а/я 693 Ордена Октябрьской Революции и ордена Трудового Красного Знамени МПО «Первая Образцовая типография» Государственного комитета СССР по печати. 113054, Москва, Валовая, *28. ISBN 5-256-00698-3 © Курейчик В. М„ 1990
ПРЕДИСЛОВИЕ Основой научно-технического прогресса является широкое использование электронно-вычислительной аппаратуры (ЭВА) во всех областях техники и народного хозяйства. Это сложный комплекс устройств вычислительной техники, предназначенный для электронной обработки информации, заключающейся в хране- нии, преобразовании и отображении ее в форму, удобную для восприятия пользователем. В настоящее время во всем мире наблюдается резкое увеличение производства такой аппаратуры, повышение ее «интеллектуальности», быстродействия, объемов хранимой информации. Использование и внедрение ЭВА является одним из показателей научно-технической революции. Прогресс в этой области определяется повышением надежности, экономич- ности, качества и эффективности устройств, совершенствованием конструкций и технологий. В этих условиях неизбежно возрастает сложность создаваемой ЭВА, и, несмотря па большое число инженерно-технических работников, занятых в проектировании, конструировании и производстве ЭВА, оно продолжает увели- чиваться. Препятствием повышения качества ЭВА и сокращения сроков ее создания является несоответствие между возрастающей сложностью микроминиатюризации ЭВА и устаревшими мето- дами и средствами ее конструирования. Разрешить это несоот- ветствие способна новая технология проектирования, связанная с использованием и применением систем автоматизированного проектирования (САПР). Проблемы создания эффективных САПР являются основополагающими. Предметом учебника являются математическое обеспечение САПР ЭВА, принципы его построения и практического примене- ния при конструкторском и технологическом проектировании ЭВА. В нем приведены описание теоретических основ математиче- ских методов, моделей и алгоритмов конструкторского и техноло- гического проектирования ЭВА, рассмотрены проектные процеду- ры решения задач конструкторского и технологического проекти- рования, их алгоритмизация и реализация в САПР получения навыков использования САПР при конструировании ЭВА.
Предполагается знание студентами элементов теории мно- жеств, математической логики, численных методов и методов оптимизации. Книгу целесообразно изучать совместно с учебниками [4, 5, 8, 9, 10]. В пей приведены примерные перечни практических и лабораторных занятий, заданий на курсовые работы, списки стандартов и методических указаний. В конце каждой главы даны упражнения и задачи, решение которых поможет лучшему усвоению материала. Автор учебника придерживается терминологии по САПР, изложенной в [5, 10, 12] и существующих ГОСТах, стандартах и методических материалах по созданию САПР. Ав гор обобщил свой опыт чтения лекций в течение ряда последних лет а в Таганрогском радиотехническом институте имени В. Д. Калмыкова. В учебнике кроме оригинальных и ап- робированных материалов приводятся научные и учебно-мето- дические материалы современных исследований советских и за- рубежных ученых. Автор благодарен своим коллегам, ученикам, а также сотруд- никам кафедры САПР ТРТИ имени В. Д. Калмыкова за обсужде- ние материалов книги и помощь при работе над ней.
СПИСОК УПОТРЕБЛЯЕМЫХ ОБОЗНАЧЕНИЙ >4 = {«i, а2, щеА^фА) Ml A?=B(AgB) А^В А=В АЦВ п U AftB n П At i=l A\B AxB A" 0 M [«] f P={<a, b>, <c, d), ..., (m, p-t R=p0Q s=<,ai, a2, ..., S~' t:X^X an}—неупорядоченное множество, состоящее из 1, 2, п эле- ментов —элемент at принадлежит (не принадлежит) множеству А —число элементов, принадлежащих множеству А —' множество А есть (не есть) подмножество множества В —строгое включение множества А в множество В; А^В и А^В —множество А равно множеству В, т. е. они состоят из одних и тех же элементов —объединение множеств А и В (ceC=A\JB->ceAvсеВ) — объединение множеств A,, iel={l, 2, ..., «} —пересечение множеств А и В (сеС=А(^В-»сеА лсеВ) —пересечение множеств A,, ie I~ {1, 2, ..., «} —разность множеств А и В; это множество тех элементов мно- жества А, которые не принадлежат множеству В (сеС= = А\В-*с е А л с ф В) — декартово (прямое) произведение множеств А и В (например, A = {at, а2}, B={b2, b2], C=AxB={(ai, b^, (а2, Ь2), (а2, bty, (а2, Ь2У}, (с2, с2)е Ах B-tcteA лс2е В) —декартово произведение п одинаковых множеств А; например, (АхАх ...А)=А” —пустое множество, т. е. множество не содержащее ни одного элемента —целая часть числа а —наименьшее целое число не меньше а —функция, т. е. функциональное соответствие /=<Ф, X, У), если F^Xx У и в Ф нет кортежей с одинаковыми первыми и различными вторыми компонентами. Функцию записыва- ют различными способами: X^Y; f:X-*Y; f(x)=y —график, т. е. множество, каждый элемент которого является и>} кортежем длины два —инверсия графика Р - композиция графиков Р и Q (<х, у)е. R-*3z(x, z)eP л <z, y>eQ) апУ—кортеж 5 (упорядоченное множество), состоящее из а2, а2, ... ..., ап компонентов —инверсия кортежа (S=(a, b), S~1 = (b, а)} —биективная функция называется подстановкой t на множест- ве X. Например, Х={х1, х2, х3, х4, х5}, произвольная подста- новка t может быть записана /х„ х2, х3, х4, х5\ ?=( . Это означает, что элемент х. отобража- \х2, х3, х5, х1; х4у еТСЯ В Xj, В "^3 ® ^4- В -^5 ® ^4-
Высказывание W WtA Wj n л Wi i=l Wi V Wj n v Wi i—l W-+V w^v (Vxel)(F(x) (3xel)(F(x) {x/W(x)} z Г TB Ф ф=(ф*) x<py 4>₽ Фс Офт фэ (*<->>) <Р, — предположение, про которое говорят, что оно является истин- ным (1) или ложным (0) —логическое отрицание высказывания W (не W) —конъюнкция высказываний Wt, Wj (Wi и Wj); обозначается fVfWj; — конъюнкция высказываний (У,, W2, W„ при и=0 считается истинным высказыванием —дизъюнкция высказываний И'-, Wj, допускающая их одновре- менную истинность; обозначается также W-,+ W-, — дизъюнкция высказываний Wt, W2, —, W^ —из высказывания W следует высказывание V (если W, то У) —.^высказывание W равнозначно (эквивалентно) высказыва- нию V —для любого элемента х множества X истинно высказывание W (х) об этом элементе (V квантор общности), возможна запись (VX'^X)W(X) — существует хотя бы один элемент х в множестве X такой, что высказывание W(х) об этом элементе истинно (3- квантор существования), возможна запись (3X'^X)W(X) — множество всех элементов х, для которых истинно высказы- вание W(x) — система множеств z={z0, zt, z„} называется разбиением множества В, если (Уг;ег)(г;£В), (Vz; ez)(z^0), (Vz;, z7ez)x x (zf # Zj-»z( f) Zj=Ф), В c (J zt, Z; e z —соответствие, Г = (Ф, X, Y) ФеХхУ, Ф -график соответст- вия, X—область отправления соответствия; У—область прибытия соответствия; X, Y множества. При Х= У, Г— отображение множества X ъ X —взаимно однозначное соответствие ГВ=(Ф, X, У), при этом каждому элементу х множества X соответствует один, и только один элемент у множества У, и наоборот —отношение, <р = <Ф, X), Ф^ХуХ; Ф--график отношения, X область задания отношения, т. е. множество —отношение равенства (неравенства) (Vx, уеХ)х<ру->х=у, (Vx, уеА)х<ру—х^у — элементы х, уеХ находятся в отношении <р — отношение рефлексивности (\/хвУ)х<ррх — отношение симметричности (Vx, уеА)х<рЕу-+у<рсх — отношение транзитивности (Vx, у, гбА)х<рт-у лу(ртх-^х(рту — отношение эквивалентности <р3=<рр л <рс л <рт
ВВЕДЕНИЕ Ускорение научно-технического прогресса и развитие науки— это неумолимое вслспие времени. Перевод экономики на рельсы интенсификации возможен только на основе широкой компьюте- ризации всего народного хозяйства. Полная компьютеризация непосредственно связана с развитием и -совершенствованием новой отрасли знаний—информационной технологии. Считается, что с 1950 г. по настоящее время информационная технология прошла три этапа и вступила в четвертый. Первый этап (1950—1960 гг.) характеризовался появлением ЭВМ и в связи с этим —повышением эффективности обработки данных. Второй этап (1960 —1970 гг.) характеризовался совершенствованием ЭВМ и ориентировался на повышение эффективности труда программистов за счет новой технологии программирования в пакетном режиме. Третий этап (1970 —1980 гг.) характеризовался структурированием задач, даль- нейшим совершенствованием ЭВМ, широким использованием мини- и микро-ЭВМ, появлением интерактивных диалоговых систем. Четвертый этап (с 1980 г.) в основном характеризуется «безбумажной» информацией, широким использованием мини-, микро- и персональных ЭВМ (ПЭВМ), появлением новой техноло- гии автоформализации профессиональных знаний пользователей. Считается, что на смену алгоритмам обработки данных в информационной индустрии приходит альтернативная информа- ционная технология, т. е. технология автоформализации професси- ональных знаний. Персональная ЭВМ первый индивидуальный массовый инструмент активной формализации профессиональных знаний. Такие ЭВМ с «дружественным» по отношению к пользо- вателю программным обеспечением позволяют увеличить эффек- тивность интеллектуальной деятельности человека [31 ]. Выполнение такой программы невозможно без комплексной гибкой автоматизации проектирования и производства. Гибкая автоматизация— это новая глобальная концепция современного производства, базирующаяся на супер-, мини-ЭВМ, ПЭВМ, робо- тах и системах автоматизированного проектирования (САПР). Гибкие производственные системы (ГПС) —это высшая форма комплексной автоматизации производства, ориентированная на «безлюдную» технологию. Создание комплексов САПР— ГАП предусматривает разработку общей архитектуры автоматизиро- ванных производственных систем и общего математического обеспечения, связанных с интеграцией процессов проектирования и повышением качества производимой продукции. Исходя из важности создания САПР рассмотрим кратко ее основные определения, цели, функции и структуры [5]. Система автоматизированного проектирования—организаци- онно-техническая система, состоящая из комплекса средств авто-
матизации проектирования, взаимосвязанного с подразделениями проектной организации, и выполняющая автоматизированное проектирование. Комплекс состоит из совокупности средств математического, лингвистического, программного, информацион- ного, технического, методического и организационного обеспече- ний. Допускается рассматривать методическое обеспечение более широко, включая в него математическое и лингвистическое обеспечения. Взаимодействие подразделений проектной организа- ции с САПР проводится средствами технического обеспечения на основе инструкций организационного обеспечения. САПР должна осуществлять автоматизированное проектирова- ние на всех стадиях создания ЭВА на основе применения математических моделей, проектных процедур и средств вычисли- тельной и организационной техники. Преобразование описаний ЭВА путем взаимодействия пользователя и ЭВМ называют автоматизированным проектированием. Преобразование описаний ЭВА только ЭВМ без участия пользователя называют автомати- ческим проектированием. Функционирование САПР позволяет получать проектные решения. Результатом проектирования в САПР считают совокупность закопченных проектных решений, удовлетворяющих заданным требованиям создания ЭВА. Основными частями САПР являются подсистемы. Подсисте- мой САПР называют определенную по некоторым признакам часть САПР, позволяющую получать законченные проектные решения. Подсистемы САПР разделяются на объектные и инвари- антные. Объектные подсистемы выполняют проектирование неко- торых классов объектов на определенной стадии проектирования. Например, объектными подсистемами будут подсистемы констру- ирования СБИС, технологического проектирования, конструирова- ния печатных плат, кабелей, стоек, шкафов и т. п. Инвариантные подсистемы выполняют управление и обработку информации и не зависят от особенностей проектируемой ЭВА. К ним относятся подсистемы управления, оптимизации, ввода, выхода информации, машинной графики, диалоговых процедур, поиска и т. п. Подсистемы состоят из компонентов, объединенных общей для этой подсистемы целевой функцией и обеспечивают функ- ционирование подсистемы. Компонент САПР—это элемент сред- ства обеспечения, выполняющий определенную функцию в подсис- теме САПР. Структурное единство подсистемы САПР обеспечивается связя- ми между компонентами различных средств обеспечения. Струк- турное объединение подсистем в систему обеспечивается связями между компонентами САПР, входящими в подсистемы. Техническое обеспечение (ТО) САПР—это совокупность вза- имосвязанных и взаимодействующих технических средств, пред- назначенных для выполнения автоматизированного проектирова- ния (АП).
Технические средства (ТС) представляют собой компоненты ТО и выполняют определенную функцию в САПР. Известны следующие группы ТС: подготовки и ввода данных; их передачи, программной обработки, отображения и документирования архива проектных решений. Компоненты ТО создают па базе серийных средств вычислительной техники общего назначения и специализи- рованных ТС. Группы ТС подготовки и ввода данных, их отображения и документирования используются для общения пользователя с ЭВМ К ним относят печатающие устройства, координатографы и построители, автоматизированные рабочие места (АРМ), микрофильмы и микрофиши и т. п. Группы ТС программной обработки данных представляются процессорами и запоминающими устройствами. Группы ТС передачи данных представляют мини-ЭВМ и используются для организации связей между территориально разнесенными ЭВМ и терминалами поль- зователей. Группы ТС архива проектных решений используют внешние запоминающие устройства. В настоящее время применя- ется двухуровневая иерархическая структура комплекса ТС САПР. Она включает компоненты центрального вычислительного и тер- минального комплексов, которые строятся на основе супер-ЭВМ, вычислительных систем и сетей ЭВМ, АРМ, терминальных станций с использованием мини- и микроЭВМ, микропроцес- соров. Перспективной является многоуровневая иерархическая структура комплекса ТС САПР с широким использовани- ем ПЭВМ. Математическое обеспечение (МО) САПР —это совокупность математических методов, математических моделей и алгоритмов проектирования, необходимых для выполнения АП, представлен- ных в заданной форме. Метод —это путь исследования или познания. Совокупность математических приемов или математи- ческих операций практического или теоретического освоения действительности, подчиненных решению конкретных задач (в нашем случае — задач проектирования ЭВА), будем считать математическими методами. В качестве их могут выступать приемы научных исследований, математические операции, опреде- ляющие работу роботов, и т. п. Математическая модель (ММ) —это система математических соотношений, описывающих изучаемый процесс или явление. Для составления ММ используют такие разнообразные мате- матические средства, как язык дифференциальных или интеграль- ных уравнений, аппарат теории множеств, графов, вероятностей, математическую логику и др. Другими словами, ММ —это приближенное описание како- го-либо класса явленйй внешнего мира, выраженное с помощью математической символики. Процесс составления ММ называют математическим моделированием. Выделяют четыре этапа изуче- ния явлений с помощью ММ. На первом этапе формируются
законы, связывающие основные объекты модели, и в математичес- ком виде записываются качественные представления, о связях между объектами модели. На втором этапе проводят исследова- ние математических задач, к которым привели ММ. Здесь решается так называемая прямая задача, состоящая в получении в результате анализа ММ выходных данных, предназначаемых для их сравнения с реальными объектами. На третьем этапе производится проверка соответствия ММ рассматриваемому объекту в пределах точности наблюдений. Задачи, в которых характеристики ММ определяются так, чтобы выходная инфор- мация в пределах точности исследований соответствовала резуль- татам наблюдений изучаемых явлений, называют обратными. Если ММ построена так, что при любом выборе характеристик этим условиям Нельзя удовлетворить, то ММ считается непригод- ной для исследования рассматриваемых явлений. На четвертом этапе проводится последующий анализ ММ на основе накопления данных об изучаемых явлениях и выполняется ее модернизация. Математическое моделирование является основой разработки алгоритмов проектирования, т. е. совокупности предписаний, необходимых дл’я проектирования создаваемых объектов. Программное обеспечение (ПО) АП - -это совокупность машин- ных программ, необходимых для систем обработки данных на машинных носителях, и программная документация, обеспечива- ющая эксплуатацию подсистем САПР. Оно состоит из трех основных частей: общесистемное, базовое, прикладное. Общесис- темное ПО используется для организации работы технических средств, осуществляет планирование и управление вычислитель- ным процессом, распределяет ресурсы. Представляется в основном операционными системами ЭВМ и вычислительных систем. Базовое ПО состоит из обслуживающих программ, которые обеспечивают функционирование прикладных программ. Их ком- понентами являются трансляторы, эмуляторы, супервизоры. Сово- купность машинных программ, необходимых для выполнения определенной проектной процедуры, представленных в заданной форме, является прикладным ПО. Оно реализует МО для непосредственного выполнения задач проектирования. Приклад- ные ПО представляют в виде пакетов прикладных программ (ППП). Каждый пакет реализует определенный этап проектирова- ния или проектную операцию в общей проблеме проектирования. Существуют ППП для моделирования, размещения, трассировки, конструирования печатных плат, технологического синтеза и др. Компонентами ПО являются документы с текстами программ, эксплуатационные документы, программы на всех видах носи- телей. Информационное обеспечение (ИО) САПР—это совокупность сведений и документов, необходимых для выполнения АП, представленных в заданной форме. Компонентами ИО являются
документы, содержащие описания стандартных проектных проце- дур, типовых проектных решений, типовых элементов, норматив- но-справочные документы, прогнозы технического развития, зада- ния государственных планов, системы классификации и кодирова- ния информации, системы документации типа ЕСКД, ЕСТД, файлы и блоки данных на машинных носителях, фонды алгорит- мов и программ и т. п. Основной составной частью ИО САПР является автоматизированный банк данных (БНД), который состоит из базы данных (БД) и системы управления базой данных (СУБД). Банк данных представляет собой совокупность средств для централизованного хранения и коллективного ис- пользования данных в САПР. База данных—это совокупность предназначенных для машинной обработки данных конкретной предметной области. Обычно БД представляется во внешней памяти ЭВМ в виде формализованных и структурированных в соответствии с принятыми в данном БНД правилами данных. Совокупность программных и аппаратных средств, осуществля- ющих управление БД, называют СУБД. Они обеспечивают функционирование БНД, позволяют производить в них запись и выборку данных по запросам пользователей, предоставляют параллельный доступ к данным, проектирование в режиме диалога, восстановление информации в случае разрушения, ис- ключение неоправданного дублирования данных, защиту данных от несанкционированного доступа, автоматизированный сбор статистических данных о содержании и использовании инфор- мации БНД и т. п. Концепция БНД, БД и СУБД не позволяет обрабатывать знания. Знание—это проверенный практикой ре- зультат познания действительности, верное ее отражение в со- знании человека. В САПР понятие «знания» соответствует интеграции информации, характеризующей объекты предметной области, с информацией, описывающей основные закономерности этой области. Знания в отличие от данных обладают семантикой. Для описания семантики данных и их связи с задачами проектирования создается ориентированная на конкретную проб- лемную область база знаний (БЗ). Она состоит из моделей проектирования, объектов проектирования и моделей описания понятий и позволяет осуществить переход от обработки данных к обработке знаний. В процессе создания новых ЭВА пользователь в случае принятия решений, используя экспертные системы и оценки, обращается к БЗ как советующему устройству. В настоящее время используются трехуровневые БЗ: на пред- метном уровне; на математическом уровне, состоящая из совокуп- ности математических отношений для объектов предметной области; на программном уровне, содержащая данные о ППП и программах, реализующих методы 1-го и 2-го уровней. Е1ачата разработка аппаратной поддержки БЗ, которая будет представлять собой машину баз знаний.
Лингвистическое обеспечение (ЛО) САПР— это совокупность языков проектирования, включая термины и определения, правила формализации естественного языка, методы сжатия и развертыва- ния текстов, представленных в заданной форме, необходимых для выполнения АП. Языки общения пользователя с ЭВМ представляют основную часть ЛО САПР. Различают языки программирования и проектирования. Языки проектирования делятся на входные, промежуточные, внутренние, выходные и сопровождения. Входные языки проектирования делятся на языки описания объектов и языки описания заданий на проек- тирование. Для обеспечения диалоговых режимов вводятся диа- логовые языки для оперативного обмена информацией между пользователем и ЭВМ. Методическое обеспечение (МЕТО) САПР—это совокупность документов, в первую очередь методических, устанавливающих состав, правила отбора и эксплуатации средств, необходимых для выполнения АП. Организационное обеспечение (ОО) САПР—это совокупность документов, устанавливающих состав проектной организации и ее подразделений, связи между ними, их функции, взаимодействие, организационную структуру, инструкции, а также форму рассмот- рения проектных документов, необходимых при создании, эксплуа- тации и развитии САПР. Отметим, что все существующие и разрабатываемые САПР ориентируются на конкретные отрасли промышленности. В учебнике будут рассматриваться вопросы создания САПР, относящихся к радиоэлектронной и электронной промышленности, в частности САПР ЭВА. Под проектированием понимается процесс составления опи- сания, необходимого для создания в заданных условиях еще не существующего объекта, на основе первичного описания этого объекта и алгоритмов его функционирования. Введем термин объект проектирования. В пашем случае объектом проектирования будут ЭВА, ее составные части, технологический процесс их изготовления. Первичное описание объекта проектирования, представленное в заданной форме, называют заданием на проектирование. Например, в задании на проектирование ЭВА должны быть сведения о назначении ЭВА, ее параметрах, способах функционирования, конструктивной ре- ализации, технологии изготовления. При преобразовании задания на проектирование получают промежуточные описания, называемые проектными решениями. Они рассматриваются на предмет окончания проектирования или определения дальнейшего направления проектирования. Про- ектное решение (или их совокупность), удовлетворяющее задан- ным требованиям, необходимым для создания объекта проек-
тирования, считают результатом проектирования. Документ, вы- полненный но заданной форме, в котором представлено какое- либо проектное решение, называют проектным. Соответственно набор проектных документов, в которых представлен результат проектирования, называют проектом. Основными принципами проектирования таких сложных объек- тов являются декомпозиция и иерархичность описаний ЭВА, многоэтапность и итерационность проектирования, типизация и унификация проектных решений, многофункциональность, ком- плексное использование достижений микроэлектроники, эконо- мичность решений. Для оперирования программными массивами информации при описании ЭВА выполняют структурирование описаний и разбиение представлений об объектах проектирования на иерархические уровни. Это лежит в основе блочно-иерархи- ческого подхода (БИП) к проектированию. Этот подход основан на выделении иерархических уровней для представления проекти- руемого объекта. Например, при проектировании ЭВМ на иерархическом уровне 1 подлежащая проектированию ЭВМ пред- ставляется как система Q, состоящая из S взаимосвязанных и взаимодействующих элементов Qt, Q2, Qs. В качестве элементов могут выступать процессор, оперативное запоминаю- щее устройство, внешнее запоминающее устройство и т. п. Каждый из элементов уровня 1 может рассматриваться как система Q, на уровне 2. Элементами Qt являются объекты Qit ।, Qi, 2, Qt,p’ где P~ число элементов в описании Qt. В качестве элементов 0 ^ могут выступать функциональные узлы. Процесс иерархического разбиения продолжается до получения на некото- ром l-м уровне элементов, не подлежащих разбиению. Такие элементы называются базовыми. В нашем примере базовыми элементами являются электрорадиоэлементы и интегральные микросхемы, из которых собираются функциональные узлы. Методология БИП базируется на трех концепциях: иерархич- ности, декомпозиции, абстрагировании. Иерархичность позволяет получить структурированное описание объектов проектирования. Декомпозиция позволяет разбить структурированные описания каждого уровня на ряд более простых блоков с возможностями раздельного поблочного проектирования. Абстрагирование по- зволяет строить формальные ММ объектов проектирования. Основные достоинства БИП - это упрощение процесса проекти- рования и возможность обработки огромных массивов информа- ции. Важной задачей при проектировании является структури- рование описаний по отображаемым свойствам объекта. В этом случае выделяют аспекты описаний создаваемого объекта. Для ЭВА основными являются системный, функциональный, конструк- торский и технологический аспекты. В случае системного аспекта используются идеи и методы системного анализа. Здесь на основе исследования многочислен-
ных факторов принимается решение о методике построения и путях реализации вычислительного процесса в создаваемой ЭВА. Функциональный аспект основан на реализации основных принципов функционирования объекта, описании физических и ин- формационных процессов, протекающих в нем, и нацелен на получение структурных, функциональных, принципиальных схем и документации на них. Конструкторский аспект основан на реализации результатов предыдущего аспекта в заданном конструктивном базисе. При этом решаются вопросы выбора геометрических форм объектов, материалов, типоразмеров, компоновки, размещения элементов, трассировки соединений, контроля. Технологичеекий аспект заключается в разработке алгоритмов автоматизированного выпуска конструкторско-технологической документации и выборе технологических процессов изготовления создаваемой ЭВА, т. е. основан на создании методов и средств изготовления ЭВА. Решение задач, относящихся к указанным аспектам, называют соответственно “Системным, функциональным, конструкторским технологическим проектированием. Отметим, что внутри каждого аспекта возможно выделение некоторого числа иерархических уровней. Например, конструкторскому аспекту описания ЭВА соответствуют иерархические уровни следующих видов: компонент интегральной микросхемы, интегральная микросхема, типовой элемент замены, пакет, рама, стойка, шкаф. Выполнение про- ектных работ происходит во времени. При этом процесс проек- тирования разделяется на стадии, этапы, проектные процедуры. При создании САПР выделяют восемь стадий: предпроектные исследования; техническое предложение; эскизный проект; техни- ческий проект; рабочий проект; изготовление, отладка, испытание; ввод в действие. Этап проектирования—это часть процесса проектирования, состоящая из заданных описаний создаваемого объекта. Напри- мер, выделяют этапы топологического проектирования ЭВА, разработки принципиальных схем технологического процесса и др. Этап состоит из более мелких составных частей проектных процедур, которые, в свою очередь, состоят из проектных операций. Проектная процедура — это часть этапа, представ- ляющая формализованную совокупность, оканчивающуюся про- ектным решением. Проектная операция — это действия, состав- ляющие часть проектной процедуры, алгоритм которых не изменяется для ряда проектных процедур. Отметим, что понятие аспектов и уровней относится к структурированному представ- лению о создаваемой ЭВА, а понятие этапов, процедур, опе- раций— к структурированному представлению процессов проек- тирования.
Г л а в a 1. МАТЕМАТИЧЕСКИЕ МЕТОДЫ И МОДЕЛИ В КОНСТРУКТОРСКОМ И ТЕХНОЛОГИЧЕСКОМ ПРОЕКТИРОВАНИЙ ЭВА С ПОМОЩЬЮ САПР 1.1. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ Абстрактный алфавит; алфавитный оператор; массовость; результативность; алгоритмы случайный, самоизменяющийся, детерминированный, недетерминиро- ванный, расплывчатый, полиномиальный, экспоненциальный, операторный, Ван-Хао, нормальные Маркова: рекурсия; машина Тьюринга; временная сложность алгорит- ма; NP-, NPC-проблемы; схемы логические, структурные; граф-схемы; словесный способ представления; расплывчатое множество Понятие алгоритма является одним из основополагающих понятий современной науки и техники. Термин «алгоритм» происходит от имени узбекского математика Аль-Хорезми, кото- рый в IX веке дал набор правил выполнения четырех арифме- тических действий в десятичной системе счисления. В интуитивном смысле под алгоритмом понимается конечная совокупность точно заданных правил решения произвольного класса задач. Отметим, что к алгоритмам не относятся запре- щающие и разрешающие правила. Алгоритмы, в которых решение постав тенных задач сводится к арифметическим действиям, называются численными. Алгорит- мы, в которых решение поставленных задач сводится к логическим действиям, называются логическими. Отметим основные требова- ния к алгоритмам. Алгоритмы предполагают наличие исходных данных, применяются к ним и позволяют получить конечные результаты, т. е. каждый алгоритм имеет входы и выходы. В процессе работы алгоритма появляются промежуточные резуль- таты. Следовательно, алгоритм имеет дело с данными трех типов: входными (исходными), выходными, промежуточными. Для раз- мещения данных алгоритма требуется память. Обычно считают, что память состоит из одинаковых ячеек. Причем каждая ячейка может содержать один или несколько символов данных Алгоритм—это набор правил, указывающих определенные действия, в результате выполнения которых от исходных данных переходят к искомому результату. Цепочку действий называют алгоритмическим ДКвдеди* действие—элементарным
шагом или просто шагом алгоритма. Примерами элементарных шагов могут служить операции сложения, умножения и т. п. В используемых в настоящее время в САПР алгоритмах после- довательность элементарных шагов обычно детерминирована, т. е. после каждого шага алгоритма указывается номер следующего шага. От каждого алгоритма требуется остановка после конечного числа шагов, дающих требуемый результат. Обычно различают описание алгоритмов, механизм реализации алгоритмов (в основном для этих целей используется ЭВМ) и процесс реализации алгоритмов. Существует три основных типа универсальных алгоритми- ческих моделей. В первом понятие алгоритма связывается с вычислимыми и числовыми функциями. Во втором алгоритм представляется как некоторое детерминированное устройство, способное выполнять в отдельные моменты простейшие операции. Третий этап — это преобразование слов в произвольных алфа- витах. Эти типы близки друг к другу и отличаются эвристи- ческими описаниями определений алгоритма. Одним из эври- стических определений алгоритма можно считать конструктивно задаваемые соответствия между словами в абстрактных алфа- витах. Под абстрактным алфавитом (АА) обычно понимается конечная совокупность объектов, называемых буквами или симво- лами этого алфавита. Символами абстрактных алфавитов считают буквы, цифры, знаки и даже слова. Следовательно, АА —это конечное множество различимых символов. Тогда АА аналогично конечному множеству можно задать путем перечисления его элементов, т. е. символов. Примерами АА можно считать А = {схема, БИС, 0, 1,2, а, В, шкаф, кабель}, В={ — , /, х}, С= = { + , 0, ЭВА, ЭВМ} и т. д. Соответственно под словом в алфавите понимают любую конечную упорядоченную последовательность символов. Напри- мер, выражение « + , БИС, ЭВА» является словом в АА. Число символов в слове называется длиной этого слова. Пустое слово обозначается так же, как и пустое множество 0. Алфавитным оператором (АО) называется функция, которая задает соответствие между словами входного и выходного алфавитов. Например, пусть в АА заданы слова А" и У и соответствия между этими словами (рис. 1.1): Х={а, Ь, БИС, СБИС, РЭА}, Y={c, стойка, кристалл, ТЭЗ, панель, шкаф, /}. Если х— слово в АА X, а у—слово в АА У, то алфавитный оператор Лт=у перерабатывает входное слово х в выходное слово у. Например, слово (а, РЭА) АА X перерабатывается в выходные слова АА У, т. е. (с, /) (шкаф), (стойка, панель). Алфавитные операторы бывают однозначные и многозначные. В однозначном АО каждому слову ставится в соответствие не
более одного выходного слова. В многозначном АО каждому входному слову может быть' поставлено в соответствие некоторое множество выходных слов. Алфавитный оператор, ко- торый не ставит в соответ- ствие входному слову ни- какого выходного слова (включая пустое), не опре- делен на этом слове. Алфа- витный оператор, изобра- женный на рис. 1.1, являет- ся многозначным. Рис. 1.1. Пример алфавитного оператора Множество слов, на которых АО определен, называют его областью определения. Алфавитные операторы бывают с конечной и бесконечной областями определения. Если область определения АО конечна, то он задается таблицей соответствия. В левой части таблицы выписываются слова, входящие в область определения АО, в правую часть слова, получающиеся в резуль- тате применения АО к входным словам. Если область определения АО бесконечна, то он задается набором правил, который за конечное число шагов определяет выходное слово, со- ответствующее любому наперед заданному входному слову из области определения АО. Говорят, что АО, задаваемые с помощью конечной системы правил, называются алгоритмами. Следует различать понятия алгоритма и АО. В АО основ- ное—это соответствие между входными и выходными словами, а не способ его установления. В алгоритме основное —способ установления соответствия. Следовательно, алгоритм — это АО с правилами, определяющими его действие. Два алгоритма равны, если равны соответствующие им АО и совпадают системы правил, задающих действия этих алгорит- мов на выходные слова. Два алгоритма эквивалентны, если они имеют совпадающие АО, но не совпадающие способы их задания. Алгоритмы называются детерминированными, если им соответ- ствуют однозначные АО и любому входному слову соответствует одно выходное слово. Основными свойствами алгоритмов являются массовость и результативность. Массовость алгоритма—это его свойство быть применимым для множества исходных данных. Для каждого алгоритма существует ' класс объектов, и все они допустимы в качестве исходных данных. Тогда под массовостью понимают допустимость всех объектов этого класса, а не некоторого их числа.
Результативность алгоритма—это свойство, о еспечиваютцее получение результата через конечное число шагов. Считают, что алгоритм применим к допустимым исходным данным, если с его помощью на основе этих исходных данных можно получить искомый результат за конечное число шагов. Если результат получить нельзя, хотя исходные данные и допустимы, алгоритм к ним не применим. Отметим, что требование завершения алгоритмического процесса за конечное число шагов в конст- рукторских и технологических задачах не учитывает реальных возможностей по затрате времени, памяти, технических ресурсов и т. п. В этой связи считается, что алгоритм потенциально, а не реально выполним. Неприменимость алгоритма к до- пустимым исходным данным заключается в том, что алгорит- мический процесс или не оканчивается, или его выполнение наталкивается па непреодолимое препятствие. Выделяют также такие свойства алгоритма, как определенность, понятность, корректность. Формулировка алгоритма должна быть точной и полноегью определять все действия исполнителя. Это свойство называют определенностью алгоритма. Свойство понятности — это наличие алгоритма, определяющего процесс выполнения заданного в виде текста алгоритма. Теперь можно уточнить определение алгоритма. Алгоритм — это правило (набор правил), сформулированное на некотором языке и определяющее процесс переработки допустимых исходных данных в искомые результаты. Причем правило (набор правил) характеризуется понятностью для пользователя, массовостью, определенностью и результативностью. Если алгоритм создан для решения определенного класса задач, то необходима уверенность в том, что для всех исходных данных, для которых задача может быть решена, алгорит дает правильные результаты. Это свойство называется корректностью. Для установления корректности алгоритмов используют конструи- рование. алгоритмов на основе комбинирования известных и др. Алгоритм называется случайным, если в системе правил, описывающих алгоритм, предусматривается возможность случай- ного выбора слов или правил. Алгоритм называют самоизме- няющимся, если он не только перерабатывает входные слова, но и сам изменяется в процессе такой переработки. Из определений и описаний алгоритма следует, что он ставит в соответствие исходным данным результат. Следовательно, каждому алгоритму можно поставить в соответствие функцию, которую он вычисляет. Процедуру, которая прямо или косвенно обращается к себе, называют рекурсивной. Рекурсия -способ задания функции, когда значение определяемой функции для произвольных значений аргумента выражается известным образом через значения опреде- ляемой функции для меньших значений аргументов.
Численные функции, значения которых можно установить на основе некоторого алгоритма, называются вычислимыми. Сово- купность численных функций, совпадающих с совокупностью всех вычислимых функций, считают совокупностью рекурсивных функций (РФ). Существует гипотеза о том, что класс РФ тождествен классу всюду определенных вычислимых функций. Использование РФ в теории алгоритмов основано на идеях нумерации слов в произвольном алфавите последовательными натуральными числами. После нумерации слов произвольный АО превращается в функцию у=/(х), где аргумент х и функция у принимают неотрицательные целочисленные значения. Такие функции называют арифметическими (АФ). Выделяют элемен- тарные АФ: тождественно равные нулю; тождественные, повторяющие значения своих аргументов; непосредственного следования типа /(х)=х+1. На основе перечисленных функций с помощью конструктивных приемов можно строить все более и более сложные АФ. В теории АФ используются операции суперпозиции, примитивной рекурсии и наименьшего корня. Для решения той или иной задачи ее часто разбивают на части, определяют их решения, а затем из них получают решение всей задачи. Этот прием, если применять его рекурсивно, в основном приводит к эффективному решению задачи, подзадачи которой представляют собой её меньшие версии. Концепции алгоритмов были впервые описаны в математи- ческих терминах в ЗО-е годы, когда велись поиски условий, с помощью которых доказательство математических теорем может генерироваться автоматически посредством механического процесса. Математик Тьюринг был одним из основателей в раз- витии этой области. Машина Тьюринга (МТ) была описапа как автоматическая с бесконечной длиной лепта с отмеченными квадратами и считывающей головкой. Машина была способна только на четыре действия: движение ленты на один квадрат; размещение метки в квадрате; стирание метки, представленной в квадрате; конец вычисления. Модель МТ показана на рис. 1.2. Она состоит из информа- ционной ленты, представляющей собой бесконечную память машины. В качестве информационной ленты можно использовать магнитную или бумажную ленту, разделенную на квадраты (ячейки). В каждой ячейке можно поместить один любой символ конечного алфавита Л = {а1, а2, ..., а„}. Машина Тьюринга имеет считывающую головку, способную просма- тривать содержимое ячеек. Вдоль нее лента перемещается в обе стороны так, чтобы в любой рассматриваемый момент головка находилась в одной ячейке ленты. Кроме того, МТ имеет устройство управления, которое в рассматриваемый
Рис. 1.2. Условная схема машины Тьюринга, где Р считывающая го- ловка момент находится в одном из состояний Q = {q\, q2, q„}. Состояние устройства управления называют внутренним состоянием МТ. Одно из состояний является заключительным и управляет окончанием работы МТ. Машина Тьюринга может сдвигать ленту на одну ячейку вправо или влево, оставляя содержимое ячеек неизменным, или может изменять состояние воспринимаемой ячейки, оставляя ленту неподвижной. Сле- довательно, МТ состоит из внутренней (конечное множество состояний) и внешней (лента) памяти. Данные МТ - - это слова в абстрактном алфавите ленты. На ленте МТ записывают исходные данные и конечные результаты. Сушесгвует тезис Тьюринга: «Всякий алгоритм может быть реализован машиной Тьюринга». Показано, что если задачи не могут быть решены на МТ, то они не могут быть решены ни на какой другой автоматической ЭВМ, т. е. это проблемы, для которых алгоритмы не могут быть составлены даже в принципе. Следовательно, невозможность построения МТ означает отсутст- вие алгоритма решения данной задачи. Следует отметить, что речь идет об отсутствии алгоритма, решающего всю данную задачу, что не исключает возможность решения этой задачи в частных случаях различными методами. Для успешной обработки конкретных данных с помощью алгоритмов надо получить оценки обьема памяти и, что особенно важно,—времени работы. Один из основных результатов Тьюринга—разделение всех представляемых в математике задач на два класса: для которых алгоритмы никогда не могут быть написаны, т. е. в формальном смысле постоянно нерешаемые; которые могут быть решены посредством алгоритмов. Класс решаемых задач может быть разделен на два подкласса: в котором эффективны только полиномиальные алгоритмы; в котором эффективны только экспоненциальные алгоритмы. Пусть А- алгоритм решения некоторого класса задач и п — размерность одной задачи из этого класса. В частном случае п может быть числом технологических операций, элементов в модели схемы, массивом, длиной входных данных и т. п. Функция fA{n) даст верхнюю границу для максимального числа основных операций (сдвиг, сравнение, сложение и т. п.), которые должен выполнить алгоритм для решения любой задачи раз- мерности п. Тогда алгоритм называется полиномиальным, если
fA{n) растет не быстрее, чем полином от п, в противном случае алгоритм А называется экспоненциальным. Функции типа 2", и", и!... могут рассматриваться как имеющие одинаковое свойство экспоненциального роста. Функции типа кп, кп2, кп\ где к—коэффициент, могут рассматриваться как полиномиальные. Для достаточно больших п значение экспоненциальной функции превышает значение полиномиальной функции. Для малых п полиномиальная функция может превы- шать экспоненциальную, но всегда есть п, для которой экс- поненциальная функция больше. Заметим, что не каждый экс- поненциальный (степенной) алгоритм будет неэффективным. Мно- гие алгоритмы экспоненциального типа могут иметь, в частности, значительно меньшую действительную эффективность. Говорят, что время, затраченное алгоритмом, как функция размерности задачи называется временной сложностью алгоритма (ВСА). Другими словами, ВСА—это число единиц времени, требуемого для обработки входных данных задачи. Обозначается ВСА О [ЛИ]- Отметим, что известны некоторые экспоненциальные алго- ритмы, применяющиеся в практике конструкторского и техноло- гического проектирования, например метод ветвей и границ. Если алгоритм имеет ВСА О (к4"), это означает, что решение по крайней мере одной индивидуальной задачи размерности п требует времени порядка к4п. Но может оказаться, что большинство индивидуальных задач из этого класса требует для своего решения меньших затрат времени. Алгоритмы, имеющие ВСА О(кп), О(кп2} и О(кп3), считают эффективными и основными при решении конструкторских и тех- нологических задач с помощью САПР. Многие задачи САПР могут иметь более чем один алгоритм решения. Причем скорость реализации алгоритма является в большинстве случаев свойством самого алгоритма и слабо зависит от ЭВМ, на которой он решается. Кроме времени реализации алгоритма существуют другие меры оценки сложности. Сложность алгоритма можно характери- зовать числом операций N и общим объемом информации Р, используемой алгоритмом. С числом операций алгоритма связано время его выполнения на конкретной ЭВМ. Объем информации связан с объемом памяти ЭВМ, необходимой машине для реализации этого алгоритма. Следовательно, время реализации .алгоритма есть функция T=/(7V). В настоящее время наиболее перспективными методами оценки временной сложности алгоритмов при конструировании РЭА и ЭВА являются методы, позволяющие оценить алгоритм до его представления на алгоритмическом языке. Отметим, что в современных САПР распределением памяти занимается операционная система и пользователь не знает, какую
память (внешнюю или оперативную) ЭВМ он использует. Причем в связи с ростом объема обрабатываемой информации в со- временных ЭВМ основной характеристикой становится объем не оперативной, а внешней памяти. Основной путь повышения скорости реализации алгорит- ма— это параллельное выполнение большого числа операций ввода, вывода и вычислений, проверки ветвей, поиска, сортировки, функциональных преобразований, конвеерпой обработки и т. п. Например, рассмотрим алгоритм определения наибольшего и наименьшего элементов множества S' мощностью п. Очевидный путь—сначала найти наи- больший элемент, а затем наименьший. Процедура из и—1 сравнений с выбором наибольшего элемента на каждом шаге даст нам наибольший элемент. Анало- гично, проведя п—2 сравнения из оставшихся и—1 элементов, найдем наименьший элемент. Для определения наибольшего и наименьшего элементов множества А потребуется 2л—3 сравнений. Если множество А разбивается на подмножества и S2 с л/2 элементами в каждом, тогда с помощью рекурсии можно найти наибольший и наименьший элементы в Sj и S2, а затем произвести еще два сравнения наибольших элементов в Sj и S2 и наименьших в и S2. Это потребует только 3/2и —2 сравнений. Разбиение задачи размера л на две подзадачи размерностью л/2 дает ВСА типа О (и log л). Если бы подзадач было 3, 4, 8, то имели бы ВСА порядка O(nlog3), О (л3), О(п2) соответственно. В практике конструирования СБИС разрабатывают рекур- сивные алгоритмы, разбивающие задачи произвольной размер- ности на I равных частей, где I велико как возможно. Эти алгоритмы в основном эффективнее тех, которые не используют процедуру разбиения. Алгоритмы, которые применяют на практике, можно разбить на два класса: детерминированные и недетерминированные. Как отмечалось, детерминированные алгоритмы состоят из операций, результат каждой из которых определен однозначно. Если алгоритм содержит операции, результат выполнения которых неоднозначен, го он относится к классу недетерминированных алгоритмов. Задачей на допустимость считается задача определения хотя бы одного возможного решения. Задачей на оптимальность считается задача определения допустимого решения, дающего экстремум целевой функции рассматриваемой системы. Мно- жество всех задач на допустимость, которые могут быть решены на основе детерминированного алгоритма за полиномиальное время, относится к подклассу полиномиальных алгоритмов и обо- значается Р. Подклассом NP называется множество всех задач на допустимость, которые могут быть решены с помощью недетерминированного алгоритма за полиномиальное время. В NP входят задачи, вообще говоря, решаемые, но для которых сейчас известны только детерминированные алгоритмы с экспонен-
циальным временем решения. Так как детерминированные алго- ритмы являются частным случаем недетерминированных алго- ритмов, то считают, что P^NP. Одна из основных проблем в САПР заключается в исключении или уменьшении перебора при решении конструкторских и тех- нологических задач, т. е. в поиске решения без перебора всех или почти всех вариантов решений. Известно, что задача перебора решается эффективно, если /л(и) является с полиномиальной функ- цией. Считают, что задача перебора А сводится к задаче перебора В, если метод решения задачи В можно преобразовать в метод решения задачи А. Сводимость называется полиномиаль- ной, если преобразование выполняется за полиномиальное время, в противном случае сводимость экспоненциальная. При рассмотрении практических алгоритмов САПР часто встречается следующее: если некоторая задача может быть решена эффективно, то и много других задач, сводимых к ней, могут быть решены эффективно. Пусть имеются две задачи конструирования ЭВА, например компоновка (К) и трассировка (ТУ Говорят, что задача К сводится к задаче Т, если задачу К можно решить за полиномиальное время на основе полиноми- ального детерминированного алгоритма решения задачи Т. В последние годы было показано, что некоторое подмножество задач в классе NP имеет замечательное свойство: все проблемы в NP эффективно сводятся к этому подмножеству. Это подмножество задач в NP называется АР-полным и обозначается NPC. Причем NPC^NP. Тогда если некоторая из задач в NPC будет иметь эффективный алгоритм, то и каждая задача в NPC может быть решена эффективно. Неформально недетерминированным алгоритмом считают, например, такой алгоритм, который способен сделать произволь- ный выбор между двумя альтернативными путями решения. К АР-полным задачам относят задачи размещения штейнеровых точек на плоскости, определения изоморфизма и изоморфного вложения графов, коммивояжера, раскраски графов, определения планарности графов, покрытия множества вершин графов, опре- деления гамильтоновых циклов и максимальных разрезов в гра- фах, трассировки и др. Рассмотрение практических алгоритмов САПР показывает, что все операции, выполняемые в алгоритмах, распадаются на две группы,'которые называются арифметическими и логическими. Арифметические операции выполняют непосредственное преобра- зование информации, а логические определяют последователь- ность выполнения арифметических. В этой связи необходимо использование более универсальных логических элементарных операций. Рассмотрим ниже алгоритмы Ван-Хао, Маркова и Ля- пунова. Операторный алгоритм Ван-Хао задается последовательностью приказов специального вида. Каждый приказ имеет определенный
номер и указания, какую операцию необходимо выполнять над заданным объектом и с каким номером следует далее выполнить действия над результатом данной операции. В общем виде приказ запишется как W а ₽ где i—номер приказа; w—элементарная операция над объектом; а, Р—номера некоторых приказов. Выполнить приказ i над числом х в операторном алго- ритме—значит найти число w(x) и затем перейти к выполнению над w(x) приказа с номером а. Если w(x) не определено, то перейти к выполнению над числом х приказа с номером р. Заключительному состоянию в операторных алгоритмах соответ- ствует приказ i: стоп что означает, что вычисления необходимо остановить. Число, над которым необходимо выполнить этот приказ, есть результат вычисления. Рассмотрим нормальные алгоритмы Маркова (НАМ). В ка- честве исходных данных и конечных результатов они используют строки букв, т. е. слова абстрактного алфавита А. Буквой в ал- фавите А называют букву, одинаковую с одной из букв, входящих в А. Слово, состоящее из букв в алфавите А, считают словом в этом алфавите. Пусть заданы два алфавита А и В. Если каждая буква А является буквой В, а хотя бы одна из букв В не является буквой в А, то алфавит В называется расширением алфавита А. Например, т4 = {БИС, СБИС, ЭВА}, Р={БИС, СБИС, ЭВА, РЭА, кристалл}, В —расширение алфавита А. Рассмотрим слово «микросхема». В нем можно, например, выделить м, ми, микро, ро, с, схема, 0 и т. п. Такие слова называются подсловами, они входят в рассматриваемое слово или являются вхождениями в него. Марковской подстановкой называют операцию над словами, задаваемую парой слов (Р, Q). Суть ее в следующем. В исходном слове С определяется первое вхождение слова Р (если оно есть) и без изменения остальных частей слова С производится замена этого вхождения словом Q. Полученное новое слово С является результатом подстановки (Р, Q) к слову С. Если не определяется ни одного вхождения Р и С, то слово С марковской подстановке не поддается. Например, если С =832 457, (Р, Q)= (32,00), то результат марковской подстановки (Р, Q) к слову С запишется
£' = 800 457. Если С=СБИС, (Р, Q) = (C, 0), то С' = СБИС. Если С=БИС, (Р, Q) = (0, 0), то С' = БИС. Если С=УБИС, (Л б) = (П, М), то слово С марковской подстановке не поддается. Считается, что символы «-»» й «-> •» не являются буквами в алфавите А. Тогда записи вида 1) P-+Q и 2) P->-Q называют записями марковской подстановки (Р, Q)'. первая—записью подстановкой, а вторая - - заключительной подстановкой. Записи 1) и 2) называют формулами, различая в них левую часть Р и правую часть Q. Записью НАМ в алфавите А называют столбец формул, левые и правые части которых будут словами в А. Работает НАМ следующим образом. Двигаясь по столбцу формул, опре- деляют первую формулу, левая часть которой входит в преоб- разуемое слово. Если такой формулы нет, то процесс окончен. При наличии ее выполняется марковская подстановка, изменя- ющая преобразуемое слово. После этого проверяется, заключи- тельная это подстановка или нет. Если да, то процесс окончен, если нет, то весь процесс повторяется с самого начала [41 ]. Большинство практических алгоритмов не являются НАМ. Тем не менее при выполнении эквивалентных преобразований моделей, доказательств теорем и тождеств, построении языков проектирования, создании БЗ находят применение НАМ. Для описания алгоритмов Ляпунова используют логические схемы алгоритмов (ЛСЛ). В ЛСА операторами называются действия алгоритма, перерабатывающие информацию. Их обо- значают заглавными буквами, например А, В, С,... Малыми буквами обозначаются проверяемые логические условия. Последо- вательное выполнение нескольких операторов обозначается как произведение, причем сомножитель, стоящий справа, действует после сомножителя, стоящего слева. Логической схемой алгорит- мов называются выражения, составленные из операторов и ло- гических условий, следующих один за другим. От каждого логического условия начинается стрелка, которая оканчивается у какого-либо из операторов. Например, ^Aq^B^p^C. Здесь знак обозначает начало стрелки, а знак |*—ее конец. Одинаковыми номерами отмечаются начало и конец одной и той же стрелки. Порядок работы операторов ЛСА определяет в за- висимости от входящих логических условий. Работа алгоритма начинается с выполнения самого левого члена. После того как некоторый член ЛСА выполнится, определяется, какой член должен следовать за ним. Если это был оператор, то за ним выполняется тот член ЛСА, который стоит непосредственно справа от него. Если последний выполнившийся член ЛСА был логическим условием, то возможны два случая., Если про- верявшееся условие выполнено, то должен выполняться член,
Рис. 1.3. Вершины ГСА находящийся справа. Если оно нарушено, должен выполняться тот член, к которому ведет стрелка, начинающаяся после данного условия. Работа алгоритма оканчивается, когда последний из выполняющихся операторов содержит указание о прекращении работы либо на некотором этапе не оказывается члена, который должен выполняться. В ЛСА обычно выделяют операторы Ло и Ак, символизирующие начало и конец работы алгоритма соответственно. Пусть, например, алгоритм задан в виде ЛСА следующего вида: ^2^3-11Р2^2^4-^5^6^ж- В данной ЛСА восемь операторов: At—A6 и операторы начала Ао и конца Ак. Если после выполнения операторов Ав, А, на выходе логического условия получаем значение = то происходит переход к выполнению оператора А2, А3 и т. д. Если Pi=0, то, пропуская ’f1A2A3lI, переходим к выполнению логического условия р2. Если р2=0, то переходим к выполнению оператора т^.'если р2 = 1, то переходим к выполнению операторов /14, А5, А6, А*. В общем случае ЛСА содержат один начальный Ао и один конечный Ак операторы; за каждым логическим условием ставится стрелка, направленная вверх; не должно быть одинаково поме- ченных стрелок, направленных вниз; для каждой верхней (нижней) стрелки должна быть точно одна нижняя (верхняя) стрелка. Для графической записи ЛСА используется язык граф-схем алгоритмов (ГСА). На рис. 1.3 показаны блоки (вершины) ГСА, где Ао—начальная вершина, Ак—конечная вершина, At -опера- торная вершина, р3- условная вершина. В операторной вершине записывается оператор, в условной вершине записывается прове- ряемое логическое условие. Для рассмотренного выше примера Рис. 1.4. Пример ГСА записи алгоритма с по- мощью ЛСА на рис. 1.4 показана ГСА. Рассмотрим струк- турные схемы (блок-схе- мы) алгоритмов. Процесс решения задачи в этом случае расчленяется на отдельные этапы - бло- ки. Блоки изображаются графически в виде гео- метрических фигур. Бло-
ку присваивается номер, и внутри него указывается информация, характеризующая выполняемые ими функции, которые записыва- ются в виде формул или словесно. Блоки соединяются стрелками, показывающими связи между ними, и могут описывать элемен- тарные шаги алгоритма или представлять собой части алгоритмов или отдельные алгоритмы. В практических задачах САПР сложный алгоритм разбивается па блоки, которые разрабатывают разные-; конструкторы. Причем для рассматриваемых блоков неважно, как разрабатываются другие блоки. Аналогично с помощью структурных схем можно несколько алгоритмов, рассматриваемых как блоки, объединять в один. Операция разбиения алгоритма на блоки называется декомпозицией, а операция соединения называется композицией. Структурные схемы позволяют различать описание алгоритмов и процесс их реализации. Описание алгоритма—это сама струк- турная схема, а процесс реализации алгоритма.— это путь между блоками в структурной схеме. Рассмотрим пример составления блок-схемы алгоритма. Построим струк- турную схему алгоритма нахождения минимального числа в заданном множестве чисел. Пусть А = {аг, а2, а3, аА} at = l, а2=1, а3 = 8, а4 = 4, |Л| = п. Структурная схема алгоритма показана на рис. 1.5. Блок 1 задает переменную г. Блок 2 присваивает ячейке х значение а; (на первом таге ^ = 0,). Блок 3 сравнивает значение переменной i с п. Это необходимо для определения момента окончания алгоритма. Блок 4 осуществляет увеличение переменной i на единицу. Блок 5 сравнивает предыдущее число а( с последующим ai+1. Блок 6 печатает найденный минимальный элемент at = l. В САПР применяется «словесный» способ представления алго- ритмов (по пунктам перечисляются блоки алгоритма и проверяе- мые логические условия). Словесное представление алгоритма. 1'. Ввод исходных данных. 2°. Присвоить z значение 1 (/: = ]). 3°. Присвоить х значение а; (х:=а;). 4°. Проверить i<ti! Если да, то переход к 5°, в противном случае- к 7°. 5*. Присвоить z значение z+1 (z: = l). 6°. Проверить at<x. Если да, то переход к 3', в противном случае к 4" 7°. Печать минимального числа. 8°. Конец работы алгоритма. Словесное представление алгоритма находит широкое при- менение в диалоговом режиме работы пользователя с ЭВМ. При построении оптимизационных моделей проектирования сложных объектов, таких как СБИС, перспективным является метод, основанный на моделировании действий квалифицирован- ного пользователя, т. е. конструктора, хорошо справляющегося с неавтоматизированным проектированием. Построение таких моделей связано с привлечением качественной информации типа «больше», «меньше», «чуть-чуть», «хорошо», «плохо» и т. п.
Рис. 1.5. Структурная схема алгорит- ма нахождения минимального числа в заданном множестве чисел Рис. 1.6. Структурная схема ра- сплывчатого алгоритма разме- щения Формализация таких расплывчатых понятий — одна из важных задач САПР. Для ее решения используется аппарат теории расплывчатых множеств и алгоритмов. Пусть задано произвольное непустое множество Х={х1, х2, ... ..., х„], |Х| = п, состоящее из п элементов. Расплывчатым множест- вом А множества X называется множество кортежей длины два: А = гДе х^еХ; 7е/={1, 2, ..., п}; р.я(х,)е[0,1]. Функция Ря(х<) называется функцией принадлежности расплыв- чатого множества А. Для каждого элемента х= функция ця(х() принимает значение из интервала [0,1]. Если рдх^ имеет только крайние значения 1 и 0, то расплывчатое множество превращается в обыкновенное. Носителем А считают те элементы X' с X, для которых цА (х,) > 0. Например, пусть X— множество натуральных чисел; тогда его расплывчатое подмножество «малых» чисел может иметь вид
А = {< 1/0 >, < 0,9/1 >, < 0,8/2 > < 0,7/3 > < 0,6/4 >, < 0,5/5 >}. Носителем расплывчатого подмножества А является множество ГсХ, Г = {0,, 1, 2, 3, 4, 5}. Например, пусть А'={ИМС1, БИС, СБИС, УБИС}—множество, состоящее из элементов: интегральная микросхема малой степени интеграции (ИМС1), большая интегральная схема (БИС), сверхбольшая интегральная схема (СБИС), ультрабольшая интегральная схема (УБИС). Тогда расплывчатое множество А—схема с наибольшей степенью интеграции элементов—может быть, с точки зрения автора, определено так: А = {< 1 /УБИС >, < 0,9/СБИС >, < 0,8/БИС >, < 0,7/ ИМС1 > }. Очевидно, что функция принадлежности в расплывчатых мно- жествах определяется субъективно. Причем ее значения могут меняться как для разных пользователей, так и для одного и того же пользователя. В настоящее время значение цДх,) определяется исходя из опыта пользователя или на основе экспертных оценок. Расплывчатой переменной считают кортеж П = <а, X, А у, где а—наименование расплывчатой переменной; Jf={x1, х2, ... ...,хп}—область ее определения; Л = {ц/?(л',)|х;}х;еУ—расплыв- чатое множество в X, определяющее ограничения на возможные значения П. Лингвистической переменной называют кортеж Л = <Р Т, Ху, где Р - наименование Л; Т - множество ее значений, представляющих наименования П, областью опре- деления которых является X. Например, пусть оценивается качество технологического процесса выхода годных с помощью понятий «плохой», «средний», «хороший». Максимальный выход годных 80%. Тогда Л = < качество, Т, [0; 80]), где Т= {«плохой», «средний», «хороший»}. Значения Л описываются расплывчатыми переменными. Например, значение «плохой» описывается расплывчатой переменной < плохой, [0; 80], Л), где А может иметь вид Л={< 1/0),<0,8/5),<0.6/7),<0,2/20)}. Значение «хороший» можно, например, описать так: < хороший, [0; 80], Л), где А = {< 1 /80 ), < 0,8/75 ), < 0,6/70 ), < 0,2/40 )}. .4 Функцию принадлежности при наличии к экспертов, упро- щенно определяют так. Пусть кх экспертов на вопрос о принад- лежности хеХ к А отвечают положительно, а к2=к—к1 экспертов на этот же вопрос отвечают отрицательно. Тогда устанавливают №л(х1) — к11(к1+к2\ Для более точных оценок приводят парные сравнения функций принадлежности и др. Лингвистические пе- ременные используют для построения расплывчатых моделей и алгоритмов. Говорят, что расплывчатый алгоритм—это упорядоченное множество расплывчатых инструкций, которые при их реализации позволяют получать приближенное решение задач. Инструкции в расплывчатых алгоритмах делят на три группы:
назначающие, например «А=большой», «Т= небольшой», или «Х= малая степень интеграции» и т. д.; расплывчатые высказывания, например «если X—не трас- сируется, тогда увеличить размер У», «если X планарен, тогда стоп»; безусловные активные предложения, например «немного уве- личить X», «перейти к другому блоку». Данные инструкции могут быть расплывчатыми или обычными. Говорят, что расплывчатый алгоритм, который служит для получения приближенного описания стратегии или решающего правила, называется расплывчатым алгоритмом принятия ре- шений. Такие алгоритмы часто применяются подсозн 1тельно. К ним можно отнести пересечение перекрестка, компоновку кристалла СБИС и др. Рассмотрим пример размещения БИС на подложке. Структур- ная схема одного из возможных алгоритмов такого типа показана на- рис. 1.6. В терминах расплывчатых высказываний структурная схема алгоритма может быть переведена в рас- плывчатые инструкции. Следует отметить, что пользователь хорошо оперирует рас- плывчатыми понятиями «большое», «небольшое», «маленькое», «очень маленькое», успешно реализует данный алгоритм в ин- терактивном режиме с ЭВМ. При определении степени при- надлежности можно формализовать алгоритм и реализовать его на ЭВМ. Очевидно, что операция «сделать шаг» может быть сложным алгоритмом переразмещения всего кристалла или небольшой его области. В заключение подраздела отметим, что реальные варианты расплывчатых алгоритмов зачастую значительно сложнее. Важ- ным в разработке и применении таких алгоритмов является то, что они могут служить эффективным средством распространения опыта. Особенно это актуально при конструкторском и техно- логическом проектировании с помощью САПР в интерактивном режиме. 1.2. МЕТОДЫ ТЕОРИИ ГРАФОВ Множество вершин, ребер, дуг, петель; виды графов; мультиграф; подграф; суграф; гиперграф; матрицы смежности, инцидентности, циклов, расстояний, геометрии; список смежности: маршрут: цепь; цикл; разрез: перешеек; дерево (покрывающее); лес; алгоритмы Прима, Краскала; метрика; координатная решет- ка; суммарная длина ребер; независимые, доминирующие подмножества; числа хроматическое, внутренней, внешней устойчивости, планарности, внутренней пол- ноты; раскраска; клика; ядра; изоморфизм; парасочетание; число пересечений; путь; контур; полустепени исхода, захода; локальная степень вершин; задача о коммивояжере
При изучении взаимосвязи между объектами (взаимоотно- шений людей в коллективах, связей в ЭВА, в молекулах, микросхемах и т. и.) исследуемый объект обозначается точками и соединяющими их линиями. Такое изображение объектов ввиду наглядности позволяет определять наиболее существенные связи, находить оптимальное решение задачи, определять ошибки в рас- суждениях и т. д. Объект, состоящий из точек и соединяющих их линий, оказывается удобной моделью, схем ЭВА, и в этой связи представляет интерес исследование'"самого этого объекта. Теория графов оперирует формальными моделями объектов, имеет дело со свойствами самих графов независимо от того, какова природа объектов, описываемых графами. Использование аппарата теории графов для разработки алгоритмов конструк- торского и технологического проектирования схем 4ЭВА приводит к повышению эффективности и качества создаваемых объектов. Понятие графа опирается на понятие множества. Графом можно назвать объект, состоящий из двух множеств: точек и линий, которые находятся между собой в некотором отношении. Множество точек графа обозначается Х—{х1, х2, , х„}, |А'|=тг, и называется множеством вершин. Множество линий, соединя- ющих любые пары вершин, (х;, Xj)eX называется множеством ребер или дуг и обозначается U={u1, и2, и,„}, [U[ = m. Тогда графом можно считать математический объект, который обозначается G=(X, U) и состоит из множества вершин и множества ребер или дуг, находящихся между собой в некотором отношении. В~ обгцемо случае, множество U можно представить в виде U=U\J U\J U, где U—подмножество неориентированных линий, для которых не существен порядок соединения вершин. Под- множество JJ называется подмножеством ребер. Причем каждое ребро щеС определяется неупорядоченной парой вершин х,.у,, которые оно соединяет. Записывается м;=рск, j'J или ц = (уг, хк); U—подмножество ориентированных линии, для которых сущест- вен порядок соединения вершин. Подмножество^ U называется подмножеством дуг. Причем каждая дуга е U определяется упорядоченной парой (кортежем длины два) вершин хк, yt, которые щ соединяет. Записывается = у0. Заметим, что M, = <(xfc, у0 и Uj — ^yt, хкУ — это различные дуги в графе G; U-^подмножество линий, каждая из которых выходит и входит в одну и ту же соответствующую этой линии вершину. Называется U подмножеством петель. Каждая петля и, е U может определяться упорядоченной парой, например вида. = хк~). Граф 6’=(У, U), у которого U, U, U^0, называется смешанным. На рис.~ 1.7_ показан смешанный граф G. Здесь ЙС!.76’ = и=и\^и{^и; U={u2, щ., и2, и9, и10, ик1}; Н2,_М8, м12> мтз}; U={u5’ ив}- Граф G=(X, и), у которого U, a U= 0, называется ориентированным или орграфом. Орграф будем обозначать D = (X, Г).
Рис. 1.7. Смешанный граф G Рис. 1.8. Мультиграф Заметим, что подмножество петель можно рассматривать как ориентированные, так и неориентированные ребра. Обычно всегда оговаривают, когда рассматривается граф с петлями. Граф G, у которого U=U, называется неориентированным графом или неорграфом. Рассмотрим сначала неорграфы с петлями и без петель, которые будем называть просто графами. Граф G, у которого существует хотя бы одна пара вершин, соединяемых т ребрами uyU, называется мулътиграфом, а максимальное т—мульти- числом графа G (те {2, 3, Ребра, соединяющие одну и ту же пару вершин, называются кратными. На рис. 1.8 показан пример мультиграфа (т=4). Если ребро ukeU графа G=(X, U) соединяет вершины XjeX, т. е. uk = (Xi, Xj), то говорят, что ребро ик инцидентно вершинам xi; Xj. Аналогично и обратное: вершины xt, Xj инцидентны ребру ик. Любые две вершины xif XjeX графа G называются смежными, если существует соединяющие эти вершины ребро ukeU, т. е. ик = (хг, х^. Если два ребра ик, щеи инцидентны одной и той .же вершине, то они также называются смежными. Основными способами задания графа G=(X, U) являются геометрический, аналитический и матричный. Основой геометри- ческого способа задания графа является рисунок, дающий изобра- жение графа. Изображение графа в виде рисунка обладает наглядностью, раскрывает содержательный смысл представля- емого объекта, но не формально. Граф называется помеченным, если его вершины отличаются одна от другой различными метками, например х1? х2, хп. Заметим, что для конструкторского и технологического про- ектирования схем ЭВА необходима нумерация элементов. По- этому в дальнейшем будем рассматривать помеченные графы. Рассмотрим аналитический способ задания графа. Граф можно задать в виде G=(X Г), где Г={Гх1; Гх2, ..., Гх„}. Здесь Г -это отображение множества X в множество X. Например, пусть задан граф G=(X Г) (рис. 1.9). Тогда |АЗ = 6, Х={х1г х2, х6}, Г={Гх1, Гх2, ..., Гх6}, х5, х6}.
Гх2 = {^1’ ^з> л'5’Хб Ь х4}, Гх4 —{х3, х5, х6}, Гх5 = {х!, х2, х4}, rx6 = {xj, х2, х4}. Отметим, что для однозначного задания графов достаточно использовать Гхи Гх2, ... Гх„.! и элементы xt, определяющие Гх;, не включать в Гх(+1, в Гх;+2 не включать Xj, xj+j и т. д., в Гх„ , не включать элементы х2, .... х„_2. Для примера (см. рис. 1.9) получим Гх!={х2, х5, х6}, Гх2 = {х3, х5, х6}, Гх3 = {х4}, Гх4={х5, х6}, Гх5 = {0}. Это позволяет экономить па- Рис. 1.9. Граф G мять ЭВМ и исключать избыточную информацию при пред- ставлении графа аналитическим способом. Большинство задач САПР удобно решать при использовании матричного задания графов. Квадратная таблица Л=]|г;^|| называется матрицей смежности, если ее элементы образуются по правилу \ 1, если вершина х, соединена с Xj ребром, т. е. xt смежна с хр, (О в противном случае. Заметим, что для мультиграфа _(д, если вершина соединена с х}д ребрами; l,J [0 в противном случае. Очевидно, что для рассматриваемых неорграфов rLj=rj, и для задания графа можно использовать треугольную матрицу R. Для графа без петель rZ i = 0, для графа с петлями rz;/0. Для графа G (см. рис. 1.9) матрица смежности имеет вид *1 О -«1 х2 R=x3 *5 хб Х2 Х3 Х4 Х5 Х6 10 0 11 0 10 11 0 10 0 0 1 1 0 0 0 Строки и столбцы матрицы R соответствуют вершинам графа G. На пересечении xt строки и Xj столбца ставится элемент rf ,, соответствующий числу ребер, соединяющих вершины xi и Xj. Заметим, что, строки и столбцы матрицы R также можно нумеровать числами натурального ряда, соответству- ющими индексам помеченных вершин графа. Петли в графе изображаются элементами rit, расположенными "по главной диагонали матрицы R.
Преимущество использования матриц смежности—это про- стота и формальность преобразований над графами. Основной недостаток применения матрицы смежности заклю- чается в том, что она занимает память в ЭВМ объема |У|2 даже тогда, когда граф содержит только O(IA'l) ребер. Устранением этого недостатка является представление графа в виде списков. Списком смежности для вершины xt является совокупность всех вершин, смежных с xt. Представление графа в виде списков смежности требует памяти ЭВМ порядка 0(|Х| + |С/|1 В основном таким представлением графа пользуются, когда |С/|<^|Х|2. Для графа G (см. рис. 1.9) список смежности имеет следующий вид: а для треугольной матрицы 2 5 6 3 5 6 4 5 6 О О что рассмотренные списки составлены по наличию Заметим, ребер, соединяющих вершины. Списки могут составляться также по отсутствию связей (по умолчанию). Прямоугольная таблица вида 1= ||zftл ||пх|я называется матрицей инцидентности, если ее элементы образуются по правилу J 1, если вершина хк инцидентна ребру Up, 10 в противном случае. рис. 1.9) примет вид ! Матрица инцидентности для графа G (см. «1 и2 «3 «4 «5 «6 «7 «8 *1 1 1 0 0 0 0 1 0 0 *2 1 0 1 1 0 0 0 1 0 1=х3 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 0 0 0 *6 0 0 0 0 0 0 1 1 1 Строки матрицы I соответствуют вершинам графа, столб- цы—ребрам, а элемент ik t указывает на инцидентность вершины
Рис. 1.11. Граф Gs, двойственный гра- фу G (рис. 1.10) хк и ребра щ. В каждом столбце матрицы I расположено по две единицы, так как каждое ребро соединяет ровно две вершины. При наличии в графе петель соответствующие им столбцы в матрице I будут иметь по одной единице, так как петля соединяет только одну вершину графа. Определим смежностный (двойственный) граф GS = (U, V) для графа G = (X, U\ Вершинами Gs являются ребра G, а ребрами Gs—пары (и,-, и}). Причем ребро Kfc=(nf, ид соединяет вершины мг, Uj графа Gs, если ребра щ, Uj в графе G имеют общую вершину. Для построения Gs по G на каждом ребре щ е U графа G выбирают среднюю точку и считают ее вершиной щеи графа Gs. Затем пару (и£, щ) соединяют ребром И=(и;, и^, если ребра щ, щ имеют общую вершину в G. На рис. 1.10 показан граф G и на рис. 1.11—его двойственный граф Gs. Следует отметить, что существуют различного рода матрицы и списки, производные от R и I, которые используются при записи алгоритмов конструкторского и технологического проек- тирования ЭВА. Граф G называется конечным, если множества его вершин и ребер—конечные множества. Далее будем рассматривать конечные графы, так как схемы ЭВА, представляемые графами, состоят из конечного числа элементов. Граф G, у которого Х#0, а (7=0, называется нулъ-графом, а его вершины—изолированными. Обозначается он Go. Граф и), IXj — n называется полным, если между любой парой вершин хл, XjeX имеется ребро ukeU. Обозначается он К„. Число ребер, инцидентных вершине хлеХ графа G, называется локальной степенью этой вершины и обозначается р(х). Тогда число ребер графа G=(X, U), |Х|=и, \U\ = m, m=tp(*i)l2- i=l
Заметим, что если в графе имеются петли, то каждая из них должна считаться дважды. Так как для полного графа на п вершин р(х1) = р(х2)=... =р(хп), то т = п(п—1)^2. (1-1) Заметим, что в графе каждое ребро соединяет две вершины и, следовательно, число вершин нечетной степени четно. Графы, у которых все вершины имеют одинаковую локальную степень, называются регулярными. Число ребер регулярного графа с локальной степенью р(х£) вершины xt m=i-np(xi). (1.2) Подграфом графа G называется граф, у которого все вершины и ребра принадлежат G, т. е. G' = (Х', V), подграф G=(X, U), если X’ с X, U' с и и ребра U' соединяют только вершины X'. Удаление из графа G=(X, U) вершины xt со всеми инцидентными ей ребрами приводит к подграфу G"=(X", U"), Х’^ХХ^. На рис. 1.12—1.14 показаны граф G = (X, U) и два его подграфа, <7Х =(JV15 C/Jh G2=(X2, U2), где |X| = 7, |C| = 10, Х={хг, x2, ..., x7}, U={ul, u2, ..., m10}; |A\ | = 3, | t/j | = 3, Xt = {x13 x2, x4k t/1 = {zr1, u7, мб); 1^21 = 5, |CZ2| = 6, X2 = {x2, x3, x5, x6, x7j, U2 = (u2, u3, u4, u8, m9, w10}. Заметим, что подграф Gr можно получить, удалив из G вершины х3, х5 — х7 с инцидентными им ребрами, а подграф G2, удалив из G вершины х15 х4 с инцидентными им ребрами. Суграфом G'=(X', U') графа G = (X, U) называется граф, для которого Х' = Х, U' с и. Граф G называется дополнением графа G до полного, если он состоит из всех ребер полного графа К, не принадлежащих G, G = K\G. На рис. 1.15 показан суграф графа (см. рис. 1.12). На рис. 1.16 приведено дополнение графа G (см. рис. 1.12) до полного графа К7. Маршрутом в графе G = (X, U) называется некоторая конечная последовательность ребер вида S=(x0, xj, (xt, х2), ..., (х^, X,), где х0, xt— соответственно его начальная и конечная вершины. Очевидно, что в конечном графе G можно выделить только конечное число маршрутов. Число ребер в маршруте S' называется его длиной. Существует простой способ определения маршрутов длины q по матрице R графа G путем возведения ее в q-ю степень.
Рис. 1.15. Суграф графа G (рис 1.12) Рис. 1.16. Дополнение графа G (рис. 1.12) до полного графа К-, Например, пусть задана матрица R графа G (рис. 1.17): 1 R=2 3 4 12 3 4 0 110 10 0 1 10 0 1 0 110 Возведем ее в квадрат: 1 R2 = 2 3 4 12 3 4 2 0 0 2 0 2 2 0 0 2 2 0 2 0 0 2 Каждый rt 3 элемент R2 равен числу маршрутов длины 2, ведущих из вершины x-t в Xj. Например, г32=2 означает, что в графе два маршрута длины два: £1=(хз, xt), (xj, х2); S2=(x3, х4), (х4, х2). Возведение матрицы в степень производится путем поэлементного пере- множения строки на столбец с суммированием полученных сомножителей. Маршрут, в котором нет повторяющихся ребер, называется цепью. Замкнутая цепь, в которой х0 = хг, называется циклом. Соответственно цепи и циклы называются простыми, если они ₽ис. 1.17. Граф G Рис. 1.18. Граф G, состоящий из четырех компонентов связности G3, G2, G3, G4
не содержат повторяющихся вершин, кроме, разумеется, первой и последней в случае цикла. В графе G (см. рис. 1.12) Si=(xi, х2), (х2, х3), (х3, х5), (х5, х2), (х2, х4) -маршрут, S2=(x1, х2), (х2, х3), (х3, х5), (х5, х2) —цепь, Х3=(л-5, х2), (х2, х4), (х4, X,), (хх, х2), (х2, х3), (х3, х5) —цикл, S4=(x1, х2), (х2. х3), (х3, х7), (х7, х5) —-простая цепь, S5=(xt, х2), (х2, х3), (х3, х7), (х7, х5), (х5, х6), (х6, х4), (х4, х,)—простой цикл. Две произвольные вершины xh XjeX графа называются связными, если существует маршрут S, в котором концевыми будут вершины х{, Xj. Граф G называется связным, если любые две его вершины связаны. В противном случае G не связен, а каждый из составляющих его подграфов Gk, G2, , Gt называ- ется компонентом связности. Из определения связности следует, что в связном графе G вершина х,- связана сама с собой; если хг связана с х7, то х7- связана с х;; если xf связана с х;-, а х^ связана с хк, то и х,- связана с хк (х,, Xj, хкеХ). Следовательно, отношение связности является отношением эквивалентности. В этом случае множество вершин X графа G = (X, U), который моделирует схему РЭА или ЭВА, можно разбить на непересекающиеся классы х,, причем ребра графа будут соединять только вершины внутри этих, классов. Таким образом получим разбиение графа G на связные подграфы (компоненты связности) Например, графы, изображен- i=l ные на рис. 1.12 -1.17, связные, а граф на рис. 1.18 состоит из четырех компонентов связности G1 — G4, т. е. не связен. Заметим, что связный граф состоит из единственного компонента связности. Если граф имеет несколько компонентов связности, то он не связен, так как вершины из разных компонентов связности нельзя соединить маршрутом. При конструировании схем ЭВА и РЭА часто надо знать, какое наименьшее число связей необходимо удалить из схемы, чтобы она перестала быть связной. Если вершины связного графа G = (X, U) разбить_ на два подмножества X' и А",где X', X' с: X, Х' = Х\Х', X'\JX' = X, то подмножество ребер U' с: U, у которых одни концевые вершины принадлежат X', а другие X' называют разрезом графа G. Подграф G'=(Х, U\U'), получен- ный из G удалением ребер разреза, будет несвязанным графом, состоящим по крайней мере из двух компонентов связности. Множество ребер U" с U, удаление которых дает несвязный подграф G = (X, U\U") и не существует подмножества U'<^U", такого, что G" = (X, U\ U'), несвязен, называют правильным раз- резом. Из определения следует, что правильный разрез разбивает G точно на два компонента связности. В .этом случае разрез будет определяться как объединение правильных разрезов. На
рис. 1.19 показан пример разреза в графе G = (X, U). Разрез показан штриховой линией. Правильными раз- резами будут следующие подмножества ребер: *б)> (*4, *6), (-Х4, 6^2 I (Х4, X1OJ, (х5,Х1о)}, у3 = {(х5, X12)}, 1'4 = {(х5, Xis)}, а разрез - За- метим, что разрез в графе всегда существует. Триви- альными разрезами G яв- Рис. 1.19. Пример разреза в графе G =(Х, U) ляюгся U'=U и U' = 0. Если разрез состоит из одного ребра <= U, то щ называется перешейком или мостом. При решении задач САПР важное значение имеют графы специального вида—эйлеровы и гамильтоновы. Связный граф G=(X U) называется эйлеровым, если существует замкнутая цепь (цикл), проходящая через каждое его ребро только один раз. Граф называется полуэйлеровым, если существует незамкнутая цепь, проходящая через каждое ребро графа только один раз. Конечный граф G является эйлеровым, если он связен и все его локальные степени четны. Если эйлеров цикл Сэ существует, то, проходя по его ребрам, можно нарисовать эйлеров граф на бумаге, не отрывая карандаша. На рис. 1.20 —1.22 показаны неэйлеров, полуэйлеров и эйлеровы графы. Порядок обхода полуэйлерова и эйлерова графов показан стрелками. Например, граф G (см. рис. 1.21) пе является эйлеровым, так как степени вершин xt х—нечетны. Граф G (см. рис. 1.18) также не является эйлеровым, так как он не связен, хо~я его компонент G2 является эйлеровым графом. Рис. 1.20. Неэйлеров граф Рис. 1.22. Эйлеров граф Рис. 1.21. Полуэйле- ров граф
Заметим, что связны граф Gявляется полуэйлеровым, когда в нем не более двух вершин имеют нечетные локальные степени. Причем одна из этих вершин будет начальной, а другая—конечной. Запишем алгоритм Флери построения Сэ в связном графе G=(X, U), локальные степени которого четны. 1°. Выбирается произвольная вершина xt, /е/={1, 2, ..., и} (для простоты часто выбирают вершину х3). 2°. Определяется произвольное ребро (xt, Xj) j=£i, jel, инци- дентное вершине х(, ему присваивается номер 1. Это ребро заносится в список Ьэ и вычеркивается из графа G. 3°. Рассматривается вершина Xj, если есть возможность дру- гого выбора, не выбираются ребра (х-, хг) и ребра, являющиеся перешейками. Выбирается ребро (х7, хк), ему присваивается номер 2, оно заносится в список L3 и вычеркивается из G. 4°. Производится проверка |£э|=ш. Если да, то переход к 5°, если нет, то п. 3° алгоритма повторяется для вершин хь, ..., х„. 5° . Построен зйлеров цикл Сэ, конец работы алгоритма. На рис. 1.22 стрелками показан пример работы алгоритма Сэ=(х,, х2), (х2, х6), (х6, х3), (х3, х2), (х2, х4), (х4, х5), (х5, х3), (х3, xj. Цикл, проходящий по всем вершинам графа G один раз, называется гамильтоновым, a G называется гамильтоновым графом. Например, граф G (см. рис. 1.19) не имеет гамильтонова цикла (ГЦ), а граф G (см. рис. 1.20) имеет Сг = (х15 х3), (х3, х4), (х4, х5), (х5, х2), (х2, Xj). В отличие от эйлеровых циклов (ЭЦ) для ГЦ неизвестен общий критерий существования. В основном известны только теоремы, дающие достаточные условия существо- вания ГЦ. Теорема 1.1. Если в графе Gen вершинами для любой пары несмежных вершин х;, Xj р(х,) + р(х^н, то G имеет гц. Из теоремы следует результат Дирака, что граф имеет IЦ, если для каждой его вершины p(xt)^^n. Введем понятие жордановой кривой и приведем один из вариантов теоремы Жордана. Жордановой кривой на плоскости называется непрерывная кривая, не имеющая самопересечений. Соответственно замкнутой жордановой кривой называется жорда- нова кривая, начало и конец которой совпадают. Теорема 1.2 (Жордана). Если У— замкнутая жорданова кривая, а х,, Xj две различные точки, расположенные на ней, то любая
Рис 1.23. Пример соединения вершин Х{ и Xj, где Pj— точка пересечения ребер (х2, х3) и (х„ х;) Рис. 1.24. Пример гамильтонова псев- доцикла: Х2> Х3’ Х4' XS< Х6> х1, х8> х1) С„„ = (.х1. жорданова кривая, соединяющая и хр должна лежать целиком внутри & или вне (за исключением точек xt, Xj) или пересекать £? в некоторой точке, отличной от точек xf, х^. Если вершины графа G = (X, U) расположить так, чтобы ГЦ представлял собой самонепересекающуюся кривую, аналогичную замкнутой жордановой кривой, то ГЦ разделит плоскость на две области —внутреннюю и внешнюю. Естественно, что внут- ренняя и внешняя области взаимно обратимы. Вообще говоря, согласно теореме 1.2 любой простой цикл, расположенный на плоскости, разбивает ее на внешнюю и внутреннюю области. Причем если имеются две вершины xt (расположенная во внутренней области) и Xj (расположенная во внешней области), то соединить их ребром без пересечения ребер цикла или прохождения через вершины цикла невозможно. Пример такого расположения вершин графа показан на рис. 1.23. Здесь и далее под пересечением понимается соединение двух ребер графа в точке, не соответствующей никакой вершине. Если множество вершин графа G = (X, U) расположить на предполагаемой замкну- той самонепересекающейся кривой, то ребра, соединяющие сосед- ние вершины графа, образуют гамильтонов псевдоцикл (ГПЦ), содержащий как ребра щеи, так и фиктивные ребра й^и, которые на самом деле отсутствуют. Например, ГПЦ показан на рис 1.24. Здесь Crnn=pq, х2) (х2, хЛ (х3 х4), (х4, х5), (х5, х6|, Иб, *7), И7, хе), (хв> *г)}, = *2), «3 = (*3, Х4), Н5=И5=Лб)> w7 = (x7, х8)—существующие ребра, а фиктивными ребрами яв- ляются й2, й4, й6, йв. Очевидно, что полный граф всегда содержит ГЦ. Связный граф без циклов называется деревом и обозначается Т={Х, U), |У| = н. Любое дерево Т имеет п— 1 ребро. Начальная вершина называется корнем, из которого выходят ребра—ветви Дерева. Очевидно, что в дереве любые две вершины х;, х} связаны единственной цепью. В любом связном графе G можно
Рис. 1.25. Пример всех 16 покрываю- щих деревьев гра- фа К4 выделить произвольное дерево Т. Для задач конструкторского и технологического проектирования ЭВА наибольший интерес представляют деревья, у которых число вершин равно числу вершин графа, из которого выделено это дерево. Такие деревья называются покрывающими (ПД) или остовными. Теорема 1.3. (Кэли). Число t покрывающих деревьев в полном графе К„ составляет t=nn~2. (1.3) На рис. 1.25 показаны 16 ПД графа К4. Множество деревьев графа называется лесом. На рис. 1.26 показан лес, состоящий из четырех деревьев 7\ - - Г4. Задачи выделения эйлеровых и гамильтоновых циклов и по- крывающих деревьев связаны с задачами о лабиринте, комми- вояжере и с построением цепей, циклов, маршрутов минимальной стоимости. Задача о лабиринте в терминах теории графов формулируется как задача отыскания в связном графе G = (X, U) такого маршру- та, который начинается в заданной вершине xteX и приводит
в искомую вершину XjeX, причем маршрут должен содержать кратчайшее число ребер. Пусть нам необходимо проложить сеть проводов, связывающих и терминалов вычислительной аппаратуры, причем так, чтобы из одного терминала можно было связаться с любым другим. Если из экономических соображений требуется, чтобы количество затраченного провода было минимально, то граф, вершины которого соответствуют терминалам, а ребра—соединяющим их проводам, должен быть деревом. Задача состоит в определении одного из и"-2 возможных деревьев, соединяющих терминалы, с минимизацией числа проводов. На языке теории графов эту задачу можно сформулировать следующим образом. Пусть G=(X, U) Связный граф и каждому ребру u,eU ставится в соответствие некоторое неотрицательное число v(l7), называемое его мерой или весом. Необходимо найти алгоритм построения покрывающего дерева Т, у которого сумма мер, взятая по всем ребрам m I v(^) =min. Такие деревья будем называть кратчайшими покрывающими деревьями i=i (КПД). Графы с весами на ребрах или вершинах будем называть взвешенными. Приведем ЛСА Краскала решения данной задачи: I2!1 Л2Р1 f1 р212 Лк, здесь Ас- -оператор начала; At - оператор, устанавливающий 1=1; А2— оператор, выбирающий ребро щ с наименьшим весом; р х — проверка логического условия несовпадения ребра щ с предыдущими и необразования цикла с предыдущими ребрами. При pt=0, i=i+l переход к А2, при р1 = \ переход к р2; р2 -проверка логического условия, мощность выбранных ребер равна п— 1. При />2=0, z=z+l переход к А2, при р, = 1 переход к Л4; —оператор конца алгоритма.
Рис. 1.27. Пример графа G Рис. 1.28. Граф Gr—координатная ре- шетка (л, 1=2,3) Опишем алгоритм Прима построения КПД на взвешенном по ребрам графе. Алгоритм основан на разрастании поддеревьев. Дерево Т'=(Х', U1) является поддеревом Т=(Х, U), если X X, U' е U. Причем поддерево Т' может состоять и из одной вершины х'еХ'. Поддерево Т' последовательно разрастается за счет прибавления ребер (хг, хД (х^Т, х^Т'\ Каждое добавля- емое ребро должно иметь наименьший вес. Процесс продолжается, пока число ребер в Т' не станет равным л —1. Работу алгоритма покажем на примере графа G (рис. 1.27). Выбираем вершину х, и считаем ее на первом шаге поддеревом Т'={Х', U'), X'={%!}, U'=0. Строим упорядоченный список ребер, инцидентных вершине л:,. Упорядочивание производится по возрастанию веса ребер. Из списка выбирается ребро* (1,2). Производится разрастание поддерева Т=(А", U'), Х'={х1,х2], С"={(1,2)}. В список L вносятся ребра, инцидентные вершине х2. После этого ребра снова упорядочиваются и список примет вид ui v(ui) (2,4) 7 (1,3) 8 (2, 5) 10 (1,5) 37 Выбирается ребро (2,4) с наименьшим весом и добавляется к поддереву Т, если оно не образует цикла с ребрами Г. Остальные ребра, объединяющие вершины X' между собой, удаляются из L; Х'={х2, х2, х3}, [/' = {(1,2) (2,4)}. Проверяется |Х'|=|Х|, если нет, то выбирается вершина х4 и ребра, инцидентные ей, пополняют список L: Имеется в виду ребро (х1( х2).
ui v(ui) (4,3) 3 (1,3) 8 (2, 5)' 10 (4,5) 11 (4, 6) 20 (1, 5) . 37 Продолжая, получаем [/' = {(1,2) (2,4) (4,3) (2,5) (5,6)}, | A'| = |A''|, процесс n~ 1 окончен, J} v(h,)=32. На рис. 1.27 КПД показано жирными линиями. i=l Алгоритмы построения покрывающих деревьев с минимальной суммарной длиной ребер на взвешенных графах основаны на двух принципах: каждая изолированная вершина соединяется с ближайшей соседней; каждое изолированное поддерево соединяется с ближайшей соседней вершиной (или поддеревом) кратчайшим ребром (или цепью). Рассмотрим метрику и основные числа графов. Метрика графа основана на понятии расстояния. Расстоянием* d(xt, х,) между вершинами xt, XjGX графа G = (X, U) называется длина кратчайшей цепи, соединяющей эти вершины. Под длиной цепи понимается число входящих в нее ребер. Функция t/(x;, Xj), определенная на множестве ребер графа G, называется метрикой графа. Функцию расстояний для графа G удобно задавать матрицей расстояний D = |l *4,Д|П х и или ее списком. Элемент матрицы определяется следующим образом: , )0, если х;=х;, и- —\ 1 J 1,1 ]di,j, если xt^Xj. Для графа G (см. рис, 1.20) матрица расстояний имеет вид 1 2 3 4 5 1 0 1 1 2 1 2 1 0 2 1 1 D=3 1 2 0 1 1 4 2 1 1 0 1 5 1 1 1 1 0 Список расстояний ^можно записать в виде множества, состоя- щего из кортежей длины три: * Для простоты будем также использовать обозначение dt j.
Ьл = {<1, 2, 1>, <1, 3, 1>, <1, 4, 2>, <1, 5, 1>, <2, 3, 2>, <2, 4, 1>, <2, 5, 1>, <3, 4, 1>, <3, 5, 1>, <4, 5, 1». Первый элемент в кортеже соответствует вершине xt графа, второй элемент—вершине х^, а третий элемент кортежа — расстоянию dtj. Если известны расстояния между любой парой вершин графа, то можно определить его диаметр d (G) как максимальное расстояние между его вершинами: d(G)—maxditj, i,/e/={l, 2, ..., n}. Для задач САПР представляет интерес нахождение функции расстояний для графов Gr частного вида, называемых координат- ной решеткой.я В графе Gr=(Xr Ur) множество вершин Хг соответствует узлам решетки (сетки), а множество ребер Ur — горизонтальным и вертикальным отрезкам, соединяющим узлы решетки. Пример графа Gr, т. е. координатной решетки, показан на рис. 1.28. Расстояние между двумя смежными вершинами в Gr, называемое шагом решетки, будем считать равным единице. Расстояние dit} между двумя произвольными вершинами в G,. можно определить по формуле di.j = \si-sj] + \ti-tj\, (1.4) где st, Sj и tf, tj —координаты вершин х;, XjeX. Обычно задаются размеры решетки рх q, где р — число узлов решетки по оси s, a q -по оси t. Например, для графа Gr (см. рис. 1.28) расстояние ^<6,10) = 15б—’’io 1 + 1 z6~Go 1 = |0—2|+| 1 — 31=4, т. е. из вершины х6 необходимо пройти четыре ребра Gr, чтобы попасть в л10. Если произвольный граф G отображается в Gr так, что любые вершины G размещаются в узлах решетки, то расстояние между вершинами G определяется как расстояние между соот- ветствующими узлами решетки. Если расстояние dtj определять как длину кратчайшей прямой, соединяющей вершины xt, xj} то di,j = y/\Si-Sj|2 +1 ti-tj|. (1.5) Заметим, что первый способ определения dij проще, так как при этом d^ принимает только целочисленные значения. Любой граф G может быть отображен в решетку Gr. Для подсчета суммарной длины 1(G) ребер графа G = (X, U), отображенного в решетку Gr, введем понятие матрицы геометрии Dy. Матрица геометрии Dy представляет собой часть матрицы расстояний D, в которой исключены элементы di}, если вершины xt, XjGX не смежны в графе G. Для построения матрицы
геометрии Dy графа G необходимо каждый элемент матрицы D умножить на соответствующий элемент матрицы смежности R: Dy = || cfi j ||„ x Например, граф G без учета весов ребер (см. рис. 1.27) отобразим в решетку Gr размера 3x2 (рис. 1.29). Матрицы R и D графа G (рис. 1.27) примут вид Сумма элементов матрицы Dy определяет удвоенную суммар- ную длину ребер графа G при данном отображении его в решетку Gr. Для рассмотренного примера суммарная длина ребер графа £(С) составляет 13 условных единиц. При другом отображении графа в решетку суммарная длина £(С) изменяется, хотя в частном случае может совпадать с предыдущим значением. Заметим, что алгоритмы САПР упрощаются при использова- нии таких числовых инвариантных характеристик графа, как числа цикломатическое, хроматическое, внутренней и внешней устойчивости и др. Наименьшее число ребер, которое необходимо удалить из графа G, что- бы он стал ациклическим (деревом), называется цикломатииеским числом графа. Для графа G = (X U), | X | = и, I U | = т, цикломатическое число у(С) = ш—п+к, (1.6) где к—число компонентов связности графа. Величину р(С) = п—к называ- ют коцикломатическим числом. Тогда у(С) = ш-р(С). Рис. 1.29. Отображение графа G (рис. 1.28) в Gr
Циклы, получаемые добавлением какого-нибудь ребра из графа G к ребрам дерева и отличающиеся один от другого хотя бы одним ребром, называют фундаментальными циклами. Очевидно, для графа, состоящего из одного компонента связ- ности, у (G) = т — п +1. Например, для графа G (см. рис. 1.27) y(G)=9—6+1=4, т. е. после удаления четырех ребер он становится деревом. В примере это могут быть ребра (х3, х3), (х3, х5), (х4. х5), (х4, х6). Тогда получим дерево Т, выделенное жирным шрифтом. Заметим, что цикломатическое число графа не зависит от ориентации и формула его определения справедлива для мульти- графов. Из определения y(G) следует, что оно может быть только положительным или равным нулю. Граф (мультиграф) не имеет циклов тогда, и только тогда, когда y(G) = 0. Очевидно, что граф (мультиграф) имеет единственный цикл тогда, и только тогда, когда y(G)=l. Цикломатическое число y(G) показывает только число ребер, которые необходимо удалить из графа. Для получения конкретных ребер необходимо каждый раз удалять ребро, которое разрушает хотя бы один “цикл. Матрица Rc = ||г;, jll?(G)xm> состоящая из y(G') строк и т сто- лбцов, называется матрицей фундаментальных циклов, если с J 1, если ребро Uj принадлежит циклу ср, ‘,J [Ов противном случае. Для графа G (см. рис. 1.27) матрица 7Ц «2 м3 М4 U5 Url U8 U9 (Xi, x2)(x,, x3) (xt, x5) (x2, x4) (x2, x5) (x3, x4) (x4, x5) (x4, x6) (x5, x6) 1 0 1 0 1 0 0 0 0 1 10 10 10 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 1 Раскраской вершин графа называется разбиение множества вершин X на I непересекающихся классов (подмножеств): Xv, Х2, Хр, Х= и Хр Xl(^Xj = 0; i, jel={l, 2, ..., /}, i= 1 таких, что внутри каждого подмножества не должно содержаться смежных вершин. Если каждому подмножеству Xi поставить в соответствие определенный цвет, то вершины внутри этого подмножества можно окрасить в один цвет, вершины другого подмножества Xj—в другой цвет, и т. д. до раскраски всех подмножеств. В этом случае граф называется /-раскрашиваемым. Наименьшее число подмножеств, на которое разбивается граф при раскраске, называется хроматическим числом %(G).
Очевидно, что полный граф К можно раскрасить только и цветами, следовательно, X (К„) = п. Для связного графа G = (X, U) с (и — 1)^т^п(п —1)/2 верхняя оценка хроматического числа 3+^9+8(и1—и) Известно утверждение, что для любого графа хроматическое число превышает максимальную локальйую степень вершины не более чем па единицу, т. е. х(6)<1+гпахр(х,), xfel, 2, ..., п}. Если известно число вершин в наибольшем полном подграфе Ki графа G, то х(^)= (1-8) где и,- —число вершин в подграфе Kt. Известны еще такие оценки [40]: и2 и2 — т2’’ х(0 (1.9) %(б)^«+1-%(<7), (1.10) где х(С)—хроматическое число графа G = K\G. Хроматическое число обычно определяют аналитически с по- мощью методов линейного программирования. Рассмотрим один из возможных методов определения х(<т), равного q. Будем считать, что 1, если вершина х - окрашена цветом р ^•,₽ = 5 (Р=1> 2> -> ^); 0 в противном случае. Пусть (1, если вершина х- инцидентна ребру п(; i л л [0 в противном случае. Тогда можно составить следующую систему линейных соот- ношений: ч Z ^.р-1, 2=1,2, ...,«, р= 1 и X Z=l, 2- ...,m, k=l P=l, 2, ...,q. (1-И) (1-12) (1-13) 51
Рис. 1.30. Граф G Рис. 1.31. Двудольный граф G — = (^0^2, «) Первая система п уравнений говорит о том, что каждая вершина окрашена только одним цветом из множества всех цветов. Система неравенств показывает, что любые две смежные вершины графа не должны быть окрашены одним цветом. Каждому способу раскраски вершин графа q цветами (при обязательном условии разноцветности смежных вершин) со- ответствует' сиетема целых чисел ^>р, удовлетворяющая ус- ловиям (1.11)—(1.13), и, наоборот, каждому целочисленному решению системы (1.11)-—(1.13) соответствует один из способов раскраски. Наименьшее q, для которого система (1.11)—(1.13) имеет целочисленное решение, будет искомым хроматическим числом графа. Опишем последовательный метод раскраски графа G=(X, U). Сначала составляется упорядоченный в порядке убывания степеней вершин список. Первая вершина удаляется из списка, окраши- вается в цвет 1. Просматривая список, в цвет 1 раскрашиваются и удаляются из него все вершины, не смежные с первой выбранной и между собой. Далее выбирается первая вершина из списка, она окрашивается в цвет 2 и удаляется. Процесс продолжается, пока не будут окрашены все вершины. Например, пусть задан граф G, показанный на рис. 1.30. Построим список Х3 Х2 Х4 Л5 .V7 Xj х6 р(х;) 5 4 3 3 3 2 2' Вершины х3, х4 окрашиваем в цвет 1 и удаляем из списка. Получаем новый список х, х2 х5 x-f хь р (.V, ) 4 3 3 2 2' Вершины х2, х6 окрашиваем в цвет 2 и удаляем из списка: Л'; Х5 Х2 Xj P(xj) 3 3 2 Вершины х5, х7, Xj окрашиваем в цвет 3. На этом процесс окончен, так как раскрашены все вершины графа.
Отметим, что такого типа последовательные методы могут давать плохие результаты раскраски при быстром получении результата. Существует много модификаций последовательных алгоритмов, 'связанных с переупорядочиванием списков после удаления вершин, анализа вершин с одинаковой локальной степенью и выбора из них вершин, через которые проходит большее число маршрутов, и т. п. Временная сложность таких алгоритмов составляет величину О (кп)~-О (кп2). Важное практическое применение имеет частный вид «-рас- крашиваемых графов—двудольные (дихроматические) графы. Обо- значается двудольный граф Gn,n=(Xl, Х2, U). Причем ХА (J (J Х2 = X, Х\ П Х2 = 0, а ребра U соединяют только подмножества Хг и Х2 между собой. На рис. 1.31 показан пример двудольного графа G = (A\, Х2, U), |У1| = 3 = «1, |У2| = 2 = «2, = х2, *з}> -^2 —{*4’ Хз}- Граф К„ , „ называется полным двудольным, если любая вершина смежна с каждой вершиной х}еХ2 и наоборот (i—1, 2, ..., j—n^ +1, л1+2, ..., п2). Например, при добавлении к графу Gn , „ (см. рис. 1.31) ребра (х3, х4) он становится полным двудольным графом. Очевидно, что в графе G = (A\, Х2, U) подмножество Хг можно раскрасить одним цветом, а подмножество Х2—другим. Число ребер т графа Кп , „ определяется выражением т = п1-п2. При разработке алгоритмов конструкторского и технологи- ческого проектирования ЭВА часто возникает необходимость определения двудольности произвольного графа схемы или выде- ления максимальных непересекающихся двудольных частей. Теорема 1.4. Граф G является двудольным тогда, и только тогда, когда он не имеет простых циклов нечетной длины. Рассмотрим теперь число внутренней устойчивости. Если две любые вершины подмножества X' графа G = (X, U), X' с X, не смежны, то оно называется внутренне устойчивым. Подмножество £ X графа G = (X, U) называется максимальным внутренне устойчивым подмножеством (МВУП) или независимым (НП), если добавление к нему любой вершины хуХ делает его не внутренне устойчивым. Подмножество будет независимым, если Ух£бф;(Гх1П'|/1 = 0). (1.14) Независимые подмножества различаются по числу входящих в них элементов. В произвольном графе G можно выделить семейство всех НП вида ф = {ф!, ф2> •••> 'к}- Независимые подмножества, содержащие наибольшее число элементов, на- зываются предельными. Тогда число внутренней устойчивости т](<т) определяется мощностью предельного НП q(G) = |max\[/i|. '1'16'1'
Число внутренней устойчивости r](G’) можно связать с хрома- тическим числом х(С) следующим образом: T](G)x(G’)^n. Рассмотрим вопросы построения семейства независимых под- множеств на основе матрицы смежности или ее списка. Идея алгоритма построения семейства ф=[ф15 ф2, —, Ф/} заключается в следующем. В списке смежности графа G определяется строка, имеющая наибольшее число элементов. Если таких строк не- сколько, то выбирается любая. Для определенной строки i за- писывается элемент С, = (х,-+хк xt ... • х2) *. Здесь xt — вершина графа, соответствующая выделенной строке z, а хк, х1г ... ..., xq — вершины, смежные с х;. Далее в списке смежности исклю- чается строка z, а также элементы с индексом i из всех оставшихся строк списка. Указанная операция соответствует выделению из графа G звездного подграфа с вершиной х;. В списке снова определяется строка j с наибольшим числом элементов и за- писывается элемент Cy=(xj+x1-х2 •...'xj. Далее процесс вы- полняется аналогично до тех пор, пока в списке для оставшихся строк не будет содержаться ни одного элемента. Затем со- ставляется произведение П = С;- Cj-... • Ск, в котором раскры- ваются скобки, ^и в полученной сумме выполняется минимизация с учетом выражений х” = х, Xf+Xi+.-.+x—Xi; х;+1 = 1. Для выделения семейства ф необходимо в выражении, полученном после минимизации, для каждого элемента суммы найти не включенные в него вершины графа, которые образуют макси- мальные НП. Работу алгоритма покажем на примере графа G (см. рис. 1.30). Запишем список смежности графа в виде 1 2 3 Rl = 4 5 6 7 2, 3 1, 3, 5, 7 1, 2, 5, 6, 7 5, 6, 7 2, 3, 4 3, 4 2, 3, 4 В списке Rl выделим третью строку, которая содержит наибольшее число элементов. Удалим ее из списка и число 3 из остальных строк списка. Запишем элемент C3=[x3+xJ-x2x5-x(:-x1). Получим новый список 1 2 R' — Rl-5 6 7 2 1, 5, 7 5, 6, 7 2, 4 4 2, 4 Здесь «+»—операция дизъюнкции, «•»—операция конъюнкции
В списке Ri. определяем четвертую строку, записываем С4=(х4+х5-х6-х7). Получаем список 1 2 Rt=5 6 7 2 1,5,7 2 О 2 Определяем вторую строку и записываем С2=(х£+х7-х5-х7). Получаем список На этом процесс преобразования списка смежности заканчиваем. Формируем произведение n=C3C4C2=(x3+x1x2xs-x6x7)(x4+xsx6x7)(x2+x1x5x7). Раскрывая скобки и выполняя минимизацию, получаем П=Х2 'Х3 ’Х4 + Х2 -Х3 -Х5 ’Х6 Х7+Х7 -Х3 ’Х4 -Х5 -X-y+Xj -х3 -х5 -х6 х7+х7 -х2 х X Х$ ' Xg Xrj. Запишем П в виде П = Х1 +/l2 + /l3 4-/l4 + /l5. Представляя вместо каждого дизъюнктивного элемента в П его инверсию, т. е. записывая отсутствующие вершины графа, получаем n=Xj х5 -х6 -х7+х, -х4+х2 -х6+х2 -х4+х3 -х4. Получено семейство максимальных независимых подмножеств (МНП) для графа G (см. рис. 1.30): Ф = {Ф1, Фг, Фз, Ф5}, = *5, х6, х7}, ф2 = {х15 х4}, ф3 = {х2, х6}, ф4 = {*2, х4}, ф5 = {х3, х4}. Число внутренней устойчивости равно мощности наибольшего из семейства МНП. Для графа G (см. рис. 1.30) ц (G)=|Ф11=4. Методика определения МНП используется для раскраски вершин графа G. При этом для каждой вершины xteX определяется отсутствие вхождения в элементы в произведении П. В рассматриваемом примере графа (см. рис. 1.30) имеем xitKi> ^2> x3£Ks', х^фК-2, К4, К5; х5$К\; х6фК1г К3', х7^Л'1. Затем составляется новое произведение П'=(К2 + К2) (/С3+) Ks (К2+Х4+Ks) К. • (Кt+К3) К,. В выражении П' раскрываются скобки и выполняется минимизация. После этого получаем n=/C1/C3/Cs+/C1X4/C5. Тогда граф G (см. рис. 1.30) можно раскрасить двумя способами тремя красками. В первом способе К1г т. е. вершины х7, х5, х6, х7, раскрашиваются первой
краской, X3\X, = {x2, х6}\{%1, х5, х6, х7} = {х2} и вершина х2 раскрашиваются второй краской, К5\K3\Kt = {x3, х4}\{л2, х6}'{х2, х5, х6, х7} = {х3, хл} и вершины х3, х4 раскрашиваются третьей краской. Из рассмотренного алгоритма и примера следует, что рас- краску можно интерпретировать как разбиение всех вершин графа на независимые подмножества. Если бы граф имел систему МНП, состоящих из различных вершин, то раскраска соответ- ствовала бы покрытию вершин G системой МНП. Но одни и те же вершины графа могут принадлежать различным МНП. В этой связи существует конечное множество различных до- пустимых раскрасок, так как вершину, принадлежащую разным МНП, можно окрасить в разные цвета. Если получено семейство МНП, то можно построить матрицу f 1, если х,еф=, М = ||ШЛ d|„xw, где 'ИМ= П ’J п w [ 0 в противном случае; w—число МНП в семействе ф. Тогда задачу раскраски сводят к нахождению наименьшего числа столбцов, покрывающих все ее строки единицами. Например, для графа G (см. рис. 1.30) матрица Vi ф2 М=ф3 ^4 ф5 Х2 Х3 Х4 Х5 Х6 Х7 10 0 0 1 1 1 10 0 1 0 0 0 0 1 0 0 0 1 0 0 10 10 0 0 0 0 1 1 0 0 0 Решение задачи о покрытии матрицы V будет состоять, например, из трех строк: ф! = 1 0 0 0 1 1 1 + ф3 =0100010 , + ф5 = 0011000 ф113,5= 1111111 Следовательно, вершины щ, х5, х6, х7 окрашиваются первой краской, вершина х2— второй, а вершины х3, х4 третьей. Очевидно, что данное покрытие не единственное. В общем случае задача нахождения всех раскрасок графа относится к классу экспоненциальных задач и является NPC-задачей. По аналогии с числом внутренней устойчивости, характеризу- ющим максимальное число вершин в несмежных подмножествах вершин графа, введем число внутренней полноты, характери- зующее максимальное число вершин в полных подмножествах вершин Подмножество из максимального числа смежных вершин называется кликой. Мощность клики, содержащей наибольшее число вершин графа, определит число внутренней полноты
0(б) = |тах£>£|, &eG где Q—семейство клик графа G. В графе (рис. 1.32) имеем семейство из трех клик Q = {Q\, Q2.1 бзй Cl = {-¥15 Х4-’ 0/2= {X1 ’ Х2- Х1}, 0з = {Х2’ Х3’ Л4Р Подмножество вершин ф; £ X графа G называется внешне устойчивым, если \/х,^<р£(Гх; Q <р;#0). Внешне устойчивое под- множество называется минимальным, если удаление из него произвольной вершины делает его не внешне устойчивым. В каждом графе можно выделить семейство ср = {ф1, ф2, ..., <р,}. Неформально минимальное внешне устойчивое подмно- жество (его еще называют доминирующим} —это подмножество, ис- ходящее из наименьшего числа вершин графа, смежных со всеми оставшимися вершинами. Мощность доминирующего подмноже- ства, имеющего наименьшее число вершин, называется числом внешней устойчивости'. Ф (G) = | min ф; |. <р,-е<р В графе G на рис. 1.32 имеем семейство ср, состоящее из пяти доминирующих подмножеств: ф={®1, ф2, Фз, ф4, ф5}, фдН-кЛ; <Р2=Ф1> *2}; ф3={*1’ -ч}; ф4={*2, *5}; Ф5 = {*3> *5}; ф(С)=1. В некоторых, случаях подмножество А с X может быть одновременно внутренне и внешне устойчивым. Такие подмно- жества называются ядрами графа. Например, подмножество {x15 х3} графа G (см. рис. 1.32) является ядром. Очевидно, что существуют графы, не содержащие ядер. Многие задачи контроля схем ЭВА сводятся к различным тождественным преобразованиям заданных графов этих устройств. Тождественные преобразования графов, сводимые только к пере- обозначению вершин и ребер, приводят к получению изоморфных графов.
Два графа G—(X, U) и G' = (X', U’) называются изоморфными, если можно установить взаимно однозначное соответствие X «-> X', такое, что если (х£, х'^еХ', то ребро ик = (х;, Xj)e U<->u'K=(x'i, x’j)eU’. Изоморфные графы могут быть получены один из другого путем перенумерации их вершин. Очевидно, что изоморфизм есть отношение эквивалентности на графах. Графы G и G’, изображенные на рис. 1.33 и 1.34, изоморфны. Подстановка Х1, Х2, х3, х4, xs, х6, t f t I I t x'l, х'з, x's, x'2, x'4., x'6 переводит граф G и G'. Для перехода от графа G' к графу G необходимо применить обратную подстановку t~1 к графу G: t-i( А, х’2, х’з, х\, х'5, х'6\ \*1> х2, х5, х3, х6 ) Если изоморфные преобразования проводятся с графом, заданным матрицей смежности, то они сводятся к перестановке местами соответствующих строк и столбцов. Известно, что в общем случае для определения изоморфизма графов необходимо сделать п\ сравнений или перестановок строк и столбцов матрицы, что для графов с п > 30 невозможно даже для современных ЭВМ. В этой связи разрабатываются эвристические алгоритмы, осуществляющие не полный перебор, а поиск по дереву решений. Известно, что эвристика (эвристический алгоритм)—это эм- пирическое правило, стратегия или метод, использующийся без доказательств эффективности решения, применяющийся для реше- ния экспоненциальных задач и полиномиальных задач с ВСА больше чем О (Ап4). Например, матрица смежности графа G (см. рис. 1.33) имеет вид 1 2 R=3 4 5 6 1 2 3 4 5 6 000111 000111 000 1 1 1 111000 111000 111000 а матрица смежности R' графа G' (см. рис. 1.34) запишется 1 2 R' = 3 4 5 6 123456 010101 101010 010101 101010 010101 101010
Если к матрице R применить подстановку t, то получим матрицу 1 4 R, = 2 5 3 6 142536 010101 101010 010101 101010 010101 101010 При покрытии функциональных схем ЭВА набором стан- дартных корпусов или при решении любой задачи типизации необходимо устанавливать изоморфизм между графом G и какой- либо частью другого графа G’. Задачи такого рода называются задачами изоморфного вложения. Известно, что задача изоморф- ного вложения графов является NPC-задачей. Пусть дан граф G, показанный на рис. 1.35. Можно показать, что подграф G'=(X', С7')|А''|=6, |ГУ|=9, У' = {х1, х2, х3, х4, х5, х6}, выделенный жирным шрифтом, изоморфен графу G (см. рис. 1.34). Следовательно, граф G' (см. рис. 1.34) изоморфно вложим в граф G (см. рис. 1.35). В общем случае для установления изоморфного вложения графа Gen вершинами в граф G' с п' вершинами требуется С"'-л! сравнений. Паросочетанием графа G = (X, U) называют подмножество таких ребер U' с U, что любые два ребра uk,ute U' не имеют общих вершин, т. е. не смежны. Например, в графе G (см. рис. 1.35) одним из возможных паросочетаний будет U’ = {(x1, х2), (х3, хЛ, (х6, х8)}. Известно, что число ребер в паросочетании графа G=(X, U), ]Х1 = н, не превышает [п/2~\ . Очевидно, что звездный граф (рис. 1.36) имеет паросочетание, равное единице. Если имеется граф с весами на ребрах, то в САПР важной является задача о нахождении максимального паросочетания, т. е. паросочетания максимального веса. При конструкторском проектировании ЭВА к топологическим чертежам часто предъявляется требование получения плоского изображения схем или плоского изображения частей схем. В этой связи возникает задача определения планарности графа. Граф G={X,
Рис. 1.39. Непланарный Рис. 1.40. Орграф D граф Ks Рис. 1.38. Планарный граф, изоморфный пло- скому (рис. 1.37) U) называется плоским, если его множество ребер U расположено на плоскости таким образом, что ребра имеют общие точки лишь в вершинах. Граф, изоморфный плоскому и расположенный на плоскости с пересечением ребер, называется планарным. На рис. 1.37 показан плоский граф, на рис. 1.38—изоморфный ему планарный Граф, а на рис. 1.39 — непланарный граф К5. Область плоскости, ограниченная ребрами плоского графа, внутри которой нет ни вершин, ни ребер, называют гранью. Ребра грани образуют простой цикл. Считают, что плоский граф имеет всегда одну бесконечную грань, не ограниченную ребрами. По сути дела—это часть внешней плоскости, окружающая граф. Существует формула Эйлера, позволяющая установить связь между числом граней, вершин и ребер плоского графа: «—m+f=2, (1.15) где f—число граней плоского графа. В графе G (см. рис. 1.37) грань /6 является бесконечной гранью. Число граней связано с цикломатическим числом графа выражением /=y(G)+l. Наименьшее число ребер, которое необходимо удалить из непланарного графа, расположенного на плоскости, чтобы он стал планарным, называется числом планарности и обозначается 0(G). Для полного графа Кп, н>4, 0 (1СП) = (и — 3) (и — 4)/2. (1.16) Из формулы следует, что 0(/<и) = О, когда н = 4. Если 0(/Си)=1, то из полного графа надо удалить одно ребро, чтобы он стал планарным. Очевидно, что верхней оценкой числа планарности является цикломатическое число y(G), так как граф, не имеющий ни одного цикла, всегда планарен. Для полных графов е(Кп)=у(Кп)-2п+5. (1.17) Методы определения планарности связаны с нахождением минимальных раскрасок графа. Известна теорема о том, что
каждый планарный граф может быть раскрашен пятью красками, т. е. х(С)^5 в таком графе. Одной из основных гипотез теории графов является гипотеза о четырех красках. Гипотеза. Любой планарный граф может быть раскрашен четырьмя красками. Известно доказательство этой гипотезы на основе перебора на ЭВМ огромного числа случаев. Определение планарности графа можно: производить на основе различных условий. Рассмотрим два основных из них. Пусть задан граф G—(X, U). Подразбиением ребра uK — {xi, xj называется замена его двумя ребрами нр = (х;, хр) и w9 = (xp, xj с введением новой вершины хр. Два графа называются гомеоморфными, если они обладают изоморфными подразбиениями. Теорема 1.5 Понтрягина—Куратовского. Граф планарен тогда, и только тогда, когда он не содержит подграфов, гомеоморфных полному графу К5 (рис. 1.39) и полному двудольному графу К33 (рис. 1.33). Операция, обратная подразбиению ребра, называется стягива- нием. Она выполнима для двух ребер рассматриваемого графа, смежных с одной и той же вершиной, имеющей локальную степень, равную двум. Теорема 1.6 Харари—Татта. Граф планарен, если его невоз- можно посредством стягивания ребер превратить в граф К5 или граф К3,3. Описанные критерии определения планарности совместно с теоремой Жордана используются для разработки алгоритмов определения планарности, которые будут рассмотрены в сле- дующих разделах. Планарный граф, который при добавлении любого ребра становится непланарным, называют максимальным планарным графом (МПГ). Если имеется МПГ G=[X, U) и каждая его грань, кроме бесконечной, треугольник, то т = 3п — 6. Если G— плоский граф и каждая его грань, кроме бесконечной, является циклом длины 4, то т = 2п—4. Важное значение в теории планарности имеют следствия из формулы (1.15). Если G = (X, U), |У| = и, |С/| = ш, и плоский граф, в котором каждая грань, кроме бесконечной, является циклом длины q, то m = q(n — 2)/(q—2). (1-18) Каждый планарный граф G=(X, U), ]Х] = п, |(7| = ш, с и>4 имеет не меньше четырех вершин со степенями р(х;)<5. При конструкторском проектировании схем ЭВА для много- слойного исполнения Необходимо решать задачи планарного размещения графа на нескольких плоскостях, причем часто переходы между плоскостями должны совершаться по одноимен- ным вершинам графа.
Граф G всегда располагается в р плоскостях, если существует р р плоских суграфов Gt, G2,..., Gp, таких, что (J G—G. Наименьшее ;=1 значение р, при котором граф G разбивается на р плоских суграфов, называется толщиной графа и обозначается Q(G). Очевидно, что толщина планарного графа Q(G)=I, а толщина графов К5 и Л'з.з равна двум. Толщина произвольного графа удовлетворяет неравенствам fi(G)> т Зи—6 т + Зп — 7 Зп —6 (1-19) ; fi(G)^ Толщина полных графов удовлетворяет неравенству п+7 ~сГ W (1.20) fi(^) В общем случае предполагается, что толщина Кп не превышает и/4. Число попарных пересечений ребер (иногда называется числом скрещивании) на плоскости обозначается p(G) и для полного графа определяется выражением . (1/64(и —1)2(и —З)2, если п—нечетно; " ^[1/64и(и —2)2(и—4)2, если п—четно, (1.21) или р(Кп} =----’j- (1.22) '' п' 1—8/[2п—1+(—1)”] V 7 Зная, что р(К5)=), можно определить минимальное число пересечений для полного графа с любым числом вершин. Заметим, что если граф G связный и плоский, то и двойственный ему граф Gs также будет плоским и связным. Причем число вершин, ребер и граней этих графов будет связано следующими соотношениями: ”s=/; ms = m; fs=n, где ns, ms, fs —число вершин, ребер и граней двойственного графа Gs. Часто при описании коммутационных схем ЭВА необходимо учитывать направление соединений. В орграфе D маршрутом считается чередующаяся последовательность вершин и дуг: (х0, щ, Xj, ..., и„, х„), в которой каждая дуга щ есть щ — х;). Путь— это маршрут, в котором все вершины различны. Кон- тур — это простой замкнутый маршрут, у которого все вершины различны, за исключением первой и последней. Если существует путь из xt в Xj, то говорят, что Xj достижима из х;. Граф D называется сильно связным, если любые две его вершины взаимно достижимы. Граф G, полученный из графа D заменой каждой дуги wi = <xK, х() на соответствующее ребро w; = (xK, х(), т. е. устранением стрелок, называется основанием D
Два орграфа называются изоморфными, если можно установить изоморфизм между их основаниями, сохраняющий порядок стрелок на каждой дуге. Матрицей смежности графа D называется матрица R (£>)«= || ||„х„, причем fl, если <х;, х> дуга D; Г- \ J l'J (0 в противном случае. Для графа D, показанного на рис. 1.40, матрица R(Z>) имеет вид 1 2 3 4 5 р+ (Xj) 1 0 10 0 1 2 2 0 0 110 2 R(£))= 3 0 0 0 0 0 0 4 1110 0 3 5 0 0 0 1 0 1 р’ к) 1 2 2 2 1 Так как rij = rji, то матрица не симметрична относительно главной диагонали’ Заметим, что в графе D дуга и,- есть кортеж, т. е. упорядоченное множество из двух вершин. Дуга w~<xi5 х;> считается положительно инцидентной ее конечной вершине Число дуг, положительно инцидентных вершине Xj, называется полустепеныо захода и обозначается р^(х;). Отрицательная степень Xj, определяемая аналогично, называется полустепенью исхода и обозначается через р“ (хД Очевидно, что P^j) = P+(xJ + P“(xj)- Так как дуга положительно инцидентна только одной вершине Xj и отрицательно инцидентна той же самой вершине х7-, то I Р+ (</)= Z Р (*у) = 1^1- XjeX XjgX Элементы матрицы инцидентности !(£>) графа D принимают значения 0, +1, —1. Элемент равен нулю, если вершина не инцидентна дуге, +1, если дуга ориентирована от вершины, и —1 в противном случае. Для графа D (см. рис. 1.40) матрица инцидентности имеет вид !(/>) = «1 «2 «3 «4 «5 «6 «7 «8 *1 + 1 0 0 0 + 1 -1 0 0 х2 -1 +1 0 0 0 0 +1 -1 *3 0 -1 -1 0 0 0 0 0 х4 0 0 +1 -1 0 + 1 -1 + 1 *5 0 0 0 +4 -1 0 0 0 Заметим, что любой пеорграф G можно перевести в орграф D путем замены каждого ребра двумя противоположно
направленными дугами. В этой связи многие результаты для неорграфов могут быть интерпретированы на орграфы. . Приведем алгоритм построения дерева на графе D = (X, U). 1°. Выбирается произвольная вершина х;. Рассматриваются все дуги, выходящие из х;, т. е. х,, хк, к=\, 2, ... Эти дуги образуют подмножество вершин X' с X, смежных с xt, У' = {хг, х;, ..., хг}. Если после 1° Х' = Х, то дерево Т построено, если нет, то переход к 2°. 2°. Выбирается произвольная вершина х=еХ', Xj^xt. Снова рас- сматриваются все дуги, выходящие из Xj. В дерево Т включаются только те дуги, конечные вершины которых не совпадают (эти вер- шины не входят в X'}. Тогда множество X' дополняется вершиной ху 3°. Проверяется, закончено ли построение дерева Т. Если нет, то возврат к 2°. При повторениях 2° будем расширять множество X', пока | X' | не станет равной | Х\. 4°. Конец работы алгоритма. Например, в графе D=(X, U) (см. рис. 1.40) выбираем xt и в дерево включаем дуги (хъ х2) и (х1; л5|; X' = {xt, х2, х5} Следовательно, выбираем вершину х2 и в дерево Т включаем дуги (х2, х3), (х2, х4); y' = {x!, х2, х5, х3, х4} |A"|=iA'|; ст?довательно, дерево Г построено. На рис. 1.40 оно выделено жирными линиями. С задачей определения гамильтоновых циклов и кратчайших расстояний связана задача о коммивояжере, суть которой в сле- дующем: имеется п городов (вершин графа) и заданы расстояния между городами. Коммивояжер находится в городе Хр Ему необходимо посетить только по одному разу все остальные л—1 городов и вернуться в х15 чтобы общее пройденное расстояние было минимальным. Рассмотрим алгоритм Хелда и Карпа. Сначала строятся все кратчайшие пути, соединяющие Xj с любой вершиной / (/=2, 3, ..., N). Длина любого из этих путей равна расстоянию с11Л от xt до хг. Далее определяется путь минимальной длины, соединяющий х, с х( и проходящий через одну промежуточную вершину х,п. Зная длину минимального пути из Xj в X, с одной промежуточной вершиной, можно определить длину пути минимальной длины между хк и хг, проходящего через две промежуточные вершины, через три и т. д. При увеличении числа промежуточных вершин обязательно будет построен путь минимальной длины из Х| в любую вершину, проходящий через все остальные вершины. Тогда можно опре- делить минимальный путь с учетом возвращения в х{. Рассмотрим пример. Пусть граф G (рис. 1.41) задан матрицей расстояний 1 2 3 0 10 8 5 0 20 1 2 0 3
Рис. 1.43. Граф Кенига К(Я) Согласно алгоритму сначала определяются пути, ведущие из в х, (7=2, 3). Причем длина пути определяется весом ребер рассматриваемого графа. Из матрицы D получаем d12 = 10, </13 = 8. Затем находятся пути минимальной длины, соединяющие лу с х2 и проходящие через промежуточные вершины. Определим длину пути из хг в х2, проходящую через вершину х3: 4.2 = 4 з+ 4 2 = $ + 2 = 10. Аналогично определяем 4,з = 4.2+4.з = Ю+20=30. Теперь определяем минимальную длину пути, включая возвращение в 4,2,1 =4,2+4.1 = 10+5 = 15, </1,3.1 =4.з+4,1 = 30+1 =31. Следовательно, минимальная длина пути из вершины х, в х3 при переходе через все вершины графа равна 15. Порядок обхода графа G (см. рис. 1.41) определяется следующим образом: Xi->x3->x2-»Xi, что следует из формулы для 4,2.1- Отметим, что с увеличением числа вершин и дуг ВСА резко возрастает, так как в алгоритме происходит упорядочивание и просмотр всех путей в графе. Для решения задачи коммиво- яжера можно также использовать методы поиска ветвей и границ, которые будут описаны выше. В рассмотренных выше графах использовались бинарные отношения на множестве вершин. Заметим, что в общем случае на множестве вершин можно задать Л^-арные отношения. Такое обобщение графа позволяет строить объекты, в которых каждое ребро может соединять не только две вершины, но и любое .^подмножество вершин.
Пусть X={xl} х2, х„}—конечное множество и Е= = {е15 е2, —семейство подмножеств X. Говорят, что семей- ство Е гиперграф на множестве X, если ер£0 и \Je~X. Объект Н=(Х, Е) будем считать гиперграфом, если он состоит из множества вершин X и множества ребер Е. Причем каждое ребро е^Е представляет собой некоторое подмножество множест- ва вершин, т. е. et^X. Если Мег с Е (| Е | = 2), то гиперграф Н преобразуется в граф G без изолированных вершин. На рис. 1.42 показан пример гиперграфа Н=(Х, Е), |У| = 7, | Е| = 5, ребро е5 с | е51 = I есть петля. Ребрами являются ei={xj, х2, х3, х4}, е2 = {х2, х3, хб, х7}, е3 = {х3, х4}, е4 = {х5, х7}, е5 = {х1}. В гиперграфе 77=(sV, Е) две вершины считаются смежными, если суще- ствует ребро <?;, содержащее эти вершины. Соответственно два ребра являются смежными, если их пересечение— непустое подмножество. Матрицей инцидентности гиперграфа называется матрица 1(77) = II ац II т х Причем fl, если Х;ее' а===\п • >!. (0, если Xj^et. Для гиперграфа Н (см. рис. 1.42) матрица инцидентности примет вид <T 1(Н)=е2 е4 «5 Xj х2 х3 х4 х5 хь х7 111 10 0 0 0 110 0 11 0 0 0 1 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 Любому гиперграфу Н=(Х, Е) соответствует гиперграф Hs = = (£, X), вершинами которого являются ребра Е={е1, е2, ет}, а ребрами вершины х15 х2, ..., х„. Гиперграф Hs называется двойственным Н. Матрица инцидентности Hs есть транспонированная матрица Н. Если два ребра ef, е-^ЕъИ смежны, то соответствующие вершины CjgE в Hs также смежны. То же выполняется и для вершин х;, XjeX в Н, когда они становятся ребрами в fls. В гиперграфе Н=(Х, Ё) цепь длины q определяется как последовательность вида S(H)=x1, et, х2, е2, ..., eq, xq+l. Если q>\ и х9 |1=х1, то цепь с такими параметрами называется циклЬм длины q. Если Н гиперграф с п вершинами, т ребрами и к связными компонентами, то он является деревом, когда т £(Ц|-1) = и-1, |Zf|>3, (1.23) i= 1
и лесом, когда £ (|/{| —1)=4+2+2 = 8=я —1. 1= 1 Заметим, 4то гиперграф считается деревом, если его ребра могут иметь не более одной общей вершины. Для решения задач САПР целесообразно сопоставлять с гипер- графом Н=(Х, Ё] граф G. Граф, выполняющий функцию гипер- графа, называется графом Кенига и -; записывается К(Н} = = (У, Е, V). Граф К(Н) является двудольным графом, причем X— первое подмножество его вершин (X - множество вершин соответствующего гиперграфа), Е—второе подмножество его вершин (Е—множество ребер соответствующего гиперграфа). Причем вершины х^Х и е=еЕ в Е(Н) смежны тогда, и только тогда, когда в гиперграфе Н вершина х; принадлежит ребру е . На рис. 1.43 приведен граф Кенига для гиперграфа Н (см. рис. 1.42). Отметим, что не только любой конечный гиперграф представ- ляется в виде К (И), но и каждый двудольный граф является представлением некоторого гиперграфа. Под раскраской вершин гиперграфа Н=(Х, Ё) понимается некоторое разбиение множества его вершин на классы, не содержащие пустого подмножества. Причем каждому классу Xi (J Х2 U U Ёк = Х, Xt П Х2 П ...f) Хк = 0) отвечает определен- ный цвет, в который окрашены вершины, а к соответствует числу различных цветов, которые можно использовать для раскраски. В некоторых случаях для построения моделей схем ЭВА используются расплывчатые графы и гиперграфы. Граф G = (X, U) называется расплывчатым, если для каждой вершины множество U является расплывчатым. Множество U характеризуется функцией принадлежности |лс, принимающей значения из отрезка ГО, 11. Значение для хе X показывает степень принадлежности (х, у) к множеству U. Очевидно, что если |it, (У) для Л1обых х, у е X принимает значения 0 или 1, то расплывчатый граф G становится обыкновенным. Для расплывчатого гиперграфа функция принадлеж- ности определяется так же, как и для расплывчатого графа. 1.3. МЕТОДЫ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ В ЗАДАЧАХ КОНСТРУКТОРСКОГО И ТЕХНОЛОГИЧЕСКОГО ПРОЕКТИРОВАНИЯ ЭВА Задачи математического, линейного, нелинейного, выпуклого, квадратичного, сто- хастического, динамического^ целочисленного программирования, транспортная, о назначении; симплекс-метод: методы отсечения, возврата, ветвей и границ, локального многомерного поиска, условной и безусловной оптимизации, штрафных функций, линейной аппроксимации, случайного поиска; поиск с возвращением, в глубину, в ширину; деревья И-ИЛИ
При решении задач конструкторского и технологического проектирования (КТП) с применением САПР часто требуется найти такие значения параметров х1э х2, ..., х„, которые обращают целевую функцию F в максимум или минимум. Множество решений запишется Х={хг, х2, ..., хп}. Задачи определения зна- чений параметров, обеспечивающих экстремум (максимум или минимум) функции при заданных ограничениях на аргу- менты, называются задачами математического программирова- ния (ЗМП). Методы классического анализа невозможно использовать для нахождения условных экстремумов в задачах математического программирования из-за того, что даже в линейных задачах экстремум достигается в угловых точках границы множества условий. А эТо точки, где нарушается дифференцируемость. Кроме того, в конструкторских и технологических задачах САПР число переменных и ограничений так велико, что полный перебор точек предполагаемого экстремума затруднителен даже с ис- пользованием ЭВМ. Основными представителями класса ЗМП являются задачи линейного, нелинейного, выпуклого, квадратичного, динамического программирования и др. Задачи линейного программирования (ЗЛП) являются наиболее простыми. Они характеризуются тем, что показатель эффективности (целевая функция) F ли- нейно зависит от элементов решения xt, х2, ..., хп и огра- ничения, накладываемые на элементы решения, имеют вид линейных равенств или неравенств относительно элементов мно- жества X. Известно, что любая ЗЛП сводится к определенной форме, которую называют стандартной ЗЛП (СЗЛП). Она формулируется следующим образом: определить неотрицательные значения пере- менных х15 х2, х„, которые удовлетворяют уравнениям а1,1Х1 3" ai,2^2 + "• + ai,nXn = Р1» а2,1Х1 + а2,2Х2 + ’" + а2,пХл = Р2> q 24) 4-«т,2^2 + - + «т,Л=Рт и обращают в экстремум (возьмем, например, максимум) линей- ную функцию этих переменных: £=у1х1+у2х2 + ...+у„х„-»тах. (1.25) Набор неотрицательных значений х15 х2, ..., х„, который удов- летворяет выражению (1.26), называется допустимым решением СЗЛП. Решение, обращающее в максимум выражение (1.25), называется оптимальным. Отметим, что СЗЛП не всегда имеет решение. Во-первых, уравнения (1.24) могут быть несовместимы. Во-вторых, они могут быть совместимы, но не в области
положительных значений. В-третьих, оптимального решения мо- жет не быть. Из теории математического программирования известно, что, существующее оптимальное решение СЗЛП нахо- дится при таких наборах значений переменных хг, х2, ..., х„, когда по крайней мере к из них обращаются в нуль, а остальные неотрицательны Рассмотрим несколько примеров ЗЛП. Задача 1. Цех завода выпускает многослойные печатные платы (МПП) и двухслойные печатные платы (ДПП). Обозначим их zt и z2. Цех в соответствии с планом должен выпустить не меньше а} единиц МПП и не меньше а2 ^единиц ДПП. План выпуска можно перевыполнить, но не превысить bt единиц МПП и Ь2 единиц ДПП. На конечном этапе изготовления необходимы три а'вида комбинированного сырья у2, у2 и у3, запасы которого определены г величинами Aj, Д2 и Д3. Допустим, что на изготовление одной платы z7- (.требуется a;j сырья вида у,- (1=1, 2, 3, у=1, 2). Индекс i означает вид изделия, индекс j -вид сырья. Величины а,7 можно представить в виде матрицы следующего вида: • Ж ч Платы G Сырье МПП ДПП ЛНЙ-.П Ь Z1 z2 ts РУ р __________ 71 «1.1 «2,1 72 «1.2 «2,2 7з «1.3 «2,3 ч в: ' Г S5 При использовании в аппаратуре МПП приносят прибыль Р1; а ДПП— f2. ' Необходимо так спланировать производство, чтобы план был выполнен и пе- ^ревыполнен без затоваривания, а суммарная прибыль от реализации обращалась в максимум. Заметим, что данный пример, описывает упрощенную и идеализиро- ванную ситуацию в производстве печатных плат, но тем не менее позволяет оценивать реальные ситуации. Будем считать, что элементами решения будут лу и х2— число произведенных МПП и ДПП. Требование выполнения плана (|иожно задать ограничениями х2^а2. (1-26) -Необходимость отсутствия лишней продукции можно выразить следующими неравенствами: (7 x2^b2. (1-27) (Очевидно, что для изготовления МПП и ДПП должно иметься сырье. Тогда ( 7Рем комбинированным видам сырья будет соответствовать три ограничительных неравенства: anXi+a^x^Y!, «12-Х-1 + «22-Х2 У 2, 1 «13X1+«23х2 у3, (1-28)
а прибыль, получаемая от реализации продукции, П = Р1Х1 + Р2л2. (1.29) Следовательно, получена ЗЛП, которую можно сформулировать следующим образом: определить такие неотрицательные значения х, и х2, чтобы они удовлетворяли всем неравенствам ограничений, а также обращали в максимум линейную функцию этих переменных, т. е. П = Р1х1 хр2х2->тах. Приведенная ЗЛП задана в двумерном пространстве, т. е. ограничения содержат две переменные х, и х2. При решении ЗЛП, заданных в. двумерном пространстве, эффективно используется графический метод, оспованный на геометрической интерпретации ЗЛП. Неравенства системы (1.28) представляют собой полуплоскость с граничной прямой jXj + oq 1х2=у;. Условия неотрицатель- ности определяют полуплоскости с граничными прямыми х1=а1, Ь1г х2 = а2. Ь2. Система совместна, поэтому полуплоскости, пересекаясь, образуют общую часть, которая представляет собой пары точек, являющихся решением данной системы. Объединение этих точек называют многоугольником решений. Он может быть отрезком, лучом, многоугольником, неограниченной областью. Геометрическая ЗЛП сводится к определению такой точки многоугольника решений, координаты которого соответствуют максимальному (минимальному) значению. Отметим, что все точки многоугольника решений являются до- пустимыми решениями. Предположим, что система (1.28) при условиях (1.26) и (1.27) совместна и ее многоугольник решений ограничен. Тогда известно, что существует такая угловая точка многоугольника решений, в которой линейная функция ЗЛП постигает оптимума. Каждое из неравенств в выражениях (1.26)—(1.28) определяет полуплоскость с граничной прямой a,-iiX1+aij2x2=yl (z= 1, 2,'...,/), х1=а1, bt; х2=а2, Ь2. Линейная функция (1.29) при фиксированных значениях является уравнением прямой линии: btXi+b2x2 = const. Построим теперь многоугольник решений уравнений (1.26)— (1.28) и график линейной функции при П = 0. Тогда необходимо найти точку многоугольника решений, в котором прямая bxXi+b2x2=const является опорной и функция П достигает максимума. Рассмотрим, например, решение графическим методом задачи получения максимальной прибыли от реализации ДПП и МПП (1.29). Построим многоуголь- ник решений (рис. 1.44). Для этого в системе координат х20х2 на плоскости построим граничные прямые “1,Л+а1.2х2=т1 (Л^; а2Лх1+а2.2х2=у2 (А2); «3.1^1+ «3.2х2=у3 (Л3); х2=а2, Ь^А^, х2=(а2, Ь2) (Л5). Полуплоскость, определяемая неравенствами, показана стрелками на рис. 1.44. Многоугольником решений данной задачи является ограниченный шестиугольник OBCDEF.
Для построения прямой b1x1+b2x2 = 0 строится радиус- вектор N=(/>!, Ь2) и через точку О проводится прямая, перпен- дикулярная ему. Прямая пере- мещается параллельно самой себе в направлении вектора N. Из рис. 1.44 следует, что в точ- ке D функция П принимает максимальное значение. Точка [) лежит на пересечении прямых Д3 и А 2. Тогда для определения координат точки D необходимо решить систему уравнений «2,1*1+«2.2*2=72, «3,1*1+«3,2*2 = 7з и и П, определить переменные х, х2. Подставляя значения Xj и Lax- Следовательно, для определения максимальной прибыли П1па11 заплан«ро зать выпуск найденных значений х, ДПП и 'х2 МПП. Задача 2. Пусть задано п элементов и т компонентов. Необходимо по заданному числу элементов при известном содержании в них различных компонентов и известной стоимости элементов составить технологический процесс изготовления элементов с минимальными денежными затратами, удовлетворяю- щий заданным потребностям. Обозначим: afj—содержание в весовых единицах /-го компонента в единице веса i-го элемента, — минимальная суточная потребность в J-м компоненте. Пусть xf — искомое суточное изготовление г-го Л элемента, тогда х^О и aijxi общее содержание j-ro компонента в элементе, i—1 которое должно быть не меньше минимальной потребности Р^: Рис. 1.44. Многоугольник решений OBCDEF задачи 1 х2 в линейную функцию П = Ь1х1 + Ь2х2, получаем необходимо X а^х^Ь2 (j= 1, 2, ..., m), i=l Х;>0 (1=1, 2, ..., n). (1-30) Если C;—стоимость единицы z-го элемента, тогда математическая формулировка * п ЗЛП определить min £ с,х,- при выполнении условий (1.30). i=i Рассмотрим специальный класс ЗЛП, называемых транспортными задачами (ТрЗ), которые в последнее время находят эффективное применение при решении конструкторских и технологических задач. Задача 3. Составить такой план перевозок груза из пунктов отправления в пункты прибытия, чтобы все заявки были выполнены и общая суммарная стоимость I еревозок была минимальной. Пусть Vj—число единиц груза в Е,-м пункте отправления (z= 1, 2, ..., и), wj - число единиц груза, требуемого в ГС-м пункте назначения (/= 1, 2, ..., т),
Xij—число единиц груза, отправляемого из F, в Wj. Рассмотрим случай, когда сумма заявок равна сумме запасов, т. е. л т =1 j=i Такие ТрЗ называются замкнутыми. Числа называются перевозками, а совокуп- ность чисел Xj j—планом перевозок. Сформулируем ТрЗ как ЗЛП. Суммарное количество груза, отправляемого из пункта отправления, должно быть равно количеству груза в данном пункте: Е = Ч 2, ..., л). (1.31) Суммарное количество груза, доставляемое в каждый пункт назначения, должно быть равно требуемой заявке: т Е xi.j=wj О'=1’ 2> > ш)- (1.32) 7 = 1 Математической формулировкой ТрЗ будет: найти min £ £ (г= 1, 2, ..., п, j= 1, 2, ..., т) (1.33) i= 1 при выполнении условий (1.31) и (1.32). Итак, построена ЗЛП с условиями равенства (1.31), (1.32) и минимизируемой линейной функцией (1.33). Особенностью ТрЗ является то, что все коэффициенты в условиях (1.31) и (1.32) равны единице. Считается, что в ЗЛП оптимальное решение находится в одной из вершин области допустимых решений, в так называемой опорной точке, где не меньше чем к переменных равны нулю. В настоящее время решение ТрЗ сводят к построению транспортной матрицы и ее преобразованиям. Она состоит из п строк и т столбцов. Кроме того, строятся дополнительные строка и столбец. В ТМ п строк соответствуют пунктам отправления, (и + 1)-я строка—заявкам Wj, т столбцов пунктам при- бытия, а (т + 1)-й столбец запасам v. На пересечении строки г:; и столбца и’, в каждой клетке справа ставится число, указывающее стоимость перевозки груза из пункта Vt в Wj. Например, пусть и = 3, т=4, матрица стоимости перевозок имеет вид V2 V3 wY w2 w3 11 5 10 8 9 6 12 6 4 8 7 11 3 наборы запасов и заявок соответственно Vj—25, у2=41, v3 = 19, У г,—85, = 15, i = 1 4 м’2 = 22, w3 = 38, w4=10, У Wj=85. Построим теперь транспортную матрицу
удовлетворены условия (1.31) и (1.32), называют допустимым. Соответственно допустимый план называется опорным, если в нем отличны от нуля не более i/н+л —1 перевозок, а остальные равны нулю. План называют оптимальным, если среди всех допустимых планов он дает минимальную суммарную стоимость перевозок. Одним из методов нахождения опорного плана является метод верхнего правого (левого) или нижнего правого (левого) угла. Рассмотрим метод нижнего левого угла. Он заключается в заполнении клеток ТМ, начиная с крайней левой нижней клетки (клетка V3, Итак, Wx подал заявку на 15 единиц груза. Выполним ее из запасов пункта И3. Число 15 помещается в середину клетки (Е3, И7,). После этого в У3 остается еще 19—15=4 единицы груза. Этот груз передается пункту W2. Недостающие для W2 22—4=18 единиц груза передаются из запасов пункта V2, тогда в клетке (Е3, W2) помещается число 4, а в клетке (V2, IV2)—число 18. Продолжая аналогично, в клетке (У2, W3) помещае1ся число 41 — 18=23, в клетке (Ht, W3) число 38—23=15, в клетке Полученный план перевозок (рис. 1.45) стоимостью Р1 = 15 4+4-8+18-6+ +23 12+15 10+10-8=706 является допустимым, так как заявки удовлетворены, запасы израсходованы. План является опорным, поскольку число отличных от нуля клеток равно 6, а это не больше чем т+п—1=6. Далее выполняют проверку, получен оптимальный план или нет. Если нет, то выполняется итерационная процедура «циклических перестановок», заключающаяся в умень- шении стоимости перевозок. Циклические перестановки выполняют так, чтобы Рис. 1.45. Полученный план’Пе- ревозок (Р=706; Ц—пункт от- правления, Wj— пункт прибы- тия)
уменьшилась стоимость перевозок и не нарушались условия (1.31) и (1.32). Например, выполняя циклические перестановки чисел для клеток (К2, Щ3)-(К2, Щ4), (Иь ^Нк,. w4), получаем новую ТМ' вида и новый план перевозок (рис. 1.46) стоимостью р2 = 15-4+4-8 +18-6+13-12+10-6+25-10 = 666, что на 40 единиц меньше Рг. Данный план не является оптимальным. Задача преобразования ТМ — итера- ционный процесс минимизации общей суммарной стоимости перевозок. В теории математического программирования доказано, что для каждой свободной клетки ТМ имеется циклическая, перестановка и притом единственная, дающая оптималь- ное размещение. Отметим, что существуют специальные методы анализа ТМ и поиска оптимального решения, основанные на методах поиска и методе ветвей и границ для сокращения полного перебора. Заметим, что если сумма запасов больше суммы заявок, то эту задачу сводят к ТрЗ, вводя фиктивный пункт прибытия IVq, и приписывают ему заявку, равную превышению запасов над заявками, а стоимость перевозок в считают равной нулю. Для решения ЗЛП существует несколько методов. Эффектив- ным является симплекс-метод, с помощью которого осуществля- ется направленное движение по опорным планам до получения оптимального решения. Последовательность решения задач симп- лекс-ме годом следующая: 1) по определенному правилу находим какую-либо вершину, принадлежащую множеству допустимых решений; проверяем, не соответствует ли данная вершина оптимальному значению целе- вой функции; если да, то задача решена; 2) если задача не решена, то по определенному правилу проверяем, нельзя ли на данном шаге утверждать, что целевая функция не ограничена сверху (снизу) на множестве допустимых Рис. 1.46. План перево- зок (Р2 = 666) 25 Г,—
решений при отыскании максимума (минимума) функции; если да, то задача не имеет решения; 3) если задача имеет решение, то по определенному правилу находим новую вершину, в которой целевая функция имеет лучшее решение. Далее решение осуществляем в соответствии с п. 1. В качестве исходной вновь принимается выбранная вершина. Симплекс-метод гарантирует окончание процесса поиска опти- мального решения ЗЛП либо после выполнения п. 1, либо п. 2. за конечное число шагов (итераций), так как при этом осуществля- ется последовательный оптимальный переход от данной, рассмат- риваемой на каждом шаге вершины к лучшей. Геометрически этот метод сводится к следующему. На первом шаге выбираем любую вершину полиэдра, определяющего область допустимых решений. Допустимое решение задачи (конкретные значения Xj, х2, А'п), соответствующее вершине полиэдра, называют опор- ным (базисным) решением. По найденному базисному решению и значению целевой функции определяют направление к другой вершине полиэдра (новому базисному решению), в которой значение целевой функции возрастает (убывает, если ищется минимум), и т. д. Если в ЗЛП определяемые значения переменных х2, ..., х„ обязательно должны быть целыми, то такие задачи называются задачами целочисленного (ЗЦП) или дискретного программиро- вания. Например, пусть имеется набор топологически реализованных программируе- мых логических матриц (ПЛМ), которые необходимо разместить на кристалле СБИС. Известны стоимости ПЛМ С1; С2, ..., С„ и занимаемая ими площадь S2, ..., Sn. Площадь кристалла СБИС S'. Необходимо из ПЛМ реализовать заданную схему, разместив ее на кристалле с минимальной суммарной стои- мостью, причем суммарная площадь ПЛМ меньше или равна S'. Введем переменные хп х2, ...хп, причем [1, если i-я ПЛМ помещается на кристалле; Xj= < (О в противном случае. Тогда необходимо минимизировать L= £ С,х, (1.34) i—i при выполнении ограничений S1x1 + S2x2 + ... + S„x„^S, х(—целое. (1-35) Итак, построена модель ЗЛП. Необходимо найти целые неотрицательные значения переменных Xj, хг2, ..., х„, которые удовлетворяют выражению (1.35) и обращают в минимум линейную функцию этих переменных. Частным случаем транспортной задачи является задача о на- значениях, которая формулируется следующим образом. Задано
п работ, каждую из которых может выполнить любой из п исполнителей. Стоимость выполнения работы z-м исполнителем равна Cjj. Нужно распределить исполнителей по работам, чтобы минимизировать объем затрат. Пусть fl, если работа i выполняется исполнителем у; l’j (0 в остальных случаях, где z'= 1, 2, ..., п; у=1, 2, ..., п. При этом математическая модель будет иметь вид п п минимизировать У У i=lj=l при ограничецйях Л У x,j=l, z=l, 2, .., п (за каждым работником может быть j = i . . закреплено только одно вакантное место); п У x^j— 1, j— 1,'2^ ..., h, xfJ=0,l для всех i,j (на каждом j-м i=l **” виде работ может использоваться только один работник). Это требование ;можно заменить на x;j^0, так как доказано, что задача имеет целочисленное решение. Существует два основных метода поиска оптимального реше ния ЗЦП. Метод отсечения. Суть его заключается в следующем. В качестве начальных условий берется оптимальное решение соответствующей ЗЛП, полученной в результате пеучета условия целочисленности. Далее процесс происходит итерационно. На каждой итерации добавляется линейное ограничение, удовлетво- ряющее целочисленности решения исходной ЗЦП, с исключением текущего нецелочисленного решения. При достижении любого целочисленного решения процесс оканчивается. Отметим, что метод сходится за конечное число шагов, но может потребоваться большое число итераций. Запишем ЛСА метода отсечения: 1 1 t ^2^3 -1 -^к’ где АОАК—операторы начала и конца алгоритма соответственно; А г — оператор поиска оптимального решения ЗЛП без учета целочисленности х,- (х;^0); А2 — оператор выбора новой перемен- ной, составления уравнения, содержащего эту переменную в те- кущем оптимальном решении ЗЛП; Л3 — оператор добавления к ЗЛП нового ограничения, поиск нового оптимального решения ЗЛП с дополнительными ограничениями и переход кр±, рг- логи- ческое условие проверки нецелочисленнос ги решения, если текущее
решение ЗЛП нецелочисленно, то переход к А2, если решение целочисленно, то переход к Ах. Метод возврата. Сущность его—отыскание оптимального решения соответствующей ЗЛП. Далее формируется набор различ- ных ЗЛП. Причем для каждой целочисленной переменной задается верхняя и нижняя границы, в пределах которых должно быть оптимальное решение. Дальнейшее решение основано на идеях метода ветвей и границ (МВГ) и поисковых алгоритмах. Метод ветвей и границ основан на'‘переборе определенных вариантов решений задачи при условии, что это число конечно. При этом в общем случае полный перебор вариантов решения задачи заменяется частичным, так как используются априорные оценки вариантов, позволяющие отбрасывать «неперспективные» решения. Основная идея МВГ заключается в том, что множество всех возможных решений разбивается на подмножества, последо- вательно уменьшающиеся по числу заключенных в них решений. В процессе разбиения вычисляется оценка, характеризующая данное подмножество. В результате получается подмножество, содержащее единственное решение, являющееся оптимальным. Определение оптимального варианта решения задачи состоит из операций ветвления и отсечения. в U Рассмотрим теперь общую схему МВГ для нахождения решения с наименьшим значением целевой - функции. Пусть необходимо решить одну из задач конструирования схемы, заданной в виде графа или гиперграфа. Пусть Также известно, что Q — это конечное множество решений данной задачи. Каждое решение qeQ может быть оценено с помощью оценочной (целевой) функции /(<?). Требуется найти такое решение /еО, для которого f(t)— наименьшее среди всех f{q). Использование специ- фики конкретной задачи САПР позволяет в ряде случаев найти нижнюю границу значения целевой функции f или ее оценку на множестве решений Q или на каком-либо его подмножестве Q' £ Q. Нижней границей 0(т/) или 0(</') целевой функции f называется значение, которое меньше или равно значению целевой функции f(q) для любого решения neg или q'eQ'. Таким образом /(?)^0(?), Vgeg или f(q')^Q{q’), Vq'eQ'. Процесс заключается в разбиении всего множества решений на подмножества g15 g2, ..., gs, для которых c1ne2n-nes-0, eiuc2u-ua=e. Кроме того, так как g;cg, то минимальное значение целевой функции /(/) решения t из подмножества g, множества решений g больше или равно минимальному значению если Teg. Из этого и определения нижней границы значения целевой функции следует, что ее значение для подмножества g; не меньше нижней границы для множества решений gf, т. е. Q(?i)^g(q), i= 1, 2, ..., s. Метод ветвей и границ наиболее
эффективен, если при разбиении множества решений на подмножест- ва Qi удается улучшать оценки, т. е. получать строго неравенство 0(<7j>0(<7). Разбиение множества решений на подмножества возможно с помощью дерева решений, которое можно задавать в графическом или матричном виде. В качестве исходной вершины дерева решений принимается множество Q. Затем вычисляется нижняя граница Q (q) множества Q. Верхний индекс при Q соответ- ствует номеру шага разбиения, нижний определяет номер подмноже- ства множества решений на данном шаге. Определяются нижние границы 6(gJ), j= 1, 2, ..., 5. Если найдено такое решение teQp, что /(0=e(eJ), причем e(ep)^e(e})j/p,j=i, 2, ..., л, то t - искомое оптимальное решение. Если его найти не удалось, то из подмножеств Qi, Q2, Ql выбирается подмножество Q} по правилу 9(б‘)= = min9(gj), j= 1, 2, ..., S, и разбивается на определенное число подмножеств * Все подмножества Q\, Q\, ..., Qi+i, Qs, Qh, Ql.2, - ..., Qlранее не подвергавшиеся разбиению, переобозначаются <21, <2 2, —, <2 v- Производится переход ко второму шагу и опреде- ляются нижние границы 8(Qq), j=l, 2, ..., V. Если найдено такое решение teQ2p, что /(0 = 9 (<2р), причем 9(gpHe(6j), jVp, j=I, 2, ..., V, то t- искомое решение. Если найти его не удалось, то снова выбираются из подмножеств Q2, Q\, ..., Q2 подмно- жество Qi по правилу 0(g?2) = min 6(g?), j= 1, 2, ..., V, и произво- дится разбиение Q2 па определенное число подмножеств: Процедура продолжается до v-ro шага. Если среди решений v-ro шага удается найти решение teQvp, такое, что /(0=е(е;М(ел> jap, 7=1,2,..., v, то t — искомое оптимальное решение. В противном случае процесс продолжается. Так как множество решений Q конечно, то в результате последовательных ветвлений получаются подмноже- ства, состоящие из одного решения. Среди них будет найдено оптимальное решение. Метод ветвей и границ позволяет также находить и квазиоптимальные решения с заданной точностью А. Если на произвольном шаге ц ветвления дерева найдено решение t', такое, что G(6r)=%А, где Q»— подмножество с наименьшей нижней границей среди всех подмножеств данного шага, то t'—искомое квазиоптимальное решение. Рассмотрим пример ветвления дерева решений задачи опреде- ления соответствия принципиальной схемы и ее реализации на кристалле БИС. Пусть известно множество решений Q. Разобьем Q на четыре подмножества Ql, Q2, Qi, Q{- Среди них оптимальное решение t не найдено. Из оценок
Рис. 1.47. Нулевой и первый шаги ветвления Рис. 1.48. Второй шаг алгоритма границ по определенным правилам опре- делено, что должна ветвиться вершина 21- Подмножество решений Q\ разбива- ется на три подмножества 62,1, Qi.i, С’.з- Нулевой и первый шаги показаны на рис. 1.47. Вершины Q\, Q3, Q{, ко- торые не ветвились, а также 2г,1, бг,2> Q23 переобозначаем соответственно Ql, Q2. Ql, Ql, Ql, Se- Согласно специфике Рис. 1.49. Третий tnai алгоритма задачи находятся нижние границы для этих подмножеств. Если не найдено оптимальное решение t, то ветвится, например, вершина Ql следующим образом: Qi = Qi,iUQi,2- Дерево решений для второго шага алгоритма показано на рис. 1.48. Далее переобозначаются вершины и находятся границы для полученных подмножеств решений • третьего шага. Если оптимальное решение t не найдено, то ветвится, например, вершина Ql (рис. 1.49). Процедура повторяется до получения оптимального или квазиоптимального решения, например вершина дерева Ql,i- При описании конкретных алгоритмов КТП будут показаны примеры использования МВГ. Ко второму методу относятся так называемые комбинаторные или поисковые методы, которые на основе эвристических процедур позволяют сократить полный перебор поиска оптимальных реше- ний. Существуют три основных типа поиска в зависимости от того, как проводится ветвление дерева. Это поиск с возвращением, поиск в глубину (ПВГ) и поиск в ширину (ПВШ). Рассмотрим поиск с возвращением. Он заключается в попыт- ках расширить частное решение. На каждом шаге поиска, если расширение текущего частичного решения невозможно, то происходит возврат к предыдущему частичному решению и предпринимаются попытки снова его продолжить. Другими словами, поиск с возвращением—это продолжение расширения исследуемого решения до тех пор, пока это возможно. Когда решение нельзя расширить, производится возврат назад и попытка сделать другой выбор на ближайшем шаге, где' имеется такая
Рис. 1.50. Пример охемы поиска в глубину на дере- ве решений Рис. 1.51. Граф для по- строения покрывающего дерева Рис. 1.52. Пример по- строения покрывающего дерева на основе поиска в глубину возможность. Поиск с возвращением относится к классу эк- споненциальных . алгоритмов. Рассмотрим основную идею метода ПВГ. Неформально ПВГ на дереве решений как бы соответствует «нырянию» в глубь дерева. Идея метода состоит в том, чтобы в каждой исследуемой вершине дерева выбирать один из возможных путей и исследовать его до конца. Причем другие существующие пути решений при этом не рассматриваются, пока сохраняется возможность получить конечный результат, исследуя выбранное направление. Дерево ПВГ показано на рис. 1.50. Как следует из рисунка, при ПВГ выбирается определенный путь по дереву и производится его продолжение до получения решения или до тех пор, пока дальнейшее продвижение окажется невозможным. Тогда процесс поиска возобновляется от ближайшей вершины дерева, имеющей смежными неисследованные вершины. Рассмотрим алгоритм просмотра вершин графа G =(Х, U) на основе ПВГ. Выбираем произвольную начальную вершину х;. Затем выбираем ребро (х;, х,), инцидентное х;, и просматриваем вершину Xj. Пусть хр—последняя просмотренная вершина. Для продолжения процесса определяем произвольное не рассмотренное ребро (хр, xs), инцидентное хр. Если вершина xs ранее просматри- валась, ищем новое ребро, инцидентное хр. Если xs ранее не просматривалась, то идем в xs, и снова начинаем поиск от xs. Пройдя все пути, начинающиеся в xs, возвращаемся в хр. Затем продолжаем выбор нерассмотренных ребер, инцидентных вершине хр, пока не будет исчерпан их список. Видно, что в рассмотренной процедуре поиск идет вперед (вглубь), пока это возможно. Рассмотрим построение покрывающего дерева в графе G (рис. 1.51) на основе ПВГ. В качестве начальной возьмем вершину xt. Для просмотра вершин на каждом уровне будем выбирать вершины с меньшим номером. Тогда
Рис. 1.54. Пример построения покры- вающего дерева на основе поиска в ширину Рис. 1.53. Дерево поиска в ширину (темный кружок—задача решена) в соответствии с описанным методом получим покрывающее дерево Т, состоящее из вершин Aj, х2, а4, х7, х5, х3, х6, хе и ребер и2, щ, ult us, и9, и6, и3. Порядок ПВГ показан стрелками на рис. 1.52. Основной недостаток ПВГ заключается в том, что при исследовании дерева решений с большой вероятностью можно пройти мимо той ветви, на которой раньше всего появляется окончательное решение. Когда ПВГ не подходит, полезным может оказаться пвш. При использовании методов ПВШ ветвление происходит от уровня к уровню. Причем если на первом уровне начальная задача Qo разбивается на подзадачи Qr, Q2, ..., Qk, то каждая из них исследуется раньше, чем задачи 2-го уровня. Задачи первого уровня, которые трудны для разрешения, разбиваются на подзадачи уровня 2, и процесс продолжается аналогично. Примерный вид дерева решений при поиске в ширину показан на рис. 1.53. Для графа (см. рис. 1.51) порядок построения покрывающего дерева методом ПВШ показан на рис. 1.54. При ПВШ всем альтернативам в каждой вершине дерева исследуемого уровня уделяется равное внимание. Если все пути на дереве ведут к искомой вершине, находящейся на одной и той же глубине, то ВСА ПВШ значительно превышает ВСА ПВГ. Поиск в ширину эффективно используется при установлении изоморфизма и изоморфного вложения графов, при разбиении и размещении схем. Алгоритмы ПВШ в основном реализуются за время 0(п2) — 0(п4). Существует много процедур повышения эффективности поис- ковых методов. Основные из них - это упорядочивание ветвей, отходящих от каждой вершины, так что в первую очередь рассматриваются наиболее перспективные ветви и движение вперед из вершины, которая является наилучшей из всех найден- ных независимо от того, где она расположена в дереве. Заметим, что нами описаны только общие схемы организации поиска. Непосредственное их применение может привести к алгоритмам, время реализации которых велико. Поэтому
/ ЛЩ \ @ ©Yxj© / ( Поддерево ИЛИ Рис. 1.55. Пример дерева И-ИЛИ необходимо приспоса- _________________________—\ бливать эти методы поддерево и / L-z-x к конкретным задачам \поВВерево ИЛИ КТП. Для преобразова- ния сложных задач САПР к более простым и представления слож- ной задачи совокупно- стью нескольких более простых задач исполь- зуют концепцию дере- вьев И-ИЛИ. Дерево называют деревом ИЛИ, если решение любой задачи, представленной вершиной дерева уровня i +1, эквивалентно решению задачи, соответствующей вершине, расположенной в уро- вне z. Дерево называется деревом И, если для решения исходной задачи уровня i необходимо решить все подзадачи уровня i +1, вершины дерева которой смежны с вершиной, соответствующей исходной задаче. В задачах КТП деревья И или деревья ИЛИ отдельно встречаются редко. В основном встречаются смешанные деревья, называемые деревьями И-ИЛИ. Они представляют собой совокупность отдельных поддеревьев И, показывающих, как задачу преобразовать к эквивалентному множеству подзадач, и отдельных поддеревьев ИЛИ, показывающих, как задачу можно преобразо- вать к одной из некоторого множества эквивалентных задач. На рис. 1.55 показан пример дерева И-ИЛИ, состоящего из двух поддеревьев ИЛИ и одного поддерева И. Здесь, например, поддерево ИЛИ, состоящее из вершин Qi, Q z, показывает, что решение задачи Qr может быть получено при решении любой из эквивалентных задач Q{, Ql, Ql. Поддерево И, состоящее из вершин Qr, 21.1, 61.2, 21,з> показывает, что решение задачи 21 может быть определено только после решения совокупности подзадач 2i.i, 61.2, 21,з- Отметим, что структура дерева И-ИЛИ характеризует задан- ную задачу, класс задач, к которой она принадлежит, и ее совокупности. Дерево И-ИЛИ имеет значительные размеры, и при большом его росте необходимо использовать ПВГ и ПВШ для минимизации эквивалентных задач и оптимального выбора подза- дач. Тогда решение задач САПР с помощью деревьев И-ИПИ сводится к поиску и направленному перебору. Многие задачи КТП с использованием САПР сводятся к так называемым задачам нелинейного программирования (ЗНП). В них необходимо найти неотрицательные значения переменных х15 х2,... ..., хп, удовлетворяющих заданным ограничениям произвольного вида, например
и обращающих в максимум (минимум) нелинейную функцию этих переменных: F=F(x1, х2, ..., х„)=>тах. f Согласно [12] ЗНП классифицируют следующим образом: по использованию производной целевой функции F(x) по х (методы нулевого, первого и второго порядков); по характеру искомого экстремума., (методы глобального и локального поиска); по наличию или отсутствию ограничений (методы условной или безусловной оптимизации соответственно); при одном или нескольких управляемых параметрах (методы одномерного или многомерного поиска). Отметим, что основными в САПР являются методы локально- го многомерного поиска. Известно, что методы многомерного поиска используют после нормализации управляемых параметров. Выделяют линейную, логарифмическую и нелинейную норма- лизации. В конструкторских задачах часто используются методы услов- ной оптимизации, которые предварительно сводят к задачам безусловной оптимизации. Метод штрафных функций позволяет сводить задачи поиска экстремума при наличии ограничений к аналогичной задаче при отсутствии ограничений, которая решается проще. Идея метода следующая. Вместо жесткого требования вида ф(х15 х2, ..., х„)^0 вводится некоторый «штраф» за нарушение этого условия и к целевой функции F(xv, х2, ... ..., х„) добавляется штраф вида сф(х15 х2, ..., х„), где с—коэффици- ент. При 1С=>тахс устанавливают отрицательным, при lF=>min— положительным. Далее производится увеличение абсолютного зна- чения с и анализируется изменение оптимальных решений (х15 х2, ..., х„). Когда оптимальное решение практически не меняется, процесс считается оконченным. Хорошо известны методы линейной аппроксимации и случайного поиска. Первые основаны на замене ЗНП некоторой последова- тельностью ЗЛП. Линейную аппроксимацию обычно выполняют на основе представления нелинейных функций их разложением в ряд Тейлора в окрестностях текущей точки. При случайном поиске вместо упорядоченного перебора возможных вариантов решения применяют случайный розыгрыш. Для решения задач одномерной минимизации, заключающихся в определении min/(x), используют методы золотого сечения, хе [Л, В] чисел Фибоначчи, полиномиальной аппроксимации. Методы золо- того сечения основаны на изменении на И-м шаге границ интервала av, bv, содержащего точку оптимума, в зависимости от результатов сравнения значений целевой функции в точках cv, dv. Отметим, что аг = А, Ь1 = В и cv’=a + 0,382lv,
dv = bv—0,332lv, причем lv = bv~av. Если на очередном шаге решения /(cF)</pF), то принимают bv+l=dv, dv+1 = cv, если f(.cv)^f(.dy), то av+1 = cv и cv+1=dv. Основное преимущество метода в том, что на всех шагах, кроме первого, значение целевой функции необходимо вычислять только в одной из внутренних точек интервала. Вычисление заканчивается при Iv^e, где е — заданная погрешность определения точки оптимума. Более подробно ЗНП и методы их решения описаны в [12]. В САПР существуют задачи стохастического, выпуклого динамического программирования. В задачах стохастического про- граммирования (ЗСП) решение находят в условиях неполной определенности, причем некоторые параметры целевой функции F и ограничения на решение представляют собой случайные величины. В некоторых случаях ЗСП для упрощения сводят к ЗЛП. Задачи выпуклого программирования (ЗВП) сводятся к отыска- нию некоторого вектора, т. е. такой точки выпуклого допустимого множества, которая обеспечивает минимум выпуклой функции /(х). Отметим, что выпуклость функции гарантирует нахождение оптимального решения. Большинство задач проектирования СБИС, построения техно- логического процесса их изготовления часто разбивают на отдельные этапы, операции, шаги и т. п. Задачи оптимизации для многоэтапных операций называют задачами динамического программирования (ЗДП). Например, пусть технологический про- цесс изготовления подложки СБИС распадается на Q = {Qy, Q2, ••• ..., Q„} операций. Операция QY состоит из q шагов. Тогда эффективность операции характеризуют показателем 9 F=^fo i=l где fi—«выигрыш» на йм шаге; F—общий «выигрыш» при выполнении операции q. Выполнение технологических операций Q является управляемым процессом, так как можно выбирать параметры, влияющие на ход решения задачи и ее окончание. Причем на каждом шаге необходимо выбирать решение, обеспечи- вающее выигрыш на данном шаге и выигрыш при выполнении всей операции. Такой процесс называют шаговым или этапным управлением. Шаговые управления —это векторы х15 х2, ..., хт функции F. Множество всех шаговых управлений называют управлением всей задачи. Необходимо найти такое управление х из множества всех управлений, которое обращает выигрыш в максимум: 9 £ »шах. i= 1 Управление X', при котором достигается искомый максимум, называют оптимальным. Оно состоит из совокупности оптималь-
ных управлений по ша- гам, т. е. X' = (xi, х’2, ... *т)> а максимальный выигрыш F'r= max {F}, где максимум берется по всем управлениям х, ко- торые возможны в дан- ных условиях. Рассмотрим, например, за- дачу трассировки, относящуюся к задачам конструкторского проектирования. Оно заключа- ется в прокладке соединений между контактами. Данную за- дачу можно условно разделить на q шагов с эффективностью каждого шага f. Так же как и предыдущая, задача трасси- ровки представляет собой упра- вляемый процесс, когда можно выбирать параметры, влия- ющие на решение. В основе ЗДП лежит по- строение оптимального управ- Рис. 1.56. Пример прокладки трассы между контактами К, и К2 ления на каждом шаге (этапе). Очевидно, что оптимизация на одном этапе проще, чем оптимизация всей ЗДП. Причем при выборе оптимального управления на каждом шаге учитываются его результаты на следующих этапах. Пусть задано поле кристалла БИС, на которое наложена координатная решетка Gr (рис. 1.56). Необходимо провести путь минимальной стоимости между контактами К1 и К2. Причем трасса может проходить только по ребрам графа Gr. Процедуру оптимизации выполним от конца к началу, т. е. от К2 к Кх. Сначала произведем оптимизацию последнего q-ro шага. Рассмотрим, где мы можем находиться после (q— 1)-го шага, т. е. куда должна быть доведена трасса на (q — 1)-м шаге, чтобы на q-м шаге мы могли закончить ее построение. Очевидно, что только в вершинах, из которых можно за один шаг попасть в К2, т. е. в Х2 или Х6. Если мы находимся в Xt, то для попадания в К2 сумма весов возрастет на 10 единиц, если в Х2—то на 5 единиц, а если в Х6—то на 20 единиц. Следовательно, условная оптимизация сделана и выигрыш для вершин Х2 и Х2 соответственно равен 10 и 5 условным единицам. Теперь перейдем к оптимизации предпоследнего [q— 1)-го шага. После (q—2)-го шага трасса могла оказаться в одной из четырех вершин Х3, Х4, Х6, Х10. После анализа получим следующие фрагменты трасс: Х10——К —сумма весов 20; Х5 - -Xj— К2 — » 40; Х3 - Х2—К2 — » 10; Х4 - Х2 - К2 — » 15.
Причем наибольший выигрыш будет в вершине Х3. Продолжая аналогично, определяем выигрыш на всех вершинах графа решетки. Далее находится оптимальное управление, т. е. ведущий из контакта Кх в контакт К2 (на рис. 1.56 показан жирной линией). При выполнении условной оптимизации можно столкнуться со случаем неоднозначного выбора оптимального управления. Это говорит о том, что во многих задачах математического программирования решение в общем случае не единственное. Приведем теперь принцип оптимальности, па основе которого решаются все ЗДП. При любом состоянии системы перед очередным этапом необходимо выбирать управление на этапе таким образом, что выигрыш на данном этапе в сумме с наибольшим выигрышем на всех следующих этапах был максимальным. * 1.4. МАТЕМАТИЧЕСКИЕ МОДЕЛИ ОБЪЕКТОВ ПРОЕКТИРОВАНИЯ Входные, внешние, выходные параметры; абстрактные, функциональные, структур- ные, технологические,, теоретические, эмпирические, микроуровня, макроуровня, метауровня, линейные, нелинейные, статистические, детерминированные, аналити- ческие, алгоритмические, имитационные, аналоговые, дискретные, макромодели, полные математические модели; процедуры анализа и синтеза; параметрическая оптимизация; адекватность, точность, степень универсальности, экономичность математической модели Под математической моделью (ММ) объекта проектирования (ОП), как отмечалось выше, будем понимать множество ограниче- ний, различных условий, уравнений, геометрических образов и т. п., описывающих функционирование объекта и реализующих заданные математические методы для определения требуемых характеристик объекта *. В ММ ОП обычно выделяют свойства систем, элементов систем и внешней среды, в которой должен действовать объект. Количественные представления этих свойств называют параметрами. Различают выходные параметры как величины, характеризующие свойства системы, внешние параметры как величины, характеризующие свойства внешней среды, внутрен- ние параметры как величины, характеризующие свойства элемен- тов системы. Например, для блока ЭВА выходными параметрами будут быстродействие, объем внутренней памяти, число каналов, частота; внутренними параметрами могут быть параметры тран- зисторов, емкости конденсаторов, тепловые характеристики эле- ментов и т. п.; внешними параметрами будут радиационное излучение, температура окружающей среды, давление, влажность, напряжение источников питания и т. п. Данный подраздел написан по материалам работ И. П. Норенкова [10, 13].
Обозначают векторы выходных параметров ¥ = (_у1; у2, ... ут), внутренних параметров Х=(х1, х2, —> внешних пара- метров Z=(z15 z2, ..., zr). Тогда известно, что выражение Y = F(X Z) (1.36) является одним из примеров ММ. Это выражение позволяет определять выходные параметры Y по известным векторам X и Z. Представление ММ вида (1.36)- получают только для простых объектов. В общем виде известно выражение £ф(¥) = Ф(¥), (1.37) где L—оператор; V — вектор независимых переменных (может включать параметры, характеризующие время и пространственные координаты); ср(У)—заданная функция независимых переменных; ф—вектор фазовых переменных, характеризующий информацион- ное или физическое состояние объекта (к фазовым переменным относят скорость, давление, ускорение и т. п.). Отметим, что в различных обстоятельствах внутренние, внеш- ние и выходные параметры ММ проектируемых объектов могут видоизменяться. Рассмотрим теперь классификацию ММ: по характеру отражаемых свойств объекта — абстрактные, функциональные, структурные и технологические; по способу получения модели—теоретические и эмпирические; по отношению к иерархическому уровню—микроуровня, мак- роуровня, метауровня; в зависимости от вида уравнений, используемых в моделях,— линейные и нелинейные; в зависимости от наличия в моделях случайных параметров - статистические и детерминированные соответственно; по способу представления свойств объекта—аналитические, алгоритмические и имитационные; по виду представляемых параметров—аналоговые и диск- ретные; по степени детализации описаний внутри одного иерархическо- го уровня полные и макромодели. Отметим, что данная классификация может видоизменяться и наращиваться. Абстрактные ММ представляются в виде автоматов и отражают процесс абстрактного и структурного анализа и синтеза ОП. В МО САПР обычно выделяют две глобальные проектные процедуры (ПП) анализа и синтеза. При реализации ПП синтеза происходит разработка искомого ОП. При реализации ПП анализа оцениваются варианты построения ОП. Различают одно- вариангный и многовариантный анализ, параметрический и струк- турный синтез. Одновариантный анализ заключается в определе- нии вектора выходных параметров Y при заданных структуре
системы, значениях векторов внутренних X и внешних Z парамет- ров. Структура системы считается заданной, если заданы перечис- ление типов элементов и способ их соединений. По известной структуре системы и значениям векторов X и Z создают физические или математические модели и на основе их оценки определяют значение вектора Y. Проектные процедуры анализа обычно выполняют методом моделирования. Одновариантный анализ включает задачи статики, динамики в частотной области. Многовариантный анализ заключается в определении изменений вектора Y при заданных изменениях векторов X и Z. Многовари- антный анализ включает анализ чувствительности и статистичес- кий анализ. При анализе чувствительности оценивают влияние внутренних и внешних параметров на выходные путем расчета коэффициентов чувствительности. Статистический анализ заключа- ется в оценке закона и расчете числовых характеристик распреде- ления вектора Y при заданных статистических значениях о рас- пределении случайных векторов X и Z. Различают две ПП синтеза. Это определение численных значений параметров элементов при заданных структуре ОП и диапазоне возможного изменения внешних параметров и опре- деление структуры ОП. При решении задач синтеза часто ставят задачи определения экстремума целевой функции. Такие задачи называют задачами параметрической оптимизации. При оптими- зации параметров ОП определяют номинальные значения внутрен- них параметров, при оптимизации допусков—допуски на внутрен- ние параметры, а при оптимизации технологических требований требования к выходным параметрам ОП. В КТП с применением САПР ПП анализа и синтеза находятся в тесной взаимосвязи. Сначала формируется техническое задание и на его основе синтезируется первоначальный вариант структуры ОП, затем выбираются значения параметров элементов и проводится его анализ. Если целью анализа является установление взаимного однозначного соответствия синтезированной структуры и исходно- го описания, то такой анализ называют верификацией проекта. Известны структурная и параметрическая верификации. В первом случае проверяется соответствие структур ОП, представленных двумя описаниями, с помощью решения задачи установления изоморфизма графов. Во втором случае устанавливают соответст- вие областей работоспособности двух сравниваемых вариантов ОП. С учетом результатов анализа выполняется итерационный процесс улучшения первоначального варианта на основе измене- ния численных значений параметров (параметрическая оптимиза- ция). После оптимизации проверяется выполнение требований технического задания. Если они не выполнены, то производится внесение структурных изменений, и процесс повторяется сначала. Функционально ММ обычно отражают свойства ОП, связан- ные с различными процессами функционирования объекта. Функ-
циональные ММ чаще всего представляют в виде систем уравнений, связывающих фазовые переменные, внутренние, внеш- ние и выходные параметры. Структурные ММ чаще всего отображают структурные, в частности геометрические, свойства объекта. Структурные ММ делятся на топологические и геометрические. Топологические дают сведения о составе и взаимосвязи элементов объекта и в основном используются при решении конструкторских задач в САПР, когда осуществляется привязка конструктивных элемен- тов к определенным позициям плоскости. Для представления топологических ММ применяют множества, отношения, графы, матрицы, таблицы, списки, фреймы. Геометрические ММ дают сведения о геометрических свойствах объектов, их взаимном расположении, форме и т. п. Они обычно задаются совокупностью уравнений, линий и поверхностей, алгеб- раических соотношений, графами и фреймами, отображающими конструкциями и используются в основном в задачах конструк- торского, функционального, технологического проектирования. Технологические ММ отображают свойства, связанные с про- цессами изготовления ОП. Их используют при задании исходных данных на разработку технологических процессов, построении технологических карт и т. п. В качестве технологических ММ применяются графы, гиперграфы, их матричные и списковые представления Более подробно структурные и технологические ММ будут рассмотрены в следующих разделах книги. Теоретические ММ получают на основе изучения физических закономерностей функционирования ОП, построения аналитичес- ких зависимостей, асимптотических оценок и т. п. Эмпирические ММ строят на основе опыта конструктора, технолога при детальном изучении внешних проявлений свойств объекта. При переходе к рассмотрению следующего вида ММ отметим, что каждому уровню или аспекту при блочно-иерархическом подходе к проектированию соответствуют свои модели. Считают, что ММ па микроуровпе описывают физические процессы, которые протекают в непрерывном пространстве и времени. В основном ММ на микроуровпе представляют в виде дифферен- циальных уравнений в частных производных (ДУЧП). Здесь независимыми переменными являются пространственные коорди- наты и время. Используя ДУЧП, рассчитывают поля механичес- ких напряжений и деформаций, температуру, давление и др. Математические модели в виде ДУЧП используют только для отдельных элементов или небольших фрагментов. Анализ сбороч- ных единиц, электрических схем СБИС, многокомпонентных структур затруднителен из-за экспоненциального роста машинного времени и памяти при решении ДУЧП. При разработке ММ на макроуровне используют укрупненную дискретизацию пространства (плоскости в частном виде) по
различным функциональным признакам. На макроуровне ММ, как правило, записывают в виде систем обыкновенных диф- ференциальных уравнений (СОДУ). В этих уравнениях незави- симой переменной является время, а зависимые переменные представляются вектором фазовых переменных, которые харак- теризуют состояние укрупненных элементов дискретного про- странства. В качестве таких переменных берут ток, напряжение, давление и т. п. Известно, что СОДУ являются универсальными моделями на макроуровне, так как они пригодны для анализа как динамических, так и статических состояний объекта. Порядок СОДУ обычно зависит от числа рассматриваемых элементов объекта. Если он превышает 103, то исследовать такие модели затруднительно и* переходят к построению ММ на метауровне. В этом случае в качестве элементов выбирают фрагменты деталей или их сложные совокупности. Как правило, ММ на метауровне также представляют в виде СОДУ. Основное отличие от ММ на макроуровне в том, что здесь не описываются внутренние для элементов фазовые переменные, а рассматриваются только переменные, относящиеся к взаимным связям элементов. Такой подход позволяет строить ММ, размерность которых приемлема для записи и обработки на ЭВМ. В основном к ММ на метауровне относят модели массового обслуживания, которые применяют для анализа и описания процессов функционирования сложных систем типа заводов, цехов, крупных поточных линий и т. п. Полной ММ называют модель, которая получается непо- средственным объединением моделей в общую укрупненную систему моделей. Тогда аппроксимацию полной ММ называют макромоделью. Она описывает объект при укрупненном рассмот- рении элементов. Аналитические ММ обычно представляются формулами, опи- сывающими зависимость между выходными, входными и внутрен- ними параметрами. Примером аналитической ММ является выражение вида (1.36). В задачах конструкторского и технологи- ческого проектирования с применением САПР необходимо опреде- лять такой вектор Y, при котором критерий (обычно в скалярной, а не в векторной форме), характеризующий качество функциониро- вания объекта, получает экстремальное (максимальное или мини- мальное) значение или в некоторых случаях достигает заданного значения. Тогда выражение (1.36) можно, например, записать так: Y = F(X, Z)=min. (1.38) Если функция F известна, то можно найти аналитическое решение выражения (1.38). Алгоритмическая ММ задает отношение между выходными внутренними и внешними параметрами, записанными в форме алгоритмов. В 1.1 описаны элементы теории алгоритмов и про-
стейшие правила составления алгоритмических моделей. Конк- ретные алгоритмы КТП будут приведены в следующих разделах книги. Как показано в работах И. П. Норенкова. примером алгоритмической ММ может быть выражение (1.37), которое дополняется алгоритмом численного метода решения и алгорит- мом вычисления вектора выходных параметров как функционалов решения системы уравнений Ч'(Р). Имитационная ММ показывает поведение ОП во времени при задании внешних воздействий на объект. Другими словами, имитационная ММ,—это по существу алгоритм или программа для ЭВМ, а эксперимент над программой соответствует рассмот- рению результатов расчетов по этой программе. Примерами имитационных ММ являются модели динамических объектов, описываемых в виде СОДУ, и разнообразные модели систем массового обслуживания. Наиболее широко имитационные ММ используются в технологическом проектировании ЭВА на БИС и СБИС. Аналоговые ММ— это модели, свойства которых определяют- ся законами, аналогичными законам изучаемой системы, а пе- ременные и параметры—непрерывные величины. Дискретные ММ — это модели, в которых все переменные и параметры дискретные величины. Опишем теперь 1ребования, предъявляемые к ММ. Основными являются адекватность, точность, степень универсальности, эко- номичность. Адекватность ММ — это соответствие модели моделируемому объекту или процессу. Причем адекватность рассматривают по тем свойствам модели, которые для конструктора или технолога являются необходимыми в данный момент. Под адекватностью ММ также понимают способность отображать заданные свойства ОП с текущей погрешностью ет не выше заданной погрешности е3. Математическая модель называется адекватной по вектору Y, если погрешность расчета на ее основе значений выходных параметров y-eY не превышает заданных. Как известно из [10], адекватность ММ в САПР обычно рассматривают в ограниченной области изменения внешних параметров. Эту область называют областью адекватности (ОА) ММ. В ней выполняется неравенство (1.39) где Ef -относительная погрешность определения параметра у,, возникающая из-за приближенного характера ММ; £ig—допусти- мая погрешность (s,g^0). Отметим, что любая ММ описывает лишь некоторое подмножество свойств ОП. Поэтому точность ММ определяется как степень совпадения значений параметров реального объекта и значений тех же параметров, полученных на основе исследуемой ММ. При определении точности ММ важно определять
погрешности моделей. Обозначают Y = (yt, у2, ..., ут)—вектор выходных параметров, yi3 — эталонное значение выходного параме- тра, определенное на основе экспертных оценок, yjMM—значение z-ro выходного параметра. Тогда относительную погрешность при расчете выходного параметра определяют следующим образом: Е1 = (Дым-Пэ)/Лэ- (1-40) Погрешность модели для всех значений параметров будет представлять вектор е=(е!, £2> —, £Д п — число выходных пара- метров. Отметим, что значения погрешности, полученные таким образом, зависят от свойств ММ, особенностей решаемых задач и достоверности экспертных оценок. В этой связи при решении новых задач КТП необходимо пересматривать оценки точности ММ. Как отмечалось выше, ММ—это только частичное отображе- ние реального объекта. Поэтому степень универсальности ММ соответствует полноте учета в модели свойств реального объекта. Например, ММ конструкции ЭВА в виде графа будет отображать только коммутационные свойства ЭВА, не отображая протека- ющих в объекте химических, физических и информационных потоков. Усложняя ММ, т. е. увеличивая степень универсальности, можно увеличивать приближение ММ к реальному объекту. Экономичность ММ обычно характеризуют затратами вычис- лительных ресурсов ЭВМ при их реализации. Основными из таких ресурсов являются машинное время Тм и объем исполь- зуемой памяти КМ=КОП+КВН> гДе объем оперативной па- мяти; Квн—объем внешней памяти. Отметим, что в современных ЭВМ Ивн»Иоп и при анализе затрат памяти в большинстве случаев оценку можно вести по Ивн. Очевидно, что чем меньше Тм и Им, тем ММ считается экономичнее. Величину Тм определя- ют как усредненное число операций N, выполняемых при однократном обращении к ММ. Величину Ум определяют в ос- новном числом Р параметров ММ. Сравнение ММ по экономич- ности состоит в сравнении значений N и Р. Запишем расплывчатый алгоритм построения ММ элементов и макромоделей. 1°. Определение свойств моделируемого объекта, которые должны отобразиться в модели. (Основное здесь задать и опре- делить функцию и перечень выходных параметров yt е Y объекта проектирования и список внешних параметров ZjeZ.) 2°. Выбор структуры ММ в виде схем, «воспринимаемых» пользователями. Установление взаимно однозначного соответст- вия и правил однозначного преобразования схем в математические соотношения ММ. 3°. Решение задачи идентификации, при которой определяются численные значения параметров ММ для заданной структу- ры модели.
4°. Выбор тестовых задач и на их основе определение погрешности ММ. Если она больше допустимого значения е; д, то переход к 2° с выбором новой структуры ММ; если условие (1.39) в тестовых задачах выполняется, то переход к 5°. 5°. Построение РОА, т. е. определение значений zimin и zimax. (Это способствует правильному выбору результатов проектирования.) Заметим, что задача идентификации в алгоритме ставится как экстремальная [10]. Найти minE0(J^, (1.41) где XD—область, в которой выбирают значения параметров ММ; е0 — обобщенная оценка погрешности ММ. Для решения (1.41) применяют методы математического программирования. Пользователи САПР, а к ним в первую очередь относятся конструкторы и технологи, должны выбирать программные средства, собирать их в пакеты, обращаться к базам данных и знаний и создавать специальные подсистемы. Пользователь САПР для решения конструкторских и технологических задач задает исходную информацию об анализируемом ОП и о проект- ных процедурах и операциях, которые необходимо выполнить. Причем для этих целей он использует известные проблемно- ориентированные входные языки программного комплекса. При построении ММ ОП на конструкторском и технологичес- ких уровнях используются СОДУ первого порядка F(i, E(z), 8V/8i) — Q, (1.42) второго порядка F(i, V(i), SV/8i, 82V/8i2) = Q, (1.43) системы ДУЧП первого порядка F(I, F(I), 8F(/j/8Z)=0, (1.44) второго порядка F(I, V(t)dV(l)/8I, 82V(F)/8I2) = 0. (1.45) В некоторых случаях используются гиперболические, параболичес- кие, эллиптические системы ДУЧП, системы интегральных, интег- родифференциальных уравнений. В выражениях (1.42) — (1.45) i—независимая переменная в СОДУ и i2, , z„)- в ДУЧП. Известно, что решение уравнений (1.42) — (1.45) состоит из дискретизации переменных, алгебраизации задачи и решения системы уравнений /(/} = (). Под дискретизацией переменных понимают замену непрерывных переменных конечным множест- вом их значений на заданных пространственных и временных интервалах. Под алгебраизацией понимают замену производных алгебраическими соотношениями. В математике известно большое
число способов и методов дискретизации и алгебраизации при решении ДУ ЧП. Отметим, что подробно эти методы изучаются студентами в курсах «Высшая математика» и «Специальные главы высшей математики». В задачах КТП с применением САПР на микро- и макроуровнях используют численные методы решения СОДУ, линейных и нелинейных алгебраических уравнений. При анализе объектов на метауровне реализуют переход к СОДУ или к системам логических уравнений (в настоящее время более приемлемыми конструкторами и технологами), моделям систем массового обслуживания, аналитическим моделям и др. Мате- матической моделью системы, например, может служить описание ОП на входном языке. Его можно представить как последователь- ность строк, каждая из которых описывает очередной элемент ОП. В заключение подраздела отметим, что для получения ММ ис- пользуются неформальные и формальные методы. Неформальные методы применяются на разных иерархических уровнях для ММ эле- ментов. Они включают в себя анализ и изучение закономерностей процессов и явлейий, принятие различных ограничений, допущений и упрощений. Построение ММ элементов осуществляет квалифициро- ванный конструктор или технолог с применением ЭВМ в соответст- вующем режиме. В настоящее время для этих целей начинают ис- пользоваться алгоритмы и экспертные системы. Однажды получен- ные ММ элементов можно применять большое число раз при по- строении ММ систем из этих элементов. При построении ММ си- стем в основном используются формальные методы, реализуемые в виде описанных выше алгоритмов с учетом известных ММ элементов. 1.5. ГРАФОВОЕ ПРЕДСТАВЛЕНИЕ МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ КОНСТРУКТИВНЫХ МОДУЛЕЙ Коммутационная схема; цепь; контакт; элементные, сигнальные ребра; матрица цепей; ультраграф; базовый матричный кристалл; частично ориентированный граф; инвариантные, эквипотенциальные контакты Структурные ММ, рассмотренные в предыдущем подразделе, наиболее часто используются при решении основных конструктор- ских задач покрытия, типизации, компоновки, размещения и трас- сировки. Эти задачи относятся к классу комбинаторно-логических оптимизационных задач, связанных с большим перебором ис- следуемых вариантов решений. Реализация данных задач на ЭВМ и используемые алгоритмы существенно зависят от выби- раемой формальной ММ схемы ЭВА. Известно, что для реализа- ции структурных ММ (включаюших геометрические и топологи- ческие ММ) наиболее приемлемыми являются графы, гиперграфы, ультраграфы, их модификации, а также матричные и списковые представления, поэтому рассмотрим их более подробно.
Различные ММ с различной точностью описывают одни и те же ОП при решении конкретных задач КТП. При сравнении различных представлений структурных ММ используют следующие показатели: сложность описания; точность описания (в пределах рассматриваемых свойств); степень использования для решения конкретных задач КТП; сложность алгоритмов обработки модели; сложность перехода от схемы к модели и обратно; возможность однозначного (неоднозначного) перехода от одной модели к другой. Заметим, что любая структурная, функциональная (логическая), принципиальная схема соединения микросхем на плате, БИС на подложке и т. п. состоит из наборов элементов и соединителей, находящихся между собой в заданном отношении. Поэтому такие схемы можно рассматривать как некоторое множество элементов X = {х±, х2, хп}, |У|=и, и некоторое множество соединителей, называемых цепями, Е = {е1г е2, ..., ет}, |2Г [=т, находящихся в задан- ном бинарном отношении. В схеме имеются внутренние и внешние ВЫВОДЫ: С = {сОд, С02, с0,р, с1,1> с1,2> •••, Cl,ki С2,О> C2,2i — ..., c2jZ, ..., cnд, c„ 2, ..., cn Л. Внутренние выводы ; соединяют элементы схемы между собой, внешние выводы cOt соединяют рассматриваемую схему с другими. Здесь i, j, Ze{l, ’2, ...}, к, г, s—число выводов соответственно элементов х±; х2, ...; х„; р—число внешних выводов. Множество С будем называть множеством контактов. Два контакта с, 7, cfc>eeC(i ^k,j =£е) считаются соединен- ными (связанными), если они объединяются одной электрической цепью. Под электрической цепью eteE будем понимать некоторое подмножество С множества контактов С(С'сС), принадлежащих к' одному эквипотенциалу. Контакты подмножества С' имеют равный потенциал в принципиальной электрической схеме. Такое представление схемы называют схемой соединений или коммутаци- онной схемой (КС). При построении ММ КС каждой однопотен- циальной цепи ставится в соответствие число из натурального ряда 1, 2, ..., у, где у- - число разнопотенциальных цепей в КС. На рис. 1.57 показан условный фрагмент КС.
•Рис. t.58. Математическая модель КС (рис. 1.57) в виде графа G—(X, U) (модель Для построения ММ КС зададим КС в виде неориентирован- ного графа G—(X, U). Компоненты (элементы) КС представим вершинами X', а внешние контакты —вершинами X", X =X'{JX". В графе G каждая электрическая цепь е^Е будет представлена полным подграфом, включающим все вершины, инцидентные цепи et, а вес ребра ut,j£U определится числом связей между элементами КС й х(-. На рис. 1.58 иллюстрируется представление КС (рис. 1.57) с помощью описанной ММ в виде графа G. Обозначим ее М i. В рассматриваемом примере граф G представлен в виде мультиграфа с мультичислом, рав- ным трем. Приведем краткую характеристику ММ Мг. Модель неориен- тированный граф, описываемый матрицей смежности RM . В этой связи алгоритмы обработки Мх простые и имеют ВСА порядка О (и). Переход от КС к Мг очень прост, так как состоит из введения множеств X и U и построения матрицы RM . Хорошо разработанный аппарат теории графов способствует широкому применению в основном для решения задач компоновки и размещения, хотя минимизируемые критерии не совсем со- впадают с практическими критериями. Для решения задач определения планарности и трассировки ММ Л/) применять нежелательно из-за больших искажений между и КС. Модификацией ММ Mt является ММ М2, представляемая графом, в котором полные подграфы, моделирующие цепи заменяются покрывающими их деревьями. По сравнению с Мг ММ М2 проще, так как имеет меньше ребер и сохраняет все преимущества М±. Основная сложность — выбор одного из и"-2 покрывающих деревьев для каждого полного подграфа. На рис. 1.59 приведена ММ М2 для КС (см. рис. 1.57). Видоизменением ММ М2 является представление КС графом G=(X,U), в котором все покрывающие деревья являются звездными подграфами с центральной вершиной л,, соответствую-
x{\Ui x;\ui Рис. 1.59. Математическая модель М2 Рис. 1.60. Математическая модель М3 щей началу цепи е,. На рис. 1.60 показана ММ М3 для КС (рис. 1.57). Существует большое число ММ, производных от Mi —М3. Основной недостаток этих ММ тот, что фиксированные деревья могут ухудшить качество проектирования особенно при компонов- ке, а полные подграфы резко увеличивают объем используемой оперативной памяти ЭВМ. Тем не менее рассмотренные ММ наиболее просты. Представим КС в виде двудольного ориентированного графа (математической модели) D = (A’(JCO[-(JE, U). Граф задают мат- рицей инцидентности I = || ike ||: 1, если ер есть выходная цепь элемента хк, ikp ~ Л 0, если ер не связана с хк, — 1, если ер есть входная цепь элемента хк. Для фрагмента КС (см. рис. 1.57) запишем матрицу *1 1=х2 Хз х4 е1 1 о 0 0 <?з е4 е5 е6 -1 0-1 0 110-1 1-110 1110 1 0 На рис. 1.61 показан граф D (ММ Л/4). Отметим, что Л/4 сложнее Мк, М2, М3, но зато может применяться для разработки алгоритмов трассировки соединений. В этом случае столбцы матрицы I вместе с соответствующими им строками (вершинами Рис. 1.61. Математическая модель М4 Рис. 1.62. Математическая модель М5
л.) образуют каждый одно соединение, т. е. электрически связан- ную цепь. Отметим, что ММ Л/4 используют, когда необходимо различать входы и выходы логических элементов. Наибольшее применение Л/4 находит при решении задач типизации и покрытия. Когда матрицы, представляющие граф, сильно разрежены, т. е. имеют мало ненулевых элементов, хранение информации в мат- ричной форме неэффективно. В этом случае удобной формой представления матриц являются списки, подобные представлен- ным в 1.2. Для решения некоторых задач планарности КС задают в виде графа G=(y(J^> tO (ММ Л/5), где V—множество узловых точек КС. Тогда для фрагмента КС (см. рис. 1.57) ММ М5 примет вид рис. 1.62. При исследовании КС с небольшим числом элементов ее моделируют графом G = (C, U) (ММ М6), в котором вершины соответствуют контактам, а соединения между ними—ребрами.. Соединения можно реализовать полными подграфами (аналогично ММ Л/,), покрывающими деревьями (аналогично ММ М2 и М3). На рис. 1.63 показана ММ М6 в виде графа G. Граф состоит из множества несвязанных деревьев. Такие ММ удобно исполь- зовать при реализации волновых алгоритмов трассировки. С уве- личением числа элементов и контактов сложность М6 резко растет. Зададим КС в виде графа G=(yU^UC U) математической" модели M-j. В М7 множество ребер U=F{JW состоит из элементных F и сигнальных W ребер. Ребра подмножества F определяют принадлежность контактов из множества С элемен- там из X и задаются парами вида (х;, cs). Ребра подмножества W задают вхождение контактов из С в цепи Е и описываются парами вида (cs, ej. На рис. 1.64 показан граф для КС (рис. 1.57)., Обычно такой граф задают несколькими матрицами или спис- ками. Основное преимущество Л/7 —полная адекватность с КС в отношении планарности. Если М7 планарна, то всегда планарна
СЦ1 Со,г) с2,1 £3^. Рис. 1.64. Математическая модель Л/7 fil.3 КС, и наоборот, если Л/7 не планарна, то не планарна и КС. Основной недостаток Л/7—резкое увеличение числа вершин и ребер графа по сравнению с ранее рассмотренными ММ, особенно по сравнению с М2 и М3. Представим КС в виде гиперграфа Н=(Х, Е) (ММ М8), причем каждое ребро е^Е гиперграфа представляет некоторое подмножество вершин, инцидентных этому ребру. В М8 каждому ребру гиперграфа // взаимно однозначно соответствует определен- ная электрическая цепь моделируемой КС. При этом заранее не задается, как и в каком порядке будут соединены в конкретном алгоритме вершины, инцидентные данному ребру. Такая гибкость позволяет выбирать или полные подграфы, или любые из «7г~2 покрывающих деревьев. Каждое ребро гиперграфа предста- вляется в виде замкнутой кривой, охватывающей инцидентные ребру вершины, кроме ребер, инцидентных только двум верши- нам,— они представляются отрезками. На рис. 1.65 показан гиперграф Н (ММ М8) для КС (см. рис. 1.57). ММ М8 эффективно используют для решения задач компоновки размещения и после модифи- кации планарности и трасси- ровки. Основное преимущест- во - - возможность задания из- меняющейся информации о цепях КС, которые конст- руктивно могут быть' пред- ставлены любым из и”'-2 по- крывающим деревом. Гипер- графы задаются различного Рис. 1.65. Математическая модель
рода матрицами и списками. Если идентифицировать внутренние контакты КС, то ее можно представить матрицей цепей = || /'г, 1| (ММ М9), строки которой соответствуют элементам КС, а сто- лбцы—наибольшему числу внутренних контактов. Элемент fij представляет номер цепи, связанной с контактом элемента л;. Для условного фрагмента КС (см. рис. 1.57) матрица цепей Re запишется в следующем виде: Х2 Х3 Re= х4 (5)С0.1 (6) С0,2 (7)со,з 12 3 4 Ci е3 е5 О е4 е3 е5 е6 е2 е3 е5 е4. е3 е4 О О е, О О О е2<0 О О О 0 0 е6 Например, элемент r3j2 означает, что цепь е3 соединена с кон-, тактом с3>2 элемента КС х3; элемент г7 4 означает, что цепь е6 соединяет контакт с2>4 элемента х2. Математическая модель М9 удобна для Трассировки и размещения элементов, позволяет экономить оперативную память ЭВМ, но требует предваритель- ной нумерации цепей. Как показано в 1.2, любому гиперграфу Н может соответство- вать двудольный граф Кенига. Представим КС в виде такого графа G = (X\JE, U). Здесь X и Е—подмножества несмежных вершин. Вершина х,еХ соединяется с вершиной е^Е, если в гиперграфе Н=(Х, £") —вершина Для КС (см. рис. 1.57) ММ Л/10 пока- зано на рис. 1.66. Отметим, что Л/10 является модификацией Мъ, но в отличие от нее более наглядна, особенно с увеличением числа вершин и ребер. Заметим, что множество внутренних контактов КС можно разбить на отдельные функциональные группы, каждая из' которых выполняет различные функции. Это позволяет выделять функционально неразличимые (инвариантные) контакты, что дает возможность осуществлять перекоммутацию цепей схемы и улуч- шать результаты размещения и трассировки соединений. Представим КС в виде ультраграфа (математической модели Л/ц). Понятие ультраграфа является обобщением понятия оргра- Рис. 1.66. Математическая модель Рис. 1.67. Математическая модель
фов и гиперграфов. Говорят, что задан ультраграф СГ=(У, Е), если задано множество вершин y=.Y(JA", множество ребер £={е1, <?2, ...» es} и два многозначных отображения /t : У->Е и /2 : У. В ММ ^каждому ребру ультраграфа, как и в Мъ, взаимно однозначно соответствует определенная электрическая цепь КС. Каждое ребро ультраграфа имеет ориентацию согласно порядку прохождения сигналов в КС. При задании ультраграфа часто используют его представление Dr, подобное кенигову представле- нию гиперграфа. Граф D^=(X, U) имеет X=Y\JE и множество ориентированных ребер U, причем (у;, eJeU, если элемент xt является источником сигнала (цепи) е и ек yt е U, если сигнал ек поступает на элемент yj. На рис. 1.67 показана ММ Мк1 для условного фрагмента КС (см. рис. 1.57). Основное достоинство ММ А/п—возможность определять задержки сигналов в цепях КС. При известных сигналах, которые поступают на элементы КС, переход от КС к ультраграфу однозначен и довольно прост. Информацию об ультраграфе вводят в ЭВМ в виде списков или матриц. При этом объем требуемой памяти ЭВМ возрастает по сравнению с аналогичным описанием гиперграфа. Отметим, что в настоящее время наибольшее распространение в задачах КТП получили списковые и матричные формы задания ММ. Рассмотренные ММ Мк—М1к во многом аналогичны, и часто можно перейти от одной ММ к другой. В настоящее время для возможного проведения цепей под элементами и между контактами рассматриваются графовые ММ для элементов. Использование таких ММ позволяет адекватно определять планарность КС и ММ. При разработке ЭВА важнейший вопрос—уменьшение габа- ритных размеров и потребляемой энергии. Один из путей решения этой проблемы—-использование БИС. Более подробно проектиро- вание ЭВА на БИС и СБИС будет рассмотренно в гл. 5. < Рассмотрим для примера построение ММ, реализованных на базовых матричных кристаллах (БМК). Па БМК располагаются библиотечные элементы (БЭ), которые соединяются между собой. Топология БЭ представляет собой с геометрической точки зрения контур на плоскости, объединяющий некоторое множество первичных элементов (транзисторов). Контур является замкнутой ломаной. Условно множество БЭ можно разделить на три подмножества -^ = ^iU^2U^3. Библиотечный элемент называется циклическим и принадлежит Alt если контур, описывающий его, гомеоморфен кругу, т. е. его границу йепрерывным деформированием можно превратить в окружность. Библиотечные элементы называются линейными, и они входят в Аг при их линейном расположении. В этом случае контур сливается в линию. Подмножество элементов Л3 состоит из комбинированных элементов, для которых контур представляется в виде цикла с перешейками- или линий с циклами. Особенностью ММ БИС на БМК является то, что для одной и той же логической схемы может существовать несколько вариантов топологии. Для БЭ БИС простейшей ММ будет ранее рассмотренная когда элементу КС БИС соответствует вершина
Рис. 1.68. Представления в математической модели М12 циклического (а), линейного (б) и комбини- рованного (в) БЭ графа. При этом запрещается проведение соединений внутри элемента и порядок выводов элемента lie фиксирован. Очевидно, что такая упрощенная модель неадекватна исходным требованиям КТП БИС. Более точная модель БЭ.БИС (ММ Л/12) строится на основе отображения множества А на множество вершин графа G=(X, U). Соседние вершины ММ М12 соединяются структурными ребрами. На рис. 1.68 показано представление БЭ в ММ М12. На рис. 1.69 даны пример функцион’ального элемента с эквипотенциальными контактами и его представление в ММ М12, а на рис. 1.70—показано аналогичное представление другого функционального элемента с инвариантными контактами. Такая ММ позволяет учитывать различие топологических представлений множеств циклических, линейных и комбинированных элементов, определять строгий порядок контактов в элементе, отображать эквипотенциальность контактов и групп контактов, представлять инвариантность смежных контактов и их групп. В настоящее время перспективными ММ для БЭ БИС, СБИС являются частично ориентированные графы. Для таких графов вводится понятие ориентации P(xj вершины х;еУ и ориентации P(G) графа G. Под Р(х^ вершины х; понимается циклическая Рис. 1.69. Представ- ление функционального элемента с эквипотен- циальными контакта- ми в ММ Mi2 (а) и его графовая ММ (б)
Рис. 1.70. Представ- ление сложного функ- ционального элемента с инвариантными кон- тактами в ММ 'Mi2 (а) и его графовая ММ (б) перестановка вершин, смежных с xt, а под P(G)—отображение множества вершин X графа G на множество их ориентаций. Если ориентация задана лишь для X' с X, то такой граф называется частично ориентированным. Вершина с заданной ориентацией называется фиксированной и обозначается ф. Если ориентация не определена, то вершина называется нефиксирован- ной и обозначается ©. Вершина с двумя возможными ориен- тациями Р+ (х,) и Р~ (х,), т. е. одна ориентация—зеркальное отображение другой, называется полуфиксированной и обознача- ется ®. Математическая модель А/13, построенная на основе частично ориентированного графа, позволяет учитывать следу- ющие конструктивные особенности БЭ БИС: различие тополо- гических описаний циклических, линейных и комбинированных БЭ; задание порядка контактов БЭ с точностью до зеркального отображения; определение эквипотенциальности и инвариантности контактов и групп контактов БЭ. На рис. 1.71 показано пред- ставление строгого порядка контактов в БЭ (рис. 1.69, а). На Рис. 1.71. Представление кон- тактов БЭ (рис. 1.69,а) Рис. 1.72. Отображение инвариантных контактов в БЭ (рис. 1.70, а)
Рис. 1.73. Отображение эквипотенци- альных контактов БЭ (рис. 1.69,а) 1 2 3 Ь 5 6 7 Рис. 1.74. Условный фрагмент топо- логии матричных БИС рис. 1.72 показало отображение инвариантных контактов БЭ (рис. 1.70, а) и на рис. 1.73 — отображение эквипотенциальных контактов БЭ (рис. 1.69, а) в ММ М13. Зададим ММ для представления компонентов БЭ БИС специальным, частично ориентированным графом (Л/14). Каж- дый элемент AitJeA будет представляться в виде двух графовых моделей х;>7- и "Gij, где x;j определяет порядок следования контактов в элементе, a G^j инвариантность и эквипотенци- альность контактов. Введение дополнительного графа позволяет адекватно моделировать сложные функциональные элементы БИС. Для элементов схемы, у которых отсутствуют сложные функциональные связи, представление стягивается в точку. В зависимости о г вида графа хЛу выделяют элементы под- множества At, А2, А3 £ а. Для иллюстрации ММ Л/14 рас- смотрим условный фрагмент топологии БИС, изображенный на рис. 1.74; ММ показана на рис. 1.75. Отметим, что общая ММ всей топологии КС получается в результате объединения ММ компонентов с учетом анализа построения ММ БЭ и цепей. Используя ММ типа М14 при топологическом анализе БИС, можно ставить и однозначно решать задачи планарности и построения плоских укладок КС, что будет рассмотрено в гл. 5. При разработке алгоритмов КТП с применением САПР в настоящее время описанные ММ и их модификации исполь- зуются для формализации описания КС. Рассмотрим кратко построение ММ платы и ТЭЗ. Элементу КС, устанавливаемому на поле платы, ставится в соответствии подмножество Е' Е номеров цепей, приходящих на его контак- ты. Математической моделью геометрии элемента хгеХ КС будет геометрический объект. Этот объект точечное множество, которое образует фигуру заданной формы и размеров в евк- лидовом пространстве. Тогда ММ поля проектирования—это геометрический No, соответствующий области на плате, где устанавливаются элементы На поле проектирования наклады-
(Хь Хб Х3\ Х>3) Х/о] Хп) \Х,2 Xtf) (х3 Рис. 1.75. Математическая модель М14 фра- гмента топологии (рис. 1.74) вают неподвижную систему координат (/, О, s), получая граф Gr (см. 4.2). Каждому элементу КС ставят в соот- ветствие подвижную систе- му координат, причем в за- данном начальном состоя- нии КС она должна со- впадать с системой коор- динат поля проектирования. Начало выбранной подви- жной системы координат называют полюсом КС. В процессе проектирования (например, размещение эле- ментов на плате) элементы подвергаются движениям (сдвиг, вращение, перестановка). Тогда /1ДП,р;) -множество точек пространства, образующих элемент х,еХ при его собственном движении с параметрами П;, р;. Здесь —координата полюса в системе координат поля проек- тирования, р;—углы поворота системы координат относительно неподвижной системы координат. Для конструирования ТЭЗ или блока ЭВА вводятся сетки посадочных мест (граф Gr). СИ метим, что на плате можно задавать несколько сеток посадочных мест. Тогда элементы КС могут накладываться друг на друга. Поэтому необходим анализ посадочных мест. Посадочные места сетки имеют регулярное расположение на поле платы. Это позволяет получать координаты установки элементов. Пространство проектирования обычно дву- мерное. Угол поворота системы координат элемента х, при установке его на поле платы принимает значения 0, 90, 180, 27(У. Полюс элемента устанавливают только в узлы такой сетки. При проектировании многослойного монтажа ММ платы является моделью для представления поверхностей слоев платы в памяти ЭВМ. Основные параметры ММ платы- это число слоев, размеры каждого слоя, координаты внешних и внутренних контактов, допустимые формы печатных проводников, минималь- ные зазоры между ними, зоны запрета на компоновку, размеще- ние, трассировку. В настоящее время наибольшее распространение получила ортогональная модель платы. При этом на каждый слой платы, имеющей контакты, проводники (цепи) и зоны запрета, накладывается регулярная сетка (граф Gr), образованная множест- вами вертикальных и горизонтальных прямых и состоящая из ячеек размерами 5S х 5t. Такую дискретную модель платы пред- ставляют в ЭВМ двумерным числовым массивом (.v, /), т. е. матрицей.
1.6. МОДЕЛИРОВАНИЕ МЕХАНИЧЕСКИХ ВОЗДЕЙСТВИЙ* Вибрация; ударное воздействие; перегрузка; прочность; устойчивость; виброустойчи- вость; удароустойчивость; демпфирование; коэффициент динамичности; метод конечных элементов и разностей; математическое, физическое, дискретное модели- рование; теория подобия Рассмотрим сначала классификацию механических воздейст- вий. В качестве таковых определяются вибрация, удар, линейное ускорение. Йод вибрацией аппаратуры (в частности, ЭВА или ее отдельных блоков) понимают механические колебания ее элементов или конструкции в v целом. Вибрация может рассматриваться как периодическая или случайная. Периодическая вибрация может быть гармонической и полигармонической, случайной стационар- ной и нестационарной, узкополосной и широкополосной. Хотя гармоническая вибрация редко встречается в реальных условиях, именно она чаще всего используется при лабораторных испыта- ниях ЭВА. В 'отличие от двух других видов механических воздействий (МВ), понятие «вибрация» применяется в двух случаях: во-первых, в приведенном выше понятии движения самой ЭВА, во-вторых, как характеристика собственно МВ — «внешнее колебательное движение, оказывающее вредное воз- действие на объект». ЭВА может подвергаться также ударным воздействиям, возни- кающим при транспортировке, монтаже или эксплуатации, на- пример при действии ударной волны. В процессе удара нагрузки к элементам аппаратуры прикладываются в течение короткого промежутка времени т. Интенсивность ударного импульса опре- деляется его формой, амплитудой и длительностью. Эти понятия поясняются следующим выражением: F=]p(t)dt, (1.46) о а также рис. 1.76, на котором приведены виды простой формы ударного импульса. Формой ударного импульса при расчете считают одну из приведенных на рис. 1.76 идеализированных простых форм: ступенчатую, полусинусоидальную, прямоугольную, синусоидаль- но-экспоненциальную, пикообразную, знакопеременную. Чаще все- го в ЭВА форму реального ударного импульса сводят к по- лусинусоидальной и прямоугольной. Линейные ускорения характерны для всех объектов, движущих- ся с переменной скоростью. Влияние линейных ускорений на модули ЭВА обусловлено инерционными силами, которые могут * Данный параграф написан совместно с В. А. Герасименко.
во много раз превышать силы тяготения. При расчетах аппарату- ры, работающей в условиях линейных ускорений, последние принимаются равными максимальному их значению за время действия либо изменяющимися по ступенчатому или линейному закону. Отношение действующего ускорения а к ускорению свободного падения g характеризует линейное ускорение и называ- ется перегрузкой: n = alg. (1.47) При эксплуатации ЭВА в основном встречаются случаи комплексных МВ, включающих рассмотренные виды в разных комбинациях, чаще имеет место сочетание вибрационных и удар- ных воздействий. Кроме того, при периодическом приложении ударных импульсов блок или модуль ЭВА, установленный на упругих опорах, приходит в колебательное движение. Это должно учитываться конструктором при разработке средств защиты. К ЭВА, предназначенной для работы в условиях механических воздействий, предъявляются требования прочности и устойчивос- ти. К ЭВА, не предназначенной для работы в этих условиях, предъявляются требования только прочности. По терминологии действующих ГОСТов и стандартов под вибро- и ударопроч- ностью к воздействию механических факторов понимают способ- ность ЭВА выполнять заданные функции в пределах норм после воздействия механических факторов. Под вибро- и ударо- устойчивостью понимают способность ЭВА выполнять заданные функции в пределах норм во время воздействия механических факторов [45. 63]. Рассмотрим предпосылки для получения расчетных ММ виброизолированных модулей ЭВА [65]. Для определения дина- мических характеристик модулей ЭВА как сложной механической системы должна строиться ММ этой системы. При этом реальные элементы модуля с распределенными массами могут заменяться элементами с дискретными массами, сосредоточенными в точках и соединенными между собой упругими безынерционными и демп- фирующими связями. Расчетная ММ системы должна рассматри-
Рис. 1.77. Пример прямолинейного действия МВ, направленного вдоль одной оси координат Рис. 1.78. Частотная характеристика ММ виброизолированной системы ваться с точки зрения максимального соответствия реальной физической системе. Однако практическое построение ММ всегда проводится с рядом упрощений и допущений. В рассматриваемом случае (т. е. для модуля ЭВА) такими допущениями, сохраняющи- ми свойства моделируемого объекта, являются следующие: объект подвергается только прямолинейному действию МВ, направленному вдоль одной оси координат (рис. 1.77). На рис. 1.77 использованы обозначения: т—масса инерциального элемента, к—жесткость упругого элемента, п—коэффициент демпфирования, P=PosincoZ—возмущающая сила, Ро—амплиту- да возмущающей силы, со—частота изменения возмущающей силы, t время; образное влияние основания на объект пренебрежимо мало, так как масса основания намного больше массы объекта; масса упругого элемента (виброизолятора) пренебрежимо мала по сравнению с массой всего объекта; деформацией основания и объекта можно пренебречь по причине их достаточной жесткости; коэффициенты демпфирования и жесткости упругого элемента и масса объекта есть величины постоянные; деформация виброизолятора пропорциональна силе упругости, и сила сопротивления амортизатора пропорциональна скорости возмущенного движения объекта. Движение системы анализируется по принципу Даламбера, т. е. в уравнение движения массы включаются все силы, дей- ствующие на систему, причем они находятся в равновесии с силой инерции. Такими силами помимо возмущающей являются сила инерции РК=тх, сила упругости пружины Ру=кх, где х—перемещение массы, сила демпфирования Pc = hx. При этом уравнение примет вид mx+hx+kx = Posinco/ (1-48) или после преобразования вид
x+280oj0x+£x = coo*CTsina)£ (1-49) где 80 = /z/2^/w^ характеризует демпфирование; xCT = P0/fc—вели- чина удлинения упругого элемента при статическом действии силы Ро; &0 = у/к fm—круговая частота собственных колебаний системы. Анализ последней зависимости для круговой частоты показы- вает, что собственная частота системы'Пе определяется началь- ными условиями; видно также, что увеличение массы инерциаль- ного элемента уменьшает частоту, а повышение жесткости виброизолятора приводит к ее увеличению. В реальной системе всегда есть демпфирование. Обычно его величина лежит в пределах 0,02...0,25. С некоторыми упрощения- ми можно считать, что в демпфируемой системе x = 24e~8o°Msin(Boz, (1.50) т. е. свободные колебания затухают и перестают быть периодичес- кими; рост демпфирования, естественно, ведет к ускорению процесса затухания колебаний. С учетом наличия вынуждающей силы общее решение принимает вид х = —<p0) + pxCTsin(roZ—ср). (1-51) Второе слагаемое в правой части выражения (1.51) обусловлено действием вынуждающей гармонической силы. Используемая здесь величина называется коэффициентом динамичности. Она показывает, во сколько раз амплитуда вынужденных колебаний отличается от статического отклонения системы под действием силы Ро. Коэффициент динамичности определяется выражением 1 ц=[480а+(1 - а2)] 2, (1.52) где <x=to/to0— коэффициент расстройки или частотное отношение. Коэффициент динамичности используется при построении так называемой частотной характеристики ММ виброизолированной системы, показанной па рис. 1.78. Из приведенной частотной характеристики следует, что: амплитуда вынужденных колебаний падает после перехода частоты собственных колебаний через резонанс; чем меньше демпфирование, тем сильнее проявление резонанса; использование демпфирования полезно в резонансной области, так как оно снижает амплитуду вынужденного колебания; демпфирование в зарезонансной области ухудшает работу системы виброизоляции, так как несколько увеличивает амплитуду колебаний. Из частотной характеристики следует также главное правило виброизоляции: при известной частоте действующей вибрации
собственная частота виброизолируемой системы должна быть как можно меньше с учетом выполнения соотношения ojo<<uj/x/2. (1.53) При определении динамических характеристик модулей ЭВА возникает необходимость в решении двух задач: о собственных колебаниях, в результате решения которой находится собственная частота конструкции, о вынужденных колебаниях, в результате решения которой определяется амплитуда вынужденных колебаний при заданных параметрах внешнего вибрационного воздействия. Практическое применение аналитических методов в этом случае сопряжено с рядом трудностей. Для электронного блока, или модуля ЭВА сложно построить расчетную ММ, достаточно простую и в то же время адекватно отражающую физические и динамические свойства, тем более, что такая конструкция содержит множество неконтролируемых параметров. Эти причины способствовали внедрению в теорию виброзащиты численных методов, и в частно- сти методов конечных разностей (МКР) и конечных элементов (МКЭ), изучаемых в курсе «Высшая математика». Рассмотрим кратко вопросы моделирования виброзащитных систем. Моделирование, как отмечалось выше, —это процесс создания и исследования системы-модели, сходной с системой-ори- гиналом, подлежащей исследованию. При рассмотрении вибро- защитных систем используют физическое и математическое моде- лирование. Физическое моделирование—это процесс сравнитель- ного анализа свойств явлений, имеющих одну физическую природу. Это есть «прямое» моделирование. Математическое моделирование основано на аналогиях, т. е. одинаковом матема- тическом описании явлений, различных по физической природе. Основное достоинство физического моделирования это пол- нота воспроизведения исследуемого явления, а недостаток -труд ность создания идентичной модели. Если явление или устройство можно достаточно точно описать математически, то для его исследования применим метод математического моделирования. Два основных метода создания математических моделей заключаются либо в использовании физических аналогий, либо (чаще в последнее время) в применении ЭВМ. Основными причинами использования моделирования конструктором ЭВА являются трудности расчета и проектирования нелинейных колебательных систем; отсутствие соответствующего (например, по габаритным размерам) испытатель- ного оборудования; значительные материальные затраты при экспериментальной отработке проектируемых систем. Два исследуемых явления (реальное и моделируемое) считают- ся подобными, если по заданным характеристикам одного можно получить характеристики другого простым пересчетом. Поэтому в теории моделирования сформулированы критерия подобия.
Они представляют собой меры оценки размерных физических величин. Теория подобия утверждает, что явления в системах подобны, если критерии подобия численно равны. Рассмотрим получение критериев подобия применительно к виброизолированной системе. Теория подобия позволяет устанавливать динамическое подо- бие между моделью и виброзащищенным электронным модулем. Движение такой системы под действием МВ описывается уже приводившимся выше дифференциальным уравнением (1.48). Условимся обозначать коэффициенты подобия такой же буквой, какой обозначается физическая величина, но с индексом «с»; величины, относящиеся к модели, с индексом «н»; величины без индексов будут соответствовать моделируемой системе, т. е. оригиналу. Тогда при подобии получим d2x .. t2 .. —^=х=— хн; dt2 хс " При составлении критериев подобия символы интеграла и дифференциала опускаются, а выражение аргумента тригоно- метрических функций принимается за значение критерия подобия. Подстановка введенных обозначений в дифференциальное уравне- ние дает уравнение, описывающее движение модели. При этом необходимо соблюдение условия, чтобы между коэффициентами преобразования при cocZc=l существовали соотношения тсхс hcxc ксхс рс Разделив все члены этих соотношений на 1 / рс, получим индикаторы подобия (это есть соотношение критериев подобия, равное единице): рЯ _ РЛ _ Рс _ тсх,. hcxc ксхс Отсюда уже можно получить четыре критерия подобия, имеющих одно и то же значение | idem | для модели и натуры: п. - к тх hxto =—-—=idem, П3=А= кх --^- = idem, кЛ П4 = (Щ = = (OR/R = idem. (1-54)
Полученные критерии подобия: используются в качестве параметров и переменных исследуе- мой виброзащитной системы; если в них вместо переменных величин ввести соответствую- щие начальные условия, то они дадут достаточные условия подобия анализируемых систем; позволяют конструктору исключить изучение рабочих процес- сов в различных конструкциях виброзащитных систем непосред- ственно, поскольку значения любых интересующих параметров определяются простым пересчетом. Рассмотрим вопросы расчета вибро- и удароизоляции с приме- нением дискретного моделирования. Исследование динамики кон- струкций на основе создания их дискретных моделей предполагает использование численных методов, позволяющих решать сложные задачи расчета механических процессов в моделируемых устрой- ствах. В свою очередь, численные методы позволяют широко применять на практике автоматизацию конструкторских работ, так как они ориентированы на использование средств вычисли- тельной техники.* С точки зрения дискретного моделирования конструкции ЭВА телятся на две группы. В первую отнесены конструкции с естественной дискретной структурой — это, напри- мер, ферритовая матрица запоминающего устройства Вторая группа включает в себя монолитные блоки, например залитые компаундом модули ЭВА. При построении их моделей произво- дится искусственная дискретизация. Как особые рассматриваются модели конструкций с резко неоднородной структурой, а также модели в криволинейных системах координат. К ним прибегают, например, при моделировании корпусных конструкций сферичес- кой формы и с каркасами, при моделировании магнитных дисков ЗУ. Разнообразие конструктивных вариантов требует для каждого конкретного случая составлять оригинальные расчетные соотноше- ния. Однако эта особенность дискретного моделирования не создает существенных трудностей при использовании САПР. Опишем моделирование конструкций с естественной дискрет- ной структурой. В качестве объекта моделирования рассмотрим матрицу с ферритовыми сердечниками, применяемую в ЗУ ЭВМ (см. рис. 1.79). Определение вибропрочности таких матриц произ- водится путем их испытаний на удар. Мапые размеры деталей не позволяют наблюдать в процессе испытаний за характером их взаимодействия. Фиксируется лишь исход испытаний. Чис- ленное решение этой же задачи об ударе матрицы производится для случая удара рамкой матрицы «плашмя» о прочную опору. Конструкцию матрицы будем представлять как рамку с натянуты- ми на нее проводниками. В точках пересечения проводников помещены ферритовые сердечники. При моделировании сердечни- ки представляются сосредоточенными массами, которые соедине- ны идеальными упругими связями.
Рис. 1.79. Фрагмент матрицы Рис. 1.80. График зависимости вели- памяти с ферритовыми сердеч- чины перемещения в критический пе- никами (z, к — число шин) риод времени после удара Для рассматриваемого примера (рис. 1.79) проекции упругих сил связей и инерции на ось z, перпендикулярную плоскости рамки, записываются в виде ^Fz„ = azm. (1.55) где Fz „—проекция силы натяжения провода на ось z; а, — ускорение сердечника при ударе в направлении оси z; т —масса сердечника; и номер провода, подходящего к сердечнику. Предполагается, что сердечники перемещаются при ударе только в на- правлении оси z, не проскальзывая по проводникам. Ускорение можно представить как вторую разность от перемещений во времени: 82z z/.t1-2z{t+z{l1 °2~dt2~ г2 (1-56) гдет шаг по времени;/ номер шага по времени; /, к номер шин по осям х и у (см. рис. 1.79). Тем самым вводится дискретизация во времени. Уравнения, подобные приведенным, могут быть составлены для всех узлов сетки. Для стандартной матрицы, например размером 32 х 32, таких разностных уравнений будет 1024. Общий алгоритм расчета составляется с учетом того, чтобы в процессе анализа определить перемещение каждого сердечника по времени, а также его ускорение и натяжение проводников при ударе. Получаемые величины позволяют сделать вывод, выдержит ли матрица испытание на удар. Расплывчатый алгоритм представляется следующим образом. 1°. В памяти ЭВМ отводится место для записи информации о перемещении во временном слое ( /— 1) и столько же—для хранения информации о перемещении во временном слое (у). Еще нужна память для перезаписи промежуточных результатов для слоя ( /+1). 2\ В соответствии с методикой решения разностных уравне- ний по значениям перемещений шагах (у— 1) и у вычисляются перемещения на слое (у+1). 3°. Полученные значения записываются в предварительно отведенные ячейки памяти. 4°. Процесс расчета согласно (1.58) и (1.59) повторяется столько раз, сколько шагов умещается во временном периоде, отведенном для расчета перемещений всех узлов. ’ 5°. Конец работы алгоритма.
Шаг по времени выбирается малым, обычно 2 • 10-ь с. Это делается исходя из требований к устойчивости процесса вычислений. В целом алгоритм прост, объем вычислений невелик -около 40 тыс. операций сложения и умножения, ВСЛ^О(и). Результат вычислений удобно представлять на графике, по- казывая перемещения сердечников матрицы, применяемой в ЗУ ЭВМ, после удара. На рис. 1.80 показан пример графика при исследовании зависимости между силой натяжения провод- ника и перемещения сердечника: (\з 2i+1-fZi-4 , (1-57) где Л шаг сетки; С— жесткость проводника [45]. В ЭВА часто используются модули, которые могут быть отнесены к пространственным конструкпиям с естественной дискретной структурой. Анализ динамических процессов в них при действии вибраций и ударов требует построения трехмерной дискретной модели. В этом случае задача моделирования динами- ческого движения существенно усложняется, так как приходится рассматривать не только основное движение, но и вторичные процессы, вызванные пространственным взаимодействием отдель- ных элементов модуля. Задача совместного рассмотрения этих двух движений может быть упрощена использованием принципа суперпозиции, т. е. рассмотрения каждого движения в отдельности с последующим наложением. Кроме того, необходимо учесть, что быстро протекающие процессы ударов и вибраций с малыми амплитудами движений не влияют на основное движение. Это позволяет рассматривать вторичные процессы, считая, что основ- ное движение отсутствует. Опишем теперь особенности анализа вибраций монолитных конструкций. В современной ЭВА широко используется заливка плат, модулей и блоков специальными наполнителями. Целью такой заливки является повышение устойчивости аппаратуры к механическим и климатическим воздействиям. Для построения дискретной модели монолитных блоков применяется искусствен- ная дискретизация, при которой непрерывная (однородная или неоднородная) среда заменяется дискретной структурой. Дискрет- ное моделирование в этом случае состоит из двух операций: первая сводится собственно к дискретизации монолита, а вторая включает в себя описание и анализ взаимодействия дискретных элементов. Для этого составляются дифференциальные уравнения в частных производных, описывающие взаимодействие бесконечно малых элементов в непрерывных средах монолитов. Затем эти уравнения заменяются алгебраическими разностными уравнени- ями, описывающими взаимодействие элементов конечных разме-
ров. Расчетная дискретная структура должна соответствовать следующим требованиям: реальная конструкция должна представляться в виде сово- купности отдельных дискретных элементов, связанных между собой; структура должна быть геометрически подобной реальной конструкции; ММ должна отражать физико-механические свойства мате- риалов конструкции —прежде всего в связях элементов. Монолитные блоки электронной аппаратуры содержат мате- риалы с различными механическими свойствами. Если областей с различными свойствами много, то при решении задачи дискретизации возникают трудности, связанные, во-первых, с не- обходимостью представления ММ с большим числом разнород- ных дискретных элементов, во-вторых, с необходимостью ос- реднения характеристик материалов в пределах относительно крупных неоднородных областей. Исследуем устойчивость движения и оптимизацию параметров амортизационных систем. Между реальной динамической аморти- зационной системой и ее математической моделью, т. е. системой дифференциальных уравнений, не может быть полного соот- ветствия, совпадения. Кроме того, неизбежны неточности в опре- делении собственных параметров, внешних воздействий и т. д. Все это приводит к расхождению между решениями дифферен- циальных уравнений и действительным процессом. Поэтому важное значение имеет исследование устойчивости решений диф- ференциальных уравнений с помощью критериев устойчивости. Среди них выделяются алгебраические (Рауса, Гурвица) и частот- ные (Найквиста, Михайлова). Например, по Гурвицу достаточным для устойчивости условием будет отрицательность всех корней характеристического уравнения системы. Амортизационная систе- ма считается оптимальной, если она обеспечивает экстремум принятого критерия качества (целевой функции). Определение оптимальной виброзагци гной системы в общем случае включает в себя четыре этапа: выбор критерия оптимизации; математическое описание воздействий на виброзащитную систему; определение и математическое описание классов допустимых виброзащитных систем; отыскание экстремума критерия и требуемых для его удовлет- ворения параметров системы. Общим критерием при оптимизации виброзащитных систем может быть назначена вероятность невыхода функционалов (таких как ходы амортизаторов, ускорения движения аппаратуры и т. д.) за допустимые границы. При этом всегда -необходимым является поддержание соответствия между определяемыми
и оптимальными (квазиоптимальными) параметрами и тре- бованиями устойчивости системы. Важным вопросом является синтез структуры виброзащитных систем с помощью САПР. Задачи, стоящие перед конструктором виброзащитных систем, позволяют рассматривать три после- довательных этапа автоматизированного проектирования. 1. Функциональное проектирование. Это проектирование основ- ной структуры конструкции, обеспечивающей ее функциониро- вание в идеальных условиях. Работы по первому этапу пред- полагают широкое использование известных разработок, они достаточно развиты и выполняются уже существующими САПР. 2. Проектирование защиты. На этом этапе должна про- изводиться разработка конструктивных вариантов при условии учета определенных внешних воздействий. Работы этого этапа находятся на начальной стадии, что обусловлено сложностью анализа механических процессов в конструкциях модулей, блоков, приборов. Лишь такой анализ позволяет оценить реакцию на внешнее воздействие еше на стадии проектирования. 3. Автоматизация синтеза принципиально новых конструкций. Этот этап, в наибольшей степени отвечающий задачам САПР, находится на уровне исследований и разработки эксперимен- тальных подсистем. В настоящее время САПР используются в основном для проектирования некоторого числа типоразмеров виброзащитных элементов. Это позволяет применять в процессе проектирования не сами ММ, а полученные на их основе аналитические зависимости. Эти зависимости выводятся в процессе численного эксперимента, т. е. предварительного расчета по дискретным ММ с варьированием параметров конструкции. Численный экспе- римент позволяет получить дискретные значения некоторой искомой функции для ряда дискретных значений аргумента. Так определяются значения резонансной частоты колебаний блоков в зависимости, например, от их геометрических размеров. Может быть получена и взаимозависимость резонансной частоты и гео- метрических размеров платы модуля. Анализ результатов чис- ленных экспериментов позволяет целенаправленно вносить измене- ния в конструкции. Но при этом улучшение конструкции осуществляется не ЭВМ, а конструктором. Более эффективным и современным является прямой синтез конструкции. Это сложная задача, однако ее решение на основе вариационных принципов возможно с использованием САПР [45]. Рассмотрим вопросы построения ММ анализа параметров механических полей в конструкциях микросборок. Такие задачи сводятся к определению процессов, происходящих в конструкциях при статических, линейных, динамических, вибрационных и других механических воздействиях. Известен стандартный подход к ана- лизу механических характеристик конструкций, т. е. параметров
механических полей микросборок, который состоит в разбиении (декомпозиции) конструкции на стандартные элементы с заданной формой перемещения или распределения механических напряже- ний, устанавливающих последовательность вычислительных опе- раций алгоритмов. При такой декомпозиции обычно выделяются три группы ММ конструкций узлов ЭВА. Первая группа—это ММ одномерного разбиения. В них конструкцию разбивают на дифференциальные элементы одного направления. Вторая груп- па—это ММ двумерного разбиения. Здесь разбиение производят в двумерной системе координат с осями S и t. Такие ММ строят для печатных плат, пластин БИС, подложек и т. п. Третья группа —это ММ трехмерного разбиения. Такие ММ используются для конструкций ЭВА, в которых промежутки заполнены компаундами, пенопластом и другим изоляционным материалом. При анализе механических воздействий важным вопросом является уменьшение резонансных колебаний элементов конструк- ций ЭВА. Для этой цели на практике применяют способы, заключающиеся в нанесении на пластины слоев из специальных вибропоглощающих материалов. В качестве таких материалов в основном используются полимеры, физико-механическое состо- яние которых соответствует области перехода от высокоэластич- ного к стеклообразному состоянию. Известно, что резонансные колебания электромонтажных плат приводят к увеличению виброперегрузок на электрорадиоэле- менты. В этой связи их эффективность определяют по коэф- фициенту, равному отношению амплитуды колебаний платы в рассматриваемой точке к амплитуде колебаний мест крепления пла”ы. Более подробно данные вопросы рассматриваются в соответ- ствующих курсах, где находят применение введенные мате- матические модели. 1.7. ВОПРОСЫ МОДЕЛИРОВАНИЯ ТЕПЛОВЫХ ПОЛЕЙ* Теплопроводность, конвекция; излучение; тепловая модель; плотность теплового потока; тепловое сопротивление; коэффициент кондуктивной теплопередачи; тепло- вой режим; собственный и фоновый перегревы В настоящее время в области развития и эксплуатации средств САПР эффективно решаются многие задачи. Однако имеется ряд проблем, требующих исследования, решение которых позволит обеспечить надежность готовых узлов и блоков ЭВА. К их числу относится проблема обеспечения теплоэлектрических характеристик. Параграф написан совместно с В. В. Марковым.
Рассмотрим известные методы моделирования и расчета тепловых характеристик узлов и блоков ЭВА. Предполагая, что материал конструктивных узлов однороден и, следовательно, тепловая проводимость не зависит от температуры, можно считать процесс теплопередачи линейным. Полное исследование температурного поля из-за множественности путей распростра- нения тепла затруднено. Среди путей подвода или отвода тепла можно выделить теплопроводность, конвекцию, излучение. Рас- смотрим сначала задачи теплопроводности (кондукции). Распро- странение тепловой энергии путем теплопроводности рассматри- вается в случае непосредственного контакта исследуемого поля и твердотельного источника тепла. Если температура источника постоянна, то контактирующее с ним тепловое поле можно представить набором эквипотенциальных поверхностей. Кондук- ция, как известно, осуществляется в соответствии с законом Фурье q = — Xgrad7’= — Xn0 (1.58) где q — плотность теплового потока; дТ1дп — производная темпе- ратуры по направлению нормали; п0—единичный вектор по нормали в сторону возрастания температуры; X — коэффициент теплопров одности. Если за время т через изотермическую поверхность конструк- ции площадью 5 выделяется тепловой поток Q = Т2 — , то плотность теплового потока /? (1.59) 4 RTS r\S v где RT—тепловое сопротивление конструкции; х1г х2 —коор- динаты изотермических поверхностей температурного поля в на- правлении его изменения (в данном случае по оси Т); 1\ >Т2 — значения температур на этих поверхностях. Известно, что в общем виде тепловое сопротивление конструкции I dx ,, .... Rt = j Х5(л)’ (L6()) где dx—элемент длины пути теплового потока; S(x)—аналити- ческое описание изотермической поверхности. Следующее выражение аналогично выражению для электри- ческого сопротивления материала конструкции: Х2 С //у R = (1.61) э J o.S'(x) V 7 где о - удельная электрическая проводимость.
Рассмотрим вопросы конвекции. Распространение тепла про- исходит и этим путем, если температурное поле контактирует с жидкостью ,или газом. Тепловой поток в этом случае можно определить следующим образом: Q = SaK(Tc — T0). (1.62) Здесь Q—тепловой поток, передаваемый конвекцией через грани- цу раздела между жидкостью и сплошной твердой поверхностью; 5—площадь поверхности, с которой осуществляется конвекция; ак—коэффициент теплоотдачи конвекцией; Тс, То - температуры соответственно жидкой или газообразной среды и твердого тела. Тепловое сопротивление при передаче тепла конвекцией Лк=1/5ак. (1.63) Коэффициент ак зависит от скорости движения жидкости (газа), вязкости потока жидкости (газа), качества обработки тепло- выделяющей поверхности и других факторов. Для моделирования действия конвекции необходимо использовать электрическую сетку, выбрав заранее ак и рассчитав RK. При этом к каждой вершине электрической сетки вдоль границы с жидкостью (газом) через сопротивление подсоединяется источник напряжения, про- порциональный Тс, а площадь поверхности, с которой осу- ществляется конвекция, моделируется сеткой сопротивлений и за- висит от шага сетки. Рассмотрим теперь проблемы излучения. Этот путь передачи тепловой энергии возможен при расположении рядом двух нагретых тел. Тепловой поток, передаваемый с одной поверхности на другую, может быть оценен по известной формуле Сте- фана— Больцмана. Выражение для теплового потока также представляют в виде QiJ=Sialj(Ti-Tj), (1.64) где Qi j—тепловой поток, передаваемый излучением с /-Й на j-ю поверхность; 7)7)—-температуры поверхностей взаимодейст- вующих тел; —коэффициент теплоотдачи излучением, зави- сящий от степени приведенной черноты поверхностей системы тел, модуля формы (определяемого относительным положением и формой взаимодействующих тел) и других факторов. При моделировании теплообмена излучением можно исполь- зовать, как и в предыдущих случаях, сеточную модель, узловые точки которой соединяются сопротивлением 7?„ = 1/5)а"^. Анализ теплового режима узлов и блоков ЭВА базируется на учете наиболее существенных черт конструкции данного узла или блока и протекающих в них физических процессов, т. е. основана на идеализации объекта. Такой идеализированный объект представляет собой тепловую модель, а математическое описание процесса переноса тепловой энергии—математическую
Рис. 1.82. Тепловая модель блока пи- тания ЭВА: 1 нагретая зона, 2 -газ, 3 корпус Рис. 1.81. Конструкция блока питания ЭВА модель. Тепловая модель узла или блока должна быть адекватна изучаемому явлению и реализуема математически. На рис. 1.81 схематично показана конструкция блока питания ЭВМ, состоящая из корпуса 1, шасси 2 и элементов 3. Здесь также показаны значения температур, измеренных в разных точках корпуса, шасси и деталей. На рис. 1.82 представлена тепловая модель блока питания, в котором сложная по форме нагретая зона 1 заменена (моделируется) параллелепипедом, при этом поверхности нагретой зоны корпуса 3 рассматриваются как изотермические (2— газ). При построении тепловой модели узла или блока ЭВА применим иерархический принцип, а именно последовательно рассматривая тепловые модели на иерархических уровнях ЭВА, проведем обшее тепловое моделирование сложной системы. Исходными данными для исследования каждого последующего уровня являются информация о его конструкции и результаты теплового анализа на предыдущем уровне. Необходимо отметить, что применение принципа иерархии тепловых моделей допустимо сверху вниз, вплоть до отдельных деталей, кристаллов ИМС и др. В настоящее время известны различные по сложности и степе- ни детализации процесса теплообмена модели. В простейшем случае используется тепловая модель, представляющая собой изотропный прямоугольный параллелепипед, источники тепла в котором распределены равномерно по объему или поверхности. Предполагается установление равновесия количества подводимой и отводимой тепловой энергии и независимость распределения температуры от времени. Стационарное температурное поле конструктивного узла ЭВА моделируется сеткой сопротивлений. Такая модель может быть использована для приближенных оценок тепловых режимов. Рассмотрим, например, вопросы обеспечения тепловых режимов микросборок (МСБ). Известно, что увеличение числа МСБ на подложке ведет к возрастанию мощности, потребляемой от источников питания, и, как следствие этого, -к увеличению плотности тепловых потоков. Под плотностью теплового потока понимают тепловой поток, проходящий через единицу площади поверхности теплообмена. Его используют как меру тепловой нагрузки конструкций ЭВА. Считается, что плотность потоков до 0,005 Вт/см2 представляет небольшую тепловую нагрузку, а свыше этого значения большую. При анализе процессов теплопередачи конструкции МСБ в основном используют две модели МСБ: корпусную и бескорпусную. В первой модели
Рис. 1.83. Тепловая мо- дель МСБ Рис. 1.84. Упрощенная тепловая схема МСБ корпус защищает МСБ от внешних воздействий и является теплообменником между конструкцией и средой. Тепло, которое выделяют элементы МСБ, как известно, передается к корпусу кондукцией через слой компаунда. Бескорпусные МСБ обычно устанавливают на металлические основания с теплоотводящей шиной. Поэтому одни и те же соотношения тепловых проводимостей в цепях передачи тепла от подложки используют для корпусированных и бескорпусных МСБ. В этой связи для оценки тепловых режимов элементов применяют, хотя и не всегда адекватно, единую тепловую модель (рис. 1.83). Как видно из рисунка, такая тепловая модель МСБ является двухслойным прямоугольным параллелепипедом с размерами es, et, ew, ei=hn+h,., h„—толщина подложки МСБ, /гк—толщина слоя компаунда. Источники тепла произвольно располагаются на верхней стороне параллелепипеда. При построении, тепловых моделей МСБ обычно вводят ряд допущений: корпус (теплоотводящая шина) МСБ считают изотермической поверхностью с температу- рой Тк, пленочные тепловыделяющие элементы заменяются плоскими источниками тепла, навесные тепловыделяющие элементы представляют также плоскими источниками тепла с гой же мощностью рассеивания и конечной внутренней тепловой проводимостью между р-п переходом элемента и поверхностью подложки. Стандартная упрощенная схема, описывающая процесс теплообмена между тепловыделяющими элементами МСБ и окружающей средой, показана на рис. 1.84 [13]. Сумма внутреннего теплового сопротивления элементов Рт э и тепловых сопротивлений подложки Лп, слоя компаунда определяет тепловые сопротивле- ния в цепях передачи тепла от навесных тепловыделяющих элементов. Отметим, что внутреннее тепловое сопротивление навесного электрорадиоэлемента (ЭРЭ) опреде- ляют из анализа теплофизических характеристик материалов, конструкций, рассмотрения способов размещения и крепления ЭРЭ на подложке. Для любого xs Элемента МСБ, выделяющего тепло, Rn J=hJy„Sj, RK,j=hK/yKSj, где уп, у,— коэффициенты теплопроводности материалов подложки и компаунда; Sj—площадь Х-го ЭРЭ, которую определяют через его геометрические размеры. Передачу тепла бт корпуса МСБ к окружающей среде характеризуют тепловым сопротивлением RK C. Для простоты оценку теплового режима МСБ проводят вне конструкции ЭВА. Тогда обмен тепла между средой и корпусом МСБ происходит за счет конвекции и излучения и RK с= 1/(PKSK+PJ1S'K); здесь Рк, рл— коэффициенты конвективной и лучевой теплопередачи; SK—площадь поверхности корпуса.
Как известно, при произвольном размещении на подложке МСБ часто возникает взаимодействие тепловых полей пленочных элементов и навесных ЭРЭ, выделяющих тепло. Для учета этого условия ограничивают удельную мощность рассеивания пленочных резисторов Ро до величины 7?норм, обес- печивающей нормальный тепловой режим навесных ЭРЭ: Рнорм=рп»п-(^+АЯтах]/Рг, (1.65) + (1.66) где минимально допустимая температура навесных ЭРЭ; А Н^—перегрев относительно корпуса наиболее теплонагруженного ЭРЭ; Рнпия—мощность рас- сеивания максимально теплонагруженного ЭРЭ. Коэффициент кондуктивной теплопередачи через подложку и слой компаунда определяют на основе выражения ^=hJyn+hJyK.„ (1.67) Согласно [4] при справедливости неравенства Р0^Ртры температуры пле- ночных и навесных ЭРЭ, выделяющих тепло, не будут превышать значений ^.тах = '.+ Рх(Л) + /’нгаах/4 (1-68) (нп»х = Za + РтЛ) + Д #тах- (1-69) Расчет теплового режима МСБ проводят на основе сле- дующего расплывчатого алгоритма. 1°. Ввод исходных данных. 2°. На основе выражения (1.67) определяется коэффициент кондуктивной теплопередачи. 3°. По формуле (1.66) определяется перегрев относительно корпуса максимально теплонагруженного навесного ЭРЭ. 4°. На основе выражения (1.65) определяется максимально допустимое значение удельной мощности рассеивания пленочных резисторов Рнорм. 5°. Производится проверка Р0^Рнирм- Если неравенство вы- полняется, то переход к 7°. Если неравенство не выполняется, то переход к 6°. 6°. Применяются специальные методы для обеспечения нор- мального теплового режима, например использование в конструк- ции материалов с более высокими коэффициентами теплопро- водности, применение специальных методов монтажа компонентов МСБ и подложки в корпусе, использование методов принуди- тельного охлаждения МСБ, ослабление взаимного влияния тепло- вых полей ЭРЭ и компонентов и др. После этого переход к 2°. 7°. На основе (1.68) и (1.69) определяют максимально возмож- ные значения температур пленочных элементов и ЭРЭ. 8°. Конец работы алгоритма. Для уменьшения влияния тепловых полей элементов МСБ на компоненты вводят зоны защиты, не имеющие источников тепла. Для уменьшения теплового сопротивления между элемен- тами МСБ и корпусом удаляют отдельные участки тепловой
Рис. 1.85. Пример тепловой модели ИМС Рис. 1.86. Обобщенная тепловая мо- дель блока: 7 нагретая зона, 2 воздух или жидкость, 3 корпус, 4 внешняя среда цепи или проводят ее модификацию путем перестройки. Одним из перспективных направлений обеспечения тепловых режимов в последнее время считается термоэлектрическое охлаждение. Использование термоэлектрических микрохолодильников позволя- ет забирать выделяемое тепло от ЭРЭ и выполнять термоста- тирование с высокой точностью. Особенности моделирования стационарного теплового процес- са для ИМС (например, БИС ПЗУ) состоят в следующем: при построении тепловой модели конструкции ИМС необходимо осуществить аппроксимацию как тепловых источников, так и ИМС в целом; учесть положение источника тепла (в объеме интегральной структуры для полупроводниковых ИМС, на поверх- ности подложки для ГИМС и микросборок) и характер процесса теплообмена, стационарные и нестационарные режимы и др. Тепловая модель конструкции ИМС, например, показана на рис. 1.85. Для упрощения построения тепловой модели в [35] принято, что слои ИМС и источников теплового поля находятся в иде- альном контакте друг с другом; каждый слой считается тер- мически однородным; теплообмен выполняется путем поперечной теплопроводности через источники тепла и подложку ИМС с верхней границы подложки. Отметим, что основными задачами при построении тепловых моделей ИМС считают моделирование и анализ теплового поля конструкции ИМС и теплоэлектрической совместимости параметров элементов и компонентов ИМС. Как правило, теплообмен в узле или блоке ЭВА представляет собой теплообмен системы тел. При этом точное аналитическое описание температурного поля невозможно. Предпринимаемый приближенный анализ базируется на использовании принципов суперпозиции и местного влияния. Принцип суперпозиции тем- пературных полей имеет место при описании теплообмена в системе тел нелинейными уравнениями и заключается в сле- дующем: если мощности источников тепла, теплопроводности
отдельных частей системы и ее коэффициенты теплопередачи не зависят от температуры, то в любой точке системы температура зависит от мощности источников тепла: G = (1-70) i=l где tj—температура некоторой j-й точки; tQ—температура среды; Ф,— мощность источников в z-й области системы; п -число областей, на которые может быть разбита система; Ft j—тепловые коэффициенты. Величину, определяемую выделением теплоты в рассматри- ваемой области, вычисляют следующим образом: Vi,C6 = Fi^i » (1.71) и называют собственным перегревом. Величина, определяемая выделением тепла из всех z-x областей в рассматриваемую j-ю область, <),Ф=Ь.А (1.72) i=l А. называется фоновым перегревом. Таким образом, суммарная температура в j-й точке системы в соответствии с принципом суперпозиции tj—tc+vj, сб + Ц/.ф- (1-73) Принцип местного влияния позволяет упростить анализ темпе- ратурного поля с учетом условий теплообмена на границах тел (областей) и заключается в том, что любое местное возмущение температурного поля не распространяется на удаленные участки поля. На основании принципа местного влияния можно сделать следующие выводы: температурный фон в точке j практически не зависит от формы и размеров удаленных от этой точки деталей, способа их монтажа и характера распределения мощности в деталях; при определении собственного перегрева необходимо более детально учитывать физические и геометрические особенности рассматриваемой области j. Некоторые узлы и блоки ЭВА конструктивно могут состоять из одинаковых элементов, располагаемых по всем трем на- правлениям (как, например, ЗУ ЭВА на ферритовых ячейках). В этих случаях возможна замена такого устройства при анализе температурного поля на квазиоднородное тело (систему), в любом направлении по объему которого геометрия и физические свойства периодически повторяются. В такой квазиоднородной системе можно выделить многократно повторяемый наименьший объем. Эффективная теплопроводность элементарной ячейки и всей
системы равны, и, следовательно, для определения теплопровод- ности блока необходимо определить теплопроводность элементар- ной ячейки. Рассмотрим теперь обобщенные тепловую и математическую модели узлов и блоков ЭВА, позволяющих рассчитать средние поверхностные температуры нагретых зон. На рис. 1.86 приведена обобщенная тепловая модель блока ЭВА. На входе блока газ (жидкость) имеет] перегрев относительно среды vBX = tBX — tc. Протекая через аппарат, газ нагревается и на выходе имеет перегрев гвых = ^вых —ZBX, при этом переносимый поток тепла определяют по формуле Q' = CpG(tBMX-Q, (1.74) где G—расход газа, кг/с; Ср—удельная теплоемкость газа. Представим теперь приведенную модель как систему п тел. Теплообмен между телами К= 1, 2,..., п в системе может быть описан некоторой системой уравнений (из-за громоздкости не приводится). Решая эту систему, определяют температуру тела с номером к: 1к = ®к + *кС; 8к = вк1°к, И tkc=(^kcte+ Е Gkrte)ok, (1.75) 1= 1 и 1=1 где tk—температура к-го тела; температура условной среды вокруг к-го тела; 0к—перегрев к-го тела относительно условной среды; акс—тепловой поток к-го тела; <зк—коэффициент тепло- проводности к-го тела; акс, <зк1—тепловая проводимость между к-м телом и средой и между к-м и l-м телами соответственно. Часто блок ЭВА представляется как система трех тел: нагретой зоны, корпуса и протекающего газа (рис. 1.82). Уравнение теплообмена (для нагретой зоны, корпуса и газа) будет иметь вид 61 = <4efl + Hi,2 (fl - l>2)+ 01,3 (V! V3). (1.76) Уравнение теплообмена корпуса с нагретой зоной и газом 6з = Оз.с Гз+о3>1 (v3 - V1)+Оз,2 (г3 - v2). (1.77) Теплообмен между газом, нагретой зоной и корпусом выражается уравнением ст2,1 (v2 - Vi)+о2,з (г2 - v3)+2Ср Gv2 = 2Ср GvBX. (1.78) Отметим следующие особенности записанных уравнений: 1. <У1С = 0. 2^ о1,2 = о1,2,к; а2,з = а2,3>к, т. е. теплообмен между нагретой зоной 1 и газом 2, а также между газом 2 и корпусом 3 осущест- вляется путем конвекции (индекс «к»).
3. <т113 = а1>3,л,- г. e. теплообмен через излучение. 4. Так как в корпусе отсутствуют источники энергии, то е3=0- 5. Проводимость от газа 2 к среде W=CpG. Тогда полученные уравнения записывают в виде системы, решение которой позволяет определить перегрев нагретой зоны, газа и корпуса: v1=AlvBX+FlQ1> v2=vBX+\Qi-^3cvK)l2W, (1.79) г3=Л3твх + Г3б1, где Аг, А3, F±. F3—параметры решения, учитывающие вид и характер взаимных проводимостей afeI. Для герметичного аппарата (блока) G = 0, и тогда t2 = h + al,2,fcC/[th,3 (а2,3.)с + ст1,2,к)] , (1.80) G = ^c + 6/C3c-’ В заключение подраздела отметим следующее. Расчет и анализ тепловых режимов узлов и блоков ЭВА является составной частью общей системы проектирования изделий ЭВА. При этом решается задача получения конструкции узла и размещения электронных элементов с заданными характеристи- ками на основе выполнения условий теплоэлектрической совмести- мости элементов и компонентов. Расчет тепловых режимов (определение температуры нагретой зоны, собственного и фонового перегревов, теплопроводности конструкции и т. д.) используется для анализа конструктивных решений с точки зрения требований к тепловому режиму, с чем чтобы произвести оценку качества полученного конструктивного решения. Полное решение задачи обеспечения тепловых характеристик узлов и блоков ЭВА в настоящее время отсутствует. Наиболее рациональным является подход к решению этой задачи, пред- лагающий рассмотрение в единой связи моделирования, прогно- зирования, расчета, анализа и экспериментального исследования температурных полей, влияния электрических и технологических характеристик, конструкции узлов и блоков и внешней среды. Основными задачами моделирования тепловых полей являются следующие: для отдельных элементов -определение условий теплового пробоя, зависимостей между габаритными размерами, конструк- тивным решением и их электрическими характеристиками; для ИМ С, МСБ, СБИС—компактное размещение активных и пассивных элементов с учетом требований трассировки и обеспе- чения теплоэлектрической совместимости;
для узлов и блоков (включая ГИМС) —определение f нагретой зоны, собственного и фонового перегрева, размещение интеграль- ных и навесных элементов. Эффективным инструментом в решении задач анализа тепловых режимов и синтеза конструкций ЭВА на основе обеспечения тепловых характеристик являются подсистемы автоматизирован- ного теплового проектирования, включаемые в состав САПР ЭВА на различных этапах проектирования. 1.8. КРАТКИЕ ВЫВОДЫ В первой главе рассмотрены элементы теории алгоритмов. Приведены основные свойства и определения алгоритмов. Описаны полиномиальные и экспоненциальные алгоритмы. Даны способы построения логических схем, граф-схем структурных схем алгорит- мов, алгоритмов Ван-Хао и Маркова, словесных и расплывчатых алгоритмов. Процесс создания алгоритмов для решения конст- рукторско-технологических задач проектирования с применением САПР—сложная научно-техническая задача, решение которой возможно лишь с привлечением методов теории множеств, графов, математического программирования. Рассмотрены способы задания графов. Описаны методы опре- деления эйлеровых и гамильтоновых графов, раскраски, нахождения основных чисел графов и показано их применение при решении конструкторских и технологических задач проектирования ЭВА. Приведены вопросы планарности графов, введено понятие гипер- графа. В настоящее время аппарат теории графов совместно с теорией множеств является основным инструментом конструктора и технолога при разработке формальных алгоритмов. Рассмотрены классы задач математического программирования и их применение для решения основных конструкторских и тех- нологических задач. Методы поиска наиболее приемлемы для решения сложных задач, каковыми являются задачи проекти- рования ЭВА. Описаны графовые и гиперграфовые ММ коммутационных схем. Показаны преимущества и недостатки рассмотренных мо- делей. Использование ММ позволяет абстрагироваться от реальной схемы и обрабатывать хорошо формализуемые математические объекты. Даны классификации и требования, предъявляемые к ММ. Рассмотрены вопросы моделирования механической прочности при воздействии механических факторов, моделирования и расчета тепловых полей. Полное решение этих вопросов требует решения сложных дифференциальных и интегральных уравнений. Построе- ние ММ позволяет упростить процесс и получить достаточные для практических целей результаты.
Основная цель раздела —познакомить студентов с математиче- скими методами и моделями при конструкторском и техноло- гическом проектировании ЭВА, а также научить их строить любые ММ объектов проектирования и разрабатывать структуры поисковых и оптимизационных алгоритмов. Основой математических моделей коммутационных схем яв- ляются графы, гиперграфы и их матричные и списковые эквива- ленты. УПРАЖНЕНИЯ, ЗАДАЧИ, ВОПРОСЫ ДЛЯ ПОВТОРЕНИЯ Подраздел 1.1 1. Дайте основные понятия и определения алгоритма. 2. Опишите способ „задания алгоритма на основе соответствий между словами в абстрактных алфавитах. 3. Рассмотрите свойства массовости и результативности алгоритмов, приведите примеры. 4. Дайте определение понятиям определенности и корректности алгоритма, приведите примеры. 5. Опишите понятия рекурсии, числовых и вычислительных функций, рекурсивных функций. 6. Приведите примеры операций суперпозиции, примитивной рекурсии и наимень- шего корня. 7. Приведите структурную схему машины Тьюринга и опишите принцип ее работы. 8. В чем состоит основной результат Тьюринга в области теории алгоритмов? 9. Приведите классификацию представляемых в математике задач. 10. Определите алгоритмы экспоненциального и полиномиального видов. 11. Что такое временная сложность и сложность алгоритма? 12. Составьте операторный алгоритм, реализующий операцию объединения мно- жеств Л = {ТЭЗ. стойка} и В= {проект, 1, 2, ЭВМ}. 13. Составьте алгоритм поиска минимального и максимального элементов в мно- жестве Д = {8, 12, 9, 1, 4, 30, 5} на основе ЛСА. 14. В чем заключается основная идея нормальных алгоритмов Маркова? Приведите примеры. 15. Составьте ЛСА упорядочивания массива из и чисел в порядке убывания и возрастания элементов. 16. Составьте ГСА вычисления по формуле с= X (л,-в,). 17. Постройте ГСА вычисления по формуле
18. Составьте структурную схему алгоритма нахождения максимального числа в массиве AIJ, /=1, 2, ... 50, 7=1, 2, ... 80. 19. Запишите словесный алгоритм вычисления по формуле с=П1М л i=lJ=1 20. Составьте алгоритм Ван-Хао вычисления по формуле п т I с= £ X X i=l J-l fc-l 21. Дайте понятия расплывчатого множества, лингвистической переменной, рас- плывчатого алгоритма. Приведите примеры. 22. Постройте расплывчатый алгоритм определения наилучшего, решения в задачах конструкторского проектирования ЭВА. 23. Опишите тенденции развития теории алгоритмов и ее перспективы исполь- зования в САПР при решении конструкторских и технологических задач. Подраздел 1.2 1. Дайте определение графа и приведите основные способы задания графов, постройте примеры. 2. Постройте матрицы смежности, инцидентности и их списковые представления смешанного, неориентированного и ориентированного графов с |A|—9, |С|= 1-5. 3. Приведите пример мультиграфа G = (X, U), |Х| = 5, Ц7| = 20 с т=4. 4. Постройте ЛСА перехода от матрицы R к матрице I. 5. Определите число ребер в полном графе К19 без петель. 6. Для полного графа К7 приведите примеры подграфа, суграфа и постройте их матрицы смежности, инцидентности и списковые представления. 7. Пусть граф G=(X U), |2f| = 5, |С| = 8, задан матрицей смежности 1 Е-3 4 5 1 2 3 4 5 0 10 11 10 10 1 0 10 11 10 10 1 11110 Определите маршруты длины 2, 3, 4 путем возведения матрицы во 2, 3, 4-ю степени соответственно. Постройте ГСА. 8. Приведите примеры определения в графе G цепи, цикла, простой цепи, простого цикла. Постройте структурные схемы алгоритмов. 9. Постройте алгоритм Ван-Хао определения связности графа G. 10. Приведите примеры графов, содержащих разрезы, правильные разрезы, перешей- ки, запишите соответственно словесные алгоритмы. 11. Дайте понятия эйлеровых и неэйлеровых графов и циклов. ' Запишите ЛСА определения в графе эйлерова цикла.
12 ,.. Опишите гамильтоновы циклы и графы. Запишите ГСА определения гамиль- тонова цикла в рафе. Ц, Приведите теорему Жордана. Для графа заданного треугольной, матрицей смежности 1 2 R=3 1234567 0110111 001110 0 1100 4 0 10 1 5 0 1 0 6 0 1 7 0 постройте гамильтонов псевдоцикл, выделите внутреннюю и внешнюю областщ,. 14. Дайте определение дерева, леса. Приведите теорему Кэли Постройте все покрывающие деревья для rnacba К5. . ы 15 Запишите .ГСА Краскала определения кратчайших покрывающих деревьев на взвешенных графах. 16. Запишите ЛСА алгоритма Прима построения кратчайших покрывающих деревьев на взвешенном по ребрам графе. Приведите дримср. 17. Дайте понятие метрики графа. Что такое расстояние в графе? Опишите графы (координатные решетки) Gr. Приведите пример. Что такое матрица геометрии? Какова ее связь с матрицей расстояний? 18. Что такое цикломатическое число графа? Приведите примеры. 19. Что такое хроматическое число графа? Опишите понятие раскраски графов. Приведите словесный алгоритм определения хроматического числа графа. 20. Запишите ЛСА раскраски графов. Приведите пример. 21. Что такое двудольные графы и в каких задачах КТП они применяются? • 22. Постройте ГСА алгоритма определения семейства независимых подмножеств^ Рассмотрите пример для списка смежности графа следующего вида: ; 1 2 5 6 4, 5, 6 3, 5 2, 4, 6 1, 3, 5, 6 1, 2, 4 1, 3, 4, 5 23. Для списка R] (пример 22) определите раскраску вершин графа. 24. Опишите задачу покрытия, постройте расплывчатый алгоритм покрытия графа,. 25. Дайте понятия клик графа, внешне устойчивых подмножеств и ядер графа. Постройте примеры. 26. Запишите ЛСА определения изоморфизма и изоморфного вложения графов. 27. Постройте алгоритм Ван-Хао определения паросочетания в графе. Рассмотрите пример. 28. Что такое планарный, непланарный, плоский и неплоский графы, число планарности? Приведите теоремы и гипотезы о раскраске планарных графов. 29. Приведите основные теоремы определения планарности графов. Запищите расплывчатый алгоритм определения планарности графов.
30. Что такое толщина графа? Приведите формулу определена числа попарных пересечений ребер (числа скрещиваний) полного графа. 31. Дайте понятие ориентированных графов. Приведите ЛСА построения дерева на графе D=(fc, U). 32. Опишите задачу коммивояжера. Постройте ГСА Хелда и Карпа решения задачи коммивояжера. Для графа, заданного матрицей расстояний вида 12 3 4 1 0 8 40 32 D=2 5 0 12 7 3 14 10 0 13 4 27 9 11 0 определите порядок обхода графа на основе построенного алгоритма. 33. Дайте понятие гиперграфа, приведите способы его задания. Запишите словесный алгоритм раскраски гиперграфа. 34. Что такое расплывчатый граф, приведите пример таких графов. Запишите словесный алгоритм перехода от расплывчатого графа к обыкновенному. Подраздел 1.3 1. Охарактеризуйте основные задачи математического программирования. 2. Постройте модель ЗЛП. Завод выпускает ЭВМ трех моделей: А, В, С. Каждая модель приносит условный доход 10, 20, 30 единиц соответственно. Согласно плану завод должен выпускать в месяц не менее 10 моделей А, 15 моделей В и 7 моделей С. Модели характеризуются определенным временем их изготовления. Так, на модель А требуется 20 ч, на модель В 30 ч и на модель С 25 ч. Необходимо решить задачу производственного планирования с максимизацией выпуска ЭВА. 3. К какой форме сводится любая ЗЛП? Приведите пример. 4. Опишите графический метод решения ЗЛП. 5. Решите графическим методом ЗЛП: максимизировать П=ЗР1+4Р2 при ограничениях o,2Pi+o,4p2«si,5, 0,2Р1+0,1Р2<1,1, Л^0; Р2^0. 6: Цех завода имеет два технологических участка выпуска микросхем AL и А2. Участки производят три вида микросхем БИС 1, БИС 2, БИС 3, но с разной производительностью: Аг - БИС 1, БИС 2, БИС 3, 01.1 01,2 О1,з . __ БИС 1, БИС 2, « БИС 3. 2 о2 j аг,2 Ог,з Каждая микросхема типа БИС 1 приносит прибыль с1; БИС 2 с2 БИС 3 с3. Согласно плану завод должен производить в месяц не менее Л, БИС 1,
b2 БИС 2, b3 БИС 3. Число микросхем не должно превышать d,, d2, d3 соответственно. Все участки должны быть загружены. Необходимо так распределить загрузку технологических участков для производства микросхем БИС 1, БИС 2, БИС 3, чтобы суммарный месячный доход был максимален. Постройте модель ЗЛП. 7. В институте имеется три суперЭВМ, требующих определенных видов запасных частей. Потребности в запасных частях каждой суперЭВМ равны соответственно ах, а2, а3. Имеется четыре завода Ьх. Ь2, Ь3, Ь4, расположенных от суперЭВМ на разных расстояниях. Единица запасных частей (ЗИП), полученная для ЭВМ с завода bj, обходится заказчику в с;>, рублей. Задана таблица Номер ЭВМ а Завод Ьг *2 Ь, ьл 1 0,1 0,2 О.з £1,4 2 0,1 0,2 О з 0.4 3 0,1 0,2 О,з 0.4 Возможности .снабжения ЗИП с каждого завода ограничены, и можно получить не больше ах, а2, а3, а4 единиц ЗИП соответственно. Необходимо составить план снабжения института ЗИП (с какого завода, куда и какое число ЗИП везти?), чтобы потребности ЗИП были обеспечены при минимуме затрат на них. Постройте модель ЗЛП. 8. Завод эксплуатирует цех но производству БИС р лет. В начале каждого года директор может принять одно из трех решений. продать (или передать) оборудование и заменить его новым; провести модернизацию и частичную замену оборудования и продолжить его эксплуатацию; продолжить эксплуатацию оборудования без изменений. Какие надо принять решения по годам (как менять управление), чтобы суммарные расходы на эксплуатацию, модернизацию и приобретение были минимальны? Постройте модель ЗДП. 9. Опишите транспортную задачу. 10. Составьте план перевозок груза из пункта V в пункт W, чтобы все заявки были выполнены и общая суммарная стоимость перевозок была минимальной. Пусть и=4, т = 5, матрица стоимости перевозок имеет вид V, с=и2 Гз ‘ ^4 wx w2 w3 и-'5 2 6 10 14 18 3 7 11 15 19 4 8 12 16 20 5 9 13 17 21 наборы запасов С, =20, Е2 = 35, К3=40, К4=45, наборы заявок ^=30, И-'2=40, И'3 = 32, ^4 = 38.
11. Опишите симплекс-метод. Приведите примеры. 12. Используя симплекс-метод, минимизировать П = 10%! + 5х2+8л3 при ограничениях (I 2jCj -4- 2х2 4“ Зх3 < 8, В 3xi+x2+2х3 <12, 'i r, Sxj+Xj^O, х,^0 (1=1, 2, 3). Для нахождения оптимального решения должно быть не более трех итераций. 13. Постройте модель задачи о назначениях. Приведите пример. 14. Опишите основные методы поиска оптимального решения задач целочисленного программирования. 15. Опишите метод ветвей и границ. 16. Постройте словесный алгоритм решения задачи коммивояжера на основе метода ветвей и границ. 17. Запишите ЛСА определения изоморфизма графов на основе метода ветвей и границ. 18. Опишите основные виды поиска по дереву решений. 19 Постройте ЛСА определения гамильтонова цикла на основе поиска в глубину. 20 Постройте ГСА определения покрывающего дерева в полном графе на основе поиска в ширину. 21. Постройте расплывчатый алгоритм раскраски графа на основе поиска с воз- вращением. 22. Опишите концепцию И-ИЛИ деревьев. Приведите примеры. 23. Опишите класс задач нелинейного программирования, приведите их клас- сификацию. 24. В чем заключаются методы штрафных функций, линейной аппроксимации, случайного поиска, золотого сечения? Приведите примеры. 25 Определите задачи стохастического и выпуклого программирования. 26. Опишите модель задачи динамического программирования. 27. Запишите словесный алгоритм решения задачи о паросочетаниях на основе ' метода динамического программирования. 28. Каковы перспективы использования методов математического программи- рования в задачах конструкторского и технологического проектирования ЭВА? Подраздел 1.4 1. Дайте определение понятия «математическая модель (ММ) объекта проек- тирования». Приведите примеры. Опишите векторы выходных, внутренних и внешних параметров. 2. Приведите классификацию ММ. 3. Опишите свойства абстрактных, функциональных, структурных и технологичес- ких ММ. 4. Дайте характеристику теоретических и эмпирических ММ. 5. Определите ММ микроу|$овня, макроуровня и метауровня. * 6. Опишите аналитические, алгоритмические и имитационные ММ.
7. Охарактеризуйте аналоговые и дискретные ММ. 8. Определите макромодели и полные ММ. 9. Опишите линейные, нелинейные, статистические и детерминированные ММ. 10. В чем заключается одновариантный и 'многовариантный анализ? 11. Опишите задачи параметрического и структурного синтеза. 12. В чем заключается адекватность ММ? 13. Поясните понятие «точность математических моделей». 14. Что такое степень универсальности ММ? 15. Опишите понятие «экономичность» ММ. 16. Приведите методику получения математических моделей элементов и систем. 17. Опишите последовательность решения задач идентификации. 18. Какие уравнения используются при построении ММ? Какие методы решения таких уравнений Вы знаете? 19. Приведите описание ММ ОП как последовательность определенных строк. 20. Для получения каких ММ используют формальные и неформальные методы? Приведите примеры. 21. Постройте расплывчатый алгоритм построения структурных ММ. 22. Запишите ЛСА построения функциональных ММ. 23. Каковы возможности перестроения ММ для решения различных задач САПР? 24. Каковы перспективы разработки и применения ММ в задачах КТП с примене- нием САПР"' Подраздел 1.5 1. Приведите основные показатели, характеризующие структурные ММ. 2. Что такое коммутационная схема? Приведите пример и аналитическое описание. 3. Опишите ММ Му. Для условного фрагмента КС (рис. 1.87) постройте М15 проанализируйте её достоинства и недостатки. 4. Приведите описание ММ М2. Постройте М2 для КС (рис. 1.87). 5. Запишите ЛСА перехода от Му к М2. 6. Дайте описание ММ М3, постройте М3 для КС (рис. 1.87). Проанализируйте достоинства и недостатки М3. 7 Опишите математическую модель М4. С какой целью здесь используются ориентированные графы. Для КС (рис. 1.87) постройте М4. 8. Задайте математические модели Му, М2, М3, Mt для примера КС (рис. 1.87) в виде списков. 9. Дайте характеристику М5 и для КС (рис. 1.87) постройте М5 в виде графа, матриц и списков. 10. Приведите описание математической модели М6 и для КС (рис. 1.87) постройте М6 в виде матриц и списков. 11. Охарактеризуйте математическую модель М2. Проведите сравнительный анализ Му, М2, М3, М4 и М1. Постройте математическую модель М7 для КС (рис. 1.87) в виде графа. 12. Для каких конструкторских и технологических задач удобно использовать в качестве ММ гиперграф и почему? 13. Дайте характеристику математической модели М8. Для КС (рис. 1.87) постройте М8.
14. Для КС (рис. 1.87) постройте матрицу цепей и проведите сравнение M9f c М1—М8. 15. Опишите математическую модель Л/10 и для КС (рис. 1.87) постройте М10. 16. Для каких целей при по- строении ММ КС испо- льзуют ультраграфы? Опи- шите Л7И. 17. Постройте математическую в. модель Л/и для КС (рис. 1.87). Проведите срав- нение с Mt —М10. Рис. 1.87. Условный фрагмент КС <18. Для каких целей используется математическая модель М12? Приведите примеры представления БЭ в М12. ' 19. Покажите применение частично ориентированных графов для построения математической модели БЭ БИС и СБИС. 20. Опишите математическую модель М13. Приведите примеры. -21 Приведите описание математической модели М14. Приведите примеры. 22. Запишите расплывчатый алгоритм перехода от Л/14 к Л/13 и обратно. 23. Запишите расплывчатый алгоритм построения ММ всей топологии СБИС. 24. Приведите методику построения ММ монтажных плат, ТЭЗов и блоков ЭВА, 25 Каковы перспективы использования и разработки новых ММ? Подраздел 1 6 1. Приведите классификацию механических воздействий. 2. Что такое вибрация ЭВА? 3. Поясните понятие «ударное воздействие», приведите примеры. зт4. Приведите виды простой формы ударного импульса. 5. Что такое линейные ускорения? Определите понятие «перегрузка» по отношению к ЭВА. 6. Какие требования предъявляются к ЭВА, работающей в условиях механических (V8 воздействий. 7. Какие допущения охраняют свойства моделируемого объекта при построении .ВС ММ виброизолированных модулей ЭВА? 8. Приведите уравнение движения системы при построении ММ механической ..V:, системы. 9. Запишите выражение для определения коэффициента динамичности. 10. Постройте примеры частотных характеристик ММ виброизоляционных систем. Hi В чем заключается главное правило виброизоляции? 12. Каким образом определяются динамические характеристики модулей ЭВА? 13. Запишите структурную схему paci лывча ого алгоритма моделирования простых конструкций ЭВА. Г4. Опишите задачи, возникающие при моделировании виброзащитных систем, приведите примеры. .
15. В чем заключается физическое и математическое моделирование виброзащитных систем? 16. Какие явления считаются подобными? Приведите основные критерии подобия. 17. Каким образом производится расчет виброизоляции и удароизоляции? 18. Запишите граф-схему расплывчатого алгоритма расчета перемещений сердечника после удара. 19. В чем заключаются особенности анализа вибраций монолитных конструкций? 20. Рассмотрите вопросы оптимизации параметров амортизационных систем. 21. Какие основные задачи стоят перед конструктором при анализе и синтезе виброзащитных систем с помощью САПР? ( 22. Опишите схему использования ММ при проектировании МВ сложных конструкций. 23. Приведите методы построения ММ при анализе параметров механических полей в конструкциях микросборок. 24. Запишите выражение для определения коэффициента механических потерь в конструкциях микросборок. 25. Каковы перспективы и проблемы построения ММ для учета механических воздействий в ЭВА на СБИС и ССБИС (сверхбольших и сверхскоростных интегральных схемах)? . Подраздел 1.7 1. Какие основные методы подвода или отвода тепла используются в настоящее врем» в конструкциях ЭВА? 2. В чем заключается теплопроводность? 3. Что такое конвекция? Приведите примеры. 4. В чем заключается передача тепловой энергии на основе излучения? 5. Опишите проблему анализа теплового режима узлов и блоков ЭВА. 6. Какие тепловые модели используются при моделировании стационарного температурного поля конструктивного узла ЭВА? 7. В чем заключаются особенности моделирования стационарного теплового процесса для ПЗУ ЭВА? 8. Постройте тепловую модель интегральной микросхемы. 9. На каких принципах базируется приближенный анализ температурного поля в конструкциях ИМС? 10. Приведите выражения для определения собственного и фонового перегрева. 11. Чему равна суммарная температура в /-Й точке системы? 12. Поясните принципы суперпозиции и местного влияния на примерах МСБ 13. Постройте тепловую модель узлов и блоков ЭВА для определения средних поверхностных температур нагретых зон. 14. Приведите ММ узлов и блоков ЭВА, позволяющую определять средние поверхностные температуры нагретых зон. 15. Запишите уравнения теплообмена корпуса с нагретой зоной, газа с нагретой зоной и корпусом. 16. Приведите систему уравнений для определения перегрева нагретой зоны, газа и корпуса. 17. Опишите задачи анализа стационарного теплового режима блока питания в герметичном корпусе.
18 Приведите методы оценки тепловых режимов микросборок. 19. Постройте обобщенную тепловую модель блока. 20 Рассмотрите стационарный тепловой режим блоков питания ЭВА. 21. Каковы перспективы обеспечения теплового режима в ССБИС, СБИС, ИМС, ,, МСБ, узлах, блоках ЭВА? Глава 2 АЛГОРИТМЫ И МОДЕЛИ КОМПОНОВКИ ЭВА 2.1. ПОСТАНОВКА ЗАДАЧИ И КРИТЕРИИ КОМПОНОВКИ Интегральная микросхема; типовой элемент замены; блок; стойка; вычислительный комплекс; типовой элемент конструкции; компоновка; разбиение; покрытие; задачи многокритериальной оптимизации; критерии оптимальности, злектромагнитотеп- ловой совместимости; разбиение графа; число реберного соединения частей графа; алгоритмы эвристический, разбиения, последовательные, параллельно-последователь- 'ные итерационные; типизация При решении задач конструкторского проектирования ЭВА с помощью САПР должно быть предусмотрено использование унифицированной конструктивно-технологической базы современ- ной микроэлектроники. Известно, что ЭВА строится по блочному ^принципу. Основными ее элементами являются монолитные интегральные БИС, СБИС. В конструкциях ЭВА выделяют пять структурных иерархических уровней. На первом уровне находится конструктивно-неделимый элемент—интегральная микросхема. На втором уровне ИМС объединяются в схемные сочетания, образуя съемные ТЭЗы. На третьем уровне ТЭЗ объединяются между собой, образуя панели, субблоки, блоки. На четвертом уровне элементы третьего уровня объединяются в стойки, шкафы. Пятый уровень включает в свой состав несколько шкафов, стоек, соединенных кабелей, образуя вычислительные комплексы. Отме- »тим, что при проектировании ИМС, БИС и СБИС последние делятся на компоненты, состоящие из транзисторов. ». Элементы структурных уровней часто называют типовыми элементами конструкций (ТЭК), а унифицированные части их называют конструктивными модулями того или иного уровня. На этапе конструкторского проектирования решаются вопро- сы, связанные с компоновкой элементов КС в модули, модулей в ТЭЗ, ТЭЗ в панели и т. д. Эти задачи в общем случае тесно связаны между собой, и их решение позволяет значительно сократить затраты и трудоемкость указанного этапа в САПР.
Обычно задачи компоновки рассматриваются как процесс принятия решений в определенных или неопределенных условиях, в результате выполнения которого части КС располагаются в ТЭК ьго уровня, а эти элементы размещаются в ТЭК (г+1)-го уровня и т. д., причем расположение выполняется с учетом выбранного критерия. Под задачей компоновки КС понимаются задачи объединения модулей низшего (z-l)-ro уровня в модули более высокого z-ro уровня по заданному критерию или набору критериев оптимиза ции и при наличии заданных ограничений. Среди методов компоновки КС ЭВА выделяют два характерный класса. К первому классу относятся такие, в которых осуществляется разбиение КС на части (блоки) с учетом таких ограничений, кай число элементов в блоках, число внешних выводов на блоках’ суммарная площадь, занимаемая элементахми и соединениями, и т. д Основными критериями для такого разбиения являются следующие: . число образующихся блоков; число межузловых соединений или внешних выводов на блоках; , задержки в. распространении сигналов; f электромагнитотепловая совместимость элементов и т д. Задачи такого вида возникают при разбиении КС на блоки большей степени сложности, к которым не предъявлены требова ния в отношении схемной унификации Это задачи распределения ТЭЗ по панелям, микросборок по печатным платам, разбиение КС на БИС, СБИС. К первому классу задач компоновки относят такие, в которых критерии оптимизации и ограничения могут быть сведены к определенным конструктивным параметрам расположения отдельных элементов и их межсоединений. Эти задачи называются задачами компановки конструктивных частей (блоков). ' Второй класс образуют такие методы, в которых кроме; конструктивных характеристик образующихся частей существенны и их функциональные характеристики. Они возникают па этапе перехода от функциональных (логических) схем ЭВА к КС4 ориентированным на заданную систему элементов, состоят в на- значении элементов логической схемы в типовые модули из заданного набора. Указанный класс называют методом покрытия или задачами компоновки типовых блоков. Основными критери- ями при покрытии схем являются следующие: число модулей, необходимых для покрытия исходной схемы число межмодульных соединений; число типов используемых модулей; число неиспользованных элементов во всех модулях схемы и т. д. В качестве ограничений выступают конструктивные и функцио- нальные характеристики типовых модулей, такие как:
максимально допустимое число элементов (z— 1)-го уровня в модулях z-ro уровня; максимально допустимое число выводов модуля z-го уровня; ограничения на совместную работу модулей (z— 1)-го уровня и т. д. Задачи компоновки являются классическими примерами много- критериальной оптимизации (ЗМО). Отметим, что ЗМО трудно формализуемы. Эффективность стратегий в ЗМО обычно оценива- ется не одним, а несколькими критериями КО15 КО2, ..., КОМ. Под критериями в ММ задач САПР обычно понимают функции, определенные на множество ситуаций SlxS2, где S,—множество стратегий; S2—множество неконтролируемых факторов, принима- ющих значения из подмножеств У; числовой прямой. Подмножест- ва У, обычно называют шкалами критериев, а у;е У; — оценками по критерию КО;. Считается, что каждое подмножество У( содержит не меньше двух оценок. Тогда каждая ситуация <515 S2ySleSl, S2eS2 характеризуется векторной оценкой В^, S2) = =(B1(S1, S2), B2(Sl, S2), B^S^ S2)). В детерминированных задачах САПР векторная оценка В(8^ является характеристикой самой стратегии Неформально понятие «критерий» определя- ют как признак, на основании которого производят оценку, сравнение альтернатив (эффективность различных решений), клас- сификацию объектов проектирования, решаемых в САПР задач. Частным случаем понятия «критерий» является критерий опти- мальности (КО). Под КО понимается показатель, который выражает предельную меру эффекта (значений), искомого решения для сравнительной оценки возможных альтернатив и выбора из них наилучшей. Чем больше (при поиске максимума) или меньше (при поиске минимума) такой показатель КО, тем лучше решение задачи САПР Примерами КО могут быть максимум прибыли, минимум межблочных соединений, кратчайшее время компоновки КС, минимальный перегрев блоков и т. п. Отметим, что КО обычно имеет количественное выражение, но иногда встречаются и порядковые КО. Каждому КО может соответствовать математи- ческая форма, т. е. целевая функция, экстремальное значение которой характеризует предельно достижимую эффектив- ность ММ. Заметим, что большинство методов компоновки, как и других задач КТП, используют в той или иной форме информацию о важности (приоритете) критериев в ЗМО. В этом случае все исходные KOf, i е 1, I, приводят к сопоставимому безразмерному виду, т. е. нормализуют. В задачах САПР часто используют преобразования вида KOiH=KOI/flii3 или КОг н = (KOf — д, т!п)/(д; э— ~ai,min), гДе а;,э—эталонные значения КО;; д- min — минимально допустимые значения КО;. Далее все КО; н объединяют в одну функцию, строя обобщенный КО вида КО1 = (7цКО1 н, Х2КО2 н, ... ..., Х,КО( н). При этом относительная важность KOf учитывается
I коэффициентами Xf. Необходимо, чтобы У Х;=1. В этом случае i=l ЗМО сводится к обычной задаче оптимизации по одному критерию,. Отметим, что X,- характеризуют важность не самих исходных КО, а нормализованных КО. Основное в указанных построениях —это определения коэффициентов А.;. Значения А,{ непосредственно определяют на основе опыта конструктора при прямом сравнении критериев по важности или на основе информации о сравнении заданных контрольных векторных оценок по предпочтительности. Иногда находят из условия обеспечения экстремума выбранного обобщенного критерия для описанных ранее стратегий в аналогич- ных задачах. В настоящее время все большее предпочтение отдается экспертным оценкам для определения А;. Основным йри компоновке является критерий электромагнито- тепловой совместимости элементов низшего уровня. Он определя- ет область допустимых разбиений схемы, на которой формулиру- ются другие критерии. Такими критериями могут быть число типов конструктивно законченных частей, заполнение конструктив- ной части высшего уровня элементами низшего, число соединений между конструктивными частями, простота диагностирования схем и др. Очевидно, что внешние соединения между, частями КС являются одним из важнейших факторов, определяющих надежность ЭВА. Поэтому наиболее распространенным критерием является суммарное число внешних связей. Реализация этого критерия обеспечивает минимизацию взаимных наводок, упроще- ние конструкции, повышение надежности и т. д. В связи с этим рассмотрение методов компоновки КС будет проводиться в ос- новном на примере этого критерия. Исходными данными для решения задачи компоновки ЭВА является КС. Для алгоритмизации и формального решения задачи произво- дится переход оз КС к графу, к мультиграфу, к гиперграфу одним из методов, описанных выше. Сформулируем теперь задачу компоновки КС как задачу разбиения графа G=(X, (7) на части С; = (А;, СТ.), Х^Х, U^U, iel={\, 2, ..., /}, где /—число частей, на которое разбивается граф. Разбиение графа G (иногда используют термин «разрезание») можно определить по аналогии с разбиением множеств. Совокуп- ность частей B(G) называется разбиением графа G = (X, if), если \/GieB(G)(Gi^0), iel, VGZ, GjeB(G)[Gi^Gj^Xif)XJ=0 v vltfU^), (2.1) U Gi = G. iei
Другими словами, совокупность частей B(G)={G1, G2, ..., Gh ... Gt} является разбиением графа G, если любая часть из этой совокупности не пустая; для любых двух частей из В (G) пересечение множества вершин пусто, пересечение множества ребер может быть не пустым; объединение всех частей в точности равно графу G. В выражении (2.1) Ut j определяет подмножество ребер Ulj^U, попадающих в разрез (сечение) между частями G, и Gj графа G. । Обозначим | Uj j | = К{ j и назовем его числом реберного соединения частей Gt и Gj графа G. Число реберного соединения всех частей графа 1 «=,£ (2-2) i=ij=i Задачей разбиения графа G = (X, U) является нахождение такой совокупности частей, чтобы число реберного соединения графа G удовлетворяло заданному критерию оптимальности. Пусть граф G разбит на , G2,..., Gt частей. В соответствии с этим разбиением множество ребер U графа G можно представить в виде c/=r1uc/2U-..U^= U Ц- (2.3) i=l Тогда каждое подмножество Ц запишем следующим образом: п2=u21\j r2,2u-.u U u2it, ц=^,1иц,2и-и^г-иц,г. (2,4) где Ui—подмножество всех ребер, инцидентных вершинам Xt части G;; Uit—подмножество ребер, соединяющих подмножество вершин Xi внутри Gi между собой; Uij(Ujti)— подмножество ребер соединяющих Gt и Gj. Под оптимальным разбиением графа G = (X, U\ будем понимать такое разбиение B(G), при котором величина К (2.2) стремится к минимуму (A=>min). Задача разбиения графа G на части относится к задачам комбинаторно-логического типа, получение оптимального решения которых связано с полным перебором различных вариантов разбиения. Для определения оптимального результата при разбиении графа G на части можно предложить тривиальный метод решения, заключающийся в получении всех возможных разбиений и выборе из них наилучшего. Такой путь для конструктора неприемлем, так как он чрезвычайно затруднителен даже для современных быстродействующих ЭВМ.
Алгоритмы компоновки Наибольшее применение нашли эвристические алгоритмы разбиения. Они позволяют за конечное число шагов получить локальный минимум, который в общем случае является достаточ- ным для практических целей. Для указанных классов задач компоновки выделяют алгорит- мы компоновки конструктивных и типовых блоков. Известная классификация таких алгоритмов показана на рис. 2.1. Алгоритмы классифицируются по критериям, по ограничениям на формирование частей или по структуре вычислительной процедуры. С этой точки зрения их делят на последовательные, параллельно-последовательные и итерационные. В алгоритмах пер- вого типа вводится последовательный процесс компоновки частей, на каждом шаге которого в очередную часть добавляется один из элементов ММ, выбираемый по определенному приоритету. В параллельно-последовательных алгоритмах сначала выделяется некоторое исходное множество групп элементов, которое затем распределяется по частям с учетом критериев и ограничений на
компоновку. Обычно эти алгоритмы используются при решении задач компоновки со специальными фебованиями (например, минимизация числа разнотипных блоков) и обладают более сложной структурой. Алгоритмы этих двух типов применяются для создания базового (начального) варианта компоновки. Ите- рационные алгоритмы служат для улучшения некоторого началь- ного варианта компоновки в соответствии с принятым критерием. При использовании итерационных алгоритмов сначала граф разбивается на определенное число частей произвольным образом, например с помощью последовательных алгоритмов. Затем по некоторым правилам производится перестановка вершин из одной части в другую с целью минимизации числа внешних ребер. В алгоритмах разбиения, основанных на математических методах, в основном используются методы ветвей и границ, решение задачи о назначении. Алгоритмы разбиения с применени- ем методов ветвей и границ состоят из следующих этапов. Сначала определяется нижняя оценка разбиения графа на заданное число частей. Затем производится построение дерева решений и осуществляется поиск оптимального результата. Задачу разбиения графа схемы на части можно свести к задаче о назначении. При этом ищется назначение кандидатов (вершин графа) на все части, дающие минимальные суммарные затраты. Причем каждая вершина графа может быть назначена только в одну часть и в каждой части должны содержаться различные вершины графа. Алгоритмы компоновки типовых блоков сводятся к так называемым задачам покрытия и типизации. Под покрытием понимается представление функциональной схемы ЭВА типовыми конструктиыгыми элементами, па которых она будет реализована, и связями между ними с выполнением з< данных КО. При покрытии выделяют задачи с несвязанными элементами и фун- кциональными ячейками. В первом случае решают задачи опре- деления необходимого числа ячеек для покрытия КС с минималь- ной суммарной стоимостью и минимизации числа связей между ячейками. Во втором случае . решают задачи покрытия КС .^заданным классом функциональных ячеек с минимизацией числа вячеек и суммарного числа межъячеечных связей. Типизация -это разбиение КС на части по критерию опти- мальности- минимуму номенклатуры частей разбиения или по [критерию оптимальности—максимуму однотипности использу- емых ячеек. Отметим, что сокращение номенклатуры ТЭК .(Позволяет уменьшить затраты на дальнейшее проектирование, й н 2.2. ЗАДАЧИ ПОКРЫТИЯ И ТИПИЗАЦИИ V Компоновка ячеек с несвязными элементами; схемы логическая, функциональная; покрытие графа; изоморфный пеограф; задача выделения в графе изоморфных • подграфов; paenouueapi антные вершины графа
Важной задачей в общей проблеме компоновки КС является покрытие, т. е. преобразование функциональных схем в принципи- альные. Под покрытием схемы, как отмечалось выше, понимается представление функциональной схемы ТЭК, на которых она будет реализована, и связями между ними. Как правило, форма и результат конструктивной реализации схемы в значительной степени предопределяют надежность работы ЭВА. Решение задачи покрытия дает возможность представить функциональную схему ЭВА или ее частей в виде принципиальной схемы соединения ЭРЭ. Однако элементы могут быть различными (резисторы, конденсаторы, транзисторы, ИМС и т. д.). Поэтому при решении задачи покрытия можно рассматривать вопросы выбора класса элементов и минимизации числа типов элементов. Конечной целью покрытия является выбор оптимальной элемент- но-технической базы объекта проектирования. Исходной информа- цией для этого этапа являются схема функциональная и набор ячеек Я = {Я1, Я2, ..., Я„}, параметры которых оказывают решающее влияние на результаты покрытия схемы. Пусть задана схема, состоящая из элементов х17 х2, х„, для каждого из которых известен тип /(х;), ze{l, /}. Состав схемы по типам элементов описывается вектором М = т2, ... ..., mt, mt}, в котором mt—число элементов типа t. Состав ячеек набора Я описывается матрицей Ra = || rv 11|, ье{1, w}, Ze{l,/}, где rvt—число элементов типа t в ячейке Я„. Схема считается покрытой ячейками из набора Я, если каждый элемент схемы реализуется элементами, входящими в состав выбранных ячеек. Пусть известны стоимости Gh «е{1, w], ячеек каждого типа. Ставится задача отыскания покрытия с минимальной стоимостью W С=£ с,|Яг|, ' (2.5) v= 1 где | Я„ | — число ячеек типа Яг, .использованных для реализации схемы [59]. Для формализации процесса покрытия схемы ячейками различ- ные наборы Я делят на классы. 1. В состав ячеек набора входят логические элементы одного типа, не связанные между собой; входы и выходы элементов имеют отдельные выводы на ячейке. 2. Ячейки содержа! разнотипные элементы, не связанные между собой; входы и выходы элементов имеют отдельные выходы на ячейке. 3. Состоит из ячеек, аналогичных классу 1, однако часть элементов связана между собой. 4. Состоит из ячеек, аналогичных классу 2, однако часть элементов связана между собой.
Рассмотрим задачу, относящуюся к. классу 2. Построим ее математическую модель. Пусть Sta—число элементов типа использованных для реализации элемента типа t. Поскольку общее число {элементов типа t в схеме равно mt, то необходимо найти покрытие, для которого при te {1, 1} выполняется условие Е М-ЯгН Е + Е № (2-6) v=1 a l а—1 ' * где |Яг|^0, 51я>0—целые числа. Первое слагаемое определяет общее число элементов типа /, второе— характеризует уменьшение этого числа за счет расхода ячеек типа t для покрытия ячеек типа А. Элемент схемы может быть реализован с помощью элемента того же типа, находящегося в одной из ячеек набора, или с помощью элементов других типов. Например, элемент ИЛИ с двумя входами может быть реализован элементом ИЛИ с большим числом входов. Третье слагаемое характеризует увеличение числа ячеек типа t за счет использования вместо них ячеек типа А . Рассмотренная задача относится к задачам целочисленного программирования и в некоторых случаях может быть упрощена (например, сведена к задаче минимизации числа ячеек в покрытии). Однако и при наличии ограничений решение задачи точными методами затруднено. Поэтому применяют приближенную эвристическую процедуру решения поставленной задачи. Рассмотрим алгоритм Селютина компоновки ячеек с несвязны- ми элементами. При решении задачи считают, что каждый элемент схемы х( е'Х реализуется элементом того же типа в ячейках набора Я. В качестве дополнительного критерия оптимизации принимается число межъячеечных соединений. Реше- ,ние задачи разбивается на два этапа: 1) определение необходимого числа ячеек с минимальной суммарной стоимостью; 2) минимиза- ция числа связей между ячейками. Пусть дана матрица RH=||r1) l ||, ге{1, и’}, £е{1, /}, и вектор числа элементов в схеме по типам М0 = ||ш,||. Алгоритм решения задачи состоит в следующем. 1°. Упорядочиваются ячейки набора Я по возрастанию их стоимости Я15 Я2, ..., Я„, (с1гСс2гС...<си,); 1Й=1. 2°. Определяется локально-минимальное число ячеек Я,,(ие е{1, w}); вычисляется Av , = E(mt/rv t) для av t^0, te{1, I}; находит- ся minAvt=Av; на данном шаге ’ используется t ячеек типа v. 3°. Находится вектор непокрытых элементов Mv —Mv~t — A,,RV, гДе KHK/II, ге{1, Z}; г = 4r. Если Mv>0, гГерейти к 2° c u(modw); если Mv = 0, перейти к 5°. 5°. Подсчитывается число использованных ячеек каждого ти- па V.
tl tz Рис. 2.2. Логическая схема Рис. 2.3. Типы использованных элеме- нтов (а) и набор ячеек Я = {Я1, Я2, Я3} (б) m=E av, где у—число итераций. Рассмотрим пример. Дана логическая схема (рис. 2.2), типы использованных элементов (рис. 2.3, а), Л/°=(5, 4, 1, '.) и набор ячеек Я (рис. 2.3,6). Составим матрицу описания состава набора Ля, считая, что Д tz G “i л„=я2 Я3 2 10 0 0 110 10 0 1 Выполним 1-ю итерацию (для ячейки ЯД: Л 1± = 2, Я12=4. Тогда Аг=2 и Л/'1=(1, 2, 1, Г). Выполним 2-ю итерацию (для ячейки Я2):Л22 = 2, Л23 = 1, тогда Л2=1 и М2=(1, 1, 0, 1). Выполним 3-Ю итерацию (для ячейки Я3):Л31 = 1, Л34=1, поэтому Л3 = 1, Л/3 = (0, 1, 0, 0). Последняя, четвертая, итерация (для ячейки Я,) приводит к окончанию процесса: Al2 = Al = l, М4.—(0, 0, 0, 0). В итоге получаем |Я21 = 3, |Я2| = 1, | Я3 | — 1. Избыточность покрытия равна двум неис- пользованным элементам типа lt. Функциональная схема часто представляется графом Л = (Х If), множество вершин X которого интерпретирует логические элементы, а множество ребер U—связи. Пусть функциональную схему ЭРА необходимо покрыть заданным комплексом интег-
ральных микросхем. Тогда каждый компонент БИС можно представить в виде подграфа Л;. В результате получим некоторое множество подграфов, соответствующих ИМС заданного комплекса. Задача покрытия сформулируется теперь как покрытие графа D подграфами из множества {D\, D'2> ...}. Можно предложить следующий путь решения этой задачи. Каждой вершине графа D присваивается вес Sh д, где h определяет номер вершины графа и g—тип элемента логической схемы, соответствующего выбранной вершине графа. Каждому ’ ребру графа ставится в соответствие значение функции веса [ 1, если ребро и, , инцидентно однотипным вершинам; = (2-7) 1 (0 в противном случае. Внутри ИМС обычно объединяются однотипные компоненты. Поэтому из нескольких вариантов покрытия схемы выбирается тот, для которого g = ~ Z (2.8) Рассмотрим задачу типизации. Типизация, как отмечалось,— это разбиение схемы на части с минимизацией номенклатуры частей разбиения. В зависимости от постановки задачи проектиро- вания различается постановка задачи типизации. Так, при проекти- ровании твердотельных БИС поп однотипными понимают ТЭК, имеющие одинаковый состав элементов. При этом не оговаривает- ся, различаются ли в ТЭК схемы соединений. При решении задачи компоновки часто добавляется требование совпадения схем соединений ТЭК с точностью до элемента. Однотипными называются ТЭК, имеющие одинаковый состав элементов и одинаковую КС с точностью до инвариантного контакта (ТЭК функционально одинаковы). В этом случае задача типизации формулируется А. М. Бершадским как задача выделе- ния в графе изоморфных подграфов. Поскольку элементы КС могут быть различных типов, то в общем случае используются графы G* (с весами на вершинах и ребрах). Задача выделения в графе G* изоморфных подграфов форму- лируется следующим образом: найти разбиение (р(С)еФ графа G* на множество групп Г = {Г1, Г2, ..., Г^} изоморфных подграфов Г;, удовлетворяющих следующим условиям: 1) любые два подграфа G, • и т, принадлежащие произволь- ной группе разбиения Г„ должны быть изоморфны; 2) множества вершин любых двух подграфов разбиения не должны пересекаться,» 3) число вершин любого подграфа разбиения не должно превышать заданное (конструктивное ограничение, связанное с числом элементов на типовом элементе конструкции);
4) суммарное число внешних ребер каждого подграфа не должно превышать заданное (конструктивное ограничение, связанное с числом элементов разъема или длиной параметра корпуса ТЭК). Критерием оптимальности при типизации является минималь- ное число групп изоморфных подграфов, полученных в результате разбиенйя, т. е. min f Для решения задачи типизации путем (реФ сведения ее к задаче выделения в графе изоморфных подграфов необходимо: 1) описать исходную КС с помощью графовой модели; 2) решить для графа задачу выделения в нем изоморфных подграфов; 3) от полученных результатов решения задачи па графе необходимо перейти к результатам решения задачи типизации в КС. В случае обработки КС большой размерности с большим числом инвариантных контактов элементов целесообразно исполь- зование гиперграфовой модели. Алгоритм А. М. Бершадского выделения в графе изоморфных подграфов имеет следующий вид: 1°. Объединяются равноинвариантные вершины графа G — (X, U) в группы Г; (к—шаг выделения изоморфных подграфов, начальный шаг /сг = 0). 2°. Определяются группы Г*1 с мощностью множества, равного 1 (Z=l), и производится исключение их из дальнейшего рассмот- рения 3 . Определяется число возможных объединений групп V-.L — = 1(1—1)12,. где /—число групп Г*. 4°. Объединяются группы Г- и Г- и определяются группы изоморфных подграфов Г*+1, имеющих мощность t=k+2. Про- цесс выделения изоморфных подграфов заключается в выборе максимального числа одинаковых (но не нулевых) элементов подматрицы /?[Г*\ГЭД, расположенных в разных строках и сто- лбцах рассматриваемся подматрицы, где R]T*\rJ]— подматрица матрицы R исходного графа, расположенная на пересечении строк, соответствующих вершинам е Гг, и столбцов, соответству- ющих вершинам ХуеГ,-. 5°. jV=jVf+l означает переход к следующему шагу наращива- ния изоморфных подграфов. 6°. Для каждой полученной на предыдущем шаге группы определяется исходный массив содержащий вершины, не яОГпеДШйе в группу Г-: Л/^У*'\П, Где Х*К Х\ (J Г?"1, /г1—число групп Г*-1 с мощностью т=1.
Т. Разбиение массивов Мк на группы равноинвариантных вершин Гкм, аналогично выполняемым в Iе. 8°. Определяются группы Г^. с мощностью 1=1 и исключа- ются из дальнейшего рассмотрения: ' ти:к=мл и rv, i = p где р—число групп с мощностью 7=1; М*к~ массив, оставшийся для дальнейшего наращивания изоморфных подгра- фов после исключения групп Г™. с t= 1. 9°. Для каждого массива Л/; проверяются условия Л/*к#(). Если условие для всех массивов не выполняется, то дальнейшее наращивание изоморфных подграфов невозможно, так как от- сутствуют равноинвариантные вершины. В этом случае—переход к 12°. Если хотя бы для одного массива условие выполняется—пе- реход к 10°. 10°. Определяется число возможных объединений групп Гр с группами массивов М}. Каждая из групп Г- объединяется только с группами своего исходного массива Млк\ Н= S ht, е где А{— число групп в массиве М*р, Тк—число групп Г* изоморфных подграфов, которые участвуют в дальнейшем наращивании. 11 °. Объединение групп Г? и и определение групп изоморфных подграфов Гр+1, имеющих мощность t=k+2 (анало- гично 4°). Переход к 5°. 12°. Конец работы алгоритма. Рассмотрим пример решения задачи типизации. Во взвешенном графе G* =с(Х, [/) (рис. 2.4) необходимо выделить максимальное по мощности множество изоморфных подграфов, имеющих максимальное число вершин и ребер. 1°. Равноинвариантные вершины (инвариантными являются степень вершины и ее вес) объединяются в группы. Вес вершины указан в скоб- ках рядом с номером вершины (рис. 2.4) K = Ki=0, Г?={1, 4, 7}; Г?={2, 5, 8}, Г§={3, 6, 9}, где вершины лг15 /х4, х7 имеют степень р(хг)=2 и вес Р = 2; вершины х2, х5, хК степень р(х,)=3, вес р=4; вершины х3, х6, х9 степень р(хг)=5, вес р = 6. 2°. Группы Г, с мощностью t = 1 нет. Рис. 2.4. Пример графа G для решения задачи типизации 3°, Число возможных объедине- ний группы Г?
4Г. Рассматриваются все возможные L объединений групп Г-1 и определяются группы Г* изоморфных подграфов с t =к+2 = 2. В результате объединения на 1-м шаге образуются три группы изоморфных подграфов Г?: Г} = {1 — 2; 4-5; 7-8}, lt=2; Г‘ = {1— 3; 4—6; 7—9}, tx = 2; Гз={2—3; 5—6; 8—9}, Ц=2. В результате объединения на 2-м шаге образуются три группы изоморфных подграфов Г?. Г? = {1—2-3; 4’5—б; 7—8 9}, Г=3; П={1—3 2; 4 6—5; 7—9—8}, t =3; Гз={2—3—1; 5—6- 4; 8 9—7}, t =3. В результате работы алгоритма из исходного графа выделено три группы изоморфных подграфов Г?, Г %, Г3. Анализ этих групп показывает, что юпи полностью совпадают, т. е., по существу, выделяется одна группа, состоящая из трех изоморфных подграфов. Задача типизации приобретает особенное значение при реше- нии проблемы минимизации числа ТЭЗ для спроектированной радиоэлектронной аппаратуры. Повышение степени типизации позволяет уменьшить число ТЭЗ и тем самым понизить расходы на эксплуатацию разработанной радиоэлектронной аппаратуры. 2.3. ПОСЛЕДОВАТЕЛЬНЫЕ И ИТЕРАЦИОННЫЕ АЛГОРИТМЫ КОМПОНОВКИ Конъюнкция, дизъюнкция вершин; итерационный алгоритм компоновки на основе метода ветвей и границ; оценка числа внешних ребер; число связности; перестановка Рассмотрим последовательный алгоритм компоновки Кодреса. Пусть КС представлена двудольным графом Кэнига К(Н) = = (y|JE, [7). Каждой вершине графа xteX, соответствующей модулю (г—1)-го ранга, поставлено в соответствие две оценки S(X) и L(X\, S(X) характеризует объем, занимаемый схемой, a L(X)—длину внешних соединений. В большинстве случаев принимается 5 (X) = | Со р | равным числу внешних контактов модуля. Вводятся понятия конъюнкции и дизъюнкции вершин. Конъюнкцией двух вершин х{ и Xj называют число цепей (ребер), одновременно инцидентных элементам xt и Xj. Конъюнкция двух подмножеств вершин Xt и Xj определяется выражением v(Vj)4««, (2.9)
(2.10) где E(Xi), E(Xj)—множества вершин К(Н), связанных с подмно- жествами вершин элементов X, и Xj. Таким образом, у (Xj, Xj) есть число цепей КС, одновременно связанных хотя бы с одной вершиной из'У; и хотя бы с одной вершиной, из Xj. \ Для двух подмножеств X, и Xj вершин графа бизоюйкция определяется как V (Х„ X,)=i£(Л-,)и£Ц,)|- А (Х„ Xj). т. е. как общее число вершин, инцидентных хотя бы одной вершине из Хг или из Xj, из которого вычитается конъюнкция данных подмножеств. Идея рассматриваемого алгоритма состоит в следующем Пусть Хо-- множество вершин, разбиваемых на подмножества. 1°. Пусть i — 1. . 1 ’ . - . 2°. Выбирают элемент xteX, имеющий максимальное число внешних связей. Если таких элементов несколько, то среди них выбирают такой, что л (х;, {х\\} минимально. Если! все <же остается более одного кандидата, то выбирают произвольный, например элемент с наименьшим номером. . - 3°. Включают выбранную элементную вершину в класс X,. Если Х\Х{=£0, процедура заканчивается. Иначе выбирают эле- мент х}еХ\Х,, такой, что л (Xt, Xj) максимально Среди таких элементов, если их больше одного, выбирают такие, что \ (Х$, ¥•» минимально. Если и в этом случае остается более одного кандидата, делают произвольный выбор. 4°. Проверяют, удовлетворяет ли класс требованиям допустимости разбиения: Ж(ЖК£Я0П, с0>р(у;и{х7}ксярп? и Если условия допустимости соблюдаются, то переход к 3°, Если какое- нибудь из ограничений превышено, то проверяю! на допустимость все остальные вершины. При нахождении кандида- та, удовлетворяющего требованиям допустимости, возврат к 3°. В противном случае полагают Х\Х{ — Х, i = i 4-1, и возврат к 2°. j Недостатком рассмотренного алгоритма является строго, по- следовательный порядок, в котором формируются подграфы. Целесообразнее использовать алгоритм, в котором обртзоранйе Подграфов происходит одновременно. ' ' е Рассмотрим методику разбиения графа, заданного матрицей смежности, на части с использованием чисел сьяз™ости Для каждой вершины графая введем числовую харак.еристику, учиты- вающую локальную степень этой вершины. Эта характеристика должна оценивать связь рассматриваемой вершины с Другими вершинами, лежащими внутри данного подграфа, по отношению к вершинам, находящимся вне его. * . - - > 1 (2.П)
Назовем а(Хк) или ак числом связности вершины хк, причем rk(Gi)-rk(Gj\ если xkeXf, rk(Gj) — rk(Gi), если xkeXi, а(хЛ) = (2-12) где rk(Gi)—число ребер, соединяющих вершину хк с вершинами G';=(X;, Ui); rk(Gj) — число ребер, соединяющих вершину хк с вершинами Gj — (Xj, Uj). Физический смысл числа связности следующий. Например, oc(xf)= — 1 означает, что при перестановке вершины xt, лежащей в Gls в G2 число внешних ребер увеличится на единицу. Равенство а(хЭ = 0 говорит о том, что перестановка вершины Xj из Gk в G2 оставит без изменения число соединительных ребер. Величина ®c(xfe)= +3 означает, что при переносе вершины хк в G2 из Gt число соединительных ребер уменьшится на три. Дли разбиения графа на два подграфа с минимизацией числа соединительных ребер с использованием чисел связности известна теорема. Теорема 2.1. Перестановка двух произвол ьных вершин х,.е и xteXj (Xif^Xj ^0) приводит к уменьшению числа соединитель- ных ребер между G; и Gj в случаях а) и б), если: а) вершина хк не смежна с вершиной xt и выполняется неравенство ак + аг > 0; б) вершина хк смежна с вершиной xt и справедливо нера- венство а( + ак >1г1к. Приведем матрицу К смежности R графа G, показанного на рис. 2.5: х2 R=*3 о 1 1 г о о о 1 о 1 ? 2 0 о Г 1 £ 0 0 3 1 о £ 0 2 1 0 0 2 0 2 0 0 0 0 о £ 1 0 о 1 о о 3 о 1 о R'i Рассмотрим строку матрицы смежности R: %! = || 0 1 1 1 0 0 0 ||. матрицы г1Д=0, г12 = 1 и г13 = 1 соответствуют Первые три элемента ребрам, которые принадлежат Gk. Эти ребра инцидентны вершине jq. Элементы Г1.4, гх 5, г16 и г1>7 соответствуют соединяющим ребрам вершины xt. Тогда в(Х|) по матрице смежности можно определить следующим образом: «(^1)=(Г1,4+Г1.5+ +?,1.б+*'В)—(Н,1+Н,2+,'1,з)=1+0+0+0 —0—1 —1= —1. В об- щем виде при разбиении матрипы R=||r; j ||„ на две подматрицы Rt и IG, где I, = 2, .... и}, запишем число связности ( afc = - veV lei £ rk,»’ Ul veV (2-13)
Рис. 2.5. Граф G Рис. 2.6. Пример. Граф G где /е/ = {1, 2, ..., р}, геК={р + 1, р+2, ..., п}, причем строка xv принадлежит подматрице R2, а строка xt—подматрице Rt, keJ = {], 2, ..., п}; р—старший индекс подматрицы Rt. Используя формулу (2.13), подсчитаем значения чисел связности для каждой строки матрицы и, введя дополнительный столбец к матрице R, запишем их: xi х2 R хз JC4 х5 х6 Х1 Х1 О 1 1 1 О О О О 1 о 1 о о xi 1 I о о о о 3 х4 1 о о о 2 1 О х5 о 2 О 2 О О о х6 Х1 о о о о О 3 1 о о о О 1 1 о <4, а, -1 О +1 —2 О —2 +2 x2 1 Рассмотрим основную идею итерационного алгоритма раз- биения графа G, заданного матрицей смежности, с минимизацией числа соединительных ребер. Разбиение графа G =(Х U) на I подграфов Gl = (X1, G2 = (X2, U2), Gl = (Xl> U,) сведем к разбиению на два подграфа. С этой целью в матрице R выделим по главной диагонали две подматрицы Rt и R2. При этом порядок подматрицы Rx равен числу вершин, которые должны находиться в Gb а порядок подматрицы R2—числу всех оставшихся вершин графа. Необходимо так переставить строки и столбцы матрицы R, чтобы число ребер между G\ и оставшейся частью G\ графа G было минимальным. После этого подматрицу Rt из матрицы R исключаем, вычеркнув из R строки и столбцы, соответствующие элементам Rv Далее подматрицу R'] разбиваем снова на две Подматрицы R2 и R'2, причем порядок R2 соответствует числу вершин второго выделяемого подграфа, а порядок R2—числу оставшихся вершин графа. Переставляем строки и столбцы R'i с целью минимизации числа соединительных ребер. После этого подматрица R'2 исключается и процесс повторяется до тех пор, пока не будет выполнено разбиение графа G на I подграфов.
Основная идея алгоритма заключается в выборе таких строк и столбцов,, перестановка которых приводит к сосредоточению в диагональных клетках матрицы R максимального числа элемен- тов. Построим прямоугольную матрицу W = || wi:j || nt х (п —п^, в ко- торой строки определяются вершинами из множества I, а сто- лбцы -^из множества V, ieN = {l, 2, / — 1}. На пересечении к строки (Ае/) и q столбца (<?еИ) находится элемент 2гкд, (2.14) где/у^—элемент матрицы смежности R. Элемент wk д матрицы W характеризует изменение числа соединительных ребер между G, и Gj при перестановке вершин x.qeXi и хкеХ;. Используя матрицу W. можно найти подстановку, которая увеличит число элементов в подматрицах R( и Ri. Такой процесс повторяется до тех пор, пока в подматрице Rt не сосредоточится максимапьное число единиц. Рассмотрим работу алюритма на примере разбиения графа, изображенного на рис. 2.6, на три подграфа с числом вершин 4, 3 и 3. Запишем матрицу смежности графа G: ’ *2 хэ х4 х5 х6 х1 х8 Хд Хю Х1 0 5 0 0 0 0 4 0 1 0 х2 5 0 1 0 0 0 1 1 0 0 х3 0 1 0 2 1 1 0 0 3 0 . Хд 0 0 2 0 1 0 0 0 0 0 Rfi- Х5 0 0 1 1 0 1 0 0 0 1 х6 0 0 1 0 1 0 0 0 (1 0 Xi, 4 1 0 0 0 0 0 1 1 1 . х8 0 1 0 0 0 0 1 0 1 0 Хд 1 0 3 0 0 0 1 1 0 0 Хю, 0 :0 0 0 1 0 1 0 0 0 Разобьем матрицу связности по формуле Ro на (2.20): две подматрицы R1 1<1 и определим числа Xi х2 Х3 хд х5 Х6 Х7 *8 Хд Х10 а, 0 5 0 0 0 0 4 0 1 0 0 5 0 1 0 0 0 1 1 0 0 —4 0 1 0 2 1 1 0 0 3 0 +2 R - 0 0 2 0 1 0 0 0 0 0 -1 0 0 I 1 0 1 0 0 0 1 0 0. 0 1 0 1 0 0 0 0 0 0 ’ г 4 1 0 0 0 0 0 1 1 1 +2 0 1 0 0 0 0 1 0 1 0 -1 1 0 3 0 0 0 1 1 0 0 +2 > О', 0. ...ft. „ й J . ft h 0. 0 0 -.2
Рис. 2.7. Граф G (рис. 2.8) после слу- чайного разбиения Рис. 2.8. Граф G (рис. 2.8) после пере- становки вершин х3 и х7 На рис. 2.7 показан граф, сответствующий этому разбиению. Используя выражение (2.14), построим матрицу Wo, которая при- мет вид Wo = Х5 Х6 Х7 Х8 Хд Хю О 0-6+1 0-2 —4 —4 —4 —7 —2 -6 0 0+4+1 2 0 -3 -1 +1 —2 +1 -3 Например, элементы иэ.з, iv2.8, и'37 матрицы Wo определяются следующим образом: wi,5=a1 +a5—2ri,5 =0+0—2-0=0; и’2,8 = а2+а8—2г28 = —4+(—1)—2-1 = ==—7; =с(з+сс7—2гз7=+2+2-2—2-0=+4 и т. д. Из матрицы Wo получаем, что для минимизации числа соединительных ребер между Gt и G2 графа G (см. рис. 2.7) в матрице Ro необходимо переставить строки и столбцы х3 и х7, поскольку элемент и’37=+4 матрицы Wo наибольший. Данная операция эквивалентна переразмешению вершин х3 и х7. После выполнения указанной процедуры матрица *1 х2 х7 х4 *5 х6 х3 х8 х9 *10 *1 0 5 4 0 0 0 0 0 1 0 -8 х2 5 0 1 0 0 0 1 1 0 0 —4 X? 4 1 0 0 0 0 0 1 1 1 —2 0 0 0 0 1 0 2 0 0 0 + 3 Ro = х5 0 0 0 1 0 1 1 0 0 1 —2 Хб 0 0 0 0 1 0 1 0 0 0 —2 х3 0 1 0 2 1 1 0 0 3 0 — 2 *8 0 1 «1 0 0 0 0 0 1 0 + 1 х9 1 0 1 0 0 0 3 1 0 0 —2 Хю 0 0 1 0 1 0 0 0 0 0 0 а граф Gj после перестановки вершин х3 и х7 изображен на рис. 2.8.
Рис. 2.9. Граф G (рис, 2.10) после пе- рестановки вершин х4 и х8 Рис. 2.10. Граф G2 Построим матрицы W'o= X5 Х6 Х3 Х8 Х9 *10 -10-10-10 -7 -12 -8 -6 -6 -8 -5 -6 —4 — 4 -4 —4 -3 -6 —4 -1 +1 -1 +4 +1 +3 Для минимизации числа внешних ребер на данном шаге необходимо выбрать элемент м>48=+4 и переставить строки, столбцы х4, х8 матрицы R'o, что соответствует перестановке вершин х4, х8 в графе G'. Матрица *1 х2 х7 *8 *5 Х6 *3 х4 х9 Л'1О *i 0 5 4 0 0 0 0 0 1 0 -8 *2 5 0 1 1 0 0 1 0 0 0 -6 *7 4 1 0 1 0 0 0 0 1 1 — 4 Хв 0 1 1 0 0 0 0 0 1 0 -1 R'o= *5 0 0 0 0 0 1 1 1 0 1 —4 *6 0 0 0 0 1 0 1 0 0 0 — 2 Л'з 0 1 0 0 1 1 0 2 3 0 -6 х4 0 0 0 0 1 0 2 0 0 0 -3 х9 1 0 1 1 0 0 3 0 0 0 0 Хю 0 0 1 0 1 0 0 0 0 0 0 а граф G", полученный в результате перестановки х4 и х8, показан на рис. 2.9. Теперь, когда все числа ах, a4=g0, строить матрицу W'o не будем, так как в ней не найдется ни одного элемента w(t.4>0, и, следовательно, в графе на данном шаге нет пары вершин, перестановка которых уменьшит К. Удаляя из матрицы Ro подматрицу Кх, получаем матрицу Rx. Разобьем ее на две подматрицы R2 и R'2. Порядок R2 определяется числом вершин в G2. Граф G2 после разбиения имеет вид, показанный на рис. 2.10. Запишем матрицу
Рис. 2.12. Разбиение г[ афа G (рис. 2.8) Рис. 2.11. Граф G2 после перестанов- ки вершин х3 и л10 на три подграфа R'i = Х5 *6 *з /г *4 Хд *10 a,t, a, *5 0 1 1 1 0 1 0 Хб 1 0 1 0 0 0 —2 Хз 1 1 0 2 3 0 +з Хл 1 0 2 0 0 0 + 3 Хд 0 0 3 0 0 0 + 3 R 2 *ю 1 0 0 0 0 0 + 1 Построим матрицу -^4 ^9 0 *5 + 1 +3 -1 W2= *6 +1 +1 -1 *3 +2 0+4 В матрице W2 выбираем наибольший элемент w’3,io=«3+«io —2гздо = = +3 + 1—2-0=+4. Переставляя строки, столбцы j с3, х10, матрицы R'j, получаем *5 *6 *ю Х4 Хд Х3 *5 0 1 1 1 0 1 0 х6 1 0 0 0 0 1 0 Хю 1 0 0 ООО -1 R'i = *4 1 0 0 0 0 2 -1 Хд ООО 0 0 3 -3 Хз 1 1 0 2 3 0 -3 Граф G2 после перестановки вершин х3, л'ю между подграфами приведен на рис. 2.11. Запишем матрицу *5 Wj= х6 *10 Х3 Хд Х3П -3 -3 -5 -1 — 4 -5 -2 —4 —4
В матрице W2 нет положительных элементов, следовательно, на этом работа алгоритма заканчивается. Граф G после разбиения на три подграфа Gj =(Л'1, А'1 = {х1, х2, х7, ,г8}; G2=(Jf2> U2\ Х2 = {х3, х6, Хю}; G3=(X3, C/3), X3 = {x3, x^, xg] no 4, 3 и 3 вершины в каждом изображен на рис. 2.12. Общее число соединительных ребер К=8. Поскольку на каждом шаге выбирается такая пара вершин, перестановка которых минимизирует число внешних ребер К, то в конечном итоге получим локальный минимум возможного числа соединительных ребер. Повышение точности решения достигается ценой значительного усложнения алгоритма, заключающегося в перестановке групп вершин. Временная сложность алгоритма равна O([W), где [1 - коэффициент. 2.4. ПАРАЛЛЕЛЬНО-ПОСЛЕДОВАТЕЛЬНЫЕ АЛГОРИТМЫ КОМПОНОВКИ СХЕМ Максимально связная часть; разбиение (разрезание) гиперграфа; окрестность; задержка распространения сигнала; условная функциональная; волна; распростране- ние волны; суммарная длительность задержки распространения сигнала от входа к выходу Рассмотрим алгоритм компоновки, основанный на процедуре выбора максимально связанных частей (МСЧ) групп элементов КС и методе параллельного свертывания схем. Алгоритм ком- понует подсхемы с минимизацией числа внешних связей и от- личается процедурой построения окрестностей МСЧ и тем, что в качестве МСЧ формируется множество цепей КС, имеющих максимальное число внутренних и внешних контактов, отнесенных к данному элементу соответствующей цепи. Это позволяет выделить в качестве МСЧ равномерно распределенные по КС цепи, элементы которых имеют максимальную общую связность, и дает возможность расширить МСЧ, получив при компоновке равномерно связанные группы элементов. Необходимо сформировать т подсхем Gk с учетом ограниче- ний на число их внешних контактов C(G,J и на вес подсхем JVfG^), где X(Gk) определяет максимальное число элементов схемы, которое могут содержать подсхемы Gk. Компоновка элементов схемы соответствует разбиению мно- жества X гиперграфа И на подмножества XL, Х2, Хт, такие, что Xp(}X=0, U Хр=Х, \Xp\ = hp, р, ?е6 = {1, 2, ..., т} пред- ре v
ставляет собой «разрезание» гиперграфа Н, определяемое данным разбиением. Пусть f—произвольное фиксированное разрезание. Найдем для ребра е^Е при разрезании f величину т wAej) = Z wPi, (2.15) p=i lj По выражению (2.15) определяют число частей, из которых выходит ребро е^Е при разрезании /. Гиперграф Н при разрезании f характеризуется величиной «7(И)=0,5 £ иДе,), (2.16) 7=1 представляющей собой число разрываемых ребер, соответствую- щих связям между подсхемами Gk, при разрезании /. Задача компоновки состоит в нахождении такого разрезания (gF гиперграфа Н, при котором значение wf(H) минимально или стремится к этому значению. Идея алгоритма заключается в последовательном поиске в соответствии с выбранным критерием с помощью процедуры построения окрестностей, равномерно распределенных по гипер- графу ребер, являющихся основой для формирования соответ- ствующих подсхем Gk. Расширение МСЧ происходит путем включения в них свободного ребра гиперграфа, имеющего максимальное число связей с данной МСЧ и минимальное число связей с другими ребрами и МСЧ. При нарушении ограничений на параметры подсхем осуществляется итерационная процедура перестановки ребер в подсхемах. Алгоритм состоит из трех основных частей. Первая часть ставит в соответствие каждой подсхеме Gk ребро МСЧ. Вторая часть формирует сами подсхемы Gk. Третья осуществляет итерационную процедуру перестановки ребер в подсхемах. Работа алгоритма начинается с определения ребра ег, гипергра- фа Н, имеющего максимальное число внутренних и внешних контактов, отнесенных к одной вершине данного ребра. Для каждого ребра гиперграфа вычисляется оценка St, т. е. число внутренних’ и внешних контактов этого ребра, приходящихся на одну его вершину. Если несколько ребер имеют одинаковую оценку St, то из них выбирается ребро, имеющее максимальную разность Де между числом внешних связей ребра и числом его внутренних контактов. Если и таких ребер несколько, то выбирает- ся ребро, имеющее максимальное значение разности Де, отнесен- ной к одной вершине данного ребра. Выбранное с помощью оценок ребро ег ставится в соответствие некоторой подсхеме Gk и исключается из множества ребер гиперграфа Н. Для поиска следующего ребра МСЧ, находящегося
на определенном растоянии от уже выбранных МСЧ, формируется окрестность 7Vje;). Начальная окрестность No (<у) представляет собой само ребро е(. Окрестность Nj(el) ребра е1 формируется из множества инцидентных окрестности Nj_! (е;) ребер гиперграфа Н. Наращивание окрестности прекращается при превышении ограничений на вес подсхемы или на число ее внешних контактов C(Gk), а также при отсутствии свободных ребер, инцидентных сформированной окрестности. Ребра, вошедшие в окрестность исключаются из множества ребер гиперграфа Н. Затем повторяется процедура выбора ребра МСЧ. Этап заканчивается, когда каждой подсхеме поставлено в соответствие ребро МСЧ. Подсхемы пополняются последовательно на одно ребро за цикл. Формирование подсхемы Gk прекращается при превышении ограничений на вес подсхемы X((7fc) или на число ее внешних контактов C(Gfc). Разрываемое ребро в дальнейшем рассматрива- ется как совокупность соответствующего числа инцидентных ребер. Если множество вершин гиперграфа И не исчерпано, то оставшиеся вершины распределяются по подсхемам по критерию максимальной связности с соответствующей подсхемой. Если состав подсхем определен, т. е. пополнение любой оставшейся вершиной или ребром приводит к нарушению ограничений, а множество вершин гиперграфа Н не исчерпано, то необходимо увеличить число подсхем (или скорректировать ограничения) и начать процедуру сначала. Этап завершается, когда сфор- мированы все подсхемы Gk. Общая эффективность этапа равна О (и3). На третьем этапе осуществляется итерационная процедура перестановки ребер в подсхемах. Для каждого ребра вычисляется оценка связи с другими подсхемами. Реализуется перестановка пары ребер, дающая максимальное уменьшение числа межсоеди- нений и удовлетворяющая заданным ограничениям. Общая эф фективность алгоритма равна О (и3). Рассмотренный алгоритм компоновки позволяет получать подсхемы, содержащие равномер- но связанные группы элементов. Одной из важнейших проблем при проектировании ЭВА является проблема обеспечения максимально возможного быстро- действия или соответственно минимальной суммарной длитель- ности задержки распространения сигналов от входа к выходу схемы. Межплатные соединения даже на одной панели вносят замет- ную задержку в распространение cm нала и требуют специальных мер защиты от влияния помех, число и уровни которых резко растут с увеличением длин соединений. Очевидно, что необходимость уменьшения длительное™ задер- жки сигналов по линиям связи и влияния паразитных помех на них требует, чтобы уже на этапе компоновки схем, начиная
с ТЭЗ, конструктивные решения были обоснованы с учетом этой проблемы. Таким образом, одним из критериев при решении задачи разбиения КС на подсхемы является длительность задержки распространения сигналов. При компоновке элементов КС необходимо минимизировать число подсхем, через которые проходят сигналы от входа к выходу схемы. Такой подход позволяет получить при данной технологии изготовления проектируемых схем и элементной базе максимальное быстродействие схем. Это происходит, в частности, за счет того, что становится возможным при заданных конструк- тивных и технологических ограничениях получить минимальное число связей, по которым производные сигналов, вышедших из какой-либо подсхемы (узла, блока), вновь попадут в эту подсхему. Наилучшим вариантом при этом является такое разбиение схемы на подсхемы, при котором вообще нет какого-либо пути от входа к выходу, проходящего более одного раза через одну и ту же подсхему. При разрезании КС на части достаточно иметь качественную оценку элементов схемы и их межсоединений с точки зрения функционирования схемы во времени. Назовем эту оценку условной функциональной задержкой (УФЗ) элемента или межсоеди- нения элементов. Под УФЗ понимается номер волны, распростра- няющейся по ребрам и вершинам гиперграфа Н проектируемой схемы от ее входа к выходу. Гиперграф Н схемы является ориентированным, так как в каждом ребре необходимо иметь возможность различать вершину гиперграфа, моделирующую элемент (контакт которого в соответствующей электрической цепи является выходом элемента), и вершины, моделирующие элементы (контакты которых в соответствующей электрической цепи являются входами этих элементов). Соответственно раз- личают ребра, входящие в вершину и выходящие из вершины. Для вершины УФЗ —это наибольшее значение УФЗ из УФЗ ребер гиперграфа, входящих в нее. Для ребра, выходящего из вершины, УФЗ— это значение УФЗ этой вершины, увеличенное на единицу. Условная функция задержки ребер, моделирующих входные цепи схемы, задается равной единице. Затем для получения значений УФЗ каждых вершины и ребра используется процедура распространения волны по ребрам гиперграфа. Моделью, отображающей КС, является ориентированный гиперграф И=(Х, Е), в котором каждой вершине xteX гиперграфа взаимно однозначно соответствует некоторый элемент iel, 1= = {1, 2, ..., т}, а каждому ребру е}еЕ соответствует некоторая электрическая цепь схемы jeJ, J = {1, 2, ..., п}. Каждой вершине и каждому ребру ориентированного гипер- графа Н ставится в соответствие УФЗ, которая связывает вершину или ребро с определенным шагом волны, распространяющейся в гиперграфе от его начальных ребер (для которых задается
УФЗ, равное единице) к конечным. Обозначим УФЗ вершины Х( через гх. и ребра е- через ге,. Они связаны между собой следующим'образом: УФЗ ребра1 ej, для которого вершина интерпретирует элемент схемы, являющийся источником сигнала в цепи j, определяется как ге.=гх.+ 1; УФЗ вершины xt определя- ется как максимальное значение УФЗ инцидентных этой вершине ребер E' = {ef, eq, et}, т. е. rx = max ге . (2.17) Сформулируем критерий разбиения, учитывающий, каким образом функционируют во времени элементы и межсоединения КС. Разобьем некоторый ориентированный гиперграф Н так, чтобы каждая часть гиперграфа Ну обладала такой характеристи- кой, как интервал значений УФЗ принадлежащих ей вершин: Еу Тушах T*ymjn, (2.18) где Ау—интервал значений УФЗ части Ну гиперграфа Н; гТтах—максимальное значение УФЗ вершин, принадлежащих Ну; Гу min - -минимальное значение УФЗ вершин, принадлежащих Ну. Произвольное фиксированное разбиение f гиперграфа Н ха- рактеризуется максимальным интервалом при данном разбиении: Az = max Ау. (2-19) Поэтому при компоновке КС ставится задача разрезать Н так, чтобы получить минимальное из возможных значений Ау при заданных ограничениях на число элементов в подсхемах и на число внешних выводов подсхем. То есть необходимо назначать в формируемую подсхему в первую очередь элементы и межсоединения, УФЗ которых одинаковы или как можно меньше отличаются друг от друга. Для решения задач, возникающих при реализации метода компоновки, удобным является процесс распространения волны в гиперграфе. Процесс распространения волны имеет не непрерывно поступа- тельный (с шагом, равным единице), а скачкообразный на отдельных направлениях характер. Основная идея состоит в том, что волна, дойдя до некоторой вершины по какому-либо маршруту, распространяется дальше только в том случае, если она прошла по всем ребрам, входящим в данную вершину. Таким образом, последнее помеченное волной ребро (из входящих в эту вершину) и определяет значение УФЗ этой вершины. Выходящие из данной вершины ребра помечаются, т. е. УФЗ ребер отличается от ее УФЗ вершины на единицу. И процесс продолжается далее. Если простая волна достигла
и пометила конечные ребра ориентированного гиперграфа и все его вершины и ребра имеют метки, то задача решена. В том случае, когда имеется информация о результатах функционально- логического моделирования проектируемой схемы, т. е. известны значения задержек элементов схемы, правило определения значе- ния УФЗ соединений должно быть изменено. Каждая вершина xi гиперграфа Н получает дополнительную характеристику Агх., которая показывает, во сколько раз длительность задержки элемента схемы, интерпретируемого вершиной xt, отличается от длительности задержки самого быстродействующего элемента схемы. В качестве характеристики вершины Arv. может быть использовано само значение задержки соответствующего элемента схемы. Для ребер, выходящих из вершины xh УФЗ отличается от УФЗ самой вершины на АгЛ_. Это позволит принимать конструктивные решения, в большей степени соответствующие реальному функционированию элементов схемы и их соединений во времени. Рассмотрим процедуру распространения модифицированной волны (МВ) в гиперграфе. Основная идея этой процедуры заключается в том, что при формировании частей схемы волна должна распространяться по модели с учетом значений УФЗ вершин и ребер гиперграфа, полученных в результате работы алгоритма преобразования модели, т. е. на очередном шаге волна проходит по вершинам и ребрам, имеющим такие же значения УФЗ, как вершины и ребра, пройденные волной на предыдущих шагах. При отсутствии таких вершин и ребер в фронте волны необходимо расширить соответствующим об- разом интервал значений УФЗ, разрешенных для данной волны в данный момент. Таким образом, процедура распространения модифицированной волны нацелена на то, чтобы в первую очередь проходить по наиболее критическим с точки зрения задержки сигналов направлениям. В формируемую часть модели стремятся поместить вершины и ребра, интерпретирующие соот- ветственно элементы и их межсоединения, которые срабатывают при работе схемы одновременно с уже помещенными в данную подсхему. Рассмотрим последовательно-итерационный алгоритм А1 ком- поновки схем ЭВА с минимизацией длительности задержки. В алгоритме А1 используется процедура модифицированной волны. На начальном этапе работы алгоритма процедура при- меняется для выявления групп смежных начальных ребер гипер- графа. Каждая такая группа ребер coo i ветствует одной волне, являясь фактически ее начальным фронтом. На следующих этапах работы алгоритма происходит последовательно-параллельный процесс распространения существующих волн также с исполь- зованием процедуры распространения модифицированной волны. За один цикл каждая волна в гиперграфе продвигается на один
Рис. 2.13. Фрагмент КС шаг. При этом сильным ограничением считается ограничение на суммарный вес вершины волны, а сла- бым — ограничение на чис- ло ребер фронта волны (т. е. на число внешних связей подсхемы), так как существует вероятность того, что при дальнейшем распространении волны число ребер ее фронта сократится. При превыше- нии ограничения на сум- марный вес вершин волны необходима коррекция той волны, для которой это произошло. Причем в этом случае корректируется список вершин волны как с целью соблюдения ограничения на вес волны, так и с целью в случае необходимости соблюдения ограничения на число ребер фронта данной волны. Результатом коррекции является сформированная часть гиперграфа, определяющая соответствующую подсхему. На операции включения подмножества вершин гиперграфа в волну производится проверка вершин этого подмножества на принад- лежность другой волне. Пересекающиеся в какой-либо вершине волны сливаются. Если в результате этого слияния происходит нарушение заданного ограничения на вес волны (подсхемы), то на основе анализа параметров объединенной волны производится ее коррекция. Рассмотрим работу данного алгоритма AI на примере компоновки фрагмента схемы, изображенного на рис. 2.13. Размеченный ориентированный гиперграф Н данного фрагмента схемы показан на рис. 2.14. Список В В содержит значения весов вершин гиперграфа II Пусть веса этих вершин, соответствующих элементам фрагмента схемы, равны единице. Ограничение на вес частей В=5, а ограничение на число внешних ребер С=7. Подмножество начальных ребер гиперграфа Н включает в себя ребра, имеющие минимальное значение УФЗ: Е11={е1, е2, е3, е4, es, е6, е7}. Подмножество конечных ребер £к = {е2о> e2i, e2z}- В процессе работы алгоритма А1 формируются три начальные волны: В1 = {е1,е2}, 31={1}, В2={е3,е4}, 32={1}, В3 = {е5, е6,е7},33 = {1}, Р£(1)=Р£(2)=1, Р£(3)=Р£(4)=1, РЕ(5)=РЕ(Ь)=РЕ(7) = 1. Соответственно списки вершин и ребер фронтов начальных волн ВФ1 = {х1, х2}, РФ1={е1,е2), ВФ2 = {х3}, РФ2 = {е3,е4}, ВФЗ = {х^х5}, РФЗ = {е5, еь, е7}. После первого шага работы процедуры распространения модифицированной волны на каждой из трех начальных волн имеем
Рис. 2.14. Гиперграф Н для КС (рис. 2.15) ВВ\={х1, х2}, РФ1={е1,е2.е8.е9}, ВВ2={х3}, РФ2 = {е3, <?4, е10}, ВВЗ = {х4, х5}, РФЗ = {е5.е6,е7,е11,е ВФ1 = {х6, х7}. 31 ={ 1, 2}, ВФ2={х7}, 32 = {1, 2}„ РФЗ = {х8, х10}, }.33 = {1, 2}. На втором шаге процедура сформирует первую волну в следующем виде: ВВ1 = {х,, х2, х6, х7}, ВФ1={х10, Лц}. РВ1={е8, е9}, РФ1 = {<?1, е2, <?10, е13, е14}, 31 = {1, 2, 3}. При попытке расширить вторую волну выясняется, что первая и вторая волны пересекаются. Происходит объединение первой и второй волн, т. е. ВВ1 = ВВ HJ ВВ2, ВФ 1 = ВФ1 и ВФ2, РФ1=РФ1и?Ф2, 31 ==31 (J 32. Проверяется выполнение заданных ограничений. Объединенная волна удовлет- воряет заданным ограничениям на вес подсхемы и число се внешних связей.
Рис. 2.15. Структурная схема алгоритма В данном случае не требуется корректировать объединенную волну. Формирование первой волны завершено, т. е. первая часть ориентированного гиперграфа Н сформирована и выглядит следующим образом: ВВ1 ={•*!. *2, х3, х6, х7}, бФ1={х10, хп, х12}, РВ1={е8, е9, е10}, РФ1={е1; е2, е3, е4, е13, <?14}. Формируется новая волна, которой может быть присвоен второй порядковый номер, так как после слияния первой и второй волн он не задействован. В качестве вершины источника второй волны выбирается вершина х10, поскольку все вершины фронта первой волны имеют одинаковое значение УФЗ. Таким образом, ВВ2={х10}, ВФ2 = {х11, -Tj2}, РВ2=0. РФ2={е13,е„}, 32={3}. Второй шаг процедуры для третьей волны дает следующий результат: _ВВЗ = {х4, х5, х8, х9}, ВФЗ = {х11, х12, х13}, ЛВЗ^е,,. е12}, РФЗ = {е5, е6, <?7, е15, е16}, 33 = { 1, 2, 3}. Первый шаг процедуры для второй волны соответствует третьему шагу для третьей волны. При попытке расширить третью волну возникает ситуация пересечения второй и третьей волн. При этом для третьей волны происходит нарушение ограничений. В результате коррекции третьей волны в нее включается вершина х13, так как в этом случае приращение числа ребер фронта волны, т. е. числа внешних связей соответствующей подсхемы, будет минимально. Формирование
третьей видны завершено. В53 = {х4, х5, х8, х9, х13}, ВФЗ = {х12}, РВЪ = {е^, е12, е16}, РФЗ = {е5, е6, е7, е15, е22}. Так как единственная вершина фронта третьей волны х12 принадлежит второй волне, то новая волна не формируется. Результатом очередного шага работы процедуры для второй волны является ВВ2={х10, хп, х12, х14, х15}, ВФ2 = 0, РВ2={еп, е18, е19}, РФ2 = {е13, е14, е15, е20, е21}. Поскольку вторая волна достигла предельно допустимого значения веса волны, то процесс ее расширения прекращается. С другой стороны, все вершины и ребра ориентированного гиперграфа Н распределены. Следовательно, гиперграф Н разбит на части с заданными ограничениями. Так как все ребра, попавшие в разрез, имеют одинаковое значение УФЗ, то данный вариант разбиения обеспечивает минимально локальный минимум суммарной длительности задержки сигналов по всем путям от входов к выходам данного фрагмента схемы (рис. 2.15). Соответственно сложность алгоритма компоновки равна О(п3). 2.5. КОМПОНОВКА С УЧЕТОМ ДИАГНОСТИЧЕСКИХ СВОЙСТВ МОДУЛЕЙ ЭВА Текст, контроль, диагностика, цена элементарной проверки, контрольная точка В настоящее время перед разработчиками ЭВА возник ряд проблем, среди которых важное место занимает разработка эффективных методов контроля и диагностики цифровых систем, построенных на их основе. Современное состояние методик структурной проверки цифровых систем показывает, что наиболее перспективными являются блочные методы построения тестов. С этой точки зрения актуальной представляется задача разработки обоснованной процедуры компоновки «хорошо» тестируемых блоков цифровой системы и выбора оптимального числа конт- рольных точек. Такая задача возникает при разбиении КС ЭВА на заказные БИС частного применения, к которым не предъявлены повышен- ные требования в отношении схемной унификации. Типичными ограничениями в данном случае являются ограничения на число компонентов и внешних выводов, на суммарную площадь, занимаемую отдельными БИС, и электромагнитную совмести- мость компонентов внутри БИС. При компоновке КС сейчас стоят задачи проверки и наладки ЭВА в условиях производства или ремонта, организации проверки работоспособности, правильности функционирования и поиска неисправностей в условиях их эксплуатации или хранения.
Рассмотрим методику компоновки КС ЭВА, учитывающую требования контроля и диагностики в САПР. Процесс диагноза ЭВА состоит из отдельных частей или элементарных проверок, каждая из которых характеризуется подаваемым на объект тестовым или рабочим набором и снимаемым с объекта ответом. Реализация любой элементарной проверки требует определенных затрат времени, материальных и энергетических ресурсов, чело- веческих усилий. Эти затраты необходимы для выработки и подачи воздействий, для приема, измерения и анализа ответов на эти воздействия. Будем называть те или иные учитываемые при конкретном рассмотрении затраты ценой элементарной проверки (ЦЭП) и обозначать их С„. Поскольку процесс компоновки узлов и блоков ЭВА носит многоуровневый характер, то считают, что у отдельных компонентов ЭВА могут изменяться сложность и габаритные размеры. Отмеченный выше блочный подход к построению тестов позволяет заранее найти ЦЭП каждого отдельного компонента ЭВА, а также использовать то обсто- ятельство, что в результате разбиения ЭВА полученные блоки будут как пакетироваться, так и тестироваться индивидуально. Зададим КС’ориентированным графом G=(X, U). Множество X вершин G соответствует множеству выводов компонентов, включая внешние выводы (контрольные точки). Характерной особенностью многих методов и алгоритмов компоновки ЭВА является отсутствие в них информации об источниках и при- емниках сигналов в каждой межкомпонентной цепи, о функ- циональных свойствах и внутренней структуре компонентов. В результате важная диагностическая информация не учитывается в процессе компоновки. Так, многие методы построения диа- гностических тестов базируются на понятии так называемых существенных путей в структуре объекта диагноза. В данном случае в качестве таких объектов диагноза выступают отдельные компоненты ЭВА. При подаче на них тестового воздействия для диагностики неисправности в объекте создаются такие условия проявления и транспортировки неисправности (т. е. входные, внутренние и выходные переменные объекта принимают такие последовательности значений), при которых от места проявления неисправности до какой-либо контрольной точки объекта образуется один или несколько каналов передачи значений сигналов. Такие каналы называют существенными. С точки зрения структуры объекта диагноза существенный путь представляет собой совокупность элементов и цепей. Поэтому при моделировании КС орграфом G вершины, соответствующие выводам отдельного компонента, соединяются ребром лишь при условии наличия между данными выводами существенных путей. Для фрагмента КС (рис. 2.16) соответствующий орграф G приведен на рис. 2.17. Каждая вершина орграфа G имеет два индекса. Индекс i указывает номер компонента, у— номер вывода. Внешние выводы имеют индекс г=0. Каждому компоненту ЭВА назначим ЦЭП из множества СП = (С1; С2, ..., С„),
Рис. 2.16. Фрагмент коммутационной схемы где т— число компонентов. Для КС, например, (см. рис. 2.16) ЦЭП первого компонента равна 160, второго 210. третьего 180, четвертого 120. пятого 160, шестого 180, седьмого 110. Тогда результирующая ЦЭП равна ИЗО. Большинство методов тестирования моделируются в виде процесса потока от внешних входов к внешним выходам. Поэтому орграф должен быть ациклическим. Устранение контуров осуще- ствляется известными методами теории графов. Рис. 2.17. Орграф
Постановка задачи компоновки ЭВА состоит в нахождении некоторого варианта компоновки Gr блоков, оптимизирующего выбранный функционал при соблюдении схемотехнологических ограничений и представляющего собой разбиение множества компонентов ЭВА на непересекающиеся подмножества Gr блоков. Идея разбиения ЭВА на блоки заключается в том, чтобы по возможности сбалансировать общую сумму ЦЭП для каждого блока ЭВА, т. е. найти такое разбиение, при котором затраты на диагностику любого блока ЭВА были бы примерно одинаковыми. С этой целью необходимо предварительно распределить ЦЭП всех компонентов по межкомпонентным цепям до внешних выводов. Процессы распределения ЦЭП от данного компонента до внешних выходов и входов ЭВА называют прямыми процес- сами (ППР) и аобратными процессами (ОПР) соответственно. Для ППР алгоритм предполагает следующий порядок выпол- нения операций. 1°. Параметру V присвоить значение 1. Параметру присво- ить значение V. Параметру Р2 присвоить весовое значение Р рассматриваемой вершины xj. 2°. Если Е> = 1, перейти к 3°, иначе выполняется после- довательность операций ОПР. 3°. В информацию о вершине х{, имеющей в списке Lr порядковый номер V, внести изменение: присвоить ребрам, выходящим из х{, новое весовое значение Р1 = Р1-гР21К1. 4°. Если ^ = 1, перейти к 10°. 5°. Занести в список £3 информацию о ребрах, выходящих из вершины с порядковым номером V\ в виде {Е, F, Р3}. 6°. Параметру Р присвоить значение 7°. Запомнить информацию о вершине xf, стоящей в списке L3 последней. 8°. Присвоить параметру Р2 значение Р3. Очистить список L3 от информации о вершине хгЕ. 9°. Параметру Ev присвоить значение Е, параметру Ег — значе- ние Е. 10°. Если вершина х%' представляет внешний вывод, перейти к 18°. 11°. С помощью списка L2 отыскать в списке Lr порядковый номер вершины х^'- Найденный номер присвоить параметру Et. 12°. Если = для перейти к 16 '. 13°. Если Z> = 0 для перейти к 4°. 14°. В информацию о ‘вершине х^', имеющей в списке Ег порядковый номер Vx, внести изменение: присвоить ребрам, выходящим из хе', новое весовое значение Pt = Pt + Р2/Кг. Перейти к 4°. 15°. Параметрам Ег, присвоить новые значения, равные номеру компонента, номеру вывода компонента и указанные в информации о вершине х^'-
16’. Если D=0 для вершины с порядковым номером перейти к 12°. 17°. В информацию о вершине с порядковым номером Et внести изменейие: присвоить ребру, выходящему из нее, весовое значение Р1 = Р1 + Р2. Перейти к 11°. 18°. Если список L3 пуст, перейти к 19°. В противном случае—к 7е. 19. Присвоить параметру И значение К+1. Если V не превышает максимального порядкового номера в списке , перейти к 1°. 20°. Конец работы алгоритма. Применяя алгоритмы ППР и ОПР к КС, получаем распределение ЦЭП (см. рис. 2.16). Каждая межкомпонентная цепь имеет два весовых значения: Рг (оно помечено звездочкой), полученное в результате ППР, и Ро, полученное в результате ОПР. Цепи, связывающие внешние выходы с входами компонентов, имеют только весовое значение Ро, так как для них Ро=0. Цепи, связывающие внешние выходы с входами компонентов, имеют весовое значение Pt. так как для них Ро=0. Отметим некоторые свойства построенной ММ. Так, для каждой отдельной компоненты имеем р* = р* Р =Р —С- где Р*ых., Р*х., Рвых., ^а. веса, полученные в результате суммирования весовых значений ребер по всем выходам и входам рассматриваемого компонента для ППР (Р*) и ОПР (Р) соответственно. Так, для третьего компонента (см. рис. 2.16) имеем Р*ык.= J30* 4-40*+ 40*+ 80* = 290*, Р* , + С, = 40* + 70* +180* = 290*, Рвы,.=60-60+40+100 = 260, Р„,-С,= 160 +160+120-180 = 260. Другим свой- ством построенной ММ является тот факт, что для любого разбиения КС на две части общая сумма весов в разрезе совпадает с первоначальной ЦЭП КС Так, для разреза RZt (см. рис. 2.16) имеем 460+670* = ИЗО. Идея разбиения ЭВА на блоки заключается в гом, чтобы по возможности сбалансировать результирующую ЦЭП каждого блока. Обозначим через £fc = |/\ — Ро | абсолютную разность весов jPj и Ро ребра Uk. Допустим первоначально, что необходимо произвести разбиение КС на два блока. Очевидно, что чем меньше будет ек для каждой межкомпонентной цепи, лежащей в разрезе, тем равномернее будет распределена общая ЦЭП между блоками. Таким образом, задача оптимального разбиения ЭВА на блоки сводится к задаче нахождения минимального разреза (максимального потока) в ориентированном ациклическом графе G. Эта классическая задача имеет много известных алгоритмов решения. В случае нашего примера (см. рис. 2.16) минимальный разрез RZ2 будет иметь значение £ гь = 60 + 20 + 20 + 70 + 20 + 0 + 20 + 30 + 30 = 270. Разность меж- к=1 ду ЦЭП двух блоков будет минимальной и составит 580 — 550 = 30.
- Аналогично можно выполнить разбиение ЭВА на Gr блоков. Разница заключается лишь в определении величины гк, а именно: £к = |(Сг-1)Л-Р0|. (2.20) Обоснованный выбор на этапе разбиения дополнительных контрольных точек улучшает диагностические свойства компонуе- мых блоков. Для этих целей обычно могут быть использованы оставшиеся неподключенными внешние разъемные контакты КС. Вопрос заключается в том, чтобы введение контрольной точки в наибольшей степени способствовало «хорошей» тестируемости блоков. Один из вариантов решения этой задачи заключается в исследовании весов ребер орграфа G с целью выбора ребра, имеющего наибольшее Ро либо Рк, т. е. поиск цепи, на которую приходится наибольшая нагрузка при распределении ЦЭП ППР либо ОПР. Найденная цепь выводится на разъемный контакт, который в этом случае станет дополнительной контрольной точкой. Для орграфа G (см. рис. 2.17) таким ребром является ребро .Хб), имеющее весовое значение Р^ЗЗО*, а для КС —это цепь, соединяющая четвертый и шестой компоненты. Производя перфаспределение весовых значений ЦЭП, получаем для ребра <%4, Хо> Pt = 165, для ребра <Хб, %о> P^lbS*, для ребра <%б, хоУ Pi=425*. Как видно, в этом случае распределение ЦЭП по внешним выходам КС становится более сбаланси- рованным. Другой более точный метод ввода контрольных точек заклю- чается в следующем. Пусть имеется 6 внешних выходных контактов ЭВА. Поскольку сумма всех весов внешних выходных контактов совпадает с общей ЦЭП ЭВА, то наилучшим распре- делением является такое, при котором все внешние выходные т контакты имеют одинаковый вес, равный £ CJQ. i=i Поэтому грубый способ оценки качества распределения ЦЭП по внешним выходным контактам состоит в поиске внешнего выходного контакта, имеющего максимальный вес. Однако такой подход не позволяет учесть распределение ЦЭП по всем осталь- ным внешним выходам. Более точной оценкой является Т= е = Е которая отражает распределение ЦЭП ЭВА на внешних k= 1 выходных контактах. Скажем, имея два распределения (5—20 - 5—20) и (10—10 —10--20), нужно выбрать среди них распреде- ление с наименьшим Т, г. е. (10—-10—10—20). Решая задачу компоновки, необходимо требуемую глубину диагноза задавать через разбиение множества конструктивных компонентов ЭВА на непересекающиеся множества. Например, известно требование проведения диагноза с глубиной до сменного блока (узла, компонента). Поскольку такое требование не всегда
Таблица 2.1. Вход-выходные маршруты орграфа Маршруты Вершины № Л-4 -4 а-22 3 Х2 Л-1 лз V6 Аз Х4 V2 ¥3 V4 4 х2 V3 Л 5 л’з V1 л6 л6 V3 6 < л? Х1 V? А + — 4 + — — — — — + — — — + — 4 4 — + — — — — 4 4 4 4 — — — — fe Хр-^Ло + — + + 4 4 — ь 4 4 — 4 4 xg-»xg — 4 — + + + + + 4 — 4 4 — — — - — — — — — — — — — — + — + + — — — — — + — — 4 — — — — 4 — 4 -г л-3_ V-5 Ар—>Ло — — — — + - — — + — — + — — + — — 4 + — — — — 4 — — 4 — — — — + 4 ** 4 — 4 Хо->*о — — — — 4 — — + — — + — - + — — 4 -г — — — — 4 — — 4 — — - — + 4 4 4 4 Хо-^Хо — — — — + + + + +
выполнимо в силу многокритериального подхода к задаче компоновки, наличия определенных технологических ограничений, то по окончании процедуры разбиения КС на блоки необходимо проанализировать все межблочные связи. Цель подобного анализа заключается в поиске межблочных связей, по которым возможно распространение эквивалентных одиночных либо кратных не- исправностей компонентов, находящихся в разных блоках. Дело в том, что на имеющихся внешних выходах ЭВА обнаружение неисправностей может быть произведено лишь с точностью до классов эквивалентных неисправностей. Идея анализа межблочных связей состоит в определении совокупности множеств вершин орграфа G, таких, что каждая вершина из одного и того же множества принадлежит одной и той же совокупности маршрутов, соединяющих внешние входы ЭВА с внешними выходами. Такой подход может быть реализован одновременно с выполнением операций алгоритма ППР и ОПР (для данной вершины). Достаточно лишь в процессе распределения ЦЭП отмечать внешние входы и выходы, являющиеся началом и концом маршрутов, которым принадлежит данная вершина. * Для орграфа G (см. рис. 2.17) приведена табл. 2.1 вход-выходных маршрутов, в которую занесены результаты подобного анализа. Здесь знак «+» обозначает, что вершина орграфа G принадлежит совокупности маршрутов, соединяющих указанные внешние вход и выход КС. Знак «—» говорит о противоположном. Множествам одинаковых столбцов таблицы соответствуют классы эквивалентных неисправностей C = где ?! = {х}, х?, х|}; q2 = {xi, xl, хД; 9з = {х2,хД; 94 = {л-2, х2}; ?5 = {хД Хз, Хз, xl}; 96 = {хз> хД хД; 9? = {х4, Хе, хЦ; ?8 = {хД хД; ?9 = {xf, X?}. Интересующими нас множествами являются множества q2, q2, q4, q$, q6, ибо ребра орграфа G (см. рис. 2.17), представляющие межблочные связи КС для разреза RZ2, могут быть образованы лишь из вершин указанных множеств. Искомыми ребрами будут <хД xi>, <хД xi), (xf. хД, <хД Х4>, <хД хз). Диагностика ЭВА с глубиной диагноза до блока осуществляется при наличии доступа и возможности наблюдения реакции в найденных межблочных связях. Указанные требования, однако, не всегда выполнимы, если отсутствует информация о характере сигналов на межблочных связях при подаче на внешние входы ЭВА тестовых наборов. 2 6. КРАТКИЕ ВЫВОДЫ В гл. 2 рассмотрена задача компоновки ММ КС ЭВА. Сформулирована ее постановка как разбиение графа и гиперграфа на части. Даны классификации и краткая характеристика методов компоновки. Описаны конкретные алгоритмы покрытия, типиза-
ции, компоновки на основе последовательных итерационных точных процедур. Рассмотрены вопросы компоновки с учетом диагностических свойств блоков ЭВА. В настоящее время промышленные САПР и отдельные пакеты прикладных программ не содержат процедуры компоновки из-за необходимости обработки и хранения больших массивов информа- ции. В этой связи перспективной является разработка последова- тельно-параллельных алгоритмов компоновки, а также попытка аппаратурной реализации этого трудоемкого этапа. Основная цель раздела—познакомить студентов с постановкой задачи и конкретными теоретическими и промышленными алго- ритмами компоновки, научить строить любые математические модели компоновки и побудить их к разработке новых методов, адаптируемых к объекту проектирования. Задача компоновки сводится к разбиению графов и гиперграфов на части с оптимизацией заданных критериев. УПРАЖНЕНИЯ, ЗАДАЧИ, ВОПРОСЫ ДЛЯ ПОВТОРЕНИЯ 1. Сформулируйте постановку задачи компоновки типовых элементов конструкций. 2. Дайте характеристику характерным классам ЭВА при компоновке КС. 3. Каким образом задача компоновки связана с задачами многокритериальной оптимизации? 4. Приведите критерии компоновки КС ЭВА и дайте их краткие характеристики. 5. Сформулируйте задачу компоновки КС ЭВА как разбиение графа на части. 6. Приведите классификацию алгоритмов компоновки. 7. Сформулируйте задачу покрытия и приведите основные алгоритмы ее решения. 8. Постройте модель задачи типизации, приведите пример. 9. Опишите методику компоновки КС на основе последовательных алгоритмов. 10. Приведите пример разбиения фрагмента КС (см. рис. 2.13) на три части по пять элементов в каждой с минимизацией суммарного количества внешних связей последовательным алгоритмом. 11. Опишите методику компоновки КС ЭВА на основе итерационных алгоритмов. 12. Приведите методику определения чисел связности графа и связанную с ними теорему о перестановках вершин в графе КС. 13. Для фрагмента КС (см. рис. 2.13) приведите пример разбиения его графа на четыре части по 6, 4 и 5 вершин в каждой с минимизацией суммарного числа внешних связей на основе итерационного алгоритма. 14. Постройте структурную схему алгоритма разбиения ММ КС на части с минимизацией суммарного числа внешних связей на основе, метода ветвей и границ.
15. Постройте ЛСА разбиения гиперграфа КС на части с минимизацией суммарного числа связей на основе поиска в глубину. 16. Запишите структурную схему алгоритма типизации КС на основе поиска в ширину. 17. Опишите идею параллельно-последовательного алгоритма компоновки КС. 18. Постройте ЛСА компоновки КС, основанного на процедуре выбора максималь- но связанных частей групп элементов. 19. Каким образом можно оценивать временную сложность алгоритмов ком- поновки? 20. Опишите проблемы диагностики, возникающие при компоновке КС ЭВА. 21. Каким образом определяется цена элементарной проверки в ММ КС при компоновке с учетом вопросов диагностики блоков ЭВА? 22. Постройте алгоритм Ван-Хао разбиения КС ЭВА на блоки на основе сбалансирования®общей суммы ЦЭП для каждого блока. 23. Опишите алгоритм распределения ЦЭП от данного компонента до внешних выходов ЭВА. 24. Каким образом производится выбор дополнительных контрольных точек при компоновке КС? 25. Постройте архитектуру современной подсистемы компоновки. 26. Каковы перспективы разработки новых алгоритмов компоновки? Глава 3. АЛГОРИТМЫ И МОДЕЛИ РАЗМЕЩЕНИЯ МОДУЛЕЙ ЭВА В МОНТАЖНОМ ПРОСТРАНСТВЕ 3.1. ПОСТАНОВКА ЗАДАЧИ. КЛАССИФИКАЦИЯ МЕТОДОВ РАЗМЕЩЕНИЯ ЭЛЕМЕНТОВ КОНСТРУКТИВНЫХ УЗЛОВ ЭВА Размещение; монтажное пространство; элемент; прямоугольная конструкция; суммарное число пересечений; печатная плата; методы последовательные, итера- ционные, декомпозиционные, поисковые и размещения, реализующие математические или физические аналоги: центр тяжести: релаксация Высокая плотность размещения элементов ЭВА создает большие трудности при реализации соединений между ними. В этой связи задача раз мещения элементов на плоскости определяет быстроту и качество трассировки. Оптимальное размещение элементов обеспечивает повышение надежности ЭВА, уменьшение размеров конструктивных единиц, минимизацию
взаимных наводок, задержек сигналов, уменьшение общей длины соединений и т. п. Формально задача размещения заключается в определении оптимального варианта расположения элементов на плоскости в соответствии с введенным критерием, папример с минимальной взвешенной длиной соединений. В общем виде задача размещения может быть сформулирована следующим образом: в монтажном пространстве задана область, которая разбивается на множество позиций (посадочных мест) Р21 —> Pq}-> число которых должно быть не меньше числа размещаемых элементов. Очевидно, что каждый элемент может занимать не более одного посадочного места, расстояние между которыми описывается симметричной матрицей расстояний Имеющееся множество элементов Х=={хг, х2, хп}, связанных между собой множеством электрических цепей Е={е1, е2, ет}, необходимо таким образом отобразить на множестве Р, чтобы обеспечивался экстремум целевой функции качества размещения. Исходными данными при решении задачи размещения являют- ся прямоугольная конструкция (ячейка, кристалл, панель), число элементов, которое получено в результате компоновки, т. е. разбиения графа схемы на части, и граф схемы соединений элементов или его матричный (списковый) эквивалент. На прямоугольную конструкцию накладывается декартова система координат с осями swt, определяющая граф Gr, представляющий собой координатную решетку. Расстояние б/г • между узлами i и j этого графа описывается выражением (1.4). Задача размещения сводится теперь к отображению заданного графа схемы G = (X, U) в решетку Gr таким образом, чтобы вершины множества X размещались в узлах решетки и, например, суммарная длина (31) или суммарное число пересечений Р^=2 L рЫ (3.2) “.6и были наименьшими для возможных способов отождествления вершин графа и узлов решетки. В выражениях (3.1) и (3.2) q —вес ребра ut j (число кратных ребер между вершинами х;, Xj), p(ujчисло пересечений ребра щ Использование САПР и их подсистем (подсистемы размещения в частности) в процессе проектирования конструктивных узлов ЭВА повышает эффективность проектирования.
Классификация ЭВА осуществляется по таким признакам, как, например, назначение, принцип работы, условия эксплуатации, масштаб выпуска, применение и т. д. Однако с точки зрения задачи размещения приведенные признаки классификации слабо приемле- мы, и в этой связи используется классификация ЭВА, позволяющая определить множество решаемых задач. Как отмечалось выше, ЭВА всегда имеет иерархию конструктивных узлов: конструктивно неделимый узел (электрорадиоэлемент, интегральная микросхема); типовой элемент замены (ТЭЗ); панель-блок; рама; шкаф; стойка. Если множество всех объектов проектирования У={>\), z = l, п, разбито на N подмножеств: N N П у. = 0, (J^;=y, i=l* i=l причем элементы каждого подмножества Yt образуют классы аппаратуры данного (z-ro) уровня ЭВА, то множество решаемых задач определяется как и к е=Х с3-3) z=ij=i где ytj-—j-й класс аппаратуры z-ro иерархического уровня. В настоящее время основными объектами проектирования на этапе конструкторского проектирования ЭВА являются печатные платы (двух- и многослойные), реализуемые в виде ТЭЗ и ИМС. Выделены следующие классы ИМС: на основе типовых функциональных ячеек и блоков; на основе базового кристалла (матричные ИМС); МДП, проектируемые на компонентном уровне; гибридно-пленочные и биполярные с одним слоем коммутации. Типовые элементы замены реализуются, как правило, на платах с печатным монтажом. Различают одно-, двух- и многослойные печатные платы (со сквозной металлизацией переходных отверстий либо открытыми контактными площадками). Рассмотрим основные характеристики указанных выше объек- тов проектирования. 1. Принцип построения ЭВА (аналоговая, цифровая и аналого- цифровая). Выделение этого признака обусловлено различием требований к проектируемому объекту (т. е. различием критериев оптимизации для задачи размещения) и возможных конструк- торско-технологических ограничений. Так, при проектировании цифровой аппаратуры необходимо обеспечение максимального быстродействия; для аналоговой аппаратуры важно обеспечение заданного теплового режима и т. п. Кроме того, принцип построе- ния ЭВА определяет, как правило, такую характеристику, как регулярность геометрии элементов объекта проектирования и тех- нологию изготовления.
2. Регулярность структуры объекта проектирования. Регуляр- ность структуры объекта определяется геометрией на элементном уровне данного объекта. Так, проектирование топологии ИМС различает два' подхода: на базе типовых ячеек и на компонентном уровне. В первом случае обеспечивается регулярность топологии объекта, во втором же, как правило, структура объекта нерегуляр- на. Для линейных ИМС, реализуемых на основе гибридно-пленоч- ной технологии, структура объекта обладает сильным разнообра- зием, причем задача осложняется наличием всего одного слоя коммутации. При проектировании печатных плат регулярность структуры объекта может характеризоваться тремя уровнями: структура регулярна; структура слабо нерегулярна (элементы кратны по одному из размеров, либо число разногабаритных элементов не превышает 10 — 20% от общего числа элементов); структура существенно нерегулярна. Геометрия разногабаритных элементов, как показывает анализ компонентной базы объектов проектирования, может быть отнесе- на к одной из трех групп (прямоугольники кратных размеров, прямоугольники произвольных размеров, многоугольники произ- вольных размеров). Цифровая аппаратура, реализуемая на печат- ных платах, имеет, как правило, регулярную структуру. Отметим, что проектирование объектов на компонентном уровне, характери- зующееся сильной нерегулярностью структуры, обеспечивает наи- высшую плотность монтажа и лучшие схемотехнические характе- ристики объекта; однако возможности автоматизации процесса решения задачи размещения затруднены. 3. Сложность объекта. Под сложностью объекта проектирова- ния уровня i будем понимать число компонентов уровня (z — 1), его образующих. Можно выделить следующие объекты: а) очень высокой сложности (число компонентов более 106); б) высокой сложности (число компонентов от 103 до 10б); в) средней сложности (число компонентов от 102 до 103); г) малой сложности (число компонентов менее 102). Сложность объекта проектирования в значительной степени влияет на процесс решения задачи размещения. Уже для ИМС третьей степени интеграции (число компонентов до 104) в состав методов размещения необходимо включать декомпозиционные процедуры. Проектируемые в настоящее время объекты с печат- ным монтажем относятся к объектам малой и средней сложности. 4. Технологичность объекта проектирования. Данная характе- ристика объекта проектирования отражает способ формирования коммутирующего слоя. Технологичность объекта как типовая характеристика определяет параметры оптимизации варианта размещения. Как известно, основной задачей в САПР ЭВА на этапе конструкторского проектирования является объединение конструктивных узлов предшествующего уровня. В качестве
Рис. 3.1. Классификация ЭВА для задачи размещения 0> базового функционального узла для подсистемы размещения выбирают в основном ИМС на основе базового кристалла и объекты с печатным монтажем (двухслойные печатные платы). Аналогичными характеристиками обладают (относительно степе- ни регулярности структуры объекта) ИМС ячеечного типа и МДП ИМС. В соответствии с изложенными выше принципами классификация объектов проектирования иллюстрируется рис. 3.1. Отметим, что при разработке методов размещения необходи- мо ориентироваться на нерегулярную структуру, так как к этому случаю возможно сведение других вариантов структуры ОП. С другой стороны, с целью упрощения затрат на разработку и функционирование систем и подсистем САПР ОП необходимо обратить внимание на разработку систем автоматизированного проектирования унифицированных (с регулярной или слабо нерегу- лярной структурой) объектов. Классификацию алгоритмов размещения конструктивных эле- ментов можно проводить исходя из различных признаков: 1. По постановке задачи. Рассматриваемая задача может быть сформулирована как задача линейного, нелинейного, динамическо- го, стохастического программирования или как задача условной минимизации. 2. По структуре построения алгоритма. Такой подход позволя- ет выполнять синтез конкретного варианта алгоритма и осуществ- лять его структурный анализ (пользуясь типовыми признаками). 3. По принципу решения задачи размещения. Третий признак позволяет выделить две основные группы методов решения задачи размещения:
непрерывно-дискретные; дискретные. При использовании непрерывно-дискретных методов оптими- зации задача' размещения решается в два этапа: на первом определяют координаты местоположения центров элементов, при которых целевая функция имеет экстремальное значение; на втором полученные координаты «округляются» до фиксированных целочисленных значений координатнойсетки, нанесенной на поверхность коммутационного поля (КП). В дискретных методах оптимизации модель КП представляют в виде множества фикси- рованных координат позиций. Задача размещения сводится к срав- нению различных вариантов закрепления элементов в этих позициях и выбору того из них, который обеспечивает экстремаль- ное значение целевой функции. Классификация алгоритмов разме- щения показана на рис. 3.2. Обилие методов решения задачи размещения элементов объяс- няется желанием их разработчиков создать наиболее благоприят- ные условия для выполнения следующих этапов автоматизирован- ного проектирования, и в частности этапа трассировки. Проведем анализ классификации алгоритмов размещения. Одним из основных параметров, характеризующих процесс реше- ния задачи размещения, является метод решения. Существующие методы решения задачи размещения могут быть классифицирова- ны по следующим признакам: по принципу реализации—конструктивные, т. е. создающие размещение, и итерационные, т. е. улучшающие качество получен- ного ранее размещения; по структуре построения метода размещения—на основе суммы конструктивно-математических признаков метода (назначе- ние метода, порядок ввода компонентов в процесс решения, сущность метода математической оптимизации целевой функции и др.); по постановке задачи (она может быть сформулирована как, например, задача линейного или квадратичного назначения, как задача коммивояжера и т. п). Общим недостатком существующих классификаций ме- тодов размещения (см. рис. 3.2) является их слабая инфор- мативность относительно возникающих практических задач — ни одна из классификаций не учитывает таких характеристик, как сложность объекта проектирования, структура объекта. С этой точки зрения необходима классификация, позволяющая рассматривать методы размещения не только с позиции принципа реализации, но и разрешающая проблему структу- рного синтеза способа! размещения на основе типовых при- знаков ОП. В качестве типовых характеристик объекта выбира- ются структура ОП и его сложность. Рассмотрим классифи- кации ОП.
Рис. 3.2. Классификация алгоритмов размещения
Структура объекта-. а) регулярной структуры; б) нерегулярной структуры (элементы имеют форму прямо- угольников кратных размеров либо число разногабаритных элементов не превышает 10% от общего числа элементов); в) существенно нерегулярной структуры (элементы имеют форму прямоугольников произвольных размеров либо много- угольников произвольной формы). Сложность объекта-. а) объекты высокой сложности (число элементов более 103); б) объекты средней сложности (число элементов до 103); в) малой сложности (число элементов менее 102). На основе данной характеристики объекта выделяются следу' ющие классы методов размещения: конструктивные (последовательные); итерационные; реализующие математические или физические аналоги задачи размещения; декомпозиционные; поисковые. Рассмотрим указанные методы размещения. Различают конст- руктивные методы с первоначальным размещением (КМПР) и без него. Конструктивные методы с первоначальным размещением заключаются в следующем. Первоначально задается или выбира- ется по определенным правилам подмножество (так называемое ядро) размещенных элементов. Далее анализируется подмножест- во неразмещенных элементов. Из этого подмножества выбирается один элемент, соответствующий наилучшему размещению (по заданному критерию). Затем процесс повторяется итерационно до полного размещения всех элементов. После размещения элементов на посадочные места они более не перемещаются. В конструктивных методах без первоначального размещения ядро выбирается на основе различных эвристических приемов. Конструктивные методы очень просты, требуют небольших затрат машинного времени, находят широкое практическое применение. При большом числе элементов ВСА имеет вид б* (и)...О(п2). Итерационные алгоритмы размещения производят обработку ММ схемы, размещенной на плоскости в итеративном (итерацион- ном) режиме. Суть таких алгоритмов в следующем. Выбирается некоторое подмножество элементов, которые необходимо перемес- тить для оптимизации выбранного критерия. Для этого подмно- жества определяются соответствующие кандидаты для переразме- щения. Процесс перестановок проводится итеративно, пока происходит оптимизация критерия размещения. В отличие от конструктивных алгоритмов итерационные более точные, всегда
обеспечивают получение локального минимума, но менее бы- стродействующие. В итерационных алгоритмах ВСА лежит в пределах О(п2)...О(п3). Классическим методом размещения, реализующим физические аналоги задачи размещения, является метод релаксации (или силового размещения). Представителем методов размещения, реализующих математи- ческие аналоги задачи размещения, является стратегия метода ветвей и границ, описанная в гл. 1. Суть методов релаксации заключается в следующем. Размещаемые элементы считаются как бы соединенными между собой связями, подобными пру- жинам, которые притягивают элементы друг к другу. На основе закона Гука определяют взаимную силу притяжения каждой пары элементов' xt и Xj, Fij=kdij, здесь к—коэффициент упругости, задаваемый весами ребер’ сг 7- ММ КС, задаваемой графом; di j — вектор расстояний между элементами х;, Xj. Известно, что общая сила притяжения, действующая на каждый элемент КС, будет равна сумме сил, которые действуют со стороны всех, пар элементов (х;, Xjjj^i, j=l, 2, ..., и —1). Тогда на каждый элемент х, будет действовать суммарный вектор силы F^Xc^d^. (3.4) J При разрешенном свободном перемещении всех элементов в выбранной модели оптимальное состояние всех элементов будет тогда, когда модель будет иметь минимальное напряжение. В случае разрешенного движения только одного элемента КС х( устойчивое размещение возникнет при попадании х; в целевую точку ц(х;), где сумма воздействующих на него сил равна нулю. Расстояние до ц(х;) определяют по формуле - 0.5) j а координаты целевой точки в декартовой системе sot Известно, что точка ($;, представляет собой центр тяжести масс х;, если элемент х; КС рассматривать как массу, вес которой равен весу ребра, соединяющего элементы х; и х? Методы релаксации позволяют изменять размещение за счет последовательного изменения напряжения на отдельных элемен- тах. Основной недостаток — поиск новой точки ц(х;), если это
место занято другим элементом, который по тем или иным причинам не может быть перемещен. Для таких методов ВСА колеблется в пределах О (и 2)... О [п 4). Декомпозиционные методы заключаются в последовательном, параллельном, параллельно-последовательном (последовательно- параллельном) разбиении математической модели КС и модели монтажного пространства. Поисковые методы размещения для получения эффективного решения используют иерархические приемы с разбиением исход- ной задачи на ряд подзадач и решения каждой из них перебором на дереве решений. Выделение этой группы методов размещения обусловлено тем, что задача оптимального размещения часто сводится к перебору вариантов, часто близкому к полному, что для электронных узлов ЭВА высокой степени интеграции неприем- лемо. Поисковые методы позволяют заменить полный перебор вариантов перебором с отсечениями неэффективных решений, обеспечивая при этом высокую точность решения. 4. По принципу структурной общности в пределах каждой группы выделяются подгруппы. Наиболее применимы следующие четырнадцать подгрупп методов: 1) размещения по связности; 2) связывания пар; 3) расширения ядра; 4) матричный; 5) обратного размещения; 6) парного обмена; 7) группового обмена; 8) иерархический; 9) разбиения; 10) параллельно-последовательный; 11) силонаправленной релаксации; 12) последовательного сдвига; 13) случайного поиска; 14) направленного поиска. Приведем краткую характеристику методов. Методы размеще- ния по связности относятся к последовательным методам. Здесь вводится r-шаговый процесс принятия решений. При этом на каждом шаге выбйрается один из неразмещенных элементов и помещается в одну из свободных позиций. Последующий выбор элементов основан на анализе связности оставшихся с размещенными. Структура дальнейшей стратегии основана на заданных правилах выбора очередного элемента (например, максимальным образом связанного с размещенными) и позиции для его установки. Временная сложность алгоритмов равна О(а„). Методы связывания пар относятся к группе последовательных алгоритмов. Процесс начинается с выбора в качестве начальной пары элементов, которые имеют, например, наибольшую сумму
общих связей (ребер ММ, цепей КС). Далее происходит последо- вательное подсоединение элементов с выполнением первоначально введенного правила до полного размещения всех элементов. Временная сложность алгоритма равна О(а„). Методы расширения ядра относятся к последовательным алгоритмам. Здесь для каждого неразмещенного элемента опреде- ляется среднее суммарное число ожидаемых связей с размещенны- ми элементами на основе анализа покрывающих деревьев. Для размещения выбирается элемент с наибольшим значением и рас- полагается во взвешенном центре тяжести групп уже размещенных элементов. Далее процесс продолжается итеративно. Временная сложность алгоритма равна О(аи). Матричные методы размещения относятся к конструктивным алгоритмам. Выбор элемента и позиции для него на r-м шаге выполняется по специальной матрице размещения В=||6г>||, каждый элемент которой btj соответствует «цене назначения» элемента х{ в позицию Pj при условии, что г—1 элементов уже размещены. Структура алгоритма основана на различных спосо- бах определения «цен назначений» и методиках выбора. Временная сложность алгоритма равна О(а„) — О(а^). Методы обратного размещения относятся к последовательным алгоритмам. Осуществляют предварительную оценку каждого из размещаемых элементов х2, х„ и каждой свободной позиции pY, р2, , рп- Далее производится упорядочивание элементов по возрастанию или убыванию введенных харак- теристик, и затем все элементы размещаются одновременно. Временная сложность алгоритма равна О(а„). Для размещения методом разбиения используются как после- довательные, так и итерационные алгоритмы (см. гл. 2). Напри- мер, можно применять итерационные алгоритмы разбиения КС на линейки с размещением их на монтажной плоскости с ми- нимизацией суммарного числа связей между линейками. Причем для улучшения качества алгоритма размещения разбиение можно выполнять на горизонтальные и вертикальные линейки и в общем случае на области произвольной конфигурации. Временная слож- ность алгоритма равна <?(«„)• Методы парных перестановок относятся к классу итерационных алгоритмов и являются простейшими в этом классе. Исходные данные—это начальное размещение или результат предыдущей итерации. Первоначально выбираются два элемента и производится пробный обмен их местами. Если при этом происходит оптимизация критерия (например, уменьшение суммарной длины соединений), то производится обмен. Далее выбирается новая пара элементов, и процесс продолжается, пока не будет применено введенное правило остановки. Временная сложность алгоритма равна О(а„)- Методы групповых перестановок относятся к итерационным алгоритмам. Одним из них является метод Штейнберга. В нем
выбираются подмножества максимально несвязанных элементов. В течение каждой итерации производятся пробные перестановки. Если, например, суммарная длина не уменьшается, то процесс заканчивается/ Временная сложность алгоритма равна О(а„) — Методы релаксации могут использовать как последовательные, так и итерационные алгоритмы. Отметим, что на практике чаше применяют итерационные методы релаксации. Методы случайного поиска основаны на использовании метода Монте-Карло (статистических испытаний) и относятся к итераци- онным алгоритмам. На основе датчика случайных чисел выполня- ют генерацию случайных расположений элементов в позиции плоскости с запоминанием лучшего результата (в смысле заданно- го критерия оптимизации). Процесс продолжается, пока не будет пересмотрено заданное число вариантов. Наилучший результат считают результатом решения задачи. Идея методов направленного поиска описана выше. Методы последовательного сдвига относятся к классу итераци- онных алгоритмов, только оптимальное положение элемента определяют не перебором приращения целевой функции, а ана- литически. Например, выполняется последовательный сдвиг каж- дого из элементов в положение, где сила, действующая на него со стороны других элементов, минимальна. Временная сложность алгоритма составляет О(а’). Иерархические методы являются комбинацией поисковых ме- тодов и методов разбиения. Временная сложность алгоритма равна О(а„)...О(а^). Параллельно-последовательные методы заключаются в парал- лельном разбиении КС на линейки с последовательным оптимиза- ционным процессом размещения элементов внутри линеек. Вре- менная сложности алгоритма равна ... О(а’). В пределах подгруппы каждый метод может иметь одну или несколько модификаций (способов), его реализующих. 3.2. МОДЕЛЬ ЗАДАЧИ РАЗМЕЩЕНИЯ. ВЫБОР ЦЕЛЕВОЙ ФУНКЦИИ Целевая функция; метрические, топологические, надежностные критерии качества; канал; трасса; дерево целей; оценка минимальной длины ребер графа Принцип принятия решения в задаче размещения элементов можно охарактеризовать следующими параметрами (рис. 3.3): модель представления входной информации; математическая мо- дель коммутационной схемы объекта проектирования; критерий или показатель качества решения; алгоритм вычислений.
Рис. 3.3. Параметры, определяющие принятие решения в задаче размещения элементов Пусть монтажное поле представляет собой прямоугольную область Z, разбитую на прямоугольные части Назовем каждую из таких частей зоной размещения группы (блока) элементов. Разбиение осуществляется исходя из геометрии элемен- тов, образующих блоки, размеров зон размещения и монтажно- коммутационного поля и предполагает выполнение следующих условий: Z«->z = <zz, Z={z;}, z = TT7; Vzi£Z(Az; = 0, U^=Z); i i Z^z—^sf, tf, /₽>, (3.7) где sf, tf—координаты левого нижнего угла зоны размещения; ,\'Р, tf — координаты правого верхнего угла зоны размещения; а, b—размеры области размещения. Тогда область размещения Z можно представить следующим образом: Z={z15 z2, ..., z„}, й=1, р. Пусть задано множество элементов Х={х1, х2, ..., хп}, подлежа- щих размещению и связанных между собой электрическими цепями из множества Е={ех, е2, ..., <?,„}. Каждый элемент характеризуется (при условии аппроксимации его прямоугольни- ком) размерами сторон Ао; и Ай;. Тогда задачу размещения
можно сформулировать следующим образом. Требуется распреде- лить элементы из множества X по зонам размещения так, чтобы У={х;}, /=1,д; \/х;еУ^Пх;-0, U-K; = ^ x^Zi, |х7|=^; р Е |sf —.vf|max [AZ>f]< 1I/ —FjI; (3.8) i = l Xi€xi x.eX. n S=ab; s-ka^bi £ sb i~ 1 где S, Sj—площади области размещения х,-го элемента соответст- венно. Затем нужно определить координаты положения каждого элемента внутри зоны размещения при выполнении следующих условий: т П *.=0; i~ 1 F*=>opt [Ft л F2], (3.9) где F* —обобщенный показатель качества размещения; Ft —пока- затель качества размещения по метрическим (электрическим) характеристикам; F2 - показатель качества размещения по топо- логическим характеристикам. Предложенная постановка задачи приемлема как в поле фиксированных, так и нефиксированных позиций. Так, при размещении одногабаритных элементов размер зоны размещения задается равным (или в соответствии) размерам элементов, а число зон размещения зависит от числа элементов и размеров области размещения. Такая постановка задачи размещения отра- жает идеологию блочно-иерархического подхода к решению задачи размещения, не исключая при этом возможности использо- вания других методов и подходов. Что касается показателя качества размещения, то необходимо отметить, с одной стороны, важность как метрических, так и топологических характеристик размещения и, с другой стороны, отсутствие адекватных критериев выбора положения элемента. Подробнее вопрос разработки критерия размещения будет рас- смотрен ниже. Здесь же отметим, что в качестве метрической характеристики может быть выбрана суммарная длина связей между размещенными элементами, т. е. K^lli, - (3.10) i = 1 где —относительная длина /-Й связи, определяемая одним из способов через координаты связываемых ею элементов.
Критерии качества размещения Рис. 3.4. Классификация критериев качества размещения Отметим, что если размещение в предложенной постановке ориентировано на” канальную трассировку, то важной становится характеристика распределения трасс по каналам. Тогда необходи- мо выбирать критерий, максимизирующий пропускную способ- ность канала: п т K2-max, (3.11) i=l J = 1 где IVtj и Rt j —пропускная способность и число пересечений трассами j-ro сечения г-го канала соответственно. Необходимо отметить, что при определении топологических характеристик большую роль играет выбор используемой при решении задачи размещения математической модели КС объекта проектирования (см гл. 1). Классификация критериев качества по характеру оптимизируемых показателей и процессу оптимизации показана на рис. 3.4. Частные критерии качества подразделяются на метрические, топологические и надежностные. Первые оптимизируют, как правило, длину проводников, вторые—взаимное расположение элементов соединений, третьи —надежностные характеристики (тепловую и электромагнитную совместимость и т. и.). К метри- ческим критериям относят суммарную длину связей, число соединений, длина которых больше заданной, и т. п. Топо- логические критерии становятся первостепенными при проек- тировании однослойных печатных плат, некоторых ИМС и служат для оптимизации таких параметров, как число пересечений трасс, конфигурация трасс, число соединений между модулями в сосед- них позициях и т. п. При размещении нерегулярных структур
основным критерием является максимальное заполнение монтаж- ного поля элементами (плотность упаковки) при ограничении на их взаимное расположение. Этот критерий важен при проек- тировании БИС и СБИС. Задача размещения относится к задачам многоцелевой оптимизации, и важной проблемой является уста- новление единого критерия качества, обеспечивающего оптималь- ность конструкции по многим параметрам. Известны следующие методы многоцелевой оптимизации. 1. Использование единого функционала. Различают аддитивный и мультипликативный единые функционалы, определяемые по формулам КА= 1 k^-К; КМ=ПС, (3.12) i=l i где —значение частного z-ro критерия оптимизации (ин- декс «(н)»— нормированный); \—коэффициент, значимости (при- оритета) z-ro частного критерия. При размещении схем критерии некоторым образом противоречивы и оптимизация по одному из них может привести к ухудшению другого критерия. Для совместного учета приведенных критериев рассмотрим обобща- ющий критерий размещения элементов схем: 6(G)=[L(G), P(G), 3(G)], (3.13) где L(G), P(G), 3(G) - управляемые переменные, зависящие от числа элементов, связей, расположения элементов относительно друг друга на плоскости и т. д. Это выражение приводит к задаче оптимизации, решение которой, не являясь оптимальным для £(G), P(G) или 3(G), оказывается приемлемым для 6(G) в целом. Оптимальность 6(g) говорит, например, о том, что дальнейшее уменьшение LjG) невозможно без увеличения P(G) или 3(G) и наоборот. Так как построение алгоритмов по обобщенной оценке затруднительно, объединим заданные критерии в один, т. е. построим аддитивную функцию Q (S) = X, L (S)+к2Р (S)+Х3 3 (5). (3.14) Величина X,-, ze/={l, 2, ..., /}, характеризует важность одного критерия по сравнению с другими. Данный подход осложняется тем, что весовые коэффициенты обычно выбираются на основании опыта конструкторов и технологов. 2. Выбор основного показателя, основанный на принципе последовательной субоптимизации результатов на каждом из этапов поиска решения. При использовании этого метода необхо- димо определять важность показателей качества. 3. Параллельная оптимизация по нескольким показателям. Сущность метода состоит в оценке различных вариантов размеще- ния одновременно по всем оптимизируемым параметрам.
Рис. 3.5. Фрагмент монтажного Рис. 3.6. Дерево целей для прогнозирова- поля с указанием зон размещения кия качества трассировки элементов и сечений, каналов Перечисленные методы сводят многокритериальную задачу к однокритериальной, вычислительные методы решения которой хорошо развиты. Задача размещения может быть отнесена к классу задач, где многокритериальность обусловлена множеством оптимизируемых показателей качества, имеющих различные физическую природу и размерность. В группе метрических критериев можно выделить критерий суммарной длины связей; это критерий, как показано в [3, 4, 6], интегрально учитывает (с определенной степенью) остальные метрические критерии. Рассмотрим более подробно топологические критерии, спо- собствующие выполнению трассировки на полученном варианте размещения элементов. Основным фактором, определяющим качество трассировки для ОП с числом слоев больше 2, где могут быть реализованы трассы, является степень (коэффициент) загруженности областей монтажного поля, отведенных под проведение трасс. В случае регуляризованной структуры размещения элементов эти области носят название каналов. Необходимо отметить, что без проведения непосредственно трассировки оценка загруженности каналов затруднена и следуег использовать вероятностный подход при вычислении указанных оценок. Ниже предлагается показатель качества размещения, основанный на оценке равномерности загруженности как отдельного канала, так и их совокупности. Рассмотрение будем вести при следующих допущениях и предположениях. 1. Оценка производится по числу трасс, пересекающих каждое сечение каждого канала.
2. Сечения представляют собой отрезки, образованные при пересечении каналов (вертикальных и горизонтальных). 3. Трасса может быть реализована в площади прямоугольника, построенного на концах этой цепи. 4. Трасса может пересекать любое сечение в пределах описан- ного прямоугольника не более одного раза. Рассмотрим теперь модель монтажного поля с заданным вариантом размещения (рис. 3.5). Здесь заштрихованы зоны размещения элементов; штриховыми линиями показаны сечения вертикальных каналов. Не теряя общности рассуждений, рассмот- рим способ оценки загруженности вертикальных каналов (он автоматически распространим и на горизонтальные каналы). Дл я фрагмента монтажного поля (см. рис. 3.5) введем следу- ющие обозначения: а -технологические параметры: ds — ширина токопроводящей дорожки; —минимально допустимое расстояние между двумя сосед- ними трассами; А, В—длина и ширина области размещения монтажного поля; АА, Л.В - ширина граничной зоны по краям монтажного поля, б—конструкторские параметры: q —число сформированных вертикальных рядов элементов; ah bt -длина и ширина элементов х,- по установочным размерам. Положение элемента xf на монтажном поле задается пятиэле- ментным кортежем Vrjey(x;eI-')<^(p = (.siA, Ьл, s?, где sf, t?, sf, t*— абсциссы и ординаты правого верхнего и левого нижнего контактов соответственно; а,-—указатель ори- ентации элемента et. Тогда число вертикальных каналов K* = [q— 1). Если граничная зона используется как канал, то ^в=(9+1). (3-15) При этом условии ширина канала (вертикального) ( £ 4 + Д£| (3-16) Считая каналы одинаковыми по ширине, определяем началь- ную пропускную способность канала: ИЛ°==дТГ+1- " (3-17) Величина 14-'о показывает максимальное реализуемое (конструктив- но) число трасс, которые могут пересечь любое сечение каждого
канала. Если через сечение / канала i проведено к трасс, то его текущая пропускная способность Wj^k^. Под остаточной пропускной способностью канала W°j в сечении будем понимать величину (3.18) где —число трасс, пересекающих j-e сечение z-ro канала; Pi,j— вероятность распределения трасс в j-e сечение z-ro капала: рЬ=-А-, (319> \ gLQi.i i. j где g—число слоев, в которых могут быть проведены соединения; £q‘,j—число сечений каналов, попадающих в площадь зоны реализации цепи /; qlitj—сечения, пересекаемые трассой /; P‘,j вероятность пересечения трассой / j-ro сечения z-ro канала; pti, j ~ суммарная плотность вероятности прохождения трасс через j-e сечение z’-го канала. В последнее время начато использование вероятностных и прогнозирующих методов оценки качества размещения, позво- ляющих априори оценить качество последующего этапа—трасси- ровки межсоединений, т. е. определить процент автоматически неразводимых соединений, что является основным (а иногда и единственным) показателем работы всей САПР. В некоторых случаях вероятность получения «хорошей» трассировки связывают с оценкой плотности равномерности распределения цепей на монтажно-коммутационном поле. Недостатком данного подхода является учет всего одного показателя качества, на основе которого осуществляется прогнозирование. Для прогнозирования сложных ситуаций используют метод, основанный па декомпозиции проблемы и оценке вероятности простых событий па уровне, позволяющем провести эту оценку. Рассмотрим применение указанного подхода к прогнозированию возможностей трассировки после получения некоторого варианта размещения. Очевидно, что прогнозируемое событие «хорошая» трассировка—зависит от наиболее полного выполнения некото- рой совокупности частных показателей качества размещения. Рассмотрим выполнение требований, поставленных некоторым z'-м частным критерием размещения. Если ATmax(A?min)—максималь- ное (минимальное) значение оптимальной оценки данного кри- терия, то под степенью приближения к оптимальной оценке будем понимать величину p или Р,-=^Ь, (3.20) **-r где Klr—реальная оценка по критерию, z для данного варианта размещения.
Степень приближения обобщающих групповых критериев — метрического (Км) и топологического (X,)-можно определить, используя мультипликативную свертку по степеням приближения частных критерйев. При этом считаем, что важность (приоритет) частных критериев в группе одинакова. Тогда хм=[р”; *T=IRL 0.21) i J Необходимо отметить, что условия, в' которых будет про- ходить трассировка, определяются в основном топологией полу- ченною варианта размещения, в то время как метрические характеристики влияют в большей степени на работоспособность схемы Тогда оценку возможностей трассировки для данною варианта размещения можно провести, используя величину О Хт+а^м, Oj2^a^o,5, (3.22) 1 +а где а—коэффициент значимости группы метрических критериев. Приведенные рассуждения могут быть проиллюстрированы деревом целей (рис. 3.6). Корень дерева («нулевой» уровень) соответствует окончательной оценке возможностей трассировки. Уровень I дерева соответствует выполнению обобщающих груп- повых метрического и топологического критериев, а уровень И показывает степень выполнения частных критериев оптимизации размещения. Дальнейшее построение дерева необходимо, если на уровне II невозможно получить оценку сгепсни приближения к оптимальной. Разбиение производится по соответствующей ветви дерева целей до уровня п, удобного для оценки. Очевидно, что чем ближе значение Огр к единице, тем лучшую трассировку можно получить. Достоинство предложенного метода прогнозиро- вания возможностей трассировки, основанного па использовании дерева целей, состоит в том, что его реализация позволяет оценить качество размещения, прогнозируя возможности трассировки без ее проведения, и учесть при этом большинство выдвигаемых при проектировании на этапе размещения требований. Известны методы определения оптимальных оценок по сле- дующим показателям качества размещения: а) метрическим (суммарная длина связей; длина самой длин- ной связи; площадь монтажного поля, необходимая для разме- щения элементов и др.); б) топологическим (число цепей простой конфигурации; число соединений между элементами, находящимися в соседних позициях; число пересечений соединений; число межслойных переходов и др.). Интерес представляют случаи, когда минимальная оценка по некоторому показателю качества стремится к нулю. Тогда в качестве минимальной оценки можно выбирать единицу измере- ния по данному показателю качества размещения.
При реализации основных алгоритмов в общем случае могут получаться локальные минимумы. Поэтому представляют интерес оценки суммарной длины и числа пересечений для ММ КС с данными числами вершин и ребер. Приведем оценку минимальной суммарной длины ребер графа. Пусть дан произвольный граф G = (X, U), причем IX[ = n, |(7| = га и задана решетка Gr с шагом, равным единице, число узлов которой больше или равно т. Тогда ребра графа G будут иметь вес 1, 2, ..., N (N—вес наиболее длинного ребра графа). Вес любого ребра однозначно определяется матрицей геометрии. Если Gr имеет размеры Ах В, то N=A + B—2. Введем понятие стандартного графа G& — (X&, 1/д) для графа G=(X, LJ), отображен- ного в решетку. Граф &д имеет |У| = |Хд| и | С7| = | <7Д|. Основная идея нахождения нижней оценки суммарной длины ребер произвольного графа заключается в следующем. Сначала подсчитываем число вершин и ребер графа G. Далее в решетке строится стандартный граф СД = (УД, С/д), имеющий такое же число вершин и ребер, как и граф G. Построение ведется последовательным наслоением в решетку сначала всех ребер графа Сд, вес которых равен единице. Если число единичных ребер графа (7Д равно или больше числа ребер графа G, то процесс построения заканчивается. В противном случае последовательно добавляем ребра с весом 2, 3 и т. д. до тех пор, пока общее число ребер графа Сд не станет равным числу ребер графа G. Подсчитав суммарную длину ребер G\, равную £(Сд) = С1+2С2 + ...лСп, (3.23) где С;- число ребер с весом г, получим оценку минимальной суммарной длины для графа G и для любых графов с таким же числом вершин и ребер, аналогичным образом отображенных в заданную решетку. Граф (7Д в общем случае не изоморфен графу G. Из приведенных рассуждений справедлива следующая теорема. Теорема 3.1. Минимальная суммарная длина всех произволь- ных графов с п вершинами и т ребрами не может быть меньше суммарной длины ребер соответствующего стандартного графа бд. Доказательство теоремы следует из построения стандартного графа. 3.3. РАЗМЕЩЕНИЕ ЭЛЕМЕНТОВ НА ОСНОВЕ ПОИСКА МЕДИАНЫ ГРАФА Разногабаритный элемент; площадь монтажного поля; линейка; бинарный поиск; медиана графа Как показал анализ применяемых в настоящее время в САПР методов размещения, перспективными направлениями повышения эффективности использования математического обеспечения при решении задачи размещения являются следующие.
1. Формирование структуры процесса размещения на основе блочно-иерархического подхода. 2. Использование для исследования математических моделей объектов проектирования поисковых методов отыскания решения по заданному критерию. 3. Универсализация применяемого алгоритма размещения. Это предполагает наличие развитого аппарата управления формированием алгоритма решения, а также разработку необхо- димого минимального набора модулей для формирования алго- ритмов, направленных на проектирование различных объектов. В соответствии с принятой идеологией блочно-иерархического подхода структура процесса решения задачи размещения будет иметь вид, показанный на рис. 3.7, и включает в себя следующие основные операции: формирование групп элементов (в дальнейшем будем называ . эти группы блоками); размещение блоков на монтажном поле; размещение элементов каждого блока. Очевидно, что на каждой из операций целесообразно (а иногда и необходимо) использование своего показателя качества решения. Кроме того, требования могут различаться в зависи- мости от конструктивно-технологических особенностей объекта проектирования. Рассмотрим подробно выполнение основных операций. 1. Формирование блоков на множестве одногабаритных эле- ментов. При решении задачи формирования блоков необходимо опре- делить состав блоков, схему соединений внутри блока и схему межблочных соединений. При этом задача формирования блоков сводится к задаче разбиения ММ КС. Отметим особенности процесса разбиения, возникающие при формировании блоков. Очевидно, что цель разбиения (формирование блоков) должна учитывать требования и условия выполнения последующих этапов проектирования—размещения элементов и трассировки соединений. Дня этого можно использовать алгоритмы, описанные в гл. 2. С точки зрения размещения необходимо элементы, имеющие связи с разъемами, располагать вблизи них; тогда на задачу разбиения графа, моделирующего схему, можно наложить огра- ничения. Множество элементов X', имеющих связи с разъемами, подлежит фиксированному разбиению (т. е. элементы этого множества образуют блок, расположенный в непосредственной близости от разъема и параллельно ему). Назовем элементы xteXr внешними. Тогда процесс разбиения на блоки будет основан на выделении ®и первоначальном закреплении внешних элементов в блоки. С точки зрения трассировки приведенный выше критерий минимума межблочных соединений не всегда эффективен
Рис. 3.7. Структу- рная схема процес- са решения задачи размещения элеме- нтов при использо- вании блочно-иера- рхического метода Рис. 3.8. Структурная схе- ма алгоритма формиро- вания блоков на множе- стве одногабаритных эле- ментов Рис. 3.9. Структурная схема алгоритма формирования блоков вследствие возможной перегрузки отдельных каналов. В этой связи интерес представляют критерии, выравнивающие мощности межблочных связей: и т X2 = min[ j i=lJ=1 ^3=max _i=l j=l \'Ail (3-24)
где |A"il—мощность z-ro блока; —число внутренних и внешних связей z-ro блока соответственно. Структурная схема процесса формирования блоков на множе- стве одногабсфитных элементов будет иметь вид, показанный на рис. 3.8. 2. Формирование блоков на множестве разногабаритных эле- ментов. При разбиении КС на блоки, компонентами которой являются разногабаритные элементы, возникает ряд ограничений на исполь- зование приведенной выше схемы формирования блоков, обуслов- ленных как самим фактором разброса геометрических размеров, так и количественной оценкой разброса. В том случае, когда элементы одинаковы (или близки по одному из размеров, например по ширине), задача формирования блоков сводится к: а) отысканию размеров блока; б) распределению элементов в блоки при соблюдении условия, что сумма размеров (т. е. длин) элементов в блоке не превысит длины блока. Ширину блока можно определить исходя из следующих соображений. Пусть монтажное поле имеет форму прямоуголь- ника с размерами Ах В, а множество элементов X={xi}, z=l, п bt)), где ал—одинаковый для всех элементов размер; аг = ну = н; bi—второй размер каждого z-ro элемента. Тогда площадь монтажного поля, занятую непосредственно блоками, можно определить как S^=AB-S^, (3.25) где Sg — площадь монтажного ноля, запятая блоками; 5Т — площадь монтажного поля, отводимого под каналы для трасси- ровки соединений и запретные технологические области. С другой стороны, площадь, занимаемая блоками, если р=£п, р SE = NaE( £ b^, i=l где аБха—ширина блока, одинаковая для всех блоков; bt -длина р z-го элемента; длина блока. Тогда ABST М X bt)N (3.26) где ag—коэффициент, и необходимо строгое выполнение условия где а—наибольший размер.
Невыполнение последнего условия требует расширения разме- ров монтажного поля либо перекомпоновки схемы узла, подле- жащего проектированию. Если же это условие выполняется, то процедура, применяемая в этом случае для формирования блоков, аналогична процедуре, используемой при формировании блоков на множестве одногабаритных элементов, т. е. т (fxleXl)[(b,+ £ />,<£)], j 1 где Ь-—размер ранее распределенного в блок Xj элемента Xj. Структурная схема процесса формирования блоков показана на рис. 3.9. Более сложные проблемы возникают при формировании блоков на множестве разногабаритных элементов кратных разме- ров. Задача при1* этом состоит в следующем. 1. Выделение минимального числа типоразмеров, такое, что: любой типоразмер обладает коэффициентом кратности по отношению к меньшему (основному) типоразмеру; выделенный набор типоразмеров позволяет «покрыть» любой из элементов схемы. 2. Определение ширины блока. Задача эта затруднена вследст- вие возможности получения блоков разной ширины. При при- нятии за ширину блока одного из размеров максимального типоразмера коэффициент использования площади монтажного поля резко падает, однако при ориентации на канальную структуру монтажного поля этот подход представляется един- ственно возможным. 3. Формирование блоков по типоразмерам. Выделение типо- размеров, набором которых покрывается заданная схема, является сложноразрешимой задачей, так как стандартизация корпусов микросхем определяет зависимость их размеров от числа выводов (по длине) и характеризуется сильным разбросом параметров по ширине. При этом под длиной корпуса понимается сторона корпуса, по которой расположены выводы элемента. Обычно выделяют четыре основных типоразмера для элементов: 1-й для 14- и 16-выводных интегральных схем и дискретных элементов (электрохимические конденсаторы, резисторы, транзисторы и т. д.); 2-й и 3-й—для интегральных схем, имеющих 24 вывода, дискретных элементов и их групп (эти типоразмеры по отношению к первому имеют коэффициент кратности 2 и отличаются ориен- тацией, т. е. расположением выводов); 4-й —для интегральных микросхем, имеющих 48 выводов, крупногабаритных дискретных элементов (этот типоразмер по отношению к первому имеет коэффициент кратности 4). На рис. 3.10 показаны типоразмеры разногабаритных элементов (РГЭ). В случае использования опи- санных типоразмеров ширина блока определяется по габаритам четвертого типоразмера, а монтажное поле формируется по габаритам первого типоразмера (рис. 3.11). На первом этапе
Рис. 3.10. Типоразмеры РГЭ, предста- вленные прямоугольниками кратных размеров Рис. 3.11. Формирование позиций для размещения РГЭ -» формирования блоков происходит выбор внешних элементов и расчет ширины блока. Затем осуществляется анализ свободной зоны блока в пределах используемого на данном шаге наиболь- шего типоразмера. Из множества элементов-кандидатов в данный блок выбирается элемент на основе критерия Кг или К2. Занятые позиции блока в дальнейшем рассмотрении не участвуют. Анализ показывает, что применение такого метода формирования блоков (рис. 3.12) коэффициент использования площади as^0,7. Отметим, что задача формирования блоков на множестве РГЭ кратных размеров в значительной степени определяется числом возможных типоразмеров элементов. Рассмотренные выше способы формирования блоков относятся к формированию горизонтальных блоков. Процедуру эту можно применить и для формирования вертикальных блоков на мно- жестве одногабаритных элементов; для разногабаритных элемен- тов эта процедура неприменима. Результатом работы на данном этапе являются состав и структура горизонтальных блоков, число связей внутри блока и между блоками. Исходной инфор- мацией для данного этапа являются матрица цепей, размер монтажного поля и элементов, список фиксированных в заданных блоках элементов. Временную сложность алгоритма формирования блоков оце- нивают величиной О(п)... 0(тп), где п — число элементов, из множества которых формируются блоки; т -число блоков. Исходной информацией при решении задачи размещения блоков на монтажном поле является (как указано выше) результат работы на этапе формирования блоков, а также характеристики связности элементов (т. е. матрица цепей). Рассматривая каждый блок как метрическую точку, модели- руемую вершиной мультиграфа СМ=(Х (7), где X—множество блоков; U—множество связей между блоками, и учитывая, что геометрические размеры блоков находятся в соответствии с раз- мерами монтажного поля, можно заметить, что задача раз- мещения блоков практически полностью совпадает с задачей
Рис. 3.12. Структурная схема алгори- тма формирования блоков для РГЭ, представленных прямоугольниками кратных размеров Рис. 3.13. Взвешенный граф схемы со- единений блоков Рис. 3.14. Формирование списка фик- сации блоков «список): —<С, D, F, Е, В, Л» размещения элементов в линейке позиций. Реализация задачи размещения элементов в линейке выглядит следующим образом. 1°. На основании структуры и состава блоков формируется матрица взвешенных покрывающих деревьев схемы (матрица связности, где цепи заменены покрывающими деревьями). 2°. Выбирается элемент, имеющий максимальное число связей, и устанавливается как начальный (или корневой) элемент. 3°. Выбирается элемент, имеющий максимальное число связей с выделенными элементами. Если таких элементов (кроме началь- ного) нет, элемент присоединяется к корневому справа (или слева). В случае, если присутствуют выделенные элементы, определяется число связей с элементами справа и слева от корневого. Элемент фиксируется с той стороны списка выделенных элементов (относительно корневого), где число связей наибольшее. 4°. Если все элементы фиксированы в списке выделенных, то переход к 5°, в противном случае—к 3°. 5°. Е1а основании списка фиксации элементов производится их последовательное, начиная с левого, закрепление в позициях линейки. 6°. Е1а основании распределения блоков на монтажном поле формируется матрица первоначального размещения.
Рис. 3.15. Размещение блоков на монтажном поле Структура процедуры формирования списка фиксации элемен- тов и размещения блоков графа (рис. 3.13) на монтажном поле согласно алгоритму показана на рис. 3(4, 3.15. При формировании списка фиксации применена схема бинарного поиска, базирующаяся на процедуре лексикографического упорядо- чения. Отметим, что бинарный поиск предусматривает выделение от одной вершины дерева поиска z-го уровня не более двух вершин (z+l)-ro уровня; под лексикографическим упорядочиванием понима- ется способ исследования (построения) бинарного дерева, а именно: пойти в симметричном порядке левое (относительно корня) поддерево; посетить корень; пройти в симметричном порядке правое поддерево. Сложность процедуры размещения блоков оценивается величиной О (т log т), где т— число блоков. Этап линейного размещения элементов в зоне блока — т. g. определение координат элемента на монтажном поле — является важным при реализации блочно-иерархического подхода, и суще- ствуют различные подходы к решению этой проблемы. Часто местоположение групп и отдельных элементов определяется с использованием процедуры сканирующей области. При этом на каждой итерации осуществляется перекрытие некоторой об- ласти монтажного поля, содержащей заданное число посадочных мест. Область сканирования перемещается по исследуемой плос- кости монтажного поля в соответствии с заданным законом перемещения. Однако точность метода зависит от размерности области сканирования, применяемой метрики и стратегии ска- нирования. Часто сформированные блоки (вертикальные и го- ризонтальные) переставляются: сначала вертикальные, затем го- ризонтальные; процедура перестановки повторяется несколько раз попеременно для вертикальных и горизонтальных блоков. Рассмотрим алгоритм, реализующий этап линейного размеще- ния элементов, основанный на выделении обобщенной медианы графа, моделирующего КС. Пусть КС моделируется графом G = (X, U), причем цепи схемы заменены покрывающими деревьями. Если известна мат- рица расстояний между вершинами графа, то под медианой графа понимают вершину xteX, такую, что к c(iJ=rain[ £ d(xt, j=i Д d(xt, Xj) xteX (3.27) d\xi, Xj) - элемент матрицы расстояний D графа G; с; >—элемент матрицы связности графа G. При этом вершину XjeX, jj=i, для
которой d(x;, xj = min [б/(хн xJJ, называют прикрепленной к вер- шине xt. Рассмотрим в качестве модели монтажно-коммутационного поля граф Gr (ортогональную решетку). Отметим также, что элементы, входящие в блок XteX, размещаются на одной линейке решетки графа Gr. Будем считать, что часть элементов уже размещена в пределах принадлежности сформированному блоку. Неразмещенные элементы могут быть фиксированы в свободных позициях блока, которому они принадлежат. Таким образом, в соответствии с приведенными определения- ми p-позиция представляет собой подмножество позиций, при помещении в любую из которых элемента xt суммарная длина связей полученного частичного размещения увеличивается на величину s {tZmin, > (^minTs)}- Тогда размещение любого элемента xt в позицию обеспечивает в конечном итоге минимум суммарной длины связей. Поиск p-позиции сводится к решению задач целочисленного программирования. Можно для решения этой задачи использовать дерево направленного бинарного поиска. Процедура поиска в этом случае сводится к исследованию множества свободных позиций Р'п в блоке т. Множество свободных позиций разбивается на три подмножества: где Р™—подмножество медианных позиций (p-позиция); Р^ — подмножество немедианных позиций; Р%—подмножество пози- ций, принадлежность любой из которых к одному из первых двух подмножеств пока не определена. Нижняя граница стоимости решения для некоторого найденно- го частичного решения (Р™ / 0, Р ~ / 0) может быть найдена следующим способом: £(&)= X d1 + d2', PieP^ di = nun [б/(р;,р;)сЛ/], (3.28) деР"1)Р* И d2 = £ ( min [d(pt, pj) ,]), где —меньшее из расстояний от позиции в блоке т, в которую помещен размещаемый элемент, до позиций с ранее размещен- ными элементами; d2—сумма расстояний от позиций блока т до позиций с ранее размещенными элементами; п— число вершин моделирующего графа (позиций блока т), которые могут стать медианными. Опишем алгоритм формирования Р-позиции:
Рис. 3.17. Граф G =(Х, U) фрагмента КС (рис. 3.16) 1°. Задается мощность A-пози- ции и определяется мощность мно- жества немедианных позиций. По- следняя равна мощности множества занятых ранее позиций. 2°. Элементы исследуемого бло- ка «снимаются» со своих позиций в зоне блока (это не касается базовых элементов). Очередность элементов-кандидатов на раз- мещение определяется по убыванию локальной степени вершин моделирующего графа, характеризующих число связей элемента- кандидата с ранее размещенными элементами. 3°. С помощью приведенных выше формул определяется нижняя граница стоимости решения для выбранного элемента. 4°. Исследуются поочередно свободные позиции. При этом оценивается длина связей размещаемого элемента с разме- щенными. 5°. Каждая последующая вершина (позиция), имеющая оценку длины связей, сравнивается с предыдущей исследованной вер- шиной и в зависимости от результата сравнения оценок заносится либо в множество медианных вершин (позиций), либо в мно- жество оставшихся вершин (позиций). 6°. Если все позиции просмотрены, происходит переформи- рование множеств Р', Р™, Р~, Р*. Найденные позиции заносятся в состав A-позиции. Если мощность A-позиции меньше заданной, то переход к 3°. 7°. Если A-позиция сформирована для очередного элемента и есть неисследованные элементы, то переход к 2°. 8°. Если для всех элементов блока определены Аппозиции, то конец работы алгоритма. Пример реализации процедуры поиска медианных позиций при размещении элементов показан на рис. 3.16- 3.19. На рис. 3.16 и 3.17 показаны КС и граф, моделирующий схему. На рис. 3.18 приведен фрагмент монтажного поля. Элементы схемы помещены в блоки; элементы х2, ..., х5 размещены в позициях блока т2; элемент х6, для которого необходимо отыскать множество медианных позиций (К-позицию), подлежит размещению в зоце блока т2 пока свободной от размещенных элементов. Выделенные ранее для формирования
Z> гг F3 П, r>5 --------- Рис. 3.18. Фрагмент монтажного поля для КС (рис. 3.17) s QH H=9\ Рис. 3.19. Дерево поиска р -позиции (показан поиск одной позиции из множества Ry): Яр 1=2, |К'| = 5. |Я„| = 0, WiY R", 2, ,/?'!= 6, |ят|=1, блоков внешние элементы (на рисунке заштрихованы) не рассматриваются. На рис. 3.19 показано дерево поиска решения. Результат работы алгоритма - определение К-позиции для элемента х6: Рк(х6)={рл, р5}- Приведенный алгоритм поиска /Спозиции имеет ВСА, оцениваемую как О(и)... ...О(д2). Если размещение не учитывает топологических условий, мощность А'-позиции равна единице. В противном случае осу- ществляется исследование возможных мест установки элемента, принадлежащих найденной К-позиции, по заданному топологичес- кому критерию и элемент помещается в наилучшую с точки зрения данного критерия позицию. Необходимо отметить, что каждый элемент (речь идет об элементах, имеющих двухрядное расположение выводов) исследуется при двух возможных ориента- циях его на монтажном поле. Приведем теперь комплексный алгоритм размещения элемен- тов ЭВА на монтажном поле на основе использования поисковых процедур, принимая во внимание общую структуру и идеологию блочного подхода и описание отдельных этапов. Логическая схема алгоритма имеет вид ^o^i 12^4Л5р2Т2?3Р4Т4т47А8Ак, где Ао, Ак— операторы начала и конца алгоритма соответственно; At—оператор поиска и распределения внешних элементов; А2 - оператор формирования блоков: Л2 = Л21 v (А22 v Л23); Л21, А22, Л23— операторы формирования блоков для одногабаритных и разногабаритных элементов первой и второй групп геометрии соответственно; А3—оператор размещения блоков; Л4 — оператор
установки ориентации элементов; А5 —оператор формирования fc-позиции для очередного размещаемого элемента; Аб— оператор выбора места окончательной установки элемента по топологичес- кому критерий); А7 - оператор прогнозирования трассировки по результатам размещения элементов; As — оператор формирования и вывода конструкторской документации по варианту размещения; Pj—условие проверки условия размещения блоков; если все блоки размещены, то переход к Л4; <р2—условие проверки элемента в различных ориентациях. Если все ориентации про- верены то переход к А6; р3—условие проверки просмотра всех элементов блока. Если все элементы блока размещены, то переход к р4; р4—условие проверки просмотра блоков. Если все блоки просмотрены (г. е. все элементы схемы размещены), то переход к Л7, в противном случае—к Л4. Алгоритм размещения позволяет обрабатывать объекты, структура которых представлена одногабариэ ными и разногаба- ритными элементами, и ориентирован па канальную трассировку. 3.4. АЛГОРИТМ РАЗМЕЩЕНИЯ ГРАФА СХЕМЫ МЕТОДОМ ВЕТВЕЙ И ГРАНИЦ Подстановка; стандартный граф; фиксация вершин; фрагмент цепи; перестановка групп вершин; факторизация графа Рассмотрим алгоритм линейного размещения конструктивных элементов на плоскости с минимизацией суммарной длины соединений, в основу которого положен метод ветвей и границ. Пусть задан граф Gr, в котором число столбцов равно числу вершин размещаемого графа КС <7=(Х, СТ), а число строк равно единице. Задача состоит в отображении вершин графа в ячейки графа решетки Gr с оптимизацией критерия суммарной длины ребер, т. е. в нахождении подстановки г=/1, 2, ..., п \ Vе!, Х2> -> XnJ где 1, 2, ..., п—номер позиций решетки; %,-(/= 1, 2, ..., л)—вершины размещаемого графа. Видно, что таких подстановок /г!. Для эффективного решения задачи линейного размещения методом ветвей и границ необходимо: а) выбрать метод нахожде- ния нижней границы суммарной длины ребер графа; б) определить метод ветвления дерева решений, позволяющий отсекать ветви, содержащие заведомо непригодные решения. Для определения нижней границы суммарной длины L(G) ребер графа G воспользу- емся понятием стандартного графа ид. Для разбиения множества решений Q на подмножества, т. е. ветвления дерева решений, будем фиксировать некоторые вершины в определенных позициях решетки. Если, например, зафиксировать
вершину Xi на любом месте решетки, то в этом случае получим подмножество Qi<=^Q, содержащее [п— 1)! решений. При фиксации двух, грех и т. д. вершин получим соответственно (н —2)!, (и — 3)! и т. д. решений. Нетрудно видеть, что используя такой метод ветвления можно найти подмножество, содержащее одно решение. Пусть вершины х}, х2, , xq фиксированы соответственно в позициях 1, 2, q графа решетки. Нефиксированные вершины графа G могут располагаться в свободных узлах графа решетки произвольным образом. При этом суммарная длина L(G} состоит из трех частей Lr(G), L2(G), L3(G); Lx (G) суммарная длина ребер, смежных только с нефиксированными вершинами, является точным значением и определяется из способа построения матрицы геометрии Dy; L2 (G) - суммарная длина ребер, связывающих фиксированные и» нефиксированные вершины, является нижней оценкой, поскольку подсчитывается длина связей при расположе- нии нефиксированных вершин по стандартному графу; L3(G)- суммарная длина ребер, смежных только с нефиксированными вершинами, которая определяется как суммарная длина ребер стандартного графа, построенного на и—q вершинах, и оставших- ся неучтенных ребер графа. Заметим, что фиксация вершил при размещении графа может лишь увеличить или оставить без изменения суммарную длину ребер графа по сравнению с нижней оценкой, полученной по стандартному графу. Кроме того, увеличение числа фиксирован- ных вершин также не уменьшает суммарной длины, поскольку число вершин, входящих в стандартный граф, уменьшается. Рассмотрим пример размещения графа G, показанного на рис. 3.20, в линейку Gr (рис. 3.21). Определим нижнюю границу суммарной длины по стандартному графу бЛ, показанному на рис. 3.22. Получим 0(<2)=£(бд)=11. Разобьем множество решений Q на G подмножеств, фиксируя поочередно вершины графа G на первой позиции графа Gr. Для каждого подмножества решений Q\, Q2, Q3, Ql, Qs- Qt> определим суммарную длину, предполагая, что Q} получено фиксированием Xj в первой позиции, Q\ — фиксированием х2 в первой позиции, ит. д. Найдем е(е})=£Дб)^£2(б)+£3(б)=0+10 1-4=14, 0(21)=12, 0(2з)=Н, 0(б4)=12, 0(2i)=ll, 0(бе)=12. Для дальнейшего ветвления выберем подмно- жество Q з как имеющее наименьшую оценку 0(2 з) среди всех 0(2;), ' = 1, 2, Рис. 3.20. Пример графа G для разме- Рис. 3.21. Линейка Gr с позициями щения в линейке
Рис. 3.22. Стандартный граф Сд графа G (рис. 3.21) ..., п, и произведем его разбиение на пять подмножеств Qh, бз.г, бз,з> бз.л. Qis, (рис. 3.23). Вершины Ql Ql, Ql, Qis, Qli Ql, бзл, бз.г, бз.з, бз.л- не подвергавшиеся ветвлению, переобозначим соответственно бы 61, бз, бд, Qs, б 6, 61, бе, Ql, Qlo- Вершины б I, 61, Ql, Ql, 6io получены фиксацией оставшихся вершин графа (кроме х3) на второй позиции решетки. Определим ранее не находившиеся границы второго шага 6(бб)=15, 0(61)=П, 0(6i) = 13, 0(б1)=12, 6(б?о)=16. Определяем, что ветвлению подлежит вершина 61, и произведем ее разбиение на четыре подмножества (рис. 3.24). Продолжая аналогично, получаем дерево решений, показанное на рис. 3.25. Имеем размещение, соответствующее подстановке 1 2 3 4 5 6 Х3 х2 Х4 *1 Х6 *5 Граф, размещенный в Gr с минимальной суммарной длиной £(6')=11, показан на рис. 3.26. Рассмотрим теперь размещение в линейке фрагментов цепей на основе метода ветвей и границ для графа на рис. 3.27. Будем считать, что Г(6Л)=17. Разобьем множество решений Q на .5 подмножеств. Причем S—2C%. Далее будем поочередно фиксировать ребра графа схемы в первых двух позициях решетки. В нашем случае в первые две позиции решетки будем последовательно помещать вершины Xj, х2, хг, х3; ..., пока не рассмотрим все 30 вариантов. Для каждого подмножества решений бы Qi, —, бзо определим суммарную длину как нижнюю оценку, предполагая, что Q} получено фиксированием вершин х2 в первой и второй позициях, 61—фиксированием х3, ..., Рис. 3.23. Пример ветвления вершины 61 Рис. 3.24. Пример ветвления вершины 61
11 Рис. 3.26. Оптимальное размещение гра- фа (рис. 3.21) в линейке Рис. 3.27. Произвольное размещение гра- фа в линейке Рис. 3.25. Дерево решений для разме- щения графа (рис. 3.20) в линейке методом ветвей и границ Рис. 3.28. Окончательное размещение графа (рис. 3.28) в линейке после работы алгоритма бзо—фиксированием х5. х6. Для большей ясности вместо б!, Qi° будем ПИСаТЬ б^.х2, -- 21®,х6- После фиксации вершин х2 в первой и второй позициях линейки получим 0(611,x2)=£1(G)+£2(G)+£3(G)=2 + 8 + 8 = 18; 0(211,х3)=1 +10+8 = 19; e(6iPx4)=0+ 22 + 3 =25; е(б^.х5)=0+14+9 = 23; 0(211,х6)=0+19+6=25; e(6J2.x1)=2+ll+8=21; 0(6i2,x3)=l + 18+4=23; 0(212,х4)=23; 0(6i2.x5)=27; 0(6i2,x6)=28; -0(213,x1)=18; 0(213,x2)=21; 0(6i3.xJ=24; 0(213.x6)=22; 0(214,x1)=28; 0(6i4,x2) = 23; 0(6i4.x3)=27; 0(214.x,)=25; 0(214,x6)=22; 0(215,x1)=24; 6(6i5.x2)=24; 0(Ci5„X3)=22; 0(215,x4)=20; 0(215.х6)=П; 0(Cx6.x1)=28; 0(2i6,x2)=27; 0(216,x3)=22; 0(Cx6,x4)=25; 0(2i6,x5)=19. Выбираем оценку 0(215,x6)= 17 и вершины x5, x6 помещаются в первую и вторую позиции линейки. Далее фиксируем оставшиеся вершины в третью позицию линейки и получаем 0(2ед) =25; 0(2б.г) = 25; 0(2б,з)=20; |0(2о,*) | —19. Вершину хл помещаем в третью позицию линейки. На третьем шаге 0(б4д)=25; 0(21,2)= 19, вершину х2 помещаем в четвертую позицию линейки.
Рис. 3.29. Пример процесса факторизации, где £„(<7)=46, 4(G) = 22 На последнем шаге 0(6 2.1)=20; |б(6 2.3) |=19, вершину х3 помещаем в пятую позицию линейки. Последняя вершина х, попадает в шестую позицию линейки (рис. 3.28). Получим размещение графа в линейке, £((?)= 19. После перехода от графа к КС определим окончательное размещение. Отметим, что при размещении фрагментов цепей, т. е. ребер графа схемы, в отличие от вершин в линейке появляется возможность прогнозировать размещение на шаг вперед, что повышает точность размещения. Результат окончательного разме- щения зависит от выбора метода ветвления и способа оценки суммарной длины. Заметим, что, когда невозможно выбрать перестановку вер- шин, уменьшающую суммарную длину ребер, можно производить перестановку групп вершин. Для нахождения групповых переста- новок вершин графа предлагается эвристический прием, исполь- зующий операцию факторизации графа G. Разобьем множество вершин X графа G на п классов Xt, Х2, ..., Х„ и отнесем к ним вершины, лежащие в строках решетки внутри области размещения. В каждом классе выделим внутренние и соединительные ребра. Теперь строится новый граф, в котором вершинами являются классы xt. Получим линейно расположенный мультиграф Gn, содержащий только соединительные ребра. Аналогично проводит- ся операция разбиения на т классов, вершины каждого из которых принадлежат столбцам области размещения. Получим мультиграф Gm. Для мультиграфов G„ и Gm нетрудно определить перестановку вершин на основе любого алгоритма линейного
размещения. После получения оптимального размещения муль- тиграфа производится переход к графу G. Заметим, что указанный прием факторизации графа легко распространить на случай размещения графа в области произволь- ной конфигурации. На рис. 3.29 показан процесс факторизации графа по строкам. В результате процесса факторизации суммарная длина £(Gj уменьшилась на 24 единицы. 3.5. РАЗМЕЩЕНИЕ ЭЛЕМЕНТОВ С СОВМЕСТНОЙ ОПТИМИЗАЦИЕЙ МОНТАЖНО-КОММУТАЦИОННЫХ И ТЕПЛОВЫХ ХАРАКТЕРИСТИК Структурная тепловая модель; пространство оптимальных по тепловому критерию решений; совместная оптимизация монтажно-коммутационных и тепловых характе- ристик; монитор; локальная база данных; рациональное размещение источников тепла, катастрофический отказ элементов; перегрев; интенсивность отказов; оптимальное размещение дискретных источников тепла; теплоотвод; теплопровод; адаптация Задача оптимального размещения дискретных источников тепла является одной из оптимизационных задач размещения источников физических полей. Решение данной задачи при проектировании ЭВА должно удовлетворять как монтажно-ком- мутационным, так и требованиям размещения с теплофизической точки зрения. Для этого сложную задачу оптимального размеще- ния электронных элементов разбивают на две иерархические подзадачи. Первая заключается в построении удобной для решения задачи размещения тепловой модели, а вторая—в размещении с использованием полученной модели. При этом тепловая модель должна быть структурной для упрощения решения задачи размещения. Вид структурной тепловой модели определяется особенностями отвода тепловой энергии от дискрет- ных источников. На рис. 3.30 показана структурная тепловая модель в виде графа 6 = (У, U) для условия оптимального размещения одногабаритных элементов в линейке для принуди- тельного воздушного охлаждения. Максимальной надежности соответствует расположение элементов в направлении потока Д, Р2 .Р„ теплоносителя, для которого выполняется условие —, Ci сг с„ где Ph —соответственно мощность рассеивания и коэффициент линеаризации в выражении, аппроксимирующем зависимость интенсивности отказов от температуры для г-го расположенного по порядку элемента. Обозначим Х—Р^С^ Предположим, что Xi+r=Xi+2 = Xi+'i. В структурной тепловой модели вершины соответствуют элементам, а ребра определяют возможные вариан- ты порядка обхода вершин, соответствующие вариантам располо-
Рис. 3.30. Пример структурной тепловой модели жения элементов в линейке. Любой путь в графе G из вершины Хг в Хп, включающий в себя все вершины, определяет последователь- ность расположения элементов в линейке, которая соответствует максимальной надежности. Число таких путей в графе G определя- ет число оптимальных вариантов размещения элементов в линейке с точки зрения надежности. Таким образом, структурная тепло- вая модель представляет собой модель пространства решений, оптимальных по тепловому критерию (ПРОТК). Размещение элементов с совместной оптимизацией тепловых и монтажно-коммутационных характеристик требует решения следующих задач: выбор метода многокритериальной оптимизации и оптималь- ной структуры этапа размещения, учитывающей возможность оптимизации по двум критериям (монтажно-коммутационному и тепловому); разработка методов априорной оценки эффективности тепло- вой оптимизации путем рационального размещения дискретных источников тепла; выбор моделей ПРОТК и разработка методов их построения; адаптация существующих алгоритмов размещения по двум критериям (монтажно-коммутационному и тепловому) или разра- ботка новых алгоритмов. Для совместной оптимизации монтажно-коммутационных и те- пловых характеристик в задаче размещения элементов используем модели ПРОТК, которые являются областью поиска оптималь- ного по монтажно-коммутационному критерию решения. Для их построения необходимо вывести условие оптимальности в соот- ветствии с выбранной функцией цели. Вывод условия опти- мальности осуществляется на основе закономерностей формирова- ния температурных полей, строгий анализ которых для различных классов конструкций ЭВА очень сложен. Поэтому неизбежно введение некоторых допущений, что при выводе условия опти- мальности равносильно заданию некоторой уступки по отноше- нию к глобальному оптимуму теплового режима. Таким образом, ПРОТК, построенное на основании условия оптимальности,
( Начало ) Размещение Подготовка задания ——- Трансляция текста задания Оценка тепловой оптимизации за счет размещения Коррекция текста задания змещгние о оптимизациев)?-^- ритериев ошибки а за- дании ? Предпол. учет теплом, ретина. О -------1 нулевая Изменение констру- ктивных характе- ристик изделия Уменьшить уступку Построение модели ПРОТК 'к'Тепповая оптимизация''? 'эффективна I Размещение с совмес- тнойоптимизацией пых и тепловых характере нонтажно-коммутацион\ --------------------истик J Рис. 3.31. Структура процесса конструкторского проектирования с учетом теплово- го режима на этапе размещения можно рассматривать как пространство решений, которые по тепловому режиму отличаются от глобального оптимума на величину, не превышающую уступки, определенной введенными допущениями. Использование моделей ПРОТК определяет метод многокри- териальной оптимизации. Приведем два варианта трактовки метода. 1. Метод перевода всех показателей качества, кроме одного, в разряд ограничений Оптимизация осуществляется по монтажно- коммутационному критерию при соблюдении ограничений по тепловому критерию, которые задаются путем ограничения пространства поиска, т. е. поиск происходит в ПРОТК. 2. Метод последовательных уступок. В этом случае ПРОТК рассматривается как пространство поиска, полученное после задания уступки па найденное оптимальное значение теплового критерия, и в нем (ПРОТК) ищется затем решение, оптимальное по монтажно-коммутационному критерию. На рис. 3.31 приведена структура процесса конструкторского проектирования модулей ЭВА (без этапа компоновки) с раскрыта-
Рис. 3.32. Структура подсистемы разме- щения с совместной оптимизацией мон- тажно-коммутационных и тепловых хара- ктеристик (---связи по управлению; = — информационные связи) Рис. 3.33. Конструкция ТЭЗ с радиальной схемой теплоот- вода ем этапа размещения, предусматривающего учет тепловых факто- ров. Перечислим ее возможности. Структура позволяет осущест- влять размещение как по одному (монтажно-коммутационному) критерию, так и по совокупности двух критериев (монтажно-ком- мутационному и тепловому). Решение о размещении с совместной оптимизацией двух критериев может приниматься конструктором с учетом рекомендаций ЭВМ. Проведение тепловых расчетов вынесено из процесса непосредственного размещения, что дает возможность сократить их число. Структура позволяет конструк- тору установить в процессе проектирования наличие или отсут- ствие резервов тепловой оптимизации вследствие рационального размещения дискретных источников. Одна из возможных структур подсистемы размещения элементов с совместной оптимизацией монтажно-коммутационных и тепловых характеристик приведена на рис. 3.32. Подсистема включает в себя монитор, локальную базу данных (ЛБД), модуль управления локальной базой данных (МУБД), транслятор с входного языка, интерфейсный програм мный модуль и прикладные программные модули, к которым относятся: модуль оценки ожидаемой эффективности тепловой оптимизации (МОЭФ); набор программных модулей, реализую- щих построение моделей ПРОТК {Мг, М2, ..., Мп}\ набор про- граммных модулей, реализующих размещение электронных эле- ментов {pt,p2, ...,рт}. Каждый из программных модулей реализует построение модели ПРОТК для определенного класса конструкций. Как видно из рис. 3.32, информационный обмен между программными модулями осуществляется через рабочий набор данных (РНД) на магнитном диске. Это позволяет применять динамический вызов программных модулей в оперативную память. Монитор
определяет состав и последовательность выполнения про- граммных модулей в зависимости от исходных данных в форма- лизованном задании (ФЗ). Использование Л БД дает возможность развития ППП без переделки ранее написанных программных средств, обеспечивает независимость прикладных программ от изменений в глобальной базе данных и быстрый поиск данных. Интерфейсный программный модуль выполняет функции преоб- разования выходной информации подсистемы к необходимому виду и передачу ее для дальнейшего использования в САПР. Выделим два класса ЭВА, для которых следует ставить задачи оптимизации теплового режима на этапе размещения: ЭВМ большой производительности; бортовые специализирован- ные устройства обработки цифровой информации. Эти классы ЭВА характеризуются большой удельной мощностью рассеивания, высокой плотностью монтажа и жесткими ограничениями весо- габаритных характеристик. Задача тепловой оптимизации рациональным размещением источников тепла может быть поставлена для модулей любого уровня иерархии^ по наибольшую актуальность она имеет при проектировании модулей низшего уровня. Это объясняется самой большой универсальностью низших уровней конструкции. Наибо- лее актуальны конструкции плоских модулей ЭВА с радиальной схемой теплоотвода и с поверхностной схемой теплоотвода. Конструкции ТЭЗ, плат с принудительным охлаждением, гибких плат, плат на металлической основе, гибридно-интеграль- ных модулей и схем, многослойных печатных плат с поверхност- ным теплоотводом являются примерами объектов, для которых необходима тепловая оптимизация рациональным размещением источников. Под условием оптимального размещения дискретных источни- ков тепла будем понимать некоторое правило их распределения по монтажному полю с точки зрения оптимума теплового режима модуля. Под оптимальным тепловым режимом модуля будем понимать такой режим, при котором снижение надежности, вызванное перегревом, минимально. Существует два основных подхода к оценке надежности, связанной с тепловым режимом. Первый рассматривает тепловой режим в связи с катастрофическими отказами элементов. Это соответствует случаю, когда функциональные характеристики модуля не критичны к температурным перепадам на элементах. Второй рассматривает тепловой режим в связи с функциональ- ными отказами, которые могут возникнуть из-за несбалан- сированного изменения параметров элементов под воздействием температурных перепадов. Строгий математический вывод условия оптимального раз- мещения не может быть осуществлен из-за сложной функциональ- ной зависимости надежности от параметров размещения источни-
ков. Поэтому для практических целей возможно применение лишь приближенных или эвристических методов. Рассмотрим типовую конструкцию модуля ЭВА, показанную на рис. 3.33. Модуль представляет собой типовой элемент замены с одногабаритными элементами, устанавливаемыми в фиксирован- ные позиции. Схема теплоотвода радиальна по контуру. Конструк- тивной основой ТЭЗ служит плата с металлическим сердечником, т. е. преобладающим механизмом теплопередачи является кондук- ция через материал платы. Элементы устанавливаются на тепло- проводной пасте идентично для всех позиций. Приведем условие оптимального размещения источников элементов исходя из катастрофических отказов. Будем рассматривать ТЭЗ как систему тел с источниками энергии. Известно, что перегрев некоторой z-й области системы относительно окружающей среды может быть представлен в виде выражения т »i= Z FuPp (3.29) j=i где Pj— мощность рассеивания j-й областью системы; F^— тепло- вой коэффициент влияния j-й области на z-ю; т число характе- рных областей, из которых состоит система. Выражение (3.29) справедливо, если коэффициенты теплообмена и теплопроводнос- ти, а также мощности рассеивания частей системы не зависят от температуры. Примем в качестве характерных областей системы фиксированные посадочные позиции. Тогда величины, входящие в (3.29), приобретут следующий смысл: г;—перегрев z-й позиции (поверхности платы под электронным элементом); Ft j—тепловой коэффициент влияния /-й позиции па i-ю посадоч- ную позицию; /2,—мощность рассеивания источника, установлен- ного на j-ю посадочную позицию. Пусть Т={х15 х2, ..., xh х„} — множество элементов и Q = = {<7i, q2, , Ут}~ множество фиксированных позиций. Каждому элементу множества xt однозначно соответствует элемент множества мощностей рассеивания p={pi, р2,рт}- Интенсив- ность отказов элементов является в общем случае нелинейной функцией температуры. В диапазоне рабочих температур ЭВА зависимость интенсивности отказов электронных элементов может быть аппроксимирована линейной функцией вида Mzi) = ^.o + ai(^~ro), (3.30) где —интенсивность отказов z-ro электронного элемента при его рабочей температуре r;; Xii0—интенсивность отказов <-го элемента при температуре начала диапазона г0; а; - коэффициент линеаризации. Приняв в качестве t0 температуру корпуса ЭВА, запишем (3.30) в виде
+ + (3.31) где vt— перегрев относительно корпуса аппарата посадочной позиции под z-м элементом; Лг,-—перепад температуры на тепловом контактном сопротивлении между корпусом элемента xt и платой. Если считать, что отказ любого элемента вызывает отказ всего ТЭЗ (отсутствие резервирования), то интенсивность отказов последнего определится выражением т т Е = £ (Xi.o + aJr. + Az,)). i=l i=l Подставив из (3.29) значение vi9 получим т т т т Ъ= Е W I Ч У FijPj+ £ (3.32) i=l i=l у=1 i=l Задача оптимального размещения дискретных источников тепла заключается в минимизации Так как величины Af; для всех источников не завися г от того, в какой позиции размещен элемент (считается, что элемент устанавливается одинаково в любой позиции), то минимизация эквивалентна минимизации составляющей (3.32): т т Е У (3.33) i=l7=1 Введем булеву переменную (1, если установлен в qp, ?',j [О в противном случае. Тогда задача оптимального размещения дискретных источников будет формулироваться следующим образом. Необходимо найти матрицу Т=|| yitj ||т х т, такую, что т т т гп Е Е Е Е (3.34) i=l7=1k=l1=1 и соблюдаются ограничения т Е Л; = 1> 4je{l, 2, ..., т}; i^j. (3.35) i.i=i В выражении (3.34) рк и а, представляют соответственно мощность, рассеиваемую элементом хк, и коэффициент линеаризации /-го элемента. Задача (3.34) с ограничениями (3.35) представляет собой комбинаторную задачу, относящуюся к классу TVP-полных задач. Рассмотрим возможность использования метода ветвей и гра- ниц для решения задач. При этом предполагается, что тепловые коэффициенты Р;>7- для рассматриваемой конструкции модуля
Рис. 3.34. Пример расположения фик- сированных позиций в модуле равенства: предварительно определены. При симметричном радиальном те- плоотводе достаточно опреде- лить тепловке коэффициенты для посадочных мест любой четверти монтажного поля (при условии, что позиции также сим- метричны). На рис. 3.34 приведен пример рас- положения посадочных позиций при сим- метричной схеме теплоотвода. Для дан- ного примера имеют место следующие ^1.1 = ^3,3 = F10.10 = ^12,12’ ^2.2 = ^11,11’ ^5, S=FS, 8’ F6.6=F7.7=F4A~F9.9-’ Л.5 = ^3.5 = 10,8 =^12,8 ’ F — F F —F F =F =F =F F =F —F =F '2.5—'11.8’ '5.8 J8.5’ '1,12 '12.1 '3.10 '10.3’ ' 6.7 '7.6 4.9 '9.4—’ Всегда соблюдается равенство Fij = Fjti, если позиции qt и qj симметричны относительно центра или оси симметрии монтаж- ного поля, и всегда соблюдается равенство Fij=Fkil, если пары позиций (qt, q^ и (qk, qt) соответственно симметричны относитель- но центра или оси симметрии монтажного поля. Нижнюю граничную оценку на нулевом шаге находят, вычис- ляя для каждой позиции минимально возможный перегрев: v^F^Pi^FLj2Pl+---+FiJkPi+--- + FiJmPln, (3.36) где Ft ,, Ffj^, F^, ..., Fjj^_ упорядоченные по невозрастанию тепловые коэффициенты влияния на z-ю посадочную позицию; Pl , р/, р,, р1—упорядоченные по неубыванию значения мощностей рассеивания дискретных источников. Затем определяют нижнюю граничную оценку на нулевом шаге: eWo = <^nai + <mina2 + --- + r^inail + ... + rfminam, (3.37) где v^°iin, v^in, ..., v/Vn — упорядоченные по неубыванию значе- ния минимально возможных перегревов в позициях; а15 а2, .... ат упорядоченные по невозрастанию значения коэффициентов линеаризации. На первом шаге все множество решений Но разбивается на т подмножеств FF*}, Н$\ ..., Н{к1}, Подмножество со- держит все решения, при которых в позиции qk установлен дискретный источник тепла Нижняя граничная оценка уточня- ется для каждого из подмножеств следующим образом. Вычисля- ются значения viitnin и нижняя граничная оценка с учетом уже размещенных элементов. Предположим, что вычисляется нижняя граничная оценка для подмножества решений /Д1* и при этом /2 = 1, а3 = 1, jk = 3, z2 = 3. Высокая трудоемкость вычисления граничных оценок заставляет ограничиться поиском вглубь на
0-й шаг 1-й шаг 2~й шаг 3-й шаг б$) Рис. 3.35. Поиск вглубь на дереве решений Рис. 3.36. Размещение однога- баритных дискретнь х источни- ков на монтажном поле дереве решений, т. е. прийти к последовательному алгоритму размещения дискретных источников. В этом случае просмотр вершин дерева решений будет соответствовать рис. 3.35. Здесь ея11,=пйп{ея?’, е^1’,..., еяй’}; e^2’=min{e^2’, е^2’,..., е^2’}... Рассмотрим пример. Пусть необходимо найти оптимальное размещение шести одногабаритных дискретных источников на монтажном поле с шестью фиксированными позициями (рис. 3.36). Тепловые коэффициенты заданы в 0,8 0,4 0,45 0,52 0,3 0,28 0,4 0,8 0,52 0,45 0,28 0,3 0,55 0,5 1 0,45 0,55 0,5 0,5 0,55 0,45 1 0,5 0,55 0,3 0,28 0,45 0,52 0,8 0,4 0,28 0,3 0,52 0,45 0,4 0,8 Мощности рассеивания источников и коэффициенты линеаризации соответственно = 10; />2 = 12; р3= 13; />4 = 15; />5 = 18; />6=20; а1=0,1-10*8; а2=0,1-10“8; а3=0,2-1(Г8; а4=0,3. 0-й шаг и1/тт=^1.1Р1+^1.4Р2+^?1.зРз+^1,2/’4 + Т1,5/>5+Т1,6/)6 = 0,8-10 + +0,52-12 + 0,45-13 + 0,4-15 + 0,3-18 + 0,28-20 = 37.09 и т. д. На рис. 3.37. представлено дерево решений для рассмотренного примера с указа- нием в вершинах всех оценок граничных значений. Как видно из рисунка, разность между граничной оценкой на нулевом шаге и оценкой полученного решения составляет 4.5%. В результате приближенной оптимизационной процедуры получаем условие оптимального размещения в виде единственного решения: г{-^1} = {?з}; Г{х2} = {?4}; Г{х3} = {</6}; Г{х4} = {^5}; Г{х5} = {92}; Г{х6} = {91}. Задавшись теперь уступкой по однотипности дискретных источников тепла, построим подпространство оптимальных по тепловому критерию решений.
В множестве X выделим следующие классы эквивалентности: Л'1 = {л1, Хг}; У2 = {х3}; Л'3 = {х4}; У4 = {х5, х6}. Каждому классу эквивалентное™ соответствует в множестве Q подмножество позиций для размещения: Q?,={4s}\ Qi={<n,qiY В данном случае все подмножества Q3, Qi, Q3, Q4. не пересекаются и моделью ПРОТК будет двудольный гр^ф, представленный на рис. 3.38, а или б. Увеличение уступки расширяет подпространство решений, оптимальных по тепловому крите- рию. Например, если считать х3 и х4 эквивалентными, то А'1 = {х1,х2}; Х2 = {х3, х4}; А'3 = {х5, х6}; Q3 = {q3, Qt}', 62 = {?6>9s}; 2з = {9ь92} и модель ПРОТК примет вид, изображенный на рис. 3.38, в.
моделей ПРОТК Рис. 3.38. Примеры построения Рассмотрим конструкцию модуля, представленную на рис. 3.39. Разногабаритные в общем случае элементы устанавливаются на однотипные теплопроводы, по которым отводится в одном направлении большая часть выделяемой тепловой энергии. Коэф- фициент теплопроводности материала теплопроводов на два —три порядка больше, чем у материала платы. Хороший тепловой контакт элементов с теплопроводом обеспечивается применением теплопроводной пасты. Указанные особенности конструкции по- зволяют ввести следующие допущения. 1. Теплопровод с источниками теплоизолирован со всех сторон, кроме конца, соединенного с теплостоком. 2. Тепловое контактное сопротивление между теплопроводом и источником не зависит от места расположения источника на теплопроводе. 3. Тепловой поток через поверхность контакта источника с теплопроводом однороден. Введенные допущения позволяют рассматривать каждый те- плопровод в отдельности. Задача сводится к определению порядка расположения дискретных источников па теплоотводе. Пусть ось Y направлена параллельно Рис. 3.39. Типовой элемент замены: 1 •- алюминиевая рамка, 2 - диэлектрическая плата, 3 —теплопроводы, 4—электронный элемент теплоотводу так, чтобы значение координаты у возрастало при дви- жении от теплостока по теплопро- воду. В качестве перегрева тепло- провода под г-м элементом примем среднее значение перегревов под ближним и дальним краями г-го элемента. Собственный под дальним краем элемента делится из выражения л+4/2 перегрев опре- p^dr-p‘tt у>-1Д где длина посадочного под t-м элементом в направлении оси У; Хт—коэффициент теплопро- „(О _ типах — (3.38) места
водности материала теплопровода; 5Т—площадь сечения тепло- провода (считается, что .8’,= const по всей длине теплопровода); у.—координата центра посадочного места г-го элемента. Собственный перегрев под ближним (к теплостоку) краем i-го элемента определится из выражения (3-39) Тогда собственный перегрев под г-м электронным элементом 2v,max~v,m,n/ g Izi 41’ (3.40) С учетом (3.38) -(3.40) запишем формулы для тепловых коэффи- циентов: если у}>уу, если yj<yf (3-41) (3.42) Исходя из катастрофических отказов задача поиска оптималь- ного расположения электронных элементов на теплопроводе запишется в виде (3.33). При этом значения коэффициентов не должны нарушать ограничений: ^^d+^y^-j-Ad)-, ^j(\y-yj\^+l{+^d)-, (3.43) 2, ..., п}, i^j, где hd—расстояние между источниками и между крайними источниками и концами теплопровода. i Запись ограничений в виде (3.43) предполагает равенство линейных размеров элементов их посадочным размерам на теплопроводе по оси У.” Задача относится к классу АТ-полпых. Для ее решения можно использовать метод ветвей и границ. Задача выравнивания температурного поля модуля с поверх- ностной схемой теплоотвода эквивалентна задаче равномерного
распределения мощностей, и существует критерий для оценки равномерности: X (^-FK)2, (3.44) где W—средняя мощность всех размещаемых элементов; W,— средняя мощность i -й группы (число п таких групп и число элементов в группе выбирается при решении конкретных задач). Минимизация (3.44) приводит к выравниванию температурного поля. Рассмотрим алгоритм построения модели пространства реше- ний с минимальными температурными перепадами для радиальной схемы теплоотвода. Алгоритм применим для плоских конструкций модулей ЭВА с одногабаритными элементами и фиксированными посадочными позициями, образующими регулярную решетку. Позиции нумеруются «змейкой», т. е. все четные позиции соответ- ствуют белым клеткам шахматного поля, а все нечетные— черным (или наоборот). Основная идея алгоритма заключается в следующем. Множество элементов X упорядочивается по невозрастанию мощностей рассеивания, а множество позиций Q —по неубыванию тепловых коэффициентов (Ff>j). Затем в упоря- доченных множествах X и Q определяются границы классов эквивалентности. Элементы множества X выбираются по порядку и устанавливаются па позиции, имеющие соответствующие поряд- ковые номера в множестве Q. Число элементов из класса эквивалентности Az;, попавшее на посадочные позиции класса Qj, и определяет вес ребра U(Xj, Qj) двудольного графа G=(AUg, U), служащего в данном случае моделью ПРОТК. Построение модели ПРОТК заключается в определении числа вершип X и Q и весов всех ребер в графе G. Исходные данные для работы алгоритма: X и Q, Р—множество мощностей рассеивания элементов; F—множество тепловых коэф- фициентов посадочных позиций; 8Р—уступка по мощности рассеи- вания (по однотипности дискретных источников); 5f— уступка по коэффициентам Д- 7- (по однотипности зон области размещения). Расплывчатый алгоритм включает следующие процедуры: 1°. Начало. 2°. Ввод исходных данных. 3°. Проверка условия п =т. Да—переход к п. 5°, в противном случае—переход к 4°. 4°. Дополнение множества X и Р фиктивными элементами с нулевой мощностью рассеивания: : ==-^ А{Хл + 1’ Хи+2’ —> Xn+(m-nl}j Р'-=Р_(\{Рп+у РП+2> -’Рп (т „)}; Рп + 1 ~Рп+2~ “Pn+fm-п)4^. 5’. Сортировка элементов в порядке невозрастания их мощ- ностей рассеивания.
6°. Сортировка посадочных позиций в порядке неубывания тепловых коэффициентов: qj qJr ..., qjm; 7°. Выделение в упорядоченном множестве X классов эквива- лентности. ' 8°. Выделение в упорядоченном множестве Q классов эквива- лентности. 9". Построение модели ПРОТК. 10°. Конец. Выделенные в п. 7° классы эквивалентности образуют строгий порядок: Хк>Х2>Х3> ... >Хп> ... >Xq, Если хкеХи xteXj, Ui<Uj, то pk>pt. Аналогично выделяются классы эквивалентных позиций в мно- жестве Q. В один класс входят позиции, у которых значения тепловых коэффициентов отличаются на величину, не превы- шающую 8Г. Затем каждый класс эквивалентных позиций разде- ляется на два подкласса: Qt = 2i1)U6i2>- В первый подкласс (б}1’) входят позиции с нечетными номерами, а во второй—с четными номерами. Если в класс эквивалентности входят позиции только с четпыми или нечетными номерами, то такой класс не разделяется. Подклассы эквивалентности позиций образуют нестрогий порядок. Для окончательного построения модели ПРОТК вычисляются веса ребер двудольного графа G=(X\JQ, U). Рассмотрим алгоритм построения модели пространства решений с минимальными температурными перепадами для модулей с поверх- ностной схемой теплоотвода. Алгоритм применим для плоских кон- струкций модулей ЭВА с одногабаритными элементами и фиксирован- яььли посадочными позициями, образующими регулярную решетку. Исходные данные для алгоритма: X, P(i = \, l,j = \,к), Q — = {qij}—множество посадочных позиций монтажного поля; а — число горизонтальных рядов посадочных позиций; b — число вертикальных рядов посадочных позиций; 5Г - уступка по мощ- ности рассеивания (по однотипности дискретных источников). Рассмотрим подробнее эвристическую процедуру деления мно- жества дискретных источников на К непересекающихся подмно- жеств, в результате которой получаем минимальную разность их суммарных мощностей рассеивания. Сущность процедуры заключается в следующем. Источники (элементы) выбираются парами. Пара выбирается таким образом, чтобы отклонение от среднего значения мощности одного источ- ника максимально компенсировалось отклонением мощности второго источника пары. Для упрощения выбора пар источников целесообразно упорядочить все дискретные источники по неубыва- нию или по невозрастанию мощностей рассеивания. Тогда из множества упорядоченных источников каждый раз будет выби- раться пара с порядковыми номерами источников j и т +1 —j, где /— текущий номер выбираемой пары; т—число источников.
Если возникает ситуация, когда т —2j =к, то дальнейший выбор осуществляется по одному источнику, причем каждый раз текущий порядковый номер j увеличивается на единицу. Полученные подмно- жества закрепляются последовательно: сначала за нечетными верти- кальными рядами позиций, а затем за четными (в порядке возраста- ния номеров подмножеств и рядов позиций). В каждом под- множестве источники упорядочиваются по неубыванию или по невозрастанию мощностей рассеивания. Закрепление источников за позициями в каждом вертикальном ряду осуществляется в опре- деленной последовательности: сначала закрепляются источники за позициями с четной суммой индексов, а затем за позициями с нечетной суммой индексов. Чтобы не упорядочивать источники в подмножествах, можно сразу располагать их упорядоченно, расставляя по тем же правилам (в массиве), по которым осу- ществляется выбор. Рассмотрим пример. Пусть необходимо разместить множество дискретных источников Х = {хг, х2, ..., х15} с мощностями рас- сеивания Р = {рг, р2, ..., р15} на множестве позиций Q = {qi 7-}, i = 1,3; 7 = 1,5. Для удобства источники заранее упорядочены. Все множество дискретных источников будем делить на пять непересекающихся подмножеств в соответствии с числом вертикальных рядов позиций. В каждом подмножестве будет по три источника. Порядок заполнения подмножеств (массивов) источниками будет следующий: Распределение источников по позициям в вертикальных рядах будет соответствовать размещение, представленное на рис. 3.40, оценку полученного размещения по критерию (3.44): D (Щ) Ц (2 0.752 + 2 - 0,252 + 4-1.252) к 1.07. Алгоритм содержит такие процедуры: 1°. Начало. 2°. Ввод исходных данных. 3°. Проверка условия: т=а>~Ь‘1 Да- идти в п. 5°. Нез—идти в п. 4°. 4°. Дополнение множества X и Р фиктивными элементами:
Рис. 3.40. Варианты размещения а- с помощью эвристической процедуры, ошимизирующей тепловой режим, б neoniимальное размещение по тепловому режиму Р: PU{-Pm-tl’ Pm + 2i , Pm+(kxl-m)}’ Р — Р — —Р —Л 'т+1 1 тт2 1«+(Ь/-т) и’ 5°. Сортировка элементов множества X. 6°. Разбиение множества X на b равных по мощности под- множеств и закрепление каждого подмножества за соответствующим вертикальным рядом позиций. 7°. Распределение элементов каждого подмножества по позициям соответствующего ему вертикального ряда. 8 . Выделение классов эквивалентности в множестве X. 9°. Выделение классов эквивалентности в множестве Q. 10°. Построение модели ПРОТК. 1Г. Конец. Рассмотрим кратко алгоритмы построения моделей пространства решений, оптимальных по тепловому критерию для модулей с разногаба- ритными элементами. Алгоритм построения модели пространства решений с минимальными температурными перепадами для модулей с радиальным теплоотводом по контуру применим для конструкций модулей с РГЭ, которые могут размещаться на монтажном поле с произвольным расположением привязочных точек элементов. Основная часть тепловой энергии от источников отводится в радиальном направлении вследствие кондуктивного механизма теплопередачи через материал основания. Изменение уступки на габаритные размеры каждый раз требует нахождения нового варианта начального размещения. Кроме того, существенное увеличение уступки по габаритным размерам может привести к ситуации, когда элементы невозможно будет разместить на данной площади. Поэтому целесообразно вводить нулевую уступку по габаритным размерам, если коэффициент заполнения площади монтажно- го поля высок. В рассматриваемом случае модель ПРОТК представляет собой гиперграф Н=(Х, U\JE) с двумя типами ребер. Ребра типа U содержат вершины, соответствующие эквивалентным элементам, а ребра типа Е содержат вершины, соответствующие элементам, для которых неявно определены зоны для размещения на монтажном поле. Построение ПРОТК включает два основных этапа: выделение классов эквивалентности в множестве элементов и выделение групп
(подмножеств) элементов, для которых определены зоны их макроразмещения на монтажном поле. Исходными данными для алгоритма служат: X—множество элементов; П = {(П<11’, П(2)); (П^1*, П(22)); ...; (Пт*, П<„2))}—множество пар установочных раз- меров электронных элементов; Vie{l, 2, т} П|1)<П$2); Т={7\, Т2, Тд,} -—множество значений теплонагруженности элементов; Тср—среднее значение теплонагруженности; 8Т — уступка по тепло- нагруженности; 3?—уступка по габаритным размерам. Теплона- груженности элементов являются входными данными для алго- ритма, так как они предварительно вычисляются при определении критериев априорной оценки эффективности тепловой оптимизации. Алгоритм содержит следующие операции. 1°. Начало. 2°. Ввод исходных данных. 3°. Сортировка элементов множества X по неубыванию тепло- нагруженности: , х, , ..., Xi ; Ti < 7) ^...^Ti . 4°. Выделение классов эквивалентности в множестве X. 5°. Выделение групп элементов в множестве X с приоритетностью размещения в периферийной и внутренней зонах монтажного поля. 6°. Конец. Описанный алгоритм имеет ВСА О (/и2). Алгоритм построения модели пространства решений с мини- мальными температурными перепадами для модулей с тепло- проводными шинами ориентирован на тип конструкции, представ- ленной на рис. 3.39. В основу алгоритма положена процедура последовательно-параллельного размещения элементов на тепло- проводах. Процедура последовательно-параллельного размещения эле- ментов на теплопроводах заключается в последовательном выборе претендентов в порядке невозрастания величины Р,/Пр)+А^;(гб{1, 2, ..., т}) и установке текущего претендента на тот теплопровод, где его перегрев будет минимальным. Этим достигаются соблю- дение условия оптимальности и равномерность распределения мощностей по теплопроводам. После заполнения теплопроводов элементами осуществляется их размещение на монтажном поле так, чтобы исключить наложение элементов друг на друга и на границы монтажного поля. Завершающим этапом является вы- деление в множестве X классов эквивалентности; этим заканчи- вается построение модели ПРОТК. Предлагаемый подход к решению двухкритериальной задачи размещения позволяет использовать известные последовательные и итерационные алгоритмы размещения по монтажно-коммутаци- онным критериям. При этом требуется адаптация этих алгоритмов. Последовательный алгоритм размещения содержит две основ- ные процедуры: выбор очередного претендента па размещение и поиск позиции на монтажном поле для его размещения. Адаптация затрагивает лишь процедуру поиска места на мои-
тажном поле для установки претендента. Если при традиционном использовании алгоритма, оптимизирующего лишь монтажно- коммутационные характеристики, поиск места для установки претендента осуществляется на множестве всех незанятых позиций, то после адаптации поиск производится на множестве незанятых позиций, которые определяются моделью ПРОТК. Адаптация заключается в добавлении следующих шагов в процедуру поиска места для установки претендента: определение подмножества (класса эквивалентности), в которое входит претендент; определе- ние подмножеств позиций (номеров вершин типа Q), с которыми связана вершина типа X, содержащая претендент; выделение подмножества позиций для поиска места установки претендента путем объединения незанятых позиций всех подмножеств, соот- ветствующих вершинам типа Q и связанных с вершиной типа X, к которой принадлежит претендент; коррекция модели ПРОТК после установки очередного претендента. Адаптация последовательных алгоритмов, с одной стороны, сокращает число просматриваемых позиций на этапе поиска места для установки очередного претендента, что ведет к сниже- нию трудоемкости алгоритма, а с другой стороны, увеличивает потребности в памяти для хранения модели ПРОТК и время на определение области поиска позиции. Определение области поиска позиции для претендента требует добавления следующих шагов в последовательный алгоритм: 1) определение номера вершины типа X, к которой относится претендент; 2) определение номеров вершин типа Q, связанных с вершиной типа X, содержащей претендент; 3) определение порядковых номеров элементов в массиве позиций, среди которых нужно вести поиск места для претендента. Адаптация последовательных алгоритмов размещения однога- баритных элементов в фиксированные позиции не увеличивает порядок их вычислительной сложности. Если рассмотреть алгоритмы парных перестановок разно- габаритных элементов, то их адаптация принципиально не отличается от адаптации алгоритмов парных перестановок однога- баритных элементов. Задача даже упрощается, так как область поиска второго элемента пары определяется классом эквивалент- ности, к которому принадлежит первый элемент. 3.6. КРАТКИЕ ВЫВОДЫ В третьем разделе сформулирована постановка задачи размещения элементов ЭВА. Здесь дана классификация, на ос- нове которой можно выбирать алгоритмы для конкрет- ных объектов проектирования. Дана краткая характерис-
тика существующих методов размещения, которая позволит студентам выбирать и самостоятельно разрабатывать конкретные алгоритмы. Рассмотрены модель задачи размещения и выбор целевой функции. Описаны конкретные алгоритмы размещения элементов на основе поиска медиан графа, линейного размещения методом ветвей и границ, размещения с совместной оптимизацией монтаж- но-коммутационных и тепловых характеристик. В настоящее время для решения задач проектирования СБИС необходимы конструктивные алгоритмы с ВСА О (п). Перспек- тивной является разработка различного рода поисковых процедур Важнейшая проблема —совместная оптимизация при размещении и компоновке, а также размещение по многоцелевому критерию. Основная цель раздела—познакомить с конкретными алгорит- мами размещения, а также научить строить любые математи- ческие модели размещения и на их основе разрабатывать поисковые, точные, итерационные и другие алгоритмы размеще- ния элементов КС ЭВА. Задача размещения элементов коммутационных схем сводится к отображению математической модели в коорди- натную решетку. УПРАЖНЕНИЯ, ЗАДАЧИ, ВОПРОСЫ ДЛЯ ПОВТОРЕНИЯ 1. Сформулируйте постановку задачи размещения модулей ЭВА. 2. Какие основные критерии используются при решении задачи размещения элементов? 3. Дайте классификацию ЭВА применительно к задаче размещения. 4. Дайте классификацию алгоритмов размещения элементов. 5. Дайте краткую характеристику конструктивным (последовательным), итера- ционным, декомпозиционным, поисковым методам и методам, реализующим математические или физические аналоги задачи размещения. 6. Приведите краткую характеристику методов размещения, входящих в 14 под- групп в классификации по принципу структурной общности. Опишите параллельно-последовательный метод размещения. 7. Найдите выбор способа решения для СБИС с числом элементов 106 и числом типоразмеров элементов, равным 15. 8. Опишите модель задачи размещения. 9. Запишите показатели качества размещения (метрический, топологический, обобщенный). 10. В чем заключается использование вероятностных и прогнозирующих методов оценки качества размещения?
11. Опишите процедуру оценки минимальной суммарной длины ребер графа на основе стандартного графа. 12. Приведите идею алгоритма размещения элементов на основе поиска медианы графа. Постройте структурную схему алгоритма. 13. Для графа G (рис. 3.20) произведите размещение на основе поиска медианы. 14. Опишите методику размещения графа КС методом ветвей и границ. 15. Для графа G (рис. 3.20) произведите размещение в решетке G, размером 3x2. 16. В чем заключается операция факторизации при групповой перестановке вершин графа. 17. Сформулируйте постановку задачи размещения элементов с совместной оптимизацией монтажно-коммутационных и тепловых характеристик. 18. Приведите структурную схему процесса конструкторского ЭВА с учетом тепловых факторов. 19. Опишите способы построения моделей пространства решений, оптимальных по тепловому критерию. 20. Опишите методику размещения для ТЭЗ с одногабаритными элементами, устанавливаемыми в фиксированные позиции со схемой теплоотвода, ради- альной по контуру. 21. Запишите ЛСА оптимального размещения элементов исходя из катастрофи- ческих отказов. 22. Приведите пример использования метода ветвей и границ для решения задач теплового размещения. 23. Постройте ГСА размещения разногабаритных элементов с кондуктивным механизмом отвода тепла от элементов через материал основания. 24. Постройте расплывчатый алгоритм построения пространства решений с ми- нимальными температурными перепадами для радиальной схемы теплоотвода. 25. Запишите алгоритм Ван-Хао построения модели пространства решений с минимальными температурными перепадами для модулей ЭВА с поверх- ностной схемой теплоотвода. 26. Каковы перспективы разработки новых алгоритмов размещения с много- критериальной оптимизацией? Глава 4. АЛГОРИТМЫ И МОДЕЛИ ТРАССИРОВКИ СОЕДИНЕНИЙ МОДУЛЕЙ ЭВА 4.1. ПОСТАНОВКА ЗАДАЧИ И КЛАССИФИКАЦИЯ АЛГОРИТМОВ ТРАССИРОВКИ Трассировка соединений; перечень соединений; слой; деревья Прима; Штейнера; плоская укладка; правило выбора; алгоритмы волновой, лабиринтный, канальный и гибкой трассировки; дискретное рабочее поле
Трассировка соединений является, как правило, заключительным этапом конструкторского проектирования ЭЬА и состоит в определении линий, соединяющих эквипотенциальные контакты элементов, и компонентов, составляющих проектируемое устройство. Задача трассировки—одна из наиболее трудоемких в общей проблеме автоматизации проектирования ЭВА. Это связано с несколькими факторами, в частности с многообразием способов конструктивно-технологической реализации соединений, для каж- дого из которых при алгоритмическом решении задачи приме- няются специфические критерии оптимизации и ограничения. С математической точки зрения трассировка -наисложнейшая задача выбора из огромного числа вариантов оптимального решения. * Одновременная оптимизация всех соединений при трассировке за счет перебора всех вариантов в настоящее время невозможна. Поэтому разрабатываются в основном локально оптимальные методы трассировки, когда трасса оптимальна лишь на данном шаге при наличии ранее проведенных соединений. Основная задача трассировки формулируется следующим об- разом: по заданной схеме соединений проложить необходимые проводники на плоскости (плате, ТЭЗ, кристалле и т. п.), чтобы реализовать заданные электрические соединения с учетом заранее заданных ограничений. Основными являются ограничения на ширину проводников и минимальные расстояния между ними. Исходной информацией для решения задачи трассировки соединений обычно являются список цепей, параметры конструк- ции элементов и коммутационного поля, а также данные по размещению элементов. Критериями трассировки могут быть процент реализованных соединений, суммарная длина проводни- ков, число пересечений проводников, число монтажных слоев, число межслойных переходов, равномерность распределения про- водников, минимальная область трассировки и т. д. Часто эти критерии являются взаимоисключающими, поэтому оценка ка- чества трассировки ведется по доминирующему критерию при выполнении ограничений по другим критериям либо применяют аддитивную или мультипликативную форму оценочной функции, например следующего вида: F='£'kifi, гДе F — аддитивный крите- р рий; —весовой коэффициент; f —частный критерий; р- число частных критериев. Задача трассировки всегда имеет топологический и метри- ческий аспекты. Топологический аспект связан с выбором допусти- мого пространственного расположения отдельных фрагментов соединений без фиксации их конкретного месторасположения при ограничениях на число пересечений и слоев и т. п. Метрический аспект предполагает учет конструктивных размеров элементов,
соединений и коммутационного поля, а также метрических ограничений на трассировку. В известны^ алгоритмических методах решения задачи трасси- ровки метрический аспект присутствует всегда, а топологи- ческий— в большей или меньшей степени. Все существующие методы трассировки можно подразделить на две большие группы: последовательные и параллельные. В последовательных методах трассы проводят одну за другой последовательно, при этом проведение какой-либо трассы а на (7—1)-м шаге может затруднить проведение трассы b на г-м шаге, так как является препятствием для проведения трассы Ь. Следовательно, особенно актуальным для последовательных ал- горитмов трассировки является предварительное ранжирование (упорядочение) соединений до трассировки. Существуют различ- ные стратегии упорядочения, основанные, в частности, на длине соединений, степени охвата соединением других соединений и др. Однако объективных оценок эффективности таких методик в на- стоящее время нет, поэтому наиболее разумными представляются использование нескольких вариантов очередности и выбор из них наилучшего. Задачу трассировки можно условно представить в виде четырех последовательно выполняемых этапов: определение перечня соединений; размещение по слоям; определение порядка соединений; трассировка проводников. На первом этапе формируется точный список, указывающий, какие соединения (цепи или фрагменты цепей схемы) должны быть проведены. На втором этапе предпринимается попытка точно решить, где каждое соединение может располагаться. На третьем этапе определяется порядок соединений для каждого слоя, т. е. указывается, когда каждый проводник, помещенный в этот слой, будет проведен. На четвертом этапе дается ответ, каким образом должно быть проведено каждое соединение. Рассмотрим указанные этапы подробнее. Исходная информа- ция для первого этапа—это перечень соединений контактов каждого элемента с контактами других элементов. Одиночные контактные соединения записываются непосредственно в перечень соединений (матрицу цепей или список). Трудность при реализации возникает тогда, когда один контакт необходимо соединить с несколькими контактами. Для решения этого вопроса исполь- зуют алгоритмы построения кратчайших покрывающих деревьев Прима или Штейнера.^ На этом этапе ЭВМ не производит соединений, она только решает, какие проводники должны быть растрассированы. При определении перечня соединений необходимо также решать вопросы распределения контактов элементов по контактам
разъема. Часто на практике пытаются исключить пересечение при проведении прямых линий между контактами элементов и соответствующими им контактами разъема. При трассировке многие элементы имеют логически эквивалентные контакты. Поэтому для упрощения трассировки просматривают проводники, подходящие к таким контактам, и при необходимости заменяют их друг на друга. Правило при замене проводников обычно заключается в исключении пересечений прямых линий. После определения перечня трассируемых соединений решается задача размещения проводников по слоям. Она сводится к построению плоской укладки графа КС. Окончательный вариант размещения по слоям можно улучшить, если проанализировать каждый проводник. На третьем этапе производится исследование каждого слоя с целью точного определения момента, когда можно будет трассировать каждый проводник, другими словами —определить порядок обработки проводников в каждом слое. Для двух проводников существует правило выбора: если контакт В появ- ляется в прямоугольнике А, т. е. в прямоугольнике, имеющем в противоположных углах контакты проводника, то проводник В надо трассировать первым. К сожалению, не всегда это правило применимо. Сформулируем общее эвристическое правило Айкерса о порядке трассировки проводников. Проводники трас- сируются в порядке приоритетных номеров. Приоритетный номер проводника V равен числу контактов в прямоугольнике W. На практике обычно короткие горизонтальные и вертикальные от- резки проводников трассируются первыми, далее трассируются окружающие их почти вертикальные и горизонтальные провод- ники. В заключение трассируются длинные соединения, которые по отношению к другим чаще располагаются с внешней стороны. Обычно проблему размещения соединений по слоям рассма- тривают как задачу раскраски специального графа. Далее про- изводится исследование каждого слоя с целью определения порядка обработки соединений внутри каждого слоя. После того как все соединения распределены по слоям и определен порядок их обработки, решается задача трассировки фрагментов всех цепей, что и выполняется на четвертом этапе. Четвертый этап трассировки является основным, наиболее трудоемким, определяющим эффективность и качество всей задачи трассировки. На рис. 4.1 приведена классификация алгоритмов трассировки этого этапа. К волновым относятся алгоритмы, основанные на идеях динамического программирования на дискретном рабочем поле (ДРП). В настоящее время разработано огромное число моди- фикаций волнового алгоритма, предложенного Ли еще в 1961 г., однако все они сохраняют его основной недостаток: большие объемы вычислений и памяти ЭВМ. Временная сложность волнового алгоритма составляет O(M-N), где N—число клеток
Рис. 4.1. Классификация алгоритмов трассировки ДРП; М—число точек, подлежащих соединению. Эффективное использование волновых алгоритмов возможно лишь для ДРП с числом клеток не более 105, при этом время трассировки составляет несколько часов работы ЭВМ. Число неразведенных трасс обычно не превышает 10%. Основная идея лабиринтных алгоритмов состоит в отыскании пути между двумя ячейками ДРП посредством последовательного обхода преград в лабиринте, образованном занятыми и свобод- ными ячейками. В отличие от волнового алгоритма поиск носит направленный характер, поэтому время поиска сокращается. Алгоритмы обычно обеспечивают разводку около 80% соединений. Эвристические алгоритмы трассировки эффективны, как прави- ло, только на начальных стадиях трассировки, когда на плоскости Мало преград. Основная идея состоит в генерации самых длинных незанятых отрезков в направлении цели с эвристическими прие- мами обхода препятствий. В параллельных алгоритмах трассировки в начале определяется допустимое взаимное расположение трасс, которое оптимизи- руется по выбранному критерию, и лишь потом трассы фикси- руются на коммутационном поле. Перспективными в настоящее время являются канальные алгоритмы, основанные на возможности в некоторых случаях регулярного разбиения коммутируемого поля (КП) на каналы и трассировки внутри каналов вертикальными и горизонтальными отрезками. Алгоритмы работают быстро, однако для них акту- альна проблема качества получаемых решений. Отметим, что канальным алгоритмом свойствен иерархический подход к трасси- ровке, когда исходная задача декомпозируется на несколько подзадач. При этом на каждом иерархическом уровне в зави- симости от его специфики целесообразно применение различных методов трассировки.
Рис. 4.2. Модель Рис. 4.3. Модель КП: Рис. 4.4. Пример КП ДЛЯ ВОЛНОВЫХ а—регулярное разбиение; б — нерегулярное разби- ориентированного и лабиринтных ал- ение дерева цепи ек горитмов трасси- ровки В алгоритмах гибкой трассировки на первом этапе строятся модели топологии для трасс цепей на дискретном топологическом рабочем поле (ДТРП) (без жесткой фиксации), а на втором этапе—модели геометрии, которые метрически точно определяют конфигурацию и месторасположение каждой трассы на КП. В графотеор*Ьтических методах используют графовые модели элементов и компонентов схем, на основе которых синтезируется топологический эскиз проектируемого устройства. На следующем этапе решается задача метризации топологического эскиза. Рассмотрим модели КП для указанных алгоритмов трасси- ровки. Для волновых и лабиринтных методов используется ДРП следующего вида. Пусть задана прямоугольная система координат SOT (рис. 4.2) на КП и выбраны единицы измерения hs и ht соответственно вдоль осей OS и ОТ. Проведем через точки осей с координатами a/?s и aht, где а=1, 2, ..., прямые, параллельные осям координат. Тогда плоскость КП может быть разбита на элементарные прямоугольные ячейки размером hsxht, а прямые разбиения образуют координатную сетку с шагом hs по оси OS и шагом Л, по оси ОТ. Совокупность элементарных ячеек, на которые разбивается КП, называется ДРП. Значения hs и ht выбираются в зависимости от площади КП, допустимой плотности рас- положения выводов элементов и проводников. Модель КП для канальных и эвристических алгоритмов, так же как и в предыдущем случае, разбивается на прямоугольные области, называемые каналами, но в отличие от предыдущей модели разбиение определяется расположением выводов элемен- тов. Если элементы однотипны и размещены на плоскости регулярно, то разбиение на каналы также будет регулярным, в противном случае—нерегулярным (рис. 4.3, а, б). Длина стороны любого канала, параллельной преимуществен- ному направлению трасс на слое, называется длиной этого канала, а длина другой стороны—его шириной. Число трасс,
которые могут пересечь боковую границу канала, называется пропускной способностью канала. Регулярное разбиение КП на прямоугольники не вызывает затруднений. Нерегулярное разбиение несколько сложнее. Жела- тельно, чтобы прямоугольников разбиения было как можно меньше, так как при этом уменьшается время трассировки, а также размеры таблиц для представления данных. Для описания топологии трасс в методах гибкой трассировки строится ДТРП. Ее можно представить в виде графа Gr = (Xr, Ur), где Хг соответствует контактам элементов, характерным точкам края платы, внешним контактам, запрещенным зонам; Ur—ли- ниям, соединяющим элементы хеХг. Вообще, дискретами могут быть грани любой конфигурации. При этом ненасыщенные трассами грани могут сжиматься, а те, через которые проходит большое число трасс,—растягиваться. Приведем математическую формулировку задачи трассировки электрических соединений. Исходными данными являются КС, конструкция плоскости, результаты размещения элементов. Будем считать, что все трассы прокладываются в одном слое; КС определяют подмножества непересекающихся множеств контактов Ср(р=1, 2, ..., к), координаты которых заданы. Контакты каждого подмножества Ср>, = Ср в КС объединены электрическим соединени- ем, т. е. цепью (см. 1.5). Необходимо соединить контакты цепей таким образом, чтобы фрагменты различных цепей не пересекались и располагались друг от друга на расстоянии не меньше заданного. Математической моделью конструкции является регулярная коор- динатная сетка (граф Сг), соответствующая ДРП. Отметим, что размеры ячеек ДРП обычно определяют площадью, заданной для трассировки плоскости ограничениями на плотность расположения контактов и соединений. Пусть ячейки ДРП имеют форму квадратов и через каждую ячейку xteX\X3 может проходить только одно соединение, где Х3—множество запрещенных для проведения трасс ячеек ДРП. Каждой ячейке ДРП будет соответ- ствовать вершина Gr = (Xr, Ur). Тогда любую цепь 1к КС можно представить в виде ориентированного дерева Тк с G (граф КС) с корнем в произвольно выбранной вершине хк (рис. 4.4). Тогда дерево Тк можно рассматривать как объединение простых путей (хк, ск, 1)U(^> Ck,2)U(*fc, Qt,3)U(*t> Q.4)U(^)t, Ct<5). Причем каждый путь (хк, ск'Г) состоит из дуг uitj=(Xi, Xj), которые соответствуют прохождению трассы из ячейки в соседнюю ячейку Xj. Вводят булевы переменные kr_ J1, если дуга uitj принадлежит пути (хк, ск_г)~, t,J [0 в противном случае. Длина цепи будет выражаться числом покрываемых ячеек, т. е. вершин Gr, и определяться как
Lk = x X Л/+1. (4.1) 1еХрХ3 jeXj\X3 где j^Xj- -множество ячеек, соседних c i и принадлежащих Х;\ J3; и Лй (4.2) г = 1 пк = | Т| — 1 — число вершин дерева. На основе вышеизложенного критерий трассировки записыва- ют так: яг т X Уи+т- (4-3) к = 1 к=1 ieX,\X3jeX,\X3 Для каждого пути (хк, ск г) обычно задаются следующие ограничения: из вершины хк выходит только одно ребро, принадлежащее пути; в каждую вершину хк не должны заходить никакие ребра; в вершины ск>(. заходит единственное ребро из пути (хк, ск<г); в вершинах ск< г нет выходящих ребер; в любой вершине ieX^X3 не должно быть обрыва пути (*к, Ск.г)- Для учета требования непересечепия различных трасс вводят ограничения т YYyli^- (4-4) jeXjk-1 Минимизация критерия L с учетом рассмотренных ограни- чений может представлять собой ЗЦП, решение которой (см. гл. 1) будет определять трассировку соединений Заметим, что из-за громоздкости и длительности решения в практических задачах в основном используют эвристические алгоритмы трас- сировки с минимизацией описанного критерия или его моди- фикаций. 4.2. ТРАССИРОВКА ПРОВОДНЫХ СОЕДИНЕНИЙ Проводное соединение; алгоритмы модифицированный Прима, Ханана; точка Штейнера В зависимости от конструктивной реализации связей выделяют трассировку проводных соединений, трассировку печатных соеди- нений, трассировку межсоединений на кристалле БИС. Здесь рассмотрим вопросы трассировки проводных соединений, а также одностороннего, двустороннего и многослойного монтажа на печатных платах. Вопросы трассировки межсоединений в БИС и СБИС будут рассмотрены в гл. 5.
Среди всех конструктивно-технологических реализаций связей проводной монтаж с точки зрения практического решения задачи трассировки наиболее прост. Объясняется это тем, что проводники изолированы Друг от друга и не стоит задачи об ограничениях на пересечения. Поэтому основным критерием трассировки про- водных соединений является суммарная длина соединений. Для проводного монтажа задача трассировки сводится к по- строению на вершинах графа дерева с минимальной суммарной длиной ребер, при этом вершины графа моделируют соединяемые контакты, а ребра- межсоединения. Единственное ограничение накладывается на максимальную локальную степень вершины, так как технологически целесообразно подсоединять к одному контакту не более определенного конечного числа соединений. Задача построения минимального дерева формулируется сле- дующим образом. Пусть Р = {рг, р2, , рп}—множество точек плоскости, соответствующих выводам произвольной цепи. Рассмо- трим полный граф Кп=(Х, U), вершины которого xteX соответ- ствуют выводам цепи, а ребра UjeUс приписанным к ним весом ц(и7) характеризуют соединения между парами выводов. Значение ц(ы7) может представлять линейную комбинацию нескольких характери- стик соединения ц(ы7) = ц1^1(ыД-|- ... +ps</s(Hj), где ш - весовые коэффициенты; некоторая характеристика соединения и}. Теперь исходная задача сводится к определению в графе G дерева, включающего все вершины хеХ и имеющего минималь- ный суммарный вес ребер, т. е. КПД (см. 1.2). Решение задачи дано в работах Краскала, Лобермана, Уйэнбергера и Прима [3, 4, 6, 12, 22, 38, 44, 59, 65, 70]. Под расстоянием между вершинами графа будем понимать значение ц(иД приписанное соответственно ребрам графа. Рас- стоянием от вершины до изолированного фрагмента будем считать минимум расстояний от отде юных вершин до фрагмента. Алгоритм Прима построения кратчайшего покрывающего дерева или цепи с п выводами может быть описан теперь следующим образом. 1°. Для произвольного вывода цепи найти ближайший и про- вести соединение. 2°. На каждом последующем шаге i = 2, 3, ..., п из множества неподсоединенных выводов выбрать тот, который находится ближе остальных (в указанном выше смысле) к группе уже связанных выводов, и подсоединить его к этой группе по кратчайшему пути. Рассмотрим пример. Пусть необходимо соединить цепью эквипотенциальные контакты, обозначенные цифрой 1 на рис. 4.5, а. Для этого примера по шагам рассмотрено решение задачи построения КПД с помощью алгоритма Прима на рис. 4.5, б д. Построенное по алгоритму Прима КПД обладает тем, свойством, что степень любой вершины не превышает 6. Как правило, при разработке монтажных
Рис. 4.5. Пример построения КПД по шагам схем проводных соединений вводится ограничение на максимальное число соединений, подходящих к одному выводу. Если Х<6, то необходимо использовать специальные алгоритмы построения КПД. Для решения такой задачи часто используются алгоритмы, основанные на методе ветвей и границ, однако при анализе большого числа цепей предпочтение отдают эвристическим алгоритмам. Например, рассмотрим модифицированный алгоритм Прима. Всякая изолиро- ванная вершина соединяется с ближайшей, не соединенной с X другими вершинами; всякий изолированный фрагмент соединяется кратчайшим ребром с ближайшей вершиной, не соединенной с X другими вершинами. В некоторых случаях помимо ограничения на степени вершин задаются начальная и конечная точки цепи. Это имеет место, например, при разработке монтажных схем для высокочастотных цепей, когда необходимо в определенной последовательности связать источник сигнала и несколько нагрузок. Иногда задача сводится к построению кратчайшего пути между двумя заданными выводами, проходящего через все остальные выводы цепи. Данная задача родственна задаче о маршруте коммивояжера, а следуя терминологии теории графов,—это задача построения кратчайшей гамильтоновой цепи между задан- ными начальной и конечной вершинами. Рассмотрим алгоритм, дающий приближенное решение этой задачи. Основой алгоритма являются (и — 1)-й шаговый процесс выбора кратчайших ребер в полном графе К„, проверки каждого ребра на выполнение ограничений задачи и со- ставление из выбранных ребер пути, соединяющего заданные точки. Приведем пример. Пусть задано расположение точек, подлежащих соединению на плате (рис. 4.6,а). Составим упорядоченную по возрастанию длин последова- тельность ребер полного графа К„: (1* • -3), (1* - 2), (2*— 3), (4 5), (3—4), (3- 5). (1*—4), (2* 5), (2* -4), (1* — 5). Отметим, что 1* и 2*- соответственно начальная и конечная точки пути.
I Рис. 4.6. Пример работы алгоритма по шагам Очередное ребро i = l, 2, ..., и—1 выбирается по порядку из этой последовательности при выполнении 'следующих условий: 1. Ребро не соединяет заданные конечную и начальную точки (1* и 2*). 2. При включении ребра в путь степень вершин, соединяемых этим ребром, не превышает заданной (Х= 1 для начальной и конечной точек и ?.=2 для остальных точек). 3. Ребро не образует цикла с ребрами, уже включенными в путь. 4. При включении в путь любого ребра (кроме (и — 1)-го) начальная и конечная точки остаются несвязанными. Условия 1 — 3 непосредственно вытекают из ограничений задачи. Условие 4 препятствует образованию тупиковых ситуаций, когда дальнейшее формирование пути становится невозмож- ным—все подсоединенные точки, кроме начальной и конечной, имеют степень Х=2. Пошаговый процесс формирования пути изображен на рис. 4.6, а — д. Среднее изменение длин монтажных соединений для данного алгоритма по сравнению с оптимальным решением составляет порядка 5%. Задача построения КПД усложняется, если при соединении множества вершин (контактов цепи) разрешается использование дополнительных точек соединения. В общем виде данная задача формируется так: для заданных х15 х2, , хп точек плоскости построить КПД с п' ^п вершинами—и называется задачей Штейнера (ЗШ). Обычно решение ЗШ рассматривают в областях прямоугольной конфигурации. Известно, что для п ^5 известно решение ЗШ, в общем же случае известны условия, которым должны удовлетворять деревья Штейнера (ДШ) и эвристические алгоритмы. Дополнительные точки, вводимые при построении КПД, называют точками Штейнера (ТШ).
Рис. 4.7. Пример исполь- зования леммы 4.2 Рис. 4.8. Пример построения ДШ Приведем ряд лемм, полученных Фридманом и Меноном, дающих необходимые условия существования и построения ДШ [65 ]. Лемма 4.1. Для п вершин, которые должны быть соединены между собой, всегда можно построить ДШ, в котором каждая ТШ gi соединена по крайней мере с тремя другими. Лемма 4.2. Для множества вершин (х1. х2, х3}, которые дол- жны быть соединены, координаты ГШ g, минимизирующей Е d(g, rii), будут Scp, Тср и справедливо выражение 1 = 1 з Е d(s, «i)= 1/2Р(х1, х2, х3), (4.5) i — 1 где Scp, Тср—средние значения ,S, (f = l, 2, 3) и t} 0 = 1, 2, 3); P(xt, x2, x3) длина периметра прямоугольника, построенного на вершинах ду, х2, х3; d(g, nt) - прямоугольное расстояние между g и н;. На рис. 4.7 показан пример, иллюстрирующий условия леммы 4.2 при построении ДШ, соединяющего вершины xt, х2, х3. Точка Штейнера g имеет координаты Sg = 3, tg = 5. Лемма 4.3. Дано ДШ, состоящее из х,- точек плоскости. Пусть ТШ g соединена только с тремя вершинами д15 х2, х3. Тогда g находится внутри прямоугольника, построенного на точках xlf х2, х3, и ТШ единственна. Следствие 4.1. Для заданного множества вершин х1г х2, х3 ДШ содержит одну ТШ g с координатами (S'cp, Тср), если она не совпадает ни с одной из вершин х15 х2, х3 и суммарная длина ребер ДШ равна х2, х3).
Лемма 4.4. Дано ДШ на множестве X = {х15 х2, хп}, а ТШ этого дерева образуют множество g = {gj, g2, —, gj- Если gtcg и g^I, то gj содержит элемент gt к, соединенный не менее чем с двумя верйшнами из I, в противном случае gt пусто. Здесь I—множество точек пересечения линий координатной сетки. На основе приведенных лемм сформулирована известная теорема. ' Теорема 4.1. Дано ДШ на множестве; вершин Х = {хг, х2, хи} с множеством ТШ g = {gt, g2, • gfc}- Тогда для этого множества существует такое другое ДШ с множеством ТШ g', что (Vgjeg')(g ';£/). Из рассмотрения теоремы следует метод определения ДШ на основе полного перебора в качестве ТШ всех возможных подмножеств точек I. Очевидно, что такой метод применим только при построении ДШ для небольшого числа ТШ. В этой связи разрабатываются эвристические процедуры построения квазиминимальных ДШ. Процедура 1. 1°. Все вершины х^еХ проектируются на ось S(T). 2°. Расстояние от наименьшей до наибольшей координаты делится пополам, и из этой точки i е I или [z] при i'.ф I проводится перпендикуляр (столб Штейнера). У. Из каждой вершины х{еХ опускается перпендикуляр до пересечения со столбом Штейнера. 4°. Построено ДШ. Конец работы алгоритма. Данный алгоритм очень прост, ВСА равна О (и), но в смысле минимума суммарной длины проводников результаты далеки от совершенства. Процедура 2 (Алгоритм Ханана). 1’. Все множество вершин х{еХ разбивается на классы So, St,... ..., Sj в порядке возрастания координаты так, чтобы у всех вершин одного класса была одинаковая координата St. 2°. Анализируется множество вершин класса So, и соединяются перпендикуляром все вершины этого множества с точкой оси S’. 3°. Образуется множество Г, состоящее из всех точек Z, которые были до этого соединены с произвольной вершиной xir включая и вершины хг строящегося ДШ. 4°. Выбирается следующее множество Si+1, имеющее наимень- шую координату 5. Определяются точка гтеГ и вершина XjESi+l, для которых J(rm, x^d(iv x'j), \/x'jGSi+1. Другими словами, находится на кратчайшем расстоянии от рассматриваемого фрагмента ДШ в классе Si+1. Точка im
с координатами (sm, tm) соединяется с вершиной х, с координатами {st, t-) двузвенной ломаной линией. Причем звенья параллельны координатным осям S и Т. 5°. Для каждой вершины xkeSi+l производятся операции, аналогичные 4 . При этом вершина хк соединяется с ближайшей в Г. 6°. Пункты 4° и 5° повторяются для всех по порядку множеств Sj до построения ДШ. Отметим, что существует большое число модификаций описан- ных процедур. Можно проводить упорядочивание координат не по увеличению S'(T). а по уменьшению S(T). Временная сложность алгоритма процедуры 2 составляет (?(си2). На рис. 4.8 показана реализация процедуры 2 с упорядочиванием вершин в 1° в порядке убывания координат S. Суммарная длина ДШ составляет 22 условные единицы, при этом число ТШ равно 2. Для построения ДШ можно использовать методы ПВГ, ПВШ или ветвей и границ в зависимости от требований на ВСА. 4.3.. ОПРЕДЕЛЕНИЕ ПЛАНАРНОСТИ МАТЕМАТИЧЕСКОЙ МОДЕЛИ СХЕМЫ И ЕЕ ПЛОСКАЯ УКЛАДКА Непланарный граф; максимально планарный граф; матрицы модифицированная смежности, описывающая орграф; ориентированное покрывающее дерево; обратное ребро; дуга После определения перечня соединений, т. е. построения КПД на основе принципов Прима или Штейнера, решаются задачи определения планарности ММ КС. Предварительно производится анализ графовой модели КС. Для этого осуществляют разбиение всего множества связных неорграфов M(Gj на три непересекаю- щихся подмножества М1г М2 и М3. В подмножество Мк включаются все связные графы, для числа вершин и ребер которых выполняется неравенство т (и + 2). (4.6) Подмножество графов Мк объединяет все заведомо планарные графы. Для связных графов, входящих в подмножество Мг, число вершин и некратных ребер должно быть связано следующим соотношением: т>3(п-2). (4.7) Все графы, включенные в подмножество М2, заведомо непла- нарны. Это следует из того, что число ребер максимально планарного графа равно 3(и — 2). Подмножество М3 включает те связные графы, у которых число ребер лежит в пределах
Рис. 4.9. Фрагмент коммутационной схемы Рис. 4.10. Орграф для фрагмента КС (рис. 4.9) (и + 2)<ш<3(« —2). (4.8) В подмножество М3 входят как планарные, так и непланарные графы. Рассмотрим методику определения планарности графов, входя- щих в подмножество М3. Приведенный алгоритм содержит три части. Первая часть посвящена описанию построения ориентиро- ванного графа D, получаемого из исходного графа G в результате поиска в глубину. Структура орграфа D проще исходного, так как сразу видны все пути и циклы в нем. Во второй части рассматриваются вопросы, связанные с нахождением циклов в графе D. В третьей части описывается построение планарного графа путем перемещения обратных ребер, соответствующих ранее найденным циклам [38, 52]. Дан неориентированный простой связный граф G без петель с числом вершин п. Граф G описывается матрицей R= Ггг, /1 п х р, где р — максимальная локальная степень вершины в графе. Элемент r(I, J) = n, если в графе существует ребро (/, и). Дерево, получающееся в результате поиска в глубину на исходном графе G, называется ориентированным покрывающим деревом (ОПД). Дуга орграфа /)=(Г, W) является обратным ребром, если в ОПД существует путь от вершины w к вершине v и ребра графа D, не принадлежащие ОПД, являются обратными ребрами. В качестве примера будем рассматривать фрагмент КС (рис. 4.9),- модификация матрицы смежности которого приведена ниже.
Номера элементов 1 2 3 R = 4 5 6 7 8 Номера контактов 1 2 3 2 4 7 1 3 8 2 6 4 1 3 О 6 7 8 3 5 0 1 5 8 2 5 7 Первая часть алгоритма заключается в построении матрицы В= Д, описывающей орграф D. Орграф D строится на неориентированном простом связном графе G, представленном матрицей R с помощью поиска в глубину (см. 1.3). Алгоритм построения орграфа D приведен ниже. Пусть г,- —номер вершины, рассматриваемой в настоящей момент времени. Сформулируем алгоритм. 1 °. Построение начинается с вершины vh i=l, п. 2°. В результате прохождения по ребру (г;, г,), i^j, инцидентно- му рассматриваемой вершине г;, происходит переход к следующей вершине Vj. 3°. Определяется, является ли Vj новой вершиной (или она была уже ранее пройдена), т. е. принадлежит ли ребро (г;; г7) ОПД или нет. Если вершина ранее не посещалась, то переход к 4°, иначе — к 5°. 4°. Ребро (г;, является дугой в ОПД. Рассматриваем новую вершину Vj, т. е. v/^Vj, переход к 2°. 5°. Ребро (г;, Vj), по которому был осуществлен переход в Vj, является обратным. 6°. Определяется, имеет ли рассматриваемая вершина еще одно инцидентное ребро, которое не было ранее пройдено. Если да, то переход к 2°, иначе— к 7°. 7°. Осуществляется проверка, полностью ли построен орграф D, т. е. все ли ребра исходного графа G были пройдены во время построения. Если нет, то переход к 8°, иначе—к 9 8°. Происходит возвращение на ранее пройденную вершину vf_j по дуге ОПД, по которой осуществлялся переход в рас- сматриваемую в настоящий момент времени вершину Vj, и рас- сматривается уже вершина г; Д, переход к 6°. 9°. Алгоритм прекращает работу. Построение орграфа D за- вершено. Матрица В имеет ту же размерность, что и R. Элемент b(l, J)=k, если дуга (А к) принадлежит ОПД, и b{I, J)=—k, если дуга (7, к) является обратным ребром. Рассматривается первая строка матрицы R, элементу матрицы В присваивается значение первого отличного от нуля элемента матрицы R,
стоящего в этой строке, т. е. процесс начинается с первой вершины, осуществляется переход по ребру (1, к) в вершину к, так как к никогда ранее не посещалась. Производится формирование последовательностей S(L), L= 1, п, в которую входят номера пройденных вершин С(£), £=1, и, и номера столбцов, где стоят просмотренные вершины в матрице R, и SP(L), в которую входят вершины,, в порядке построения ОПД. Последовательности S(£) и C(L), L=\,n, используются, когда возникает необходимость вернуться назад на пройденную вершину и продолжать исследовать ребра, инцидентные ей. Последовательность SP(L) нужна во второй части алгоритма при построении матрицы, описывающей циклы в орграфе D. Далее все будет повторяться, как было описано выше, до тех пор, пока не будут исследованы все ребра исходного графа, т. е. построен орграф D (рис. 4.10), описываемый матрицей В, приведенной ниже: 1 2 1 2 0 2 0 3 3 0 6 3 о о 4 0 о о 8 о 6 0 5 7-10 8 —2 -5 Вторая часть алгоритма состоит в определении всех циклов в орграфе D и построении матрицы Rc, описывающей эти циклы. Число циклов в орграфе D равно числу обратных ребер в нем, т. е. числу отрицательных элементов в матрице В, так как все циклы в D состоят из пустого пути в ОПД и одного обратного ребра. Определение циклов в D происходит следующим образом. Первыми находят циклы, соответствующие обратные ребра которых начинаются в вершине, исследованной последней при построении ОПД, затем циклы, обратные ребра которых исходят из вершины, пройденной предпоследней при построении ОПД, и т. д. Поиск цикл'а начинается из конечной вершины v соответст- вующего ему обратного ребра. При прохождении по дуге (у, w) ОПД, посещается некоторая вершина w. Если эта вершина не является началом какого-либо обратного ребра, то- осущест- вляются переход по дуге, инцидентной ей в ОПД, и проход в следующую вершину и т. д. Если же w есть начало какого-либо обратного ребра, то определяется, является ли его конечная вершина той, с которой начали поиск. Если да, то цикл найден, если нет, то проходится следующая дуга, инцидентная w. Когда все дуги, инцидентные вершине w, пройдены, а цикл не найден, то возникает необходимость вернуться по дуге (u, w), по которой
пришли в w, и продолжать двигаться по другой дуге, инцидент- ной w, до тех пор, пока не выйдем на обратное ребро, соответствующее искомому циклу. Матрица Rc = [dMI, MJ\, Mxn, где М— число обратных ребер в /); п — число вершин, входящих в цикл максимальной длины, т. е. число вершин в графе. Известно, .что М=т — п + 1, где т-—число ребер в исходном графе G. В общем случае максимальное число обратных ребер в планар- ном орграфе D равно 2и—5. Для того чтобы орграф стал планарен, число его дуг должно быть меньше или равно (Зи —6). Это (число слагается из суммы ребер в покрывающем дереве и обратных ребер. Следовательно, максимальное число обратных ребер Зп—J5 — п +1 = 2п — 5. В строку' матрицы Rc последовательно входят вершины, образующие цикл в D, т. е. каждая строка представляет собой набор вершин, последовательно входящих в отдельный цикл. В первом столбце этой матрицы стоят вершины, которые являются конечными вершинами обратных ребер, в последнем - находятся начальные вершины обратных ребер. Третья часть алгоритма заключается в построении планарного графа из D с помощью перестановки его циклов, т. е. соответству- ющих им обратных ребер. Так как D состоит из ОПД и обратных ребер и каждый цикл в нем состоит из ребер в ОПД и одного обратного ребра, то построение планарного графа сводится к размещению обратных ребер в его орграфе D без пересечений. Предположим, что обратные ребра могут располагаться по отношению к покрывающему дереву в двух плоскостях. Одну из них пометим знаком «+», другую « —». Допустим, обратное ребро, идущее из вершины, пройденной последней при построении основного дерева, и соответствующий ему цикл, расположенный в первой строке матрицы Rc, раз- мещаются в «положительной» плоскости. Попытаемся разместить в этой плоскости цикл, стоящий во второй строке матрицы Rc. Алгоритм размещения нового цикла с ранее уложенными в одной плоскости приводится ниже. 1°. Если в новом цикле есть вершина, являющаяся конечной вершиной любого ранее расположенного обратного ребра, то переход к 2°, если нет—к 6°. 2°. Если начальная вершина этого ранее расположенного обратного ребра принадлежит новому циклу, то переход к 6°, иначе—к 3°. 3°. Если вторая вершина ранее уложенного цикла принадлежит новому, то переход к 4°, если нет—к 6°. 4°. Если начальная вершина в размещаемом обратном ребре является разветвлением в покрывающем дереве, т. е. имеет локальную степень исхода больше единицы, то переход к 6°, в противном случае—к 5°. •
Рис. 4.11. Планарный граф фрагмента КС (рис. 4.9) Рис. 4.12. Плоская укладка графа КС (рис. 4.9) 5°. Ранее уложенный цикл переносится в другую плоскость. Знаки элементов в строке матрицы Rc, соответствующей этому перемещенному циклу, меняются на противоположные, г. е. с «+» на « —» и с «—» па «+». 6°. Новый цикл размещается с ранее уложенными в одной плоскости. Если цикл располагается в «положительной» плоскости с ранее размещенными в пей, то рассматривают следующий новый цикл. Если нет, то ранее уложенный цикл перемещаем в отрицательную плоскость и аналогично проверяем, может ли он быть расположен с ранее уложенными циклами. Если нет, то ранее размещенный цикл переносят в положительную плоскость, знаки элементов в соответствующей строке матрицы Rc меняют с « —» на «+». Затем аналогично проверяют возможность расположения переме- щенного в положительную плоскость цикла с ранее уложенными в ней. Далее процесс повторяется, как было описано выше. Если перенесенный в положительную плоскость цикл вызывает переме- щение в отрицательную плоскость первоначального цикла, с кото- рого началось рассмотрение на данной шаге, то считаем, что граф не планарен. Процесс будет продолжаться до тех пор, пока не окажется, что граф не планарен, либо пока не будут расположены все обратные ребра в D без пересечений, т. е. построен планарный граф (рис. 4.11), описанный матрицей R', приведенной ниже: 1 4 1 2 3 4 5 6 7 8 -2 -3 -6 -5 -7 0 0 -8 -5 -7 0 0 0 0 0 -8 1 2 3 6 5 0 0 7 1 2 3 0 0 0 0 4 Необходимо отметить, что в общем случае при заданном фиксированном размещении элементов после получения плоской
Рис. 4.13. Результат работы алгоритма для КС на рис. 4.9 • укладки графа схемы возможно увеличение общей суммарной длины связи. Поэтому целесообразным является совмещение процессов определения планарности графа схемы и размещения его вершин по критерию суммарной длины ребер. Алгоритм позволяет при исследовании матричного представле- ния неориентированного графа получить матрицу, определяющую ориентированный граф, структура которого проще, чем в исход- ном графе, найти все циклы в нем и перемещением соответству- ющих им обратных ребер получить планарный граф. Так, для рассматриваемого примера имеем плоскую укладку графа КС (рис. 4.12) и КС примет вид рис. 4.13. Алгоритм используется для получения плоского изображения графа КС, ВСА равна О (ан2). 4.4. РАСПРЕДЕЛЕНИЕ СОЕДИНЕНИЙ ПО СЛОЯМ Межслойный переход; расслоение; охватывающий прямоугольник; граф несовмести- мости; совмещенная топология; дихроматический подграф; ортогональная трассировка После определения планарности, в том случае когда ММ КС непланарна, решают задачу распределения ребер графа или гиперграфа (соединений КС) по слоям. Целью при ее решении является наиболее эффективное использование площади КП при одновременной оптимизации таких конструктивных парамет- ров КС, как число слоев, межслойных переходов, процент реализо- ванных соединений.
Рис. 4.14. Пример прове- дения соединений в двух слоях ( —1-й слой,--------2-й - слой, ф — контакт элемента, О—переходное отвер- стие) Рис. 4.15. Пример пос- троения охватывающих прямоугольников Рис. 4.16. Граф пере- крытий для примера на рис. 4.15 В зависимости от организации процесса трассировки расслоение осуществляется либо до, либо после, либо в процессе трассировки. Основная идея алгоритмов расслоения, работающих до трасси- ровки, заключается в априорном выделении в КС по тем или иным признакам конфликтующих групп соединений, которые ввиду неизбежных пересечений невозможно назначить на один слой. Часто используемым методом расслоения до трассировки является простой алгоритм формирования двух подмножеств соединений, распределяемых в ортогональной системе координат в двух слоях. Подмножества вертикальных и горизонтальных отрезков назначаются в различные слои. Решение получается быстро, однако очевидно, что оно не оптимально с точки зрения требуемой площади трассировки и числа межслойных переходов (рис. 4.14). В [59] предлагается задавать меру «взаимодействия» соедине- ний при решении задачи расслоения путем построения для каждой цепи ef охватывающего прямоугольника П,. Считается при этом, что две цепи перекрываются, если Далее строится граф перекрытий Gp = (E, U), где множество вершин Е соответствует цепям, а ребра иеЕ—перекрытиям между ними. Очевидно, что хроматическое число ур графа Gp = (E, U) служит верхней оценкой числа слоев, необходимых для реализации всех соединений КС. Величину ур называют степенью перекрытия системы подмножеств et. Очевидно, все связывающие деревья для е,- могут быть назначены на один слой, когда ур = 1. Рассмотрим пример построения охватывающих прямоугольни- ков для G-цепей (рис, 4.15). Для указанного примера легко построить граф перекрытий Gp (рис. 4.16). Согласно алгоритму (см. 1.3) можно раскрасить граф Gp в два цвета (I и II на рис. 4.16). Тогда получаем ур = 2. Иными словами, схема может быть реализована в двух слоях и содержит два непересекающихся
Рис. 4.17. Пример прокладки цепи Рис. 4.18. Расположение множества проводников на плоскости Рис. 4.19. Граф пересече- ний для множества про- водников (рис. 4.18) подмножества следующего вида: {е1, е3, е6}—первый слой; {е2, е5, е4}—второй слой. Учет геометрических ограничений в описанной выше процедуре можно дополнить, учтя электрические и другие параметры при реализации <?,- и е, цепей в одном слое. В таком случае подсчитывается аддитивная функция вида И 1=1 (4.9) где afj- —эвристические весовые коэффициенты; pi:i—учитываемые параметры цепей. Здесь, как и в предыдущем случае, строится граф несовмести- мости Gp = (Д U), однако каждому wiy е U теперь присваивается вес /С. Задача расслоения сводится к построению такой раскраски графа в у цветов, чтобы сумма весов ребер, соединяющих вершины одного цвета, была минимальной. При этом раскраска возможна одним из известных алгоритмов, описанных в 1.2. Отметим, что степень влияния et на е7- можно оценивать как число путей минимальной длины для проведения соединения ej через П;. На рис. 4.17 показано, как запрещенная (заштрихован- ная) область препятствует оптимальной реализации цепи ег Рассмотрим теперь, каким образом организуется процесс расслоения, если он производится после трассировки, когда имеется совмещенный топологический эскиз. Теоретические осно- вы указанного метода разработаны Кодресом, Вейсманом и Ба- дером [59]. Постановку задачи расслоения рассмотрим на примере. Пусть задано расположение множества проводников М—{а, a'), (b, b'), (с, c'J, (d, d'), (е, е'), ( f, на плоскости (рис. 4.18). Сопоставим с ней граф перекрытии (пересечений) Gp=(£, U) (рис. 4.19), где е^Е соответствует множеству проводни- ков, а ребра ueU—их пересечениям. Задача сводится к нахожде- нию двухцветной раскраски Gp, при которой суммарное число ребер, соединяющих одноцветные вершины, будет минимально. Это равносильно выделению в Gp максимального по числу ребер бихроматического подграфа. На основе известного свойства,
Рис. 4.20. Пример множества провод- ников Рис. 4.21. Граф пересечений для при- мера на рис. 4.20 состоящего в том, что граф является бихроматическим тогда, и только тогда, когда он не содержит циклов нечетной длины, используют процедуру раскраски, основанную на решении задачи линейного программирования. В нашем случае граф бихромати- ческий и расслоение имеет вид: I— {(а, а'), (с, с'), (е, е')} и II — {(Z>, b'), (d, d’\ (f, /')}. Ввиду того, что в настоящее время отсутствуют критерии выделения максимальных «-хроматических подграфов в исходном, рассмотренные методы не применимы для «-слойных систем. Поэтому здесь используют эвристические процедуры раскраски в е цветов с последующим последовательным заполнением слоев оставшимися соединениями. Рассмотрим алгоритм решения задачи для неограниченного числа слоев. Пусть для каждой цепи е; задано в общем случае несколько вариантов реализации связывающего дерева {Dj/j=l, 2, «} (в простейшем случае «=1). Особенность задачи состоит в том, чтобы для каждой пары выводов, для которых п > 1, выбрать одно соединение, приводящее к минимизации требуемого числа слоев. Решение проводится в два этапа: на первом определяются максимальные внутренне устойчивые множества графа пересече- ний Gp, а на втором находится его минимальная или квазимини- мальная раскраска. Рассмотрим пример (рис. 4.20). Применив алгоритм определения семейства независимых подмножеств (1.3), получим, что Gp (рис. 4.21) имеет следующие максимальные независимые подмножества (НП): Ф1 = {g, а, с, d}, (р3 = {g, /, b} ф2 = {& b, е, d], ср4 - {g, b, d, с}. Имея семейство ф = {<р1, <р2> Фз, Ф4-}> можно переходить ко второму этапу, связанному с нахождением минимальной,
квазиминимальной или локально оптимальной раскраски вершин графа пересечений G.,. В зависимости от сложности КС ис- пользуют точные (ВСА = О (п!)), итерационные (ВСА = О (и2)) или последовательные (ВСА = О (и)) алгоритмы. Решение этой задачи можно свести к отысканию покрытия множества вершин графа Gp наименьшим числом независимых подмножеств. Выделим в Е подмножества, соответствующие возможным реализациям каждого из соединений: {a}, {b}, {с}, {d}, {е}, {/, g}. Полученную информацию будем учитывать при выборе одного из вариантов соединения в покрывающих подмножествах. Очевидно, что исходный граф Gp покрывается двумя НП {.Ф1} {Фг}- С учетом возможности реализации соединения g или f для контактов' 9—10 выбираем соединение g и, удаляя совпадающие соединения из покрывающих НП, получаем раз- биение на два слоя: I—{а, с, d}, II — {g, е, b}. Необходимо отметить, что если бы рассматривалось только одно соединение для контактов 9, 10, то для решения задачи потребовалось бы три слоя. Рассмотрим эвристический алгоритм, позволяющий сократить межслойные переходы для ортогонального расслоения. 1°. Выделить все непересекающиеся отрезки цепей и пометить их. (Очевидно, их можно назначить в любой из слоев без вынесения межслойных переходов.) 2°. Выделить в множестве непомеченных отрезков подмножест- во, любой из отрезков которого смежен не менее чем с одним отмеченным отрезком цепи. 3°. Поместить каждый из отрезков zeZ' в тот слой, в котором располагаются помеченные, смежные с ним отрезки. При наличии нескольких смежных отрезков выбрать тот, при размещении которого требуемое число межслойных переходов наименьшее. 4°. Пометить размещенный отрезок. 5°. Если z' = 0, переход к 6°, иначе- переход к 3°. 6°. Конец работы алгоритма. Здесь ВСА равна О (и2)!. Следует отметить, что выбор того или иного алгоритма расслоения является нетривиальной задачей, требующей тщательного анализа исходных требований. Для расслоения во время трассировки в основном используют методы динамического программирования или последовательные алгорит- мы с оценкой каждого шага и возвратом назад в случае улучшения предыдущего результата. 4.5. АЛГОРИТМЫ ТРАССИРОВКИ Фронт волны; распространение волны; метод условной оптимизации; алгоритмы левого края; лучевой; луч; горизонтальные, вертикальные каналы; магистраль; граф вертикальных ограничений
На практике широко распространены последовательные алго- ритмы трассировки и среди них—волновой. Наряду с недостатка- ми, присущими всем алгоритмам трассировки, входящими в класс последователь'ных, указанный алгоритм связан со значительными временными затратами и большим объемом памяти ЭВМ. Опишем основные принципы волнового алгоритма Ли. 1°. Плоскость трассировки (плата, кристалл) разбивается на прямоугольные площадки (дискреты) заданного размера. Размер дискретной площадки определяется допустимыми размерами проводников и расстояниями между ними. Задача проведения трасс сводится к получению последовательности дискретов, соединяющих элементы х;, хр соответствующих выводам (контак- там) элементов схем. 2°. Вводится весовая функция F=F(fk, f2, fr\ которая является критерием качества пути, а характеризует путь с точки зрения длины, числа пересечений, переходных отверстий, изгибов и т. и. 3°. Начиная с элемента xt, дискретам, соседним с ранее просмотренными, присваивается определенное значение весовой функции Р=т{. Этап 3° проводится итерационно и продолжается до тех пор, пока элементу Xj не будет присвоено некоторое значение веса т}. 4°. Начиная от элемента Xj, производится перемещение к эле- менту xt по пройденным дискретам таким образом, чтобы значения весовой функции дискретов убывали монотонно. В ре- зультате получается трасса, соединяющая элементы х; и х}. Рассмотрим подробнее процесс проведения трассы из элемента Х{ в элемент х-г На плоскости, где необходимо провести трассу, моделируется распространение волны из «источника» х; до тех пор, пока фронт волны не достигнет «приемника» Xj или пока на /с-м шаге фронт волны не поглотит ни одного незанятого дискрета. Отметим, что волна распространяется только по свободным дискретам. Эта часть алгоритма называется «распрост- ранение волны». Если после ее окончания достигнут элемент х^ то выполняется вторая часть алгоритма, называемая «проведе- ние трассы». При распространении волны алгоритм последова- тельно, шаг за шагом строит 1-, 2-, ..., к-й фронт источника х;. Процесс построения нового фронта начинается с присваивания дискретам, соседним с дискретами предыдущего фронта, ве- сов mi+1. Вес m(ik, jk), присвоенный дискретам к-то фронта, на единицу больше веса дискретов (к— 1)-го фронта. Кроме веса тк каждому дискрету к-го фронта приписывается путевая ко- ордината, определяющая дискрет, из которого в данный момент поступила волна. При проведении трассы следуют по путевым координатам, выполняя пункт 4° алгоритма. На рис. 4.22 показан пример соединения элементов xh Xj с помощью волнового алгоритма. Заметим, что существует
х, и Xj с помощью волнового ал- горитма ( J —свободная ячейка, И- занятая ячейка, □—соединяе- мые ячейки) несколько вариантов проведения пути, из которых ЭВМ или кон- структор выбирает один, наиболее удовлетворяющий заданным кри- териям. Для повышения быстродейст- вия волновых алгоритмов пред- лагают: одновременное распростране- ние волны от двух соединяемых точек; начало трассировки, с точки, максимально удаленной от цен- тра; сокращение области трассиров- ки за счет использования пары соединяемых контактов, охватыва- ющих искусственную границу в виде прямоугольника. Для уменьшения объема требуемой оперативной памяти ЭВМ предлагается соблюдать условие: метки-предшественники должны отличаться от меток преемников. Это дает возможность использо- вать последовательность кодирования 1-1—2—2—1—1—2— 2—1... Следовательно, для описания состояния любой ячейки фронта волны достаточно иметь два бита памяти ЭВМ. Для сокращения числа поворотов пути на этапе проведения может быть принято следующее правило приоритета. При переходе от ячейки х; к ячейке фронта х; j следует, если это возможно, сохранять направление, определяемое переходом от ячейки xi+1 к ячейке хг. В примере (см. рис. 4.22) требуемое число разрядов памяти на одну ячейку КП составляет (log2(L + 2)}, где L—максимальная длина пути па КП. Структура алгоритма Ли позволяет оптимизировать соедине- ния по различным критериям, поэтому рассмотрим некоторые модификации, позволяющие проводить оптимизацию соединений по совокупности параметров. Для этого используется интегральный критерий оптимальности пути, например, в виде аддитивной функции следующего вида: п ф = Е а</-’ i=t (4-10) где о(; — априори заданные весовые коэффициенты, определяющие степень важности параметров Д (могут быть получены на основе экспертных оценок). Вес незанятой ячейки х£, соседней с ячейкой фронта Фк-1, может быть подсчитан по следующей формуле:
P(xi)=P(x,_1)+X «.Hi, (4-11) i = l где |Дг e {0, I} — признак изменения z-ro параметра; и число учитываемых параметров. Из множества возможных Р(х;) выбира- ется минимальное значение, и в очередной фронт включаются незанятые ячейки с минимальным весом. Недостатки метода параллельной оптимизации пути: коэффи- циенты «важности» а; отдельных критериев не всегда могут быть оценены; даже при двух-трех параметрах время реализации алгоритма возрастает. В связи с этим эффективен метод условной оптимизации. Ячейка КП может быть занятой, свободной и полузанятой. Через полузапятую ячейку проходит горизонтальный (<-►) или вертикальный (ф) проводник. Пересечения допускаются под пря- мым углом, при этом полузанятая ячейка становится занятой. Алгоритм использует четыре списка S2, S3, S4 и КП, ячейки которого могут быть в восьми состояниях: занятая, свободная, полузанятая (<-►), полузанятая (J), или имеет одну из отметок Т, 1, Ячейки, помещаемые в списки Sl} S2, S3, S4, снабжаются индексом I, значение которого равно расстоянию этих ячеек от ячейки—источника х,. Перед началом работы алгоритма списки S2, S3 и S4 пусты, в списке St находится ячейка х; с индексом 0. На рис. 4.23 показан пример работы алгоритма. При проектировании двухслойных печатных плат часто приме- няются итерационные алгоритмы с ограничениями на распростра- нение волны. Рассмотрим алгоритм Хеллера и Фишера, где трассировка осуществляется за семь этапов. На первом этапе трассируются цепи, соединяющие ближайшие контакты одного вертикального столбца. Фиксируются лишь те соединения, кото- рые удается развести полностью в вертикальном слое. При этом резервируются дискреты вокруг каждого вывода. На втором
этапе аналогичным образом трассируются соединения в горизон- тальном слое. На третьем этапе в вертикальном слое трассиру- ются соединения, имеющие контакты в двух соседних столбцах. На четвертом—разводятся соединения, имеющие инвариантные внешние выводы. На пятом—с помощью обычной волны трассируются остальные соединения, имеющие внешние выводы, и на шестом—оставшиеся соединения без внешних выводов. После шестого этапа осуществляется перетрассировка соединений, разведенных за первые три этапа с использованием зарезер- вированных ранее дискретов. На седьмом этапе пытаются развести оставшиеся соединения, используя дискреты, освободив- шиеся после перетрассировки. В некоторых, алгоритмах используются идеи построения максимальных потоков на сети для трассировки проводников на слоях печатной платы. При этом множество площадок платы заменяется сетью, т. е. клеткам (площадкам) графа решетки Gr ставятся в соответствие узлы сети, границам площадок ненулевой длины —jребра, соединяющие эти узлы. На предварительном этапе в узлы и# ребра сети ставятся определенные признаки запрета и свободы. Введение запретов и задержек прохождения по ребрам сети соответствует введению запретов и ограничений на проведение трасс. Это позволяет учитывать возникновение паразитных емкостей проводников в процессе трассировки. Рассмотренные модификации волнового алгоритма обеспечива- ют построение пути минимальной длины между точками на плоскости. Следует заметить, что волновой алгоритм связан со значительными временными затратами на решение задач трасси- ровки. Причем для распространения волны производится около 90% всех вычислений, а для этапа проведения пути —10%. В связи с тем, что в некоторых практических схемах ЭВА большинство соединений имеют несложную форму и для проведения пути нет необходимости просматривать все клетки решетки, в которой располагается схема соединений, целесообразно применять луче- вой алгоритм. Основная идея алгоритма заключается в исследова- нии решетки для определения пути между вершинами xt, Xj по некоторым заранее заданным направлениям, подобным лучам. Перед выполнением алгоритма задается число лучей, распростра- няемых из площадки xt и площадки хр а также порядок присвоения путевых координат. Обычно число лучей для каждой из площадок (источников) принимается равным двум. Распростра- нение лучей происходит одновременно из обоих источников до встречи двух разноименных лучей в некоторой площадке. Рассмотрим пример проложения трассы для соединения площадок х, и xs с помощью двухлучевого алгоритма (рис. 4.24). Для источников х,- и Xj берут по два луча с противоположными направлениями: xj1*— вниз вправо; х}1*— вверх влево; xj2’— вправо вниз; х<2)— влево вверх. Если площадка Xj будет расположена не слева от х;, а справа, то путевые координаты влево и вправо надо поменять
Рис. 4.24. Пример соединения ячеек х; и Xj с помощью лучевого алгоритма 12 3 1 5 б 7 8 9 70 J-1--1_!_I_I_1_1 I 1 I 2 I , 7 I ♦ 5 П ♦ —1_I_1_I_I_I I t I I 7 23^56789 10 Рис. 4.25. Пример для задачи канальной трассировки местами. После первого шага алгоритма занимаются площадки с координатами (г3; 5г), (^21 s5)- На третьем шаге встречаются лучи и Л;". Так как лучевые алгоритмы не всегда дают решения, то их целесообразно применять совместно с волновым алгоритмом. Обычно с помощью волновых алгоритмов удается провести 60% трасс, остальные—с помощью волнового алгоритма или конструк- тора. Лучевые алгоритмы наиболее целесообразно применять для трассировки плат с небольшой степенью заполнения ячеек. В этом случае они позволят значительно сэкономить время по сравнению с волновым алгоритмом. В настоящее время распространение получают канальные алгоритмы трассировки, основанные на проложении трасс по укрупненным дискретам КП, в качестве которых служит система горизонтальных и вертикальных каналов. Ширина каждого канала зависит от числа прокладываемых в них соединений. Канал разбивается на линейки, называемые магистралями. Любое соеди- нение при канальной трассировке будет представлять совокуп- ность объединенных в одну цепь участков магистралей. Реализа- ция канального! алгоритма предполагает выполнение двух проце- дур: распределение соединений по каналам с учетом их оптималь- ной загрузки и оптимизация расположения соединений на магист- ралях каналов. Для заданной конструктивно-технологической базы изготовления печатных плат каждому каналу монтажной плоскости можно поставить в соответствие число, называемое пропускной способностью канала и обозначающее максимальное допустимое число проводников, проходящих через сечение канала с выполнением технологических ограничений. При этом процедура оптимального распределения соединений по каналам в простом случае сводится к их равномерной загрузке, а в более сложных случаях, кроме того, осуществляется учет электромагнитной и тепловой совместимости соседних проводников. Целью выпол- нения второй процедуры—оптимизации расположения соединений на магистралях каналов — является минимизация числа переход- ных отверстий с одного слоя монтажной плоскости на другой. Задачи первой процедуры решаются с помощью алгоритмов построения КПД. В процессе построения КПД для каждого
соединения учитывается загрузка каждого из каналов, через которые оно проходит. По окончании построения КПД для каждой из цепей определяется фактическая загрузка zf для каждого канала и сравнивается с соответствующей пропускной способностью У,. Если zf> У;, то т цепей, где m=z;— Yh подлежат перетрассировке, причем с использованием только тех каналов, ДЛЯ КОТОРЫХ Zj < Y j. Другой подход предполагает учет текущей пропускной способ- ности каналов Yif т. е. числа проводников, которые еще можно проложить на этом участке. Канал «закрывается» для размещения соединений, как только У; = 0. Часто для распределения соединений по каналам вместо процедур построения КПД используются волновые процедуры, при этом дискретами для распространения волны на КП являются каналы. Задача окончательной трассировки обычно формулируется следующим образом. Дан горизонтальный канал, ограниченный верхним и нижним рядами контактов соответственно РТ„ PTj, где i, j=l, 2, Между верхним и нижним рядами заданы множества свободных линий, магистралей: S=[Sk/k= 1, 2, ..., т}, где т—ширина канала. Необходимо в общем случае ломаными линиями, проходящими. по участкам магистралей, соединить все абсциссы одноименных групп контактов (каждая группа соответствует одной и той же цепи), затем вертикальными отрезками соединить контакты. Трассировку следует производить по выбранному критерию качества (суммарная длина, число межслойных переходов, реализованных соединений, занятых ма- гистралей и т. д.). Общая постановка задачи канальной трассировки для горизон- тального канала может быть легко обобщена на случай четырех- стороннего канала. Первый алгоритм канальной трассировки (так называемая «классическая» постановка задачи, не допускающая излома или перехода горизонтального сегмента соединения магистрали на магистраль) был предложен Хашимото и Стивенсоном в 1971 г. Алгоритм получил также название «алгоритм левого края». Предварительно введем несколько понятий, которые для исходных спецификаций трассировки проиллюстрируем рис. 4.25. Исходные данные задаются списком соединений вида /0 200231 50 6\ верхний ряд контактов R(.=( 410000346 5) нижний ряд контактов \1 2345678910/ номера контактов. Контакты, обозначенные нулями, в списке соединений—пустые или несвязываемые. Контакты с некоторым номером i должны быть связаны цепью i. Верхний ряд списка соответствует верхней горизонтали канала, а нижний—нижней.
Рис 4.26. ГВО для Рис. 4.27. Решение, полученное с помощью алгоритма примера на рис. '4.25 левого края (требуется четыре магистрали) (а) и опти- мальное решение (требуется три магистрали) (б) Ввиду того что нельзя допустить наложения вертикальных отрезков цепей, необходимо описать эту ситуацию (т. е. отноше- ния между цепями КС). Такие отношения обычно представляются графом вертикальных ограничений^ (ГВО), в которой является ориентированным графом D = (X, (7), где X соответствует мно- жеству соединений, и любые аеХ и Ь&Х соединены дугой от а к Ь, если а должно быть расположено выше ввиду недопущения наложения вертикальных отрезков. Для примера на рис. 4.25 ГВО из двух компонентов связности показан на рис. 4.26. Вершина i называется предком вершины j (i является пото- ком j), если дуга в ГВО направлена от вершины i к вершине j. Вводится также понятие плотности Р£, которое определяется как число горизонтальных сегментов соединений, пересекающих вертикальный канал i. Основная идея алгоритма левого края заключается в следу- ющем. Последовательно обрабатываются горизонтальные магист- рали, начиная с нижних и заканчивая верхними. На некотором шаге горизонтальный отрезок с минимальной абсциссой среди всех отрезков, не имеющих предков в ГВО, размещается на магистрали. Процесс продолжается, пока не заполнится текущая магистраль без нарушения ограничений. Затем осуществляется переход к следующей магистрали. Процесс повторяется. Легко видеть, что алгоритм левого края не всегда дает оптимальное решение. Так, на рис. 4.27 показаны решение, полученное с по- мощью алгоритма левого края, и оптимальное решение. Следовательно, при выборе кандидата на магистраль целесооб- разно учитывать не только такую характеристику соединения, как координата левого конца, но и длину соединения, длину пути в ГВО, на котором лежит соединение (на рис. 4.27 первым целесообразно назначить соединение I, так как при этом мы сокращаем цепочку ограничений), плотности колонок, пересека- емых соединениями, и т. д. Запишем теперь модификацию алгоритма левого края. 1°. Создать ГВО и подсчитать плотности колонок. Пусть N—множество отрезков, Т=\—счетчик магистралей.
2 . Пока А=0, выполнять алгоритм, иначе переход к 8°. 3°. Сформировать No - множество отрезков, не имеющих предков в ГВО. 4°. Найти Na^NG, такое, что: 1) нет двух отрезков в Na, которые бы пересекались; 2) X ^п^гпах, где Wn — вес отрезка п. 5‘. Разместить отрезки, входящие в Na, на магистрали Т. Сформировать N=N\Na. 6'. Реконструировать с учетом размещенных отрезков ГВО. 7°. Т=Г+1. Переход к 1°. 8°. Конец. Данный алгбритм отличается от алгоритма левого края лишь пунктом 4°, в котором вес соединения учитывает не только координату левого конца соединения, но и другие его характерис- тики. Здесь предлагается следующая аддитивная функция: <C = X nz+(api+£l.)|zi|, zGZ. • где z — число колонок, которые пересекает соединение I; Uz - плотность z-й колонки; Г,- -длина максимального пути в ГВО; Pi - степень вершины i в ГВО; а—коэффициент (принимается равным 3); ВСА составляет O(0n2). Следует отметить, что возможно возникновение тупиковых ситуаций при классической постановке задачи, обусловленных наличием циклов в ГВО. Рассмотрим пример на рис. 4.28. Задача не может быть решена в классической постановке, поэтому необходимо применить «доглеггинг», или излом горизонталь- ных сегментов с магистрали на магистраль. Обычно в таких случаях вводятся дополнительные псевдоконтакты, например 1' и 1" (рис. 4.29), около которых соединение изламывается, и далее обычным образом оперируют двумя отрезками 1-1' и 1''-1. Существует система трассировки для нерегулярных структур на основе канальных алгоритмов. Нерегулярно размещенные Рис. 4.28. Пример тупиковой ситуации Рис. 4.29. Пример введения псевдо- контактов
компоненты группируются в макроячейки. Существующее между макроячейками свободное пространство делится на горизонталь- ные и вертикадьные каналы. Трассировка проходит в три этапа: внутри каждой макроячейки; предварительная между ячейками; внутри каналов (с помощью модификации алгоритма левого края и ломаных линий для ликвидации тупиковых ситуаций). Следует отметить, что канальные алгоритмы тем перспектив- нее, чем больше размерность решаемых задач. Класс канальных алгоритмов трассировки отличается от волновых повышенным быстродействием, меньшим расходом памяти ЭВМ, однако он менее универсален, что накладывает определенные ограничения на класс конструктивно-технологи- ческих решений. В волновые, лучевые и в меньшей мере в канальные алгоритмы заложен последовательный принцип трассировки, что предполагает оптимальное построение каждой отдельной трассы без прогноза на прокладку последующих соединений на монтажной плоскости. Недостаток этого принципа проявляется по мере приближения к концу решения задачи, когда, как правило, становится очевидным тот факт, что отдельные ранее проложенные трассы можно было бы построить не оптимально, но при этом возникли бы дополнительные возможности к прокладке ряда последующих трасс. Приемы неавтоматизированного проектирования, применяе- мые опытными конструкторами, привели к созданию метода «гибкой» трассировки (авторы Базилевич Р. П., Широ Г. Э.), характеризующегося отсутствием жесткой фиксации проклады- ваемых трасс, которые при наличии таковой часто создают необоснованные препятствия для еще непроложенных трасс. Метод гибкой трассировки состоит из двух основных этапов: макротрассировки (строится оптимальная топологическая мо- дель для всех трасс, что обеспечивает их плоское вложение в ДТРП); микротрассировки (строятся геометрические модели для каж- дой трассы). Иначе говоря, на первом этапе цепи размещаются в довольно крупные области, в пределах которых они могут «плавать», создавая оптимальные условия для прокладки других соединений. А на втором этапе происходит фиксация соединений на монтаж- ном пространстве с определением их геометрических характе- ристик. Для определения моделей топологии отдельных цепей разра- ботаны специальные процедуры на основе задачи определения КПД на КП. Достаточно высокое быстродействие построения КПД может быть достигнуто применением волновых методов. В процессе построения КПД учитываются только топологические препятствия, а основные метрические параметры КП (например,
пропускные способности узких промежутков) выступают как ограничения. Основными процедурами па этапе макротрассировки являются распространение и свертывание волны, модификация и стирание модели топологии. Этим обеспечивается реализация различных стратегий трассировки. При трассировке многослойных структур возможна организация процедуры распространения объ- емной волны. Отметим, что модель топологии задает длину трассы в преде- лах, определяемых «коридором», отведенным для этой цепи, и может колебаться в результате микротрассировки от /min до /гаах. Как было указано выше, на этапе микротрассировки определя- ются геометрические характеристики каждой трассы: конфигу- рация трассы, суммарное число изгибов всех трасс, а также для каждой трассы в отдельности точные координаты всех характерных точек трасс, ширина трасс и т. д. Ограничением в данном случае является информация, полученная на предыдущем этапе, где все фрагменты трасс распределены по макродискретам. Микротрассировка осуществляется оптимальным «включением» моделей топологии трасс в двумерное евклидово пространство. При этом трассы обычно сводят в три основные группы: с произвольной конфигурацией; проходящие по двум взаимно ортогональным направлениям; реализуемые в макродискретном рабочем поле. Прокладка проводников в алгоритмах гибкой трассировки осуществляется последовательно, однако ранее проложенные трас- сы не закрепляются «жестко», что создает благоприятные условия для прокладки последующих соединений. Кроме того, пред- ставление монтажной плоскости в виде системы граней ока- зывается удобным для конструкций, использующих разногабарит- ные элементы [71]. Основной недостаток гибкой трассировки - сложность алго- ритма (ВСА О (и3)—О (и4)), а вследствие этого имеют место большие затраты памяти ЭВМ и времени на получение решения. 4.6. УЛУЧШЕНИЕ РЕЗУЛЬТАТОВ КОМПОНОВКИ, РАЗМЕЩЕНИЯ И ТРАССИРОВКИ НА ОСНОВЕ МЕТОДА АДЕКВАТНОГО ПРЕОБРАЗОВАНИЯ ЛОГИЧЕСКИХ ФУНКЦИЙ Адекватность; преобразование логических функций; подэлемент; базовая функция; изоф>ункция; переназначение базовых функций В большинстве САПР размещение элементов КС и трас- сировка соединений рассматриваются в отрыве от логики функци- онирования самих схем, поэтому остаются неиспользованными
возможности преобразования топологии схем. Любой автомат, заданный его входными и выходными характеристиками, может быть реализован самыми разнообразными способами. Обычно способ реализации выбирается не по критериям будущего разме- щения и трассировки. Разработчик, решающий проблему компо- новки, размещения и трассировки, не вносит сколько-нибудь существенных изменений в способ реализации автомата. Несо- гласованность может быть использована для создания улучша- ющих алгоритмов компоновки, размещения и трассировки, учиты- вающих логику функционирования схемы. Рассмотрим методику построения улучшающих алгоритмов, заключающуюся в формировании эквивалентных частей схем и дальнейшем перераспределении групп соединений, подходящих к этим частям фрагмента. Существуют различные формы представления логических фун- кций, реализующих одну и ту же таблицу истинности От формы представления логических функций зависит конкретная схемная реализация каждой функции, т. е. тип входящих в нее элемен- тарных логических элементов, топология их соединения, времен- ные характеристики и т. д. Логические функции адекватны, если они реализуют одну и ту же таблицу истинности. Например, адекватными являются функции Л1 = Д1 + В2 и А2 = В1В2, Л,= = В1(Б2 + 53) и А2 = В1 В2 + Вг • В3. Любая электрическая схема может быть представлена в виде конечного детерминированного автомата. При анализе в схеме можно выделить подмножества изоморфных подавтоматов. Это могут быть как мощные тракты усиления, формирования сигналов, так и более мелкие узлы схемы типа фильтров, усилителей, триггеров, регистров и других, вплоть до элементов И-НЕ, ИЛИ-НЕ. Опишем пять основных этапов работы улучшающего алго- ритма: выделение подмножеств изоморфных подавтоматов; анализ исходной информации, выбор пути и критериев решения; формирование пространства решений на основе метода аде- кватного преобразования логических функций; выбор пары изоморфных подавтоматов и проведение пре- образования топологии коммутационного поля (взаимно одно- значного переключения групп соединений, подходящих к рас- сматриваемой паре подавтоматов); оценка и вывод результатов. Рассмотрим методику формирования пространства решений на основе принципа адекватного преобразования логических функций. Пусть задано некоторое множество элементов X={xjz = l, ..., п] (микросхем, микросборок, компонентов БИС и т. д.) и задана схема их соединений. В общем случае любой
элемент xt может быть представлен в виде набора независимых групп контактов, на каждом из которых может быть реализована элементарная логическая функция. В дальнейшем такую группу контактов будем называть подэлементом. Например, микросхема К155ЛАЗ состоит из четырех двухвходовых подэлементов И-НЕ. Следовательно, каждому z-му элементу множества X можно поставить в соответствие подмножество = 2, ...} подэлементов j. Объединим подмножество элементов X”. в мно- жество подэлементов: Х* = {х^F|/= 1, ..., и; j=i, (Л)гаах}. В соответствии с априорно заданными начальными условиями на каждом элементе реализовано некоторое подмножество элементарных логических функций Ft. В дальнейшем функции, реализованные на конкретном подэлементе, будем называть базовыми. Чаще всего значение базовой функции совпадает со значением логической функции, описывающей конкретный под- элемент. Например, базовая функция fq= А В • С реализована на подэлементе ЗИ-НЕ и т. д. Все подмножества базовых функций объединим в множество базовых функций F. Каждый элемент X обладает некоторой конструктивной избы- точностью, если число элементарных логических функций, реали- зуемых на рассматриваемом элементе, меньше числа подэлемен- тов, входящих в его состав, или если базовая функция под- элемента не является максимальной для данного подэлемента. Введем понятие изофункции. Будем называть изофункцией логическую функцию, адекватную базовой и организованную с помощью конструктивно-избыточных подэлементов. Сформируем для каждой базовой функции fq подмножества всех возможных изофункций г$, отличающихся друг от друга трудоемкостью реализации, весом Pq. Вес изофункции—это сумма информационных затрат (определение и использование вариационных возможностей входных и выходных сигналов), вычислительных (проведение операции переназначения, форми- рование и перевыпуск откорректированной таблицы соединений и т. п.) и конструктивных (использование имеющихся конструк- тивно избыточных элементов, формирование места на КП и ввод новых конструктивно избыточных элементов и другие изменения топологии КП) ресурсов. Если изофункцию нельзя реализовать на рассматриваемом множестве элементов X, то ее вес будет бесконечно большим (Р= оо). Базовая функция также может быть представлена в виде изофункции с весом, равным нулю (Р = 0), поскольку в момент рассмотрения она уже реализована, а любой иной (даже более оптимальный по сравнению с имеющимся) вариант реализации потребует приложения каких-либо затрат.
Формирование изофункций любой базовой функции fq осу- ществляется в два этапа: на первом формируется множество всех возможных абстрактных изофункций, на втором изофункции, не реализуемые на исходном множестве элементов X, удаляются из множества абстрактных изофункций. Так, для базовой функции fq = A~B, реализованной на четырехвходовом конъюнкторе И-НЕ, можно организовать 48 (вместе с базовой) изофункций, реализуемых на 24 различных подэлементах. При этом*в состав подмножества изофункций базовой функции fq войдут только те изофункции из под библиотеки абстрактных изофункций, которые могут быть реализованы на подэлементах исходного множества X*. Таким образом, для каждой базовой функции fq, пользуясь некоторым набором правил, можно формиоовать подмножество (семейство) изофункций fpq. Объединим все изофункции в множество ^ииил*- (4-12) Ч р z Пространство решений поставленной задачи—это множество вариантов назначения функций множества F* в множестве подэлементов X*. Рассмотрим постановку и решение задачи переназначения функций для случая, когда эквивалентные фрагменты КС не пересекаются, например переназначение функций на уровне эле- ментарных логических функций типа И-НЕ, ИЛИ-НЕ, реали- зуемых конечными детерминированными подавтоматами. Пусть есть решение задачи и некоторый оценочный критерий Kw, определяющий качество этого решения (известно множество трасс Т, множество непроведенных соединений Т* и некоторое мно- жество узких мест Т**). Узкое место это участок КП, на котором расстояние между трассами, трассой и контактом, а также размеры контактных площадок или ширина трасс имеют граничные значения. Число узких мест на КП строго регла- ментировано. Каждый конкретный вариант переназначения базовых функций в зависимости от решаемой задачи оценивается одним из критериев трассировки, который минимизирует число неоттрас- сированных соединений, узких мест и отклонение загруженности границ ДРП от усредненной для всех дискретов загруженности границы. Под загруженностью границы ДРП понимается величина, равная отношению числа трасс, проходящих через рассматри- ваемую границу, к пропускной способности этой границы. При улучшении эскиза трассировки в качестве сопутствующих исполь- зуются критерии числа пересечений и изгибов трасс.
В дополнение к критериям предлагается пользоваться пра- вилом: в случае равенства оценки нескольких вариантов пере- назначения выбирать вариант с наибольшими вариационными возможностями КС. Пространство решений формируется в зависимости от мощ- ности множества трасс Т* (которые необходимо дотрассировать или перетрассировать по заданным критериям), от имеющихся вычислительных ресурсов, имеющихся резервов проектирования и ряда дополнительных требований. В процессе формирования пространства решений могут участвовать как все элементы множества X*, так и некоторая, отобранная по соответствующим критериям, их часть. Практически -для всех модификаций улучшающего алгоритма, построенного на основе метода адекватного преобразования логических функций, КП необходимо разбить на микродискреты (МД). Разделим КП на некоторое множество М={т;|/=1, ..., В} МД. Конфигурация МД при работе в интерактивном режиме задает лицо, принимающее решения. Микродискрету присваива- ется форма прямоугольника. Границы МД должны проходить по каналам. Пересечение элемента границей МД нежелательно. Стороны КП делятся тремя—пятью границами на равные части. Далее осуществляется оценка вариационных возможностей схемы и в случае необходимости—усечение пространства решений. Для сокращения пространства решений объединим базовые функции в группы. Каждая группа описывается некоторой характеристической функцией, адекватной всем базовым функциям рассматриваемой группы, и может быть реализована на любом из подэлементов этой группы. Базовые функции, реализованные на структурно избыточных подэлементах, могут входить в не- сколько групп, т. е. базовая функция fq = A- В, реализованная на подэлементе ЗИ-НЕ, может входить в группы с характеристи- ческими функциями fx = A-B и fx=A-B C. Таким образом, очевидно, что группы базовых функций могут пересекаться между собой по подэлементам и по изофункциям. Ниже приведен обобщенный алгоритм преобразований для улучшения трассировки. 1°. Анализ топологии КП. Разбиение КП на МД. 2°. Анализ эскиза трассировки. Анализ подмножества не- оттрассированных соединений Т. Формирование стратегии улучше- ния имеющегося эскиза трассировки. Выбор модификации улучша- ющего алгоритма, критериев оптимизации. 3°. Формирование пространства решений. 4°. Формирование групп базовых функций. 5°. Определение приоритетности рассмотрения групп.
Рис. 4.30. Исходная электрическая схема 6°. Выбор группы. Проведение операции переназначения. Оце- нка и закрепление результата. 7°. Оценка возможности и необходимости продолжения рабо- ты, в случае окончания —переход на 8°, иначе на 2°. 8°. Вывод нового списка соединений. Пример. Минимизируем число трасс, проходящих через границу раздела фрагмента электрической схемы (рис. 4.30), являющихся границей двух соседних МД. Видно, что никакие перестановки подэлементов не приводят к уменьшению числа связей. Функция а1-а2> адекватная at+a2, реализованной на подэлементе x3J, может быть реализована на подэлементе х41. Другими словами, функцию а,+а2 можно реализовать на подэлементе х4|, если подать на входы х41 сигналы с инверсных выходов хп и х12. Тогда получим а1 + а2 = а1аг. Аналогичным образом могут быть расширены возможности конструктивной реализации функций, ранее реализованных на подэлементах х32, х33, х34, х41, х42, х43, х44. Очевидно, что пространство решений увеличилось. Переназначим по предлагаемой методике функции, реализованные на подэлементах х33, х34, х43, х44, х52, х62. Связи через границу раздела МД удалось устранить полностью. На рис. 4.31 изображен фрагмент электрической схемы, эквивалентный фрагменту, изображенному на рис. 4.30. Алгоритмы, созданные по предлагаемой методике, необходимо использовать после применения обычных алгоритмов
Рис. 4.31. Результаты работы улучшающего алгоритма компоновки, размещения, трассировки. В этом случае достигается наиболее эффективное применение алгоритмов, построенных на основе метода адекватного преобразования. 4.7. КРАТКИЕ ВЫВОДЫ В гл. 4 рассмотрена постановка задачи трассировки элементов ЭВА. Дана классификация алгоритмов трассировки, описаны модели монтажно-коммутационного поля и критерии трассировки. Произведена декомпозиция задачи трассировки на четыре этапа и описаны основные задачи, возникающие на каждом этапе. Построена модель фассировки проводных соединений и описаны методы ее решения на основе построения деревьев Прима и Штейнера. Обсуждены вопросы определения планарности мате- матических моделей схем и построения плоской укладки. Описаны современные методы распределения соединений по слоям. Основ- ное внимание уделено четвертому этапу трассировки. Здесь рассмотрены и проанализированы алгоритмы гибкой трассировки, а также лучевые и канальные. В заключение главы исследованы вопросы улучшения результатов конструкторских задач компо- новки, размещения и трассировки на основе адекватного пре-
образования логических функций. Изучение этой главы поможет самостоятельно разрабатывать новые алгоритмы трассировки, а также использовать имеющийся опыт при проектировании новых поколений ЭВА. Трассировка соединений является важнейшей среди конст- рукторских задач и заключается в ’проложении заданных соединений между контактами без пересечений. УПРАЖНЕНИЯ, ЗАДАЧИ, ВОПРОСЫ ДЛЯ ПОВТОРЕНИЯ 1. Сформулируйте постановку задачи трассировки. 2. Приведите классификацию алгоритмов трассировки. 3. Опишите четыре этапа трассировки. 4. Приведите методику построения моделей коммутационного поля при трас- сировке. 5. Опишите задачу трассировки проводных соединений. 6. Постройте ЛСА Прима построения кратчайшего покрывающего дерева для цепи с и выводами. 7. Опишите задачу Штейнера. 8. Сформулируйте теорему и основные леммы о построении деревьев Штейнера. 9. Постройте структурную схему алгоритма построения дерева Штейнера. 10. Опишите проблему определения планарности математических моделей ком- мутационных схем ЭВА. 11. Опишите методику определения планарности графов, входящих в подмножество Мъ. 12. Постройте расплывчатый алгоритм определения планарности графа КС. Приведите пример. 13. Постройте алгоритм плоской укладки планарного графа. Приведите пример. 14. Опишите проблему распределения соединений по слоям. 15. Что такое граф перекрытий? Запишите основные процедуры построения и анализа. 16, Каким образом производится раскраска графа «несовместимости»? 17. Приведите алгоритм распределения отрезков соединений, уменьшающий число переходных отверстий. 18. Запишите ЛСА волнового алгоритма. 19. Приведите основные модификации волнового алгоритма. 20. Постройте ГСА Хеллера и Фишера с ограничениями на распространение волны. 21. Опишите основные принципы алгоритмов лучевой трассировки. 22. Для примера на рис. 4.24 соедините площадки х, и Xj однолучевым алгоритмом. 23. Приведите основные концепции канальных алгоритмов трассировки. 24. Запишите ЛСА «левого края». Приведите примеры. 25. Приведите расплывчатый модифицированный алгоритм канальной трассировки левого края.
26. Опишите принципы алгоритмов гибкой трассировки. 27. Каким образом возможно улучшение результатов компоновки, размещения и трассировки? 28. Постройте ЛСА для улучшения результатов трассировки на основе метода адекватного преобразования логических функций. 29. Каковы перспективы разработки и использования методов трассировки в САПР? Глава 5. АЛГОРИТМЫ И МОДЕЛИ ПРОЕКТИРОВАНИЯ ТОПОЛОГИИ ИНТЕГРАЛЬНЫХ МИКРОСХЕМ И МИКРОПРОЦЕССОРОВ 5.1’. ОБЩИЕ ВОПРОСЫ ПРОЕКТИРОВАНИЯ БИС И СБИС Степень интеграции; БИС, СБИС: микропроцессор: компонент: синтез и анализ ПЭС; топологическое проектирование: контроль топологии: заказные, полузаказные БИС; интеллектуальные САПР: база знаний; экспертная система В настоящее время при разработке современных ЭВМ основ- ными элементами являются ИМС. К ИМС относят микро- электронные изделия, выполняющие функции преобразования, обработки сигнала или накапливания информации и имеющие высокую плотность упаковки электрически соединенных элементов и кристаллов, которые рассматриваются как единое целое. Под элементом ИМС понимается его часть, реализующая функцию произвольного электрорадиоэлемента (ЭРЭ), выполненная не- раздельно от кристалла и не выделяемая как самостоятельное изделие. Компонент ИМС также реализует функцию ЭРЭ, но рассматривается как самостоятельное изделие. Сложность ИМС характеризуют числом содержащихся в них элементов и компо- нентов и называют степенью интеграции (СИ). Величину СИ определяют по формуле СИ = IgA, N—число элементов и ком- понентов в ИМС. Выделяют шесть видов ИМС: содержащую до 10 элементов и компонентов (ИМС 1 — первой степени интеграции); содер- жащую 10... IО2 элементов и компонентов включительно (ИМС2); содержащую 102...103 элементов и компонентов (ИМСЗ); содер- жащую 103... 104 элементов и компонентов (ИМС4); содержащую 1О3...1О5 элементов и компонентов (ИМС5); содержащую свыше 1О5...1О6 элементов и компонентов (ИМС6) [6]. Интегральная микросхема, содержащая 500 и более элементов, изготовленных
по биполярной технологии, 1000 и более элементов, изготовлен- ных по МДП-технологии, называется БИС. Соответственно СБИС—это ИМС, содержащая свыше 106 элементов и ком- понентов. Под микропроцессором понимают программно-управляемое устройство, осуществляющее процесс обработки цифровой ин- формации и управление им, построенное на основе одной или нескольких БИС. * Для изготовления БИС используются полупроводниковые пластины. Это - заготовка из полупроводникового материала, используемого для изготовления ИМС, БИС, СБИС. Часть полупроводниковой пластины, в объеме и на поверхности которой сформированы элементы ИМС. межэлементные соединения и кон- тактные площадки, называют кристаллом. Использование БИС в качестве элементной базы ЭВА позво- ляет улучшить электрические и технико-экономические характе- ристики ЭВА. В частности, при их применении повышается быстродействие и надежность, снижаются потребляемая мощ- ность, масса, стоимость, габаритные размеры, вес. Применение СБИС еще более улучшает эти характеристики, что обусловило выбор СБИС в качестве элементной базы ЭВМ пятого поколения. В этой связи создание эффективных САПР БИС и СБИС является важнейшей проблемой современности. Очевидно, лишь детальный анализ и синтез всего цикла проектирования СБИС, в который входит комплекс работ по всем стадиям, начиная от предпроектных исследований и составления технического задания до изготовления, испытания, отладки и ввода в действие, приведут к созданию эффективных САПР СБИС. Цикл работ проектирования БИС и СБИС делят в основном на следующие этапы [54]. 1. Определение функционального состава комплекта БИС и технических требований к каждой БИС. 2. Логическое моделирование и синтез контролирующих и диа- гностических тестов. 3. Выбор физической структуры и расчет параметров компо- нентов. 4. Синтез и анализ принципиальных электрических схем. 5. Топологическое проектирование. Здесь под комплектом БИС согласно ГОСТ понимают совокупность типовых БИС, выполняющих различные функции, совместимых по архитектуре, конструктивному исполнению и эле- ктрическим параметрам и обеспечивающих возможность со- вместного применения при построении ЭВА. На практике разработку БИС ведут с учетом освоенного технологического процесса изготовления или для разрабаты- ваемого комплекта БИС создают новый технологический процесс с учетом требуемых характеристик.
Функциональный состав комплекта БИС и технические требо- вания к каждой конкретной БИС определяют при разработке структурной схемы ЭВА. Разработчик совместно с ЭВМ в диа- логовом режиме проводит анализ структуры ЭВА и определяет комплект необходимых БИС. Затем составляется ТЗ с учетом технологических возможностей, имеющихся материалов и техно- логической оснастки. При логическом моделировании решаются вопросы выбора оптимальной или квазиоптимальной совокупности функциональ- ных базисов для построения БИС различных типов, построения логической схемы узла ЭВА из логических элементов заданного базиса с выполнением заданных правил функционирования. На этапе логического синтеза необходимо учитывать требования схемотехники, конструкторско-технологические ограничения. От- метим, что минимизация логических элементов и связей между ними может привести к увеличению процента выхода годных за счет уменьшения площади кристалла. Применение быстродейст- вующего функционального базиса логических элементов может увеличить быстродействие разрабатываемых БИС. Тестовые испытания БИС проводят на основе функциональ- ного и диагностического контроля. При этом на входные контакты БИС подаются тестовые последовательности электри- ческих сигналов. Ответ (реакция) анализируемой схемы на входные сигналы сравнивают с ответом исправной (контрольной) БИС. В результате функционального контроля проверяется рабо- тоспособность БИС и дается ответ, исправна она или нет. После диагностического контроля в анализируемой неисправной БИС указывается конкретная неисправность, вызывающая не- правильное функционирование БИС. При автоматизации постро- ения тестов для БИС используют ее ММ. На пластине БИС вводятся дополнительные контактные площадки (контрольные точки) для промежуточного контроля БИС. Применение функ- ционального и диагностического контроля в процессе проек- тирования БИС дает возможность сократить сроки проектирова- ния, так как это позволяет быстро находить ошибки в БИС. Укрупненная структурная схема проектирования БИС с учетом их контроля показана на рис. 5.1. Логическое моделирование на уровне элементов (чаще всего вентилей) предназначено для анализа БИС с целью проверки выполнения заданных логических функций с учетом временных задержек сигналов. Рассмотрим кратко задачи выбора физической структуры БИС и расчета параметров компонентов. К физической структуре БИС относят диффузионный профиль, электрофизические пара- метры в различных диффузионных слоях и т. п. Физическую структуру БИС определяют требованиями к основному тран- зистору, находящемуся в составе комплекта БИС. Тогда для
Функциональное Конструкторское Технологическое проектирование проектирование „ проектирование Рис. 5.1. Укрупненная структурная схема проектирования БИС с учетом контроля расчета остальных компонентов (других транзисторов, резисторов, диодов) используется выбранная физическая структура основного транзистора. Считается, что изменение только геометрии ком- понентов является простым методом (ВСА а; О(и„)) получения различных характеристик компонентов. Отметим, что на практике для каждой БИС из комплекта стараются использовать свою геометрию компонентов. В дальнейшем при проектировании БИС необходимо иметь значения электрических параметров, описывающих модели компонентов, применяемых при синтезе и анализе принципиальных электрических схем. В некоторых случаях для получения образцов активных компонентов, на которых измеряют параметры, разрабатывают специальные тестовые топологические схемы. Они содержат активные и тестовые компоненты для контроля параметров физической структуры и возможных ошибок при изготовлении. На их основе выбирают различные типы геометрических конфигу- раций, наиболее удовлетворяющих схемотехническим требова- ниям, получают набор статистических данных о параметрах активных компонентов в различных режимах работы, исследуют паразитные связи межму компонентами БИС, контролируют процесс изготовления фотошаблонов и т. п. Осовная проблема здесь —это разработка быстродействующих оптимальных алгоритмов вычисления параметров активных ком- понентов различных геометрических конфигураций. Рассмотрим задачи синтеза и анализа принципиальных элект- рических схем (ПЭС). Первоначально выбирается функционально полная серия логи- ческих элементов и в зависимости от сочетаний значений параметров, удовлетворяющих требованиям ТЗ на БИС, подби- рают тип логики. Полученный тип логики определяет и ПЭС логических элементов. Далее находят величины параметров компонентов, удовлетворяющих требованиям ТЗ к параметрам БИС. Решение данной задачи основано на методе граничных испытаний. При этом получают соотношения, связывающие параметры схемы с параметрами компонентов и строят область работоспособности схемы с заданными параметрами.
Для проведения анализа работы схемы строятся уравнения, связывающие параметры схемы с параметрами компонентов: y=p(at, а2, ат), (5.1) где аг, а2, ат~ параметры компонентов, определяющие состояние схемы; р - оператор. В общем случае решение уравне- ния (5.1) получают как решение системы нелинейных дифферен- циальных уравнений. В настоящее время для анализа БИС широко используются статистические методы. При контроле цифровых БИС устанавли- вают нормы для измеряемых параметров и их граничных значений, обеспечивающих максимальный процент выхода годных БИС по функциональным параметрам. Задача синтеза ПЭС БИС—это получение данных, описы- вающих электрические конфигурации оптимальной схемы. Исход- ные данные— это ТЗ, в котором БИС определена выполняемой функцией и требованиями к ее параметрам. Подсистема анализа БИС должна иметь простой язык для описания конфигураций ПЭС, типов компонентов и должна обладать широким набором ММ, возможностью автоматического изменения параметров для проведения расчетов чувствительности, допусков и т. п. Топологическое проектирование БИС состоит из трех основ- ных этапов: синтеза топологии БИС; контроля топологии; разработки управляющей информации для изготовления КТД. Исходными данными для проектирования (синтеза) топологии БИС, СБИС и МП являются ПЭС, геометрические параметры активных компонентов, номинальные значения сопротивлений резисторов, тип корпуса, последовательность вывода контактных площадок, конструкторско-технологические ограничения (КТО). При этом решаются задачи разработки топологии компонентов БИС, разбиения ПЭС на части, проектирования топологии каждой части ПЭС, проектирования топологии всей ПЭС. Топологию компонентов выбирают на основе заданных электрических харак- теристик. Разработчик использует архив проектных решений, базу данных и библиотеку типовых топологий компонентов. Контроль топологии включает в себя правильность учета конструкторско-технологических ограничений (допустимых разме- ров топологических фигур, перекрытий, зазоров и т. п.), взаимно однозначное соответствие полученной топологии и исходной ПЭС, учет разнообразного влияния паразитных элементов на качество электрических параметров. Далее производится раз- работка фотошаблонов и изготовления БИС. Существуют различные типы БИС как по назначению, так и по методам проектирования.
1. Заказные коммерческие (выпускаемые очень большими сериями). Их проектирование производится па приборном уровне. Он отличается тем, что конструируется каждый элемент, взаимное расположение и связи между элементами. В этом случае удается достигнуть наивысшей степени интеграции. Трудоемкость такой задачи велика. 2. Полузаказные или ячеечного типа. В этом случае имеется набор фрагментов топологии (ячеек), типологии счетчика, сум- матора, триггера. Это значит, что имеется набор фотошаблонов, с помощью которых можно воспроизводить на кристалле БИС фрагменты схемы. Задача проектирования БИС заключается в покрытии электрической схемы ячейками из заданного набора, размещении ячеек на кристалле и трассировке связей между ячейками. Этот способ отличается меньшей трудоемкостью и легче поддается автоматизации, но степень интеграции БИС меньше, чем для коммерческих БИС. 3. На основе базового кристалла. Базовый кристалл пред- ставляет собой заготовку, на которой уже реализованы полу- проводниковые структуры всех этих однотипных элементов. Для потребителя задача заключается в проектировании связей между этими элементами таким образом, чтобы полученная БИС выполняла заданные функции. В связи с ростом сложности СБИС и БИС конструкция БИС и способы конструирования все больше и больше отвечают требованиям автоматизированного проектирования. Другой модификацией базового кристалла является матричная БИС, элементами которой являются группы не связанных между собой компонентов (транзисторов). При проектировании матрич- ных БИС разрабатывают не только связи между элементами, но и связи между компонентами внутри самих элементов. Особенностью матричных БИС является то, что они составлены из большого числа одногабаритных (по высоте и по ширине или по высоте) и однотипных элементов, располагающихся в коммутационном поле с регулярной структурой посадочных мест, что облегчает процесс формализации, разработки и ре- ализации алгоритмов размещения и трассировки. Задача проектирования БИС на основе базового кристалла, содержащего матрицу однородных топологических фрагментов, состоит из двух этапов. Первый—этап проектирования самого базового кристалла предполагает комплексное решение следую- щих вопросов: рациональный выбор функционального содержания ячейки; обоснование числа „ ячеек, буферных схем согласования и их размещение на кристалле; топологическое размещение ячеек и способов их настройки; обоснование конструкции шин питания, шага трассировки межсоединений и их размещения;
определение необходимого числа внешних выводов, вы ор способа монтажа кристалла и др. Эффективность использования матриц БИС во многом опре- деляется функциональными возможностями ячейки (функциональ- ного элемента). Оптимальный набор функциональных элементов, обеспечи- вающий реализацию любой схемы заданного устройства, форми- руется на основе набора логических схем, характеризующих класс устройств определенного типа, а также перечня требований и ограничений. В результате выполнения первого этапа получают рисунки металлизации для функциональных элементов, построен- ных на базе компонентов одной ячейки, и обеспечивается выполнение каждым из них заданных функций. Варианты чертежей металлизации функциональных элементов образуют библиотечный набор, помещаемый в банк данных САПР. На втором этапе сначала решается задача покрытия функци- ональной схемы БИС элементами из библиотечного набора В основу построения большинства алгоритмов покрытия положена идея выделения из заданной функциональной схемы подсхем (групп максимально связанных между собой логических элементов), перебора всех или достаточно большого их числа и проверки на совпадение логических функций подсхем и функциональных элементов используемого набора. Подсхема закрепляется за тем функциональным элементом, в состав которого входит наибольшее число ее логических функций. Процесс продолжается до полного распределения элементов функциональной схемы по функци- ональным элементам. Задача покрытия функциональных схем матричных БИС не отличается от задачи покрытия функциональ- ных схем БИС ячеечного типа или функциональных схем для аппаратуры на печатных пла гах с использованием микросхем. Затем решается задача размещения топологических чертежей фрагментов на кристалле и проектирования связей между ними при условии выполнения всех конструктивных и технологических ограничений. Именно на втором этапе при изменении рисунков слоев металлизации определяется конкретная функция каждой БИС. С алгоритмической точки зрения существует определенная преемственность между данной задачей и задачей проектирования аппаратуры на печатных платах с использованием микросхем. Однако существенное увеличение размерности задачи, связанное с резким увеличением числа размещаемых элементов и размеров коммутационного поля, а также возможная нерегулярность рас- положения внешних выводов каждого вида элементов делают необходимой доработку разработанного к настоящему времени программного и математического обеспечений. Основные задачи, решаемые современными автоматизирован- ными системами проектирования БИС на основе базового кристалла, следующие:
а) подготовка и ввод библиотечных описаний применяемых конструктивов и элементов; б) контроль и коррекция исходной информации; в) трансляция описания исходной информации во внутренний формат и занесение ее в архив; г) проектирование топологии внутрисхемных соединений (раз- мещение, трассировка); д) полный контроль топологии внутрисхемных соединений; е) трансляция описания топологии в язык конкретной техноло- гической установки, изготовляющей фотошаблоны; ж) связь конструктора с ЭВМ в процессе проектирования. Основное отличие САПР на основе базовых кристаллов от САПР БИС из элементарных схемотехнических составляющих заключается в широком использовании для проектирования топологии межсоединений программ размещения и трассировки и в значительном сокращении трудоемкости проектирования фотошаблонов. Важнейшим фактором, определяющим эффективность и живу- честь автоматизированной системы проектирования БИС, явля- ется наличие широко разветвленной в программном и техническом отношении подсистемы контроля результатов проектирования. Программы проверки непрерывности зазоров между проводни- ками и непрерывности проводников определяют, соблюдены ли нормы с точки зрения ширины проводников и расстояния между ними и соответствуют ли соединения, реализованные в рисунках металлизации, соединениям, указанным в логической схеме. Программа контроля норм монтажа анализирует каждую цепь с точки зрения нагрузок, длин связей, ширины металлизации и составляет перечень цепей, для которых допустимые максималь- ные величины не выдерживаются. Разработчик кристалла произво- дит доработку цепей с нарушенными параметрами. С математической точки зрения задачи компоновки, разме- щения и трассировки относятся к труднообрабатываемым комби- наторным задачам, являющимся /VP-полными. Главнейшая про- блема, с которой приходится сталкиваться при проектировании БИС,—это огромная вычислительная сложность задач проекти- рования в связи с большими размерностями объекта проекти- рования. Одним из путей уменьшения сложности задачи является декомпозиция. Существуют два вида декомпозиции—схемная и по типу решаемых задач. При декомпозиции по типу решаемых задач рассматриваемая задача разбивается на несколько разно- типных подзадач, каждая из которых обладает своей спецификой. Решение каждой подзадачи производится по своим локальным критериям, однако они не должны вступать в противоречие с глобальным критерием оптимизации. В схемной декомпозиции сложная оптимизационная задача разбивается на несколько аналогичных подзадач, решаемых для
отдельных подсхем. Так, при проектировании топологии БИС ее разбивают на несколько узлов, выполняющих самостоятельно завершенные функции, и разрабатывают их топологию отдельно, после чего осуществляют стыковку полученных решений. Размер подсхем определяется возможностями базовой оптимизационной процедуры решения конкретной задачи (например, размещения, трассировки). Для этой цели может быть использован метод оптимального свертывания, в котором исходная задача большой размерности разбивается на множество иерархически вложенных друг в друга идентичных задач значительно меньшей размерности. Третий путь уменьшения размерности задач заключается в уменьшении исходного множества решений путем отбрасывания бесперспективных. Так, при решении задачи трассировки для каждого соединения генерируется множество реализующих его вариантов, существенно влияющих на распределение ресурсов коммутационного поля. Остальные варианты, число которых может быть значительно большим сгенерированного множества, из дальнейшего рассмотрения исключаются. Поиск решения трассировки осуществляется на множестве сгенерированных вари- антов соединений. На этих принципах основано большинство разработанных к настоящему времени методов решения задач размещения и трассировки БИС. Интеллектуальная САПР (ИСАПР)—это организационно тех- ническая система, состоящая из интеллектуального комплекса средств автоматизации проектирования, взаимосвязанного с под- разделениями проектной организации и выполняющего автома- тизированное или автоматическое проектирование. Он состоит соответственно из совокупности средств и компонентов техни- ческого, математического, программного, информационного, линг- вистического. методического и организационного обеспечений. Интеллектуальная САПР должна осуществлять автоматизи- рованное или автоматическое проектирование на всех стадиях создания ЭВМ на основе применения математических моделей, проектных процедур и средств вычислительной и организационной техники, Для повышения уровня «интеллекта» САПР и расши- рения ее возможностей, свободного взаимодействия с пользова- телем необходимо заложить в нее знания, относящиеся к пред- метной области проектирования и к области применения. Кроме того, необходимо снабдить САПР средствами преобразования и практического использования введенных знаний, необходимы также математические методы для построения выводов и механиз- мы обучения и самообучения. Одним из важнейших компонентов САПР должен быть блок настройки системы на оптимальное проектирование (в смысле заданных критериев) и возможность перестроения с учетом заданных требований. Укрупненная структура ИСАПР, как и других интеллектуаль- ных систем, состоит из трех подсистем: интерактивной, обраба-
Рис. 5.2. Архитектура интеллектуальной САПР СБИС тывающей, управления. Интерактивная подсистема на основе анализа входных описаний с использованием имеющихся знаний формирует внутреннее неполное представление задачи. Обраба- тывающая подсистема превращает неполное описание в полное на основе взаимодействия с подсистемой управления и снова передает его интерактивной подсистеме. Далее процесс происходит итерационно до получения удовлетворительного решения. Современные ИСАПР должны настраиваться на решаемую проблему и технологический процесс изготовления с возмож- ностью гибкой перестройки на другие объекты и новые и смешан- ные технологии изготовления СБИС. Структурная схема ИСАПР показана на рис. 5.2. В качестве пользователя может выступать множество конструкторов и технологов. Диалоговый процессор (ДП) является структурной единицей интеллектуального интерфей- са ввода-вывода. Он обеспечивает заданный сценарий диалога при проектировании. Формы диалога различаются в зависимости от степени подготовки пользователя. Для этой цели в базе знаний предусматривается различного рода иерархически ор- ганизованная справочная информация. Диалоговый процессор должен обеспечивать ввод-вывод речевых и зрительных образов. Наилучшей формой реализации ДП для создания СБИС будет совместная программная и аппаратурная реализация. Диалоговый процессор должен содержать набор сценариев диалога, аппара- турно реализованный генератор случайного и направленного поиска, спецпроцессор перебора. Пользователь во взаимодействии с ДП на основе известного БИП производит разбиение задачи проектирования СБИС на совокупность функционально различи- мых подзадач. Далее последовательно или параллельно осущест- вляется решение локальных задач с местной оптимизацией выбранных локальных критериев. Основная цель планировщика —
поиск информации. Совместно с БЗ он осуществляет реализацию процедур поиска для нахождения решения и для выбора лучшего результата среди имеющихся. Планировщик совместно с экспертной системой проводит анализ исходных данных, находящихся в ДП. В зависимости от класса аппаратуры, конструктивных параметров, технологии изготовления, значений управляющих параметров, заданных режимов работы и т. п. выбирается конкретный путь решения. Каждому пути решения соответствует блок управляющей программы из монитора. Под управлением этого блока осуществ- ляются выбор, редактирование, настройка и стыковка отдельных программных модулей, определяются типы и форматы промежу- точных данных, формируется рабочая программа. Интеллектуальная САПР содержит не только БЗ, но и БД. Это вызвано необходимостью обработки и хранения большого объема справочных формальных и числовых данных, неизмененных по отношению к ОП и технологии изготовления. При работе подсистем ИСАПР в рабочий набор данных (РИД) из БЗ и БД заносится вся информация, необходимая для решения на данном этапе. Сеть ЭВ]С[—это комплекс технических средств, включаю- щих супер-, мини-ЭВМ и локальную сеть ПЭВМ, режим работы которых в процессе функционирования САПР определяется плани- ровщиком. Результаты проектирования после контроля, верифика- ции и редактирования заносятся в архив проектных решений ИСАПР СБИС и одновременно поступают на выход САПР в виде КТД и управляющих документов на машинных носителях. Центральным компонентом ИСАПР является БЗ. Основная цель БЗ—получать и использовать знания, введенные до начала проектирования, приобретенные в ходе процесса и представляющие собой дополнительные знания для САПР и пользователя. Отметим, что БЗ—это не множество случайных сведений, а, как правило, расплывчатое множество конкретных фактов, сведений, объединенных в единую программную и аппаратную среду [14]. Под БЗ понимаем четкие и расплывчатые множества фактов и сведений, описывающих информацию относительно определенной предметной области (в нашем случае СБИС). Считается, что БЗ состоит из трех основных элементов: правил, вопросов-подсказок и переводов. Выделяют три вида БЗ: общих, системных и прикладных знаний. В первой хранятся общие знания, необходимые для решения всех задач проектирования, во второй— знания о самой системе, в третьей—все прикладные знания, например описания предметных областей, правила конструи- рования, методы технологического проектирования, конкретные алгоритмы, их типовые блоки и т. п. В отличие от стандартных банков данных БЗ должна обладать гибкостью, кроме того, информация, содержащаяся в БЗ, должна позволять обрабатывать знания и образовывать новые знания. База знаний представляется в виде сети фреймов. Причем фрейм связывает воедино знания о данной ситуации проектирования и предсказывает, какие объекты
будут обрабатываться, какие события могут произойти. В нашем случае фрейм будет являться совокупностью процедурных и деклара- тивных знаний о моделях СБИС и будет состоять из множества слотов, т. е. ийформационных подструктур фрейма. Слоты содержат знания о конкретной ситуации проектирования СБИС, осуществляют вызов прикладных программ из ИСАПР, совместно с монитором управляют вводом и выводом информации. Слоты одного фрейма могут быть связаны со слотами других'; фреймов, образуя граф (бинарные связи) или гиперграф (н-арные связи). Для оптимального поиска и преобразования информации в таких графах необходимо выделять семейства независимых, доминирующих, изоморфных и полных подмножеств. В САПР модель конструктора СБИС можно реализовать в виде кортежа длины три Mk = (Z, И7}, где У!- набор лингвистических переменных, описывающих предметную область проектирования СБИС; Z - знания, заданные в виде множества кортежей длины два Z={<5;, ...}, iel={l, 2, ...}; st—расплыв- чатая эталонная ситуация; р,— решение; W—множество правил вывода. На основе исследования множества 5'={x1, s2, .s;} расплывчатых эталонных ситуаций выбирается конкретная ре- ализация проектируемого устройства. Множество 7’={Pi, р2, ..., р(} определяет правила перехода от st ситуации к Sj, W позволяет проводить обоснованный выбор решения ргеР в реальной ситуации процесса проектирования. Отметим, что Мк реализуется на основе ЭС, которая дает возможность составить схему всего хода решения задачи. Такая технология проектирования позволяет составлять небольшое множество на- водящих вопросов, с помощью которых пользователь (конст- руктор) может пройти все этапы проектирования. Аппаратная поддержка БЗ обеспечивает максимальное быстро- действие при реализации труднорешаемых алгоритмов проектиро- вания. При этом возникают две наиболее важные проблемы. Первая состоит в поиске и разработке новых алгоритмов, которые были бы наиболее приспособлены к аппаратной ре- ализации. Вторая -в физической реализуемости алгоритмов. Одновременно возникает важная проблема установления адек- ватного соотношения между аппаратными и программными средствами в ИСАПР [49]. Разработка и исследование ИСАПР привели к применению систем искусственного интеллекта, использующих знания из локальной предметной области для решения возникающих в ней задач, как это делал бы эксперт-человек. Такие системы называют экспертными. В настоящее время ЭС применяют для решения задач интерпретации, Диагностики, предсказания, планирования, управления, проектирования. Они могут уже сейчас консультиро- вать и давать советы, обучать и обучаться, проводить поиск, анализировать и классифицировать, представлять информацию
в заданной форме, строить проекты, прогнозировать результаты работы ИСАПР, вырабатывать новые концепции и технологию проектирования. Целью ЭС считается принятие множеств эвристи- ческих, формальных и расплывчатых знаний от специалистов в данной предметной области и затем использование этих знаний при решении, например, проблем ИСАПР. Укрупненно ЭС состоит из четырех компонентов: БЗ. машины вывода, модуля извлечения знаний, системы объяснений (интер- фейса). Для логического вывода в ЭС используют прямую цепочку рассуждений от данных к гипотезам и обратную цепочку рассуждений, когда данные ищут для доказательства или опровер- жений гипотез. Иногда применяют комбинации этих цепочек, например косвенную цепочку рассуждений. Основными частями действующих ЭС являются эксперт (группа экспертов), пользова- тели, верификатор (т. е. программное или аппаратное устройство, обеспечивающее обратную связь между экспертом и ИСАПР), инженер-интерпретатор. К ЭС ИСАПР СБИС предъявляются следующие требс^вания: способность рассуждать при наличии расплывчатых данных; ограничение определенной средой экспертизы; способность давать понятные объяснения; возможность наращивания; наличие на выходе четкого совета; проведение опроса выбранных экспертов на основе метода опроса и оценки полученной информации на полноту и непроти- воречивость; заполнение БЗ ЭС полученной информацией; произведение настройки подсистемы объяснения и планиров- щика на работу с ММ проблемных областей. Экспертную систему ИСАПР СБИС представляют как совокуп- ность взаимодействующих локальных и автономных подсистем, каждая из которых описывает соответствующую подобласть предметной области. В заключение отметим, что симбиоз программных и аппарат- ных средств в ИСАПР позволяет повысить эффективность и скорость проектирования. 5.2. ТОПОЛОГИЧЕСКИЙ И МЕТРИКО-ТОПОЛОГИЧЕСКИЙ ПОДХОДЫ К ПРОЕКТИРОВАНИЮ БИС Линейная, веерная, звездная конфигурации цепи; прозрачная вершина; планаризация; анализ графа на планарность; площадь кристалла Проектирование топологии БИС и СБИС представляет собой процесс преобразования информации об электрической схеме
в послойную геометрическую информацию, задающую взаимное расположение и взаимосвязи схемных компонентов на кристалле БИС. Традиционно процесс проектирования БИС разбивается на ряд выполняемых этапов, т. е. производится декомпозиция за- дачи— распараллеливание функций обработки информации и при- нятий решений между отдельными элементами системы проек- тирования. * Топологический подход включает следующие основные задачи, разбивающие процесс проектирования на последовательность этапов: построение математической модели схемы; анализ модели схемы на планарность; формирование плоской укладки модели схемы; планаризация модели укладки; синтез геометрии схемы. На начальном этапе с помощью принципиальной схемы БИС формируют математическую модель, отражающую топологичес- кие свойства компонентов схемы. В основном используется хорошо разработанный математический аппарат теории графов. Главная особенность моделирования заключается в том, что модель должна быть адекватна по отношению к объекту проектирования. От полноты отображения свойств зависит каче- ство всего проектирования. Поэтому вопросы построения модели являются основополагающими в топологическом подходе. В гл. 1 рассмотрен ряд используемых топологических моделей. В качестве основного критерия сравнения моделей определим адекватность описания, означающую, что планарность модели есть необходимое и достаточное условие планарности схемы, Используем в качестве понятия планарной модели определение, согласно которому модель схемы называется планарной, если существует ее плоское топологическое представление. Такое определение позволяет следующее: планарность модели связывать с существованием хотя бы одного ее топологического представления; однозначно переходить от планарного топологического пред- ставления модели к планарной реализации схемы. Общепринятый подход при анализе топологических свойств схемы включает принцип декомпозиции, который заключается в отдельном рассмотрении моделей компонентов схемы. Ком- понентами БИС в общем случае являются элементы, топология которых разработана, электрические соединения и внешние кон- тактные площадки. Для функциональных элементов простейшая модель получа- ется при отображении элемента в вершину графа (см. 1.4). Более точная модель элемента строится на отображении множеств контактов функциональных элементов на множество
вершин X графа G. В модель элемента вводится множество ребер V, чтобы взаимно однозначно отобразить принадлежность контактов данному элементу. Такая модель элемента позволяет следующее: учитывать различие топологических описаний множеств цикли- ческих, линейных и комбинированных элементов (см. рис. 1.68); определять строгий порядок контактов в элементе; отображать эквипотенциальность контактов и групп контак- тов, для которых порядок следования на цикле обхода элемента характеризуется отношением вхождения без пересечений (см. рис. 1.69); эквипотенциальные контакты образует группа выводов элемента, которые электрически объединены внутри него; представлять инвариантность смежных контактов и их групп (см. рис. 1.70). Под инвариантными контактами, как отмечалось выше, понимают группу логически эквивалентных выводов; определять эквивалентность и эквипотенциалыюсть выводов и групп выводов. Электрическое соединение в БИС представляется контуром, объединяющим соответствующие контакты элементов. Основным требованием при отображении соединений является сохранность связности контактов соединения. Если соединение интерпретируется деревом Штейнера, общее число деревьев соединения значительно увеличивается. Поэтому произвольный выбор одного из топологичес- ких вариантов соединения при отображении его в модель приводит к неоднозначности представления. Цель при построении модели заключается в том, чтобы модель позволяла при планаризации учитывать все возможные конфигурации дерева соединения. Адекватным описанием многоконтактной цепи может служить ребро гиперграфа, представляющее соединение как множество принадлежащих ему контактов. Однако при анализе модели на планарность или построении плоской укладки множественная интерпретация соединения непригодна. Необходимо иметь плос- костное топологическое отображение соединения. При исследова- нии планарности электронных схем различают три конфигурации деревьев, отображающих электрическое соединение: линейная, веерная, звездная (рис. 5.3). Для линейного дерева характерны отсутствие вершин разветвления и последовательная связность вершин. Такая модель цепи позволяет отобразить лишь одну возможную конфигурацию ее топологии. Звездная и веерная конфигурации деревьев образуются соеди- нением всех вершин с одной центральной. Для веерного дерева в качестве центральной вершины выбирается любая вершина, отображающая контакт цепи, а для звездного дерева—дополни- тельно вводимая вершина. Недостатки звездного представления объясняются наличием в модели компонентов схемы «прозрачных» вершин. Вершина является прозрачной, если в достаточно малой ее окрестности
а) б) в) Рис. 5.3. Различные конфигурации цепей: а—линейная, б — звездная, в— веерная существует более одной связной области для укладки ребер, представляющих цепи. Применение «веерного» представления цепи, берущего в качестве центра прозрачную вершину элемента, позволяет устранить недостаток, если множество контактов, инцидентных цепи, содержит не более одной прозрачной вершины. Этап анализа модели схемы на планарность выполняется для плоского представления модели схемы. Как правило, эта задача лишена смысла, так как любая схема моделируется графом, который не является планарным. В этом случае возникает задача определения наибольшего множества взаимоиепсресека- югцихся соединений, т. е. объединяются цели второго и третьего этапов топологического подхода к проектированию. Условие задачи определения наибольшего множества взаимо- непересекающихся соединений схемы формулируется следующим образом. Заданы граф G = (X, U) и положительное целое число Необходимо найти планарный подграф G' = (X, U') из множества всех возможных максимально планарных подграфов, для которого к' | V' | будет наибольшим. Данная задача УР-полна, хотя для случая, когда А = | U\, решение может быть найдено за полиноми- альное время, т. е. задача Проверки планарности графа относится к классу полиномиальных задач. Математический аппарат иссле- дования графов на планарность хорошо развит. Поэтому для определения наибольшей максимально плоской части схемы БИС в основном применяют разработанные формализованные процеду- ры анализа графов па планарность. Методы анализа графа на планарность разбиваются на два класса. К первому классу относятся методы, в основу которых
положены критерии определения планарности, дающие необходимые и достаточные условия планарности графов: Понтрягина - Куратовс- кого, Мак-Лейпа, Уитни, Харари—Тата. Такие методы определения планарности графов с практической точки зрения оказываются малопригодны из-за значительных вычислительных затрат. Эффективными являются методы, относящиеся ко второму классу, основанные на алгоритмическом поиске решения задачи планаризации и позволяющие для заданного графа шаг за шагом произвести анализ графа на планарность. Выделяют три метода. 1. Метод Л. .Аусляндера и С. Патера и его модификации, предложенные И. Хопкрофтом и Р. Тарьяном. Этот метод осно- ван на поиске некоторого цикла в графе. После удаления цикла граф распадается на несколько несвязанных частей (сегментов). Анализируют нй1 планарность каждый сегмент во внутреннюю или во внешнюю грань выделенного цикла. Для повышения быстродействия применяют стратегию одностороннего ветвления. Модификация данного подхода описана в 4.3. 2. Метод Демукрона Мальгранжа и Пертьеазье и его реализация, разработанная Рубином. Анализ планарности в ал- горитме данного* метода осуществляется в результате последо- вательного вложения в плоскость выделенных внешних компонен- тов (относительно уложенной части графа) в одну из граней плоскостного отображения. 3. Метод Лемпела, Ивена и Цедербаума, в котором построение укладки графа начинается с некоторой вершины, к которой присоединяются все инцидентные ей ребра, затем инцидентные им вершины, и так до тех пор, пока не будет получена укладка всего графа. Сведение ребер в циклы осуществляется относительно бесконечной грани уже построенной плоской укладки. К основным недостаткам рассмотренных методов анализа графа на планарность можно отнести следующие: ориентированность на исследование графов без ограничений; гарантия корректной проверки планарности графа. Этап планаризации заключается в реализации соединений, удаленных на этапе построения плоской укладки. Планаризация непланарных ребер осуществляется за счет особенностей техноло- гий изготовления: введением дополнительных элементов (элемент «поднырива- ния», перемычек и т. п.); проведением соединений над (под) элементами; инвариантностью групп контактов различных элементов проек- тируемой схемы. В общем случае исходными данными для решения задачи планаризации является граф схемы G, заданный некоторой плоской укладкой G* и множеством удаленных ребер Uyn, а также конструктивно-технологические способы устранения пересечений, определяемые используемой технологией.
Задача планаризации в терминах графов формулируется следующим образом. Планаризацией непланарного графа G = (X, U) называется некоторая ойерация или последовательность операций F= = {ф|, Ф/J, в результате выполнения которых граф G пол- ф; ностью представляется плоской укладкой G'*, т. е. G---> G*. Выделяют следующие виды операций ’планаризации на графе: введение дополнительных вершин: G = (X, U) G—(X*, U), где Х=Х*; введение дополнительных ребер: G = (X, U) G = (X, U*), где U с {/*; введение дополнительных ребер и вершин: С=(А, G* = (X\ U*), изменение структуры графов: G = (X, U) G" = (X\ U*), где Х=Х*, |П| = |С7*|. Рассмотрим применение операции введения дополнительных вершин. Сформулируем постановку задачи планаризации в тер- минах описанных ММ. Заданы: G' = (X', 0— плоский суграф графа С = (У, U) и мно- жество непланарных ребер UyK=U\U'. Пусть A' = {ai, а2, ..., ар} - множество вариантов укладок множества U на G; Уа;еА суграф преобразуется в плоский граф G; = (A‘, Up), причем '^XjCXl\X ставится в соответствие связное подмножество множества пересечений KE=>UW С) U'=£0. Найти такой вариант укладки cxteA, для которого |Х!\Х|->miri. Существующие методы решения данной задачи включают следующие процедуры. 1. Построение модели пространства для прокладки ребер. 2. Ранжирование списка ребер, не включенных в плоскую укладку. 3. Поиск кратчайшего пути между вершинами прокладывае- мого ребра. 4. Модификация пространств после проведения каждого ребра. В качестве модели пространства для прокладки ребер исполь- зуется плоская укладка; соответствующая некоторому решению, представляемая множеством граней, каждая из которых не содержит никаких ребер. Применяют два подхода к-преобразова- нию модели пространства:
модели элементов заменяют гранями, а дополнительные вершины—промежутками, получают топологическое рабочее поле; на множестве граней вводят метрику, приняв расстояние между смежными гранями за единицу, получают дискретное топологическое рабочее поле. На заданном таким образом топологическом пространстве, задача планаризации сводится к задаче поиска кратчайших путей.. Путь между двумя вершинами на рабочем поле определяется^ как бесповторная последовательность соседних вершин или гра- ней. Процедуры поиска и построения кратчайшего пути аналогия-’ ны соответствующим процедурам в методах трассировки соедине- ний. После проведения каждого соединения необходима коррекция рабочего поля. Процесс модификации рабочего поля может сводиться как к замене каждой грани, через которую проведены соединения, двумя новыми, так и введением новых вершин и разрезанием поля вдоль полученного пути. Очевидно, что суммарное число пересечений прокладываемых ребер будет за- висеть от очередности их проведения. На последнем этапе топологического подхода решается задача построения геометрического чертежа топологии схемы. Сущест- вует несколько направлений решения этой задачи. 1. Автоматически формируется плоский рисунок плоской укладки, полученной на предыдущем этапе, который позволяет конструктору построить в интерактивном режиме геометрический чертеж топологии. 2. Геометрический чертеж формируется в автоматическом режиме исходя из предпосылки, что для планарного графа независимо от размещения вершин всегда существует плоская укладка. Здесь рассматривается задача реализации соединений при заданном размещении. К недостаткам можно отнести удлинение трасс соединений, перегруженность интервалов между элементами, соединениями и даже необходимость переразмещения элементов из-за невозможности трассировки. 3. Размещение элементов и трассировка соединений осущест- вляются с учетом свойств плоской укладки. Например, вначале решается задача размещения. Исходной инормацией являются плоский граф соединений схемы и некоторые сведения об> относительном распределении элементов при размещении. Эле- менты компактно размещаются в прямоугольнике. Размер элемен- та - это площадь, необходимая элементу, выраженная числом МД. Размер МД определяется набором элементов реализуемой схемы. Микродискреты располагаются по строкам и по столбцам прямоугольника. На основе результатов начального размещения строится специальная модель, в которой осуществляется предвари- тельная топологическая трассировка. Применяется итерационный процесс: построение модели трассировки и предварительная
трассировка в ней. Окончательный вариант соединений на реальной плоскости строится в соответствии с результатами трассировки в модели после достижения приемлемого варианта. 4. Формирование геометрического чертежа топологии по известной плоской укладке может быть выполнено с использова- нием метрико-топологического подхода к проектированию, суть которого заключается в следующем. Пусть на некотором этапе проектирования имеется множество размещенных элементов, а ортогональная граница на монтажном поле кристалла характе- ризует размещенные элементы и их соединения, причем все неразведенные соединения принадлежат текущей границе. В целях минимизации площади кристалла и суммарной длины соединений очередной размещаемый элемент целесообразно уста- навливать в области трассировки и размещения элементов как можно ближе к текущей границе. Для этого на границе определяется угловая точка, координаты которой минимальны. В качестве очередного претендента на размещение выбирается элемент из еще неразмещенных, который не испытывался во всех ориентациях на размещение. После того как элемент предварительно зафиксирован, производится проверка возмож- ности установки элемента и его точного положения. По получен- ной плоской укладке осуществляется пробная трассировка в дан- ной зоне. Производятся учет метрических ограничений и кор- ректировка положения элемента. Новая текущая граница огибает размещенный элемент, а его неразведенные цепи присваиваются участку границы. Данные шаги повторяются, пока не будут размещены все элементы и соединения; ВСА лежит в пределах О (и2)...О (и3). 5.3. СИНТЕЗ МЕТРИКО-ТОПОЛОГИЧЕСКОЙ МОДЕЛИ ЭСКИЗА ТОПОЛОГИИ МАТРИЧНЫХ БИС Метрико-топологическая модель; фрагмент топологии Проектирование эскиза топологии (ЭТ) является ключевой задачей комплекса конструирования БИС, поскольку определяет возможность конструктивной реализации проектируемой схемы с учетом заданных технологических требований, а также качество и технологичность последующего изготовления. Нерегулярность схем и тенденция повышения степени интеграции компонентов обусловливают высокую размерность и сложность решений этой задачи. Одним из возможных подходов к реализации структуры элементов топологии и соединений является ячеечный, позволяю- щий внести элементы регулярности в организацию топологии и свести проблему к решению задач размещения и синтеза
соединений типовых рагментов топологии (Ф1).Основная сложность при автоматизированном проектировании матричных БИС заключается в необходимости учета большого числа факто- ров и ограничений. i Отмеченные факторы и ограничения делают практически • неприменимыми методы и модели размещения и трассировки на дискретном рабочем поле с жесткой фиксацией элементов; и фрагментов соединений и вызывают необходимость качественно! нового подхода к решению этих задач. Взаимосвязь результатовг решения рассматриваемых задач требует разработки общей. упрощенной и экономичной модели размещения и трассировки л которая позволила бы громоздкую задачу проектирования топо-j логии БИС разбить' на ряд подзадач меньшей сложности и размерности, решение которых подчинено достижению общей, цели проектирования. ( Один из вариантов автоматизированного проектирования топологии БИС можно представить в виде трех основных этапов^ построение общей модели размещения и соединений ФТ БИС; оптимизация топологии соединений БИС; построение метризован- ного ФТ и расслоение совмещенной топологии БИС. Рассмотрим первый этап; в нем предложен подход к решению задач-, размещения и построения соединений ФТ матричных БИС’ посредством синтеза общей метрико-топологической модели ком- мутационного пространства. Основная идея подхода состоит в создании благоприятных условий для выполнения второго этапа- оптимизации топологии соединений. Исходная информация для размещения— схема соединений ФТ, соответствующих элементам функциональной схемы проек- тируемого цифрового устройства. Задано множество Х= = {eji=l, N} ФТ, различающихся по типу ty^T, |T| = w. При этом множество в общем случае разбивается на w подмножеств однотипных элементов Х\, Х'2, ..., Х'у, ..., Х'„, |Ту| = Рг Выделим два подмножества: ХосУ—элементов начального размещения и Х^Х —элементов, подлежащих размещению на свободной площади кристалла, | Хг |. Элемент XtGXy характеризуется высотой hy и шириной Ьу, причем b =by+Aby, hy=hy+&hy, где by, h'y—истинные размеры ФТ, а /sby, Д/?7—запасы размеров с учетом последующей трассировки (определяются эксперимент тально). При ячеечном проектировании hy усредняются до ? f h—max hy. Г.еГ ( Для оценки качества размещения можно ввести обобщенный критерий % ЦМ)= X ВЛ(М - (5.2) 4=1
где Kt (М) частные критерии ка- чества размещения; М—выбранная модель разрабатываемой конструк- ции; Ц;—коэффициент взаимной ва- жности частных критериев. Задача размещения ФТ заключа- ется в определении такого варианта расположения на плоскости элемен- тов множества X, при котором общая длина соединений минималь- на. Для достижения корректности постановки задачи целесообразно оценить необходимую площадь и габаритные размеры кристалла БИС, позволяющие разместить все элементы множества X. Эти тре- Рис. 5.4. Модель Мт размещения ФТ с учетом габаритных размеров бования являются основными ограничениями при решении. Мож- но сделать вывод о перспективности сочетания конструктивного начального размещения с последующей итерационной оптими- зацией. При реализации такого подхода задачу размещения ФТ матричных БИС можно представить последовательностью под- задач: расчет необходимой площади и габаритных размеров кристалла БИС, конструктивное размещение ФТ на модели кристалла и его итерационная оптимизация. Проектируемый кристалл БИС характеризуется площадью рабочего поля Т1Р = НРБР, где НР и ВР—соответственно высота и ширина поля. Число горизонтальных рядов (линеек) ФТ определяет КР = Элементы Хо делят в общем случае линейку с номером k(k=\, 2, ..., kp) на т^ зон размещения с шириной Вк1, Вк2, ..., Вкп, образующей фактическую ширину линейки: п* в%= Е вкгр 4=1 (5.3) Задача размещения ФТ решается на двух моделях в декартовой системе координат. Первая- поле Q ограничено координатами Smin = ?min=l> Smax = tmax= Г y/N^\ +1, где точками задано услов- ное расположение элементов Хо, а также распределение ВВ по сторонам кристалла точками, одна из координат которых не определена и условно считается нулевой. Вторая прямоугольник И с размерами НР (по вертикали) и ВР (по горизонтали). Это типовые размеры рабочего поля кристалла, на котором с учетом габаритных размеров размещаются элементы Хо (рис. 5.4). Для образованных линеек задаются характеристики Вк^ зон разме- щения.
При расчете площади и габаритных размеров кристалла вначале определяется ожидаемая площадь кристалла ПР: сумми- руются пдогцади элементов Хо, Хг и кг u=htmaxby £ r]v Затем по кР, h, размерам постоянной части кристалла и с учетом технологического дискрета d размеров кристалла определяются габаритный Нт и типовые значения НР, 1гт. По ПР, d с учетом размеров постоянной части определяется размер Вт, а по нему БР. Конструктивное размещение ФТ реализуется в два этапа: предварительное «размещение материальных точек, соответствую- щих элементам на поле Q, уточнение размещения элементов Х1 в линейках модели. Для размещения на точечной модели рассмотрим подход, основанный на механической аналогии (см. 3.2). Точки eieE1 выбираются последовательно в соответствии с мерой связности с остальными элементами. Исходной является матрица смежности элементов X: RE = || rpq ||Wx(W+(p), где ср — число ВВ схемы; Z- ppq, если p^q и хр, xqeE имеют вес смежности ррч; Гря= 1 " X rpi, если p = q. Каждая точка Xj получает координаты размещения, рассчитанные по формулам, подобным известным формулам расчета центра масс системы материальных точек, где в качестве массы исполь- зуется обобщенный вес смежности xf с размешенными элементами и ВВ схемы: £s«i+ Е si (b)=----------, (5-5) I гл+ . te.-eEb ’=^+1 где Д« = E si(zi)r>S (5-6) VejCE'o «(s,(».))-(’’ (О в противном случае. Рассмотренную идею реализует алгоритм, логическая схема которого имеет вид
Здесь Ао и Ак— операторы начала и конца работы алгоритма соответственно; Аг—оператор выбора по матрице R элемента Xj, такого, что Vx.^1 [^=*0./= тах А2—-оператор вычисления координат предварительного размеще- ния по формуле (5.5); А3—оператор присваивания Sji = ^/zCSmax+l)’ О’ =1/2(rmax+l); А—оператор формирования под- множеств A"0 = A0(Jej, yi=Xr\Xj и присваивания г^: =0; логичес- кие условия иу=О соответствуют ситуациям иу —|Д| = |Д| = 0 и vv2 — I^V'il = 0, при Wy=l переход по указателю. В результате размещения ФТ получается описание относитель- ного расположения элементов Хг в зонах размещения линеек модели. При итерационной оптимизации размещения ФТ на модели Мт дополнительной информацией являются данные о ширине НЧ^доп размещения. Целевой функцией размещения выбрана F— У Lq, где Lq— оценка длины цепи q\ ис—число цепей в схеме. Условия реализации парных перестановок элементов. 1. Пробная (i, ^-перестановка элементов Д и Xj фиксируется, если Д£(/, у) = £тек —F\i,j)>Q, где Д£(г, у)—изменение функции при (г, j^перестановке; £тек—текущее значение £; —значение £ после п, j ^перестановки при выполнении ограничений на ширину ФТ и НЧ зон. i 2. При Д£(/, у) = 0 и выполнении ограничений (г,j^переста- новка фиксируется, если уменьшает разность ширины НЧ зон размещения, т. е. д В (i, j) = I (Д Д (xf) - Д Bj (Xj) | -1Д Д (Xj ) — /\.Bj (хг) I > 0, (5.7) где AB(i, j)—уменьшение разности ширины НЧ зон при (z, j^пе- рестановке; ДД(Д) -ширина НЧ зоны после установки элемента Xt на место элемента Xj. Условие 2 в общем случае способствует выполнению условия 1 при последующих перестановках. Для организации процесса парных перестановок линейно упорядочим ФТ соседних линеек модели Мт в виде кортежа Х=<х1, х2, ..., хь ..., xNy, где z — позиционный номер элемента (в то же время элемент обладает неповторяющимся схемным номером). При фиксации перестановки элементы меняются пози- ционными номерами. Назовем циклом i последовательность перестановок элемента xt с остальными элементами, элемент лу—основным, а произволь- ный элемент Xj—дополняющим элементом парной перестановки.
В цикле z в роли дополняющих будем испытывать лишь элементы Xj, для которых j>i. Алгоритм итерационной оптимизации размещения может быть представлен логической схемой 3 4 6 ^0^1Г^2Г^3^1Т3^4И'2Т4и;зТ5^5^4Тб15^бП ^Т^бГЛ, где Ао, Ак — операторы начала и конца работы алгоритма; Ал— оператор образования кортежа X, вычисления начальных значений Lq и Гтек, присваивания г: = 0; А2— оператор выбора основного элемента, организации цикла присваивания i: = z+l, j: = z; A3—оператор выбора дополняющего элемента, присваива- ния j:j+l; А6—«-‘оператор пробной (I, /^-перестановки, вычисления новых значений Lq, F(i, j), AF(i,j); As— оператор вычисления A2?(z,/); Аб — оператор фиксации (z, j^перестановки и Lq, присваи- вания Етек: = F(i, j). Логические условия и’; = 0 соответствуют ситуациям реальных парных установок: — выполнены условия 1 и 2; и'2 — AF(i, j)>0; w3 —AF(z,j]=0; w4 — &B(i, j)>0; w5-J^N: w6 — i^N— 1. При и’; = 1—переход по указателю. Рассмотренный алгоритм имеет предельную ВСА порядка O(0,5zz2). В ряде случаев из-за ограничения подвижности элементов при перестановках оптималь- ный результат не удается получить однократным применением алгоритма и поэтому требуется повторить процесс решения. 5.4. РАССЛОЕНИЕ СОВМЕЩЕННОЙ . ТОПОЛОГИИ Технологически инвариантная САПР; конфликтная ситуация; межслойный переход; совмещенная топология Существующие в настоящее время САПР ориентированы на определенный технологический процесс изготовления БИС. К ос- новным недостаткам таких систем относятся следующие: отсутствие возможности использования одной САПР при проектировании БИС, изготовляемой по смешанной технологии; необходимость перехода на новую систему проектирования при изменении технологии производства БИС и, как следствие этого, переподготовка обслуживающего персонала. В этой связи актуальна задача создания подсистем проектиро- вания и разработки алгоритмов, способных учитывать изменения,
возникающие при переходе с одной технологии на другую. Такие подсистемы проектирования позволяют осуществлять на- стройку системы в целом на заданный технологический вариант изготовления' БИС и предназначены для включения в состав технологически инвариантной (ТИ) САПР БИС. Под ТИ САПР понимается САПР, имеющая альтернативное программное обес- печение и операционную систему автоматизированного проек- тирования, позволяющую выбирать- совокупность машинных программ применительно к заданному объекту проектирования или классу объектов проектирования в зависимости от технологии их изготовления. При решении задачи расслоения совмещенной топологии соединений элементов БИС в ТИ САПР необходимо учитывать ряд конструкторско-технологических ограничений (КТО), опреде- ляемых технологией изготовления БИС и изменяющихся при переходе системы на новую технологию производства интеграль- ной схемы. К таким ограничениям относятся следующие: число слоев, на которые производится разнесение фрагментов соединений; множество КТО, определяющих вертикальную структуру БИС при заданной технологии изготовления (под вертикальной струк- турой БИС понимается структура интегральной схемы, получае- мая при вертикальном ее разрезе); приоритеты слоев, обусловленные их проводимостью, и, как следствие этого, требование размещения в слоях с наиболее высокой проводимостью фрагментов соединений, имеющих макси- мальную длину; плотность заполнения таких слоев должна быть максимальной; характеристики описания топологии БИС, определяемые тех- нологией ее изготовления; метрические характеристики фрагментов трасс соединений, которые носят динамический характер и изменяются в зависи- мости от их расположения в определенном слое. Кроме описанных выше требований в процессе решения задачи расслоения, совмещенной топологии БИС необходимо выделять, анализировать и устранять случаи, при которых становится возможным возникновение конфликтных ситуаций, обусловленных множеством возможных расположений фрагментов соединений па плоскости и множеством КТО вертикальной структуры БИС. Анализ технологий изготовления БИС показывает, что на практике используется набор от 4 до 13 слоев (шаблонов), причем из анализа различных вариантов реализации БИС следует, что этот набор достаточен для реализации существующих типов микросхем. Обобщенное описание разрешенных и за- прещенных сочетаний слоев в микросхемах,. реализуемых с использованием набора шаблонов, представляет собой
конструкторско-технологический базис (КТБ). Для задачи рас- слоения совмещенной топологии БИС определим КТБ в виде отношения ф3 = <С3, ^з)- Множество элементов отношения B3 = Ba\J В*2, где В*—базовое множество слоев |7?| = и*; В2 — множество возможных межслойных переходов |2?2| = «з- Если элементы bL, bjeB’t в графике отношения С3 связаны, т. е. (bh bj)eC*3, то сочетание слоев bt и bj возможно. Если (bh (bj, Ьк >) е С*3, где Ь^В* и (bj, ЬкУеВ*2, то сочетание слоя Ь, и межслойного перехода из слоя bj в слой Ьк в вертикальной структуре микросхемы разрешено. Если <<Ь;, bj), (bt, Ьк))еС3, где <£>,, fe;>, (bt, Ьк)еВ*2, то в вертикальной структуре БИС допускается совместное расположение по одним координатам межслойных переходов (bh bj) и (bt, bk). Пусть Т, |7’| = А:1, есть базовое множество технологических вариантов изготовления БИС. Для определения множества' КТО вертикальной структуры БИС при заданном р-м технологическом варианте ее производства (г е Т) достаточно определить отноше- ние ф3 = <С3, В3), С3еСз, В3^В3. Здесь В3 = B\J В2, где В—мно- жество слоев, используемых при tj-й технологии, В<^В\ |В| = /г; Т?2 — множество 'допустимых межслойных переходов: В2 — By. Множество Вк является множеством слоев, которые при z-й технологии используются в качестве коммутационных, | Вк | = п2, Вк^В. Множество Н()Н\=т1) представляет собой множество фрагментов трасс соединений, а множество Н' (| Н | = d, Н' с Н) есть множество фрагментов соединений, пересекающихся друг с другом. Пусть фрагмент соединения ^еН' располагается в слое b„, hiEbp, bpeВк. Слою Ьр соответствует такое множество слоев Dp(T ({Ьр})= Dp), DpCB, что сочетание Ьр с любым слоем bk{hkE Dp) возможно с точки зрения КТО вертикальной структуры БИС, т. е. выполняется условие (ybkeDp)[(bp, bk)e С3). В этом случае задача расслоения совмещенной топологии БИС формули- руется следующим образом. Необходимо определить такое разбиение множества И' на т подмножеств ПРИ которых выполняются условия ^Н^Н'^Н^Н' л Я£ = 0); (VHf, HjEH'){H^Hj л Hi(]Hj=0)-, т т = U Hi=E^E^H'- i=l i=l ^hi,hjEH^(hi^hj^hi^hj=0}- (уHi, HjeH)(HiEbp л Hj<=bk лЬр/Ькл bp, bkeBk); (V6peBl)(3F({6p})=Z»p a Dp^B л bkeDp). Здесь Q* обозначает топологическое пересечение фрагментов соединений и ,
Рис. 5.5. Пример фрагмента совмещенной топологии КМОП БИС Задача расслоения совмещенной топологии БИС может быть сведена к задаче раскраски вершин графа в заданное число цветов. Моделью совмещенной топологии соединений элементов БИС, отражающей расположения фрагментов соединений на плоскости, служит ортогонально-диагональный граф G=(X С). Множество вершин Ад| У| = С) соответствует множеству точек изгиба трасс соединений и конечным точкам соединений (висячие вершины). Все множество трасс на плоскости рассматривается как множество фрагментов соединений, на которые разбиваются эти трассы в точках перегиба. Множество ребер U графа G представляет собой множество фрагментов трасс соединений, U=H, | U | = | Н | =щ1. Так, в качестве примера для фрагмента совмещенной топологии КМОП БИС (рис. 5.5) на рис. 5.6 представлен граф G. Вершины графа G на рис. 5.6 нумеруются (обозначаются) целыми числами без метки, например вершина 1. Ребра в G нумеруются целыми числами с меткой например ребро ~1, где метка указывает соответствующее ребро на рисунке. В качестве модели, отражающей пересечения на плоскости ребер графа G, используется граф пересечений G' = (X', U'). Множество вершин в G' соответствует множеству Н'. Любые две вершины а и b в G' соединены ребром (a, b)eU', если выполняется условие (V («, b)e U')(a, beX' л л a, beU л а (~]*Ь^0)г где Q* означает пересечение на плоскости ребер а и b в графе G. Каждая вершина xteX', i=l, d, имеет в G' число степеней свободы, равное числу слоев коммутации при заданной технологии производства БИС.
10 11 12 3 2 2. 60 55 96 39 V7 /9 10 ' 50\ 59 '83 90»--------- 69 77» •JS 53 77^\ 95^- 57 \ 12 88 S >6 >55 ,38 42 36 55 11 /39 38 56 ^47 S —13 ,4 44 50 5 ,, 83 76 4- 63-62 в / 47 .55 61 55 62 .56щ .59 57 58к би 55 28»— 61 58 67 92^—101 100 26*^ 75 25 Ъ68 А 78 \/67 62 S9 _92_ 65 65 86 >81 ^~г»22 \^55 63 ^—70 85 ^—93 "19 105 ' 20 66 1 66 ,50 26 27 25 25 93 /58 52 .96 15 13 Л5 58 опГ 79 ВО^г-л 73 97 98 9017 19 18 51*---7~ 58 Об 75 ______6 /55___50 16 ~72 74 22 „ 82 3388Т^89 99 91 16 >81 47 .35 72_ 74 7$ 55 7^ 85 4J -23 "95 105 •52 81 87 J4 75 28 ,25 -27 32 35 37 95 ^35 80 36 >86 29 32 I -30 -31 -31 533 7 5 6 8 1 Е Ш Рис. 5.6. Граф фрагмента топологии на рис. 5.5 Пусть задано множество А красок, А = В^ |Л| = |^1| = и2. Каждый элемент а(еА, i=l, п2, представляет собой номер краски (цвет), соответствующий слою г=1, п2, т. е. номер самого слоя Ь^. Считается, что раскраска вершин хееХ’, е=1, d, графа G’ в один из цветов «;еЛ, z=l,/72, приводит к_расположепию одноименного фрагмента соединения heeH', е=1, d, в соответ- ствующем слое Ь^В^, i=},n2. Пусть хае< означает, что вершина хееХ окрашена в цвет ateA. В этом случае существует множество Dt номеров красок, в которые может быть окрашена вершина хкеХ', смежная с вершиной хе в графе G'. Расслоение совмещенной топологии БИС на т слоев возможно выполнить в том случае, если существует такая раскраска вершин графа G' в т цветов, при которой любые две смежные вершины не могут быть окрашены в один цвет и выполняются следующие условия: (Vnie74)(3r({ai}) = Z>i л ai^Di л Dtc:A)-, (V(xe, л,.)е П')(ле, хкеХ’ л а^, а*“еА. =AaXjk л л (J {зсае‘} = Х'-, 1^т^п2. i=l
Рис. 5.7. Структурная схема подсистемы расслоения Структурная схема подсистемы расслоения совмещенной топо- логии, ориентированной па включение в состав ТИ САПР БИС, представлена на рис. 5.7. Информационное обеспечение подсистемы расслоения совме- щенной топологии соединений элементов БИС включает в себя следующие сведения: базовое множество (Т) технологических вариантов производства БИС; конструкторско-технологический базис; совокупность правил определения используемых в БИС слоев: массив функциональных назначений слоев; набор техноло- гически ориентированных данных. Исходной информацией для решения задачи расслоения совме- щенной топологии БИС являются номер технологического вариан- та (л) и ортогонально-диагональный граф G. Подсистему расслоения можно условно разделить на две основные части. В первой части решаются вопросы, связанные с организацией настройки подсистемы на требуемый технологичес- кий вариант производства БИС. Настройка подсистемы осуществляется в два этапа. На первом этапе происходит выделение информации, необходимой для решения задачи расслоения совмещенной топологии БИС, изготовляемой по /j-й технологии. Выделение требуемой информации состоит в следующем. Определяются множества КТО вертикальной структуры БИС и набор технологически ориентированных
данных, содержащий характеристики описания топологии. На основании анализа графа G и выбора технологически ориентиро- ванных данных строится граф пересечений G' фрагментов трасс соединений. На втором этапе настройки подсистемы происходят выбор (определение) алгоритма fk разделения по слоям фрагмен- тов трасс соединений и выделение его из базового множества F* алгоритмов расслоения совмещенной топологии БИС, fktF*. В блоке выбора f-ro алгоритма расслоения совмещенной тополо- гии БИС в зависимости от числа коммутационных слоев в БИС, определяемого tj-й технологией ее изготовления, реализуется два подхода. В случае использования технологии производства ИМС с одним слоем коммутации применяется подход, основанный на определении планарности графа соединений электрической схемы с последующим’ построением его плоской укладки. Непосредственное выделение (выбор) из базового множества F* алгоритмов расслоения совмещенной топологии БИС осуществ- ляется монитором подсистемы. Во второй части подсистемы расслоения совмещенной тополо- гии БИС происходят разделение фрагментов трасс соединений по слоям и формирование информации о послойной топологии, а также в случае необходимости- информации о неразмещенных в слоях фрагментах соединений. При разделении фрагментов трасс соединений по слоям применяется раскраска графа G' в заданное число цветов с учетом множества КТО. определяющих вертикальную структуру БИС при tj-й технологии ее изготовления, при этом используется комплексный критерий для выбора новой вершины в G' и ее окраски при процедуре поиска от паилучшего частного пути. Критерий имеет вид P^=(kL+№>)hN. (5.8) Здесь —-вес фрагмента соединения h^H при его расположении в слое bjEB^, L—длина фрагмента соединения Л,-; Ф —число фрагментов соединений, удаляемых из слоя bj при размещении в нем фрагмента А;; N—приоритет слоя bj, к, Р, h—весовые коэффициенты. Наиболее приемлемым слоем bj№{bjteB^ для расположения в нем фрагмента соединения ht считается слой, для которого P;)‘t = min. Применение этого критерия позволяет определять_ для каждого размещаемого фрагмента соединения е Н', z = 1, d, длины фрагмента и множеств фрагментов соединений Н' = //'\{А,}. Процесс разделения фрагментов трасс соединений по слоям можно условно разделить на четыре основные части. Пусть фрагменты соединений hkeH', jFk, образуют изгиб в точке v, т. е. точка v для них будет являться общей (инцидентной) точкой. Под фрагментом соединения, создающим конфликтную ситуацию (КНС) в v, понимается ht Пересе-
кающий hj и hk в точке v, в которой может находиться межслой- ный переход. В этом случае множество вершин F*s, в которых КНС может возникать, между фрагментом соединения и меж- слойным переходом задается как F*5 = {xjeX/a(xj)}, j— 1, с. Исходя из вышесказанного следует, что множество вершин F определяется выражением F=F4\J F*5, F<^X. 1°. Определение множества F вершин графа G, в которых возможно возникновение конфликтных ситуаций, обусловленных множеством расположений фрагментов соединений на плоскости и множеством КТО вертикальной структуры БИС, \F\=m2. 2°. Устранение в вершинах x^F, 3°. Определение множества Е фрагментов трасс соединений, подлежащих размещению в слоях, Е^ЕГ, |Е|=р. 4°. Распределение по слоям фрагментов соединений е Е, г = 1, р. Поскольку координаты расположения на плоскости меж- слойных переходов заранее не известны, то предполагается, что они могут находиться в вершинах графа G. Если несколько вершин в G имеют одинаковые положения на плоскости, то точка с этими координатами обладает свойством а'. Тогда множество вершин F*4, в которых КНС может возникать между несколькими межслойными переходами, определяется как F4 = {xieХ/а (xf)}, z=l, с. Пусть в графе G существуют ребра ике lEj^k, инцидентные вершине r(reAj, имеющей координаты (Sv, tv\ расположения на плоскости. Пусть в G также существует ребро (i^j=k), для которого выполняется условие ui(']*UjF0 л utC}*uk — 0. Если любых два ребра в графе G образуют на плоскости пересечение, то они имеют общую точку. Исходя из этого утверждения предположим, что точка w с координатами (5W, tw) есть точка пересечения ребер и Uj (uL, Uj е U), а точка п с координатами (S„, t„) является точкой пересечения ребер w; и ик (ui,ukeU). Так, для рассматриваемого графа G (см. рис. 5.6) множество F будет иметь вид f={14, 15, 17, 20, 23, 72, 79, 97}. Причем для множества вершин Т6 = {14, 20, 72}, F6c:F, ребра, создающие КНС в них, будут пересекать инцидент- ные им ребра непосредственно в этих вершинах. Например, координаты точек пересечения ребра ~47, создающего КНС в вершине 72, с ребрами ~7/, ~72, ~ 74 будут совпадать с координатами положения на плоскости вершины 72 (см. рис. 5.6), как было описано выше. Для множества вершин /'7 = {15, 17, 23, 79,97} (F7c/'j ребра, создающие КНС в них, находятся от этих вершин на расстоянии lt, Ii<l, где I минимально допустимое расстояние между вершиной, в которой может находиться межслойный переход, и фрагментом соединения, создающим КНС. Так, расстояние Ц между вершиной 15 и ребром меньше расстояния /(/,</), поэтому считается, что ребро ~81 пересекает ребра ~ 14 и ~ 15 в вершине и тем самым создает КНС в ней. Во второй части алгоритма с учетом КТОа вертикальной структуры БИС производится устранение возможных КНС
в вершинах x;eF, z = l, т2. Алгоритм устранения конфликтных ситуаций в x;eF приводится ниже. 1 °. Выбор очередной вершины xfeF, z=l, т2. Переход к 2°. После просмотра всего множества F—переход к 6°. 2°. Распределение по слоям фрагментов соединений, состоящих в КНС в xteF. Если конфликтная ситуация в xt устраняется, то переход к 1°, иначе—к 3е. 3°. Устранение конфликтных ситуаций в xteF с помощью переноса возникшего в ней межслойного перехода на новые координаты. Если такой перенос возможен, то переход к 1°, иначе — к 4'. 4°. Устранение конфликтных ситуаций в xteF путем пере- распределения п() слоям ранее размещенных в них фрагментов соединений. Если КНС в лу устраняется, то переход к 1°, в противном случае—к 5°. 5 . Фиксирование фрагментов соединений, состоящих в КНС в xteF. Переход к 1°. 6 . Конец работы алгоритма. Распределение по слоям фрагментов соединений, состоящих в конфликтных ситуациях в вершине xf(xfeF), происходит следу- ющим образом. Генерируются возможные с точки зрения КТО вертикальной структуры БИС комбинации распределений по слоям i=l, nz) фрагментов соединений, состоящих в кон- фликтных ситуациях, и определяется вес каждой комбинации. Вес некоторой j-й комбинации (Р() складывается из весов отдельных фрагментов соединений, входящих в нее. Из всех комбинаций наиболее приемлемой считается та, для которой PJ* = min{F/}. В общем случае при наличии множества 5' фраг- ментов соединений, состоящих в конфликтных ситуациях в х;, задача генерирования всех возможных комбинаций слоев, в которых могут располагаться фрагменты соединений hjeS, 7=1, zz3, сводится к решению задачи полного перебора вариантов, что является неэффективным. С целью сокращения времени решения и избежания просмотра полного перебора вариантов распределений по слоям фрагментов соединений предлагается следующий алгоритм. 1°. Формирование множества S фрагментов соединений, находящихся в конфликтной ситуации в вершине x,-eF. 2°. Задание очередного слоя bj^bjeB^ для расположения в нем фрагмента соединения h^H', создающего конфликтную ситуацию в х^ Переход к 3°. Если слой bj отсутствует—то переход к 7Р. 3°. Выбор фрагмента соединения hteS, //?,-. Переход к 4'. Если S полностью просмотрено — - то переход к 2'.
4°. Определение приемлемого слоя bkteBr для расположения в нем hb Рк‘ =min {Рь1}. ь" Ьк 1 5°. Определение возможности сочетания слоев bj и bkt в вер- тикальной структуре БИС. Если сочетание слоев возможно, то переход к 6°, иначе—к 4°. 6°. Определение веса /-й комбинации; Р1 = Рк1‘ + . i=i 7°. Выбор наиболее приемлемой j-й комбинации распределений по слоям фрагментов соединений: PJ-„ = min {Pj}- 8°. Конец работы алгоритма. Идея этого алгоритма состоит в том, что фрагмент соединения hieH', создающий конфликтную ситуацию в х.е/7. последователь- но располагается во всех допустимых в соответствии с его степенью свободы слоях Ь^еВк. При каждом расположении /?, в слое bj[hjEb^ определяются приемлемые слои Ьк,еВх для размещения в них фрагментов соединений множества S', где = {AJ, |S'| = «3 —1. Таким образом, число рассматриваемых комбинаций будет равно числу степеней свободы фрагмента е 5’, что сокращает область поиска наиболее приемлемого решения и позволяет уменьшить временные затраты на решение всей задачи конфликтных ситуаций. Устранение конфликтных ситуаций в x^F с помощью переноса возникшего в ней межслойного перехода на новые координаты состоит в следующем. На ребрах и], u‘meU графа G, инцидентных хг(х1еА'), определяются координаты смежных с вершиной xt точек. Если в этих точках возможно расположение требуемых межслойных переходов, то межслойный переход переносится в эти точки и КНС в Xj устраняется. Например, во время устранения КНС в некоторых вершинах графа G (см. рис. 5.6) возникла ситуация, при которой фрагмент соединения, соответствующий в G ребру ~72, размещается в слое диффузии. Фрагмент соединения, подходящий к аппроксимирующему прямоугольнику IV и соответствующий в G ребру ~7.?. должен быть строго расположен в первом слое металла. В этом случае в вершине 79 возникает конфликтная ситуация, так как находящийся в ней межслойный переход из первого слоя металла в слой диффузии невозможен, во втором слое металла проходит фрагмент соединения, соответствующий ребру -~89. Тогда для устранения конфликтной ситуации, возникшей в вершине 79 графа G, на ребре ~73 определяются координаты точки, смежной с вершиной 79, и межслойный переход из первого слоя металла в слой диффузии переносится из вершины 79 в точку с найденными координатами, что приводит к устранению КНС в вершине 79 графа G (см. рис. 5.6). Третий этап алгоритма расслоения совмещенной топологии БИС заключается в определении множества фрагментов соедине- ний, подлежащих распределению по слоям. Множество Е неразме- щенных в слоях фрагментов соединений соответствует множест- ву Fk нераскрашенных вершин графа G', E=FX, | Fx | = Р, Е^Н',
Рис. 5.8. Расслоение фрагмента топологии (рис. 5.5): ----- 1-й слой (металл), 2-й слой (металл), . 3-й слой (поликремний), -4-й слой (диффузия), К- межслойный переход ^Х'. Пусть Е} —множество разделенных по слоям фрагментов соединений и F2 - множество раскрашенных вершин графа G', FX=E2, | 1\ | = | F21 = Pj. Пусть фрагмент соединения h^H' облада- ет свойством а 15 если он помещен в определенный слой ЬхеВх и соответствующая фрагменту вер] зина х; е X также обладает свойством а15 если она окрашена в цвет слоя Ьх. В этом случае F1 = {/zje/f70Ei(^i)} и F2 — {xiEX'!a.l(x^}, i=\,d. Исходя из выше- сказанного множество неразмещенных в слоях фрагментов соеди- нений определяется как E=H'\F1 и множество нераскрашенных вершин Fl=X'\F2. На четвертом этапе алгоритма расслоения совмещенной топологии БИС происходит разделение по слоям фрагментов соединений hj^E, j=\, р. Каждой вершине х2еХ', j=l, d, соответствует свое множество степеней свободы |£у| = т*), которое определяет, во сколько цветов и в какие именно может быть окрашена верши- на Xj, т. е. в какие из слоев i= 1, п2, может быть помещен фрагмент соединения к^еЕТ. В зависимости от требований здесь можно выбирать любой из рассмотренных алгоритмов раскраски графов с временной сложностью алгоритма от О (и) до О (и!). Результатом алгоритма расслоения совмещенной топологии БИС является описание послойной топологии БИС, содержащее следующие сведения: номер i фрагмента соединения h^H,
1=1,1^; координаты вершин, инцидентных ребру u:eU. представляющему фрагмент соединения координаты распо- ложения наг плоскости межслойных переходов; метрические характеристики описания топологии (ширина фрагментов соедине- ний; допустимые расстояния между фрагментами соединений, между фрагментом соединения и межслойным переходом, между межслойными переходами; размеры межслойных переходов). В случае существования фрагментов соединений, которые в ходе выполнения алгоритма не могут быть размещены в заданном числе слоев, формируется информация, содержащая такие сведе- ния, как номер j неразмещенного в слоях фрагмента соединения hj(hjeH'\ координаты вершин, инцидентных ребру ыДиубС/), представляющему фрагмент h} в графе G. Результат работы алгоритма расслоения совмещенной тополо- гии БИС, представленный в виде фрагмента эскиза послойной топологии для примера на рис. 5.5, представлен на рис. 5.8. Сложность предложенного алгоритма расслоения совмещенной топологии БИС равна О (ml), где тх -число фрагментов соеди- нений. 5.5. ЯЗЫК ОПИСАНИЯ И КОНТРОЛЬ ТОПОЛОГИИ СХЕМ БИС Топологический эскиз; послойная геометрия; контроль технологических ограничений; моделирующий граф; язык описания топологии Процесс изготовления фотошаблонов БИС является сложным и требует высокой точности. В связи с этим особую роль приобретает создание комплексных систем проектирования и из- готовления фотошаблонов БИС (САПРФ БИС). На рис. 5.9 приведена структура САПРФ БИС, которая включает в себя следующие этапы: кодирование топологического эскиза БИС; контроль информации; разработка чертежа послойной геометрии БИС; контроль и анализ полученного варианта топологии; получение управляющей информации для оборудования, изготов- ляющего фотошаблоны БИС. Выходным документом для приведенной САПРФ БИС являет- ся топологический эскиз принципиальной схемы БИС. Так как описание топологического эскиза БИС представляет собой трудоемкий процесс, в результате которого получаются большие числовые массивы, то исключить ошибки при первоначальном кодировании не представляется возможным. Ошибки, возника- ющие при описании топологического эскиза, бывают двух видов: проектирования и инструментальные, возникающие из-за сбоев в работе оборудования. При описании топологического эскиза с использованием полуавтоматических устройств возможны ошибки обоих видов. Для обнаружения этих ошибок в САПРФ
Рис. 5.9. Структурная схема процесса автоматизированного пректирования фото- шаблонов БИС БИС предусматривается блок синтаксического контроля. Про- грамма синтаксического контроля является первым блоком транслятора описания топологического эскиза для микрофо- тонаборного оборудования. Второй блок транслятора - это про- грамма получения информации о послойной геометрии, яв- ляющаяся входной для программы получения перфолент для фотонаборной установки. Входной информацией для программы получения послойной геометрии служит описание топологического эскиза на специальном языке, прошедшее синтаксический ко- нтроль. Транслятором производится расчет послойной геометрии, т. е. конфигурации всех элементов каждого слоя с учетом координат центров элементов и их конструктивных размеров. Результаты расчета чертежа послойной геометрии дополняются кодами соответствующего устройства, которое вычерчивает че-
ртеж послойной геометрии БИС. Полученный чертеж ана- лизируется конструктором. Если результаты анализа не удо- влетворительны, то выполняется корректировка чертежа по- слойной гедметрии. В противном случае производится ав- томатический контроль топологии БИС. Полный контроль и анализ топологии включают контроль технологических ограничений, восстановление принципиальной схемы БИС по полученной топологии и .сравнение ее с исходной, анализ электрических характеристик БИС, соответствующих дан- ному топологическому варианту. Исходными данными для контроля и анализа БИС являются описание топологии БИС, перечень технологических ограничений, которые необходимо контролировать, исходная принципиальная схема БИС и перечень необходимых электрических характеристик. Эта информация вводится в ЭВМ, после чего осуществляется ее синтаксический контроль. Контроль технологических ограничений заключается в провер- ке расстояний между областями топологии, размеров и перекры- тий областей топологии. Этот контроль осуществляет ЭВМ. Она выдает информацию о нарушениях ограничений в текстовом виде и (или) в виде чертежей тех областей, которые не удовлетворяют заданным ограничениям. Следующим этапом является восстановление принципиальной схемы по имеющемуся варианту топологии. На этом этапе исключают неправильное соединение компонентов путем сравнения полученного перечня цепей с исходной принципиальной схемой. В случае обнаружения ошибок вносят изменения в топологию БИС. Далее по полученной принципиальной схеме осуществляется автоматическое формиро- вание уравнений, описывающих логику работы БИС. Контроль логики работы схемы позволяет убедиться в том, что все соединения в БИС выполнены правильно и схема отвечает своему назначению. Осуществление полного автоматического контроля важно не только для исходных и окончательных данных проектирования, но и для промежуточных. Это позволяет определять ошибки проектирования на ранних этапах, сокращает время и стоимость разработки БИС. Наличие полного автоматического контроля получаемых топологических вариантов повышает степень автома- тизации системы проектирования фотошаблонов БИС и дает возможность изготовить оригиналы фотошаблонов без ошибок с первого раза. Обычно при проектировании схем БИС стремятся сохранить информацию о нумерации элементов, что упрощает процесс контроля. Сохранение нумерации элементов на всех этапах оказывается затруднительным при взаимодействии разра- ботчика и ЭВМ через дисплей и при использовании языков описания топологии для проектирования БИС по частям. В этих случаях ставится задача сравнения схем без учета нумерации
элементов. Применение ЭВМ позволяет ускорить процесс контро- ля схем, снизить его стоимость и повысить достоверность результатов. Сравнение схем без учета нумерации элементов можно выполнить с помощью алгоритма отыскания подстановки изоморфизма графов. Для этого схему моделируют графом. Моделирующий граф является неориентированным с разбиени- ем на множестве вершин. Введение разбиения обеспечивает расширение моделирующих свойств графа. Выбираются два подмножества элементов БИС. На этих подмножествах определя- ются отношения. Затем вводится следующее подмножество эле- ментов и определяются новые отношения между этим подмно- жеством и предыдущими. Аналогично продолжается до получения точного описания схемы. Далее элементы заменяются вершинами, а отношения - ребрами двудольных подграфов. Получается граф. Различные виды элементов определяют разбиение на вершинах графа. Граф с разбиением эквивалентен описанию схемы. Выбирая различные описания схемы, можно получать различные моделиру- ющие графы. Изображение отношений двудольными подграфами и введение разбиения на вершинах позволяют учесть особенности схем. Схемы прёдставляются моделирующими графами и проверя- ются на изоморфизм. Если графы изоморфны, то подстановка изоморфизма определит соответствие между элементами схем. Если графы не изоморфны, то две соответствующие схемы не эквивалентны. Моделирующие графы БИС строятся по электри- ческой и топологической схемам. Работу алгоритма рассмотрим на примере. Пусть заданы два графа: G=(X, U), моделирующий КС БИС, и G'(A", U'], моделирующий топологическую схему, |А'] = |АГ'| и Jt7] = | С7')- Возьмем самый предельный случай, когда все локальные степени графов G и G' равны между собой. Необходимо определить подстановку, если она существует, для которой справедливо t(X) = X', t(U)=U', тогда G и G' будут изоморфны. Возьмем граф G (см. рис. 1.33), у которого |.¥| = 6, | V| = 9, и граф С (см. рис. 1.34), | X' | = 6, | £7' | = 9. Предположим, что вершины и x'i изоморфны, и относительно них выполним разбиение всех остальных вершин графов на связные и несвязные с ними подмножества: (xi)(x2, х3)0(х4, х5, яД, (х'1)(х'з, х'5)0(х^, x'4X'6)t. После этого проверяется наличие ребер между вершинами х2, х3 и х3. х'5. Как видно из рис. 1.33 и 1.34, их нет. Далее разбиению подвергается подмножество меньшей мощности, т. е. (х2, х3). Выберем вершины х2 и х3 и предположим, что они изоморфны, тогда строки разбиений запишутся так: UiMM0 [*з]о(*4, *5, *б)1- (.<)([х'з]0[х'5])0(х'2, А, x'6)t. Из этого следует, что вершины х3 и х'5 предполагаемо изоморфны (П-изоморфны). Перейдем к разбиению подмножеств (х4, х5, х6) и (х'2, х4, хё). Предположим,
что П-изоморфны вершины х4 и х2. Выбирая х5 и х4 как П-изоморфные вершины, получаем разбиение (Х1)([Х2]° [Х«1)о ([Х4]([Х5]° [Хб])0)1, которое определяет подстановку изоморфизма (%! Х2 Х3 Х4 Х5 Х6 \ г. Х1 х’з х'5 х2 х4 x'6J переводящую один граф G в другой G'. Временная сложность, алгоритма изменяется от О (и3) до О (и!!), причем наиболее трудоемки вычисления для однородных графов, которые не являются изоморфными. Отметим, что при разработке комплексов программ восстанов- ления принципиальной схемы по топологии БИС необходимо решение следующих задач: выбор моделей для отображения графической информации в памяти ЭВМ и создание на основе этих моделей быстродейству- ющих алгоритмов для обработки информации о топологии; выбор модели, описывающей правила поиска, восстановления по топологии элементов и связей и адаптируемой к изменениям технологии. При изготовлении фотошаблонов БИС используются коорди- натографы или микрофотонаборные установки, управляющая информация для которых содержит около 10‘+ г чисел, где г -степень интеграции БИС. Поэтому подготовка этой информа- ции происходит с помощью ЭВМ. Исходными данными для ЭВМ служит подробное описание топологии БИС, которое может осуществляться двумя способами: на основе задания координат всех угловых точек областей топологии и с помощью специально разрабатываемых языков. Описание топологии ко- ординатами всех угловых точек обладает значительной избыточ- ностью. Исключая избыточные данные, можно однозначно опре- делить топологию БИС. С уменьшением количества цифровой информации снижаются трудоемкость кодирования и вероятность появления ошибок. Выбор метода описания входной информации, входного языка и транслятора во многом определяет гибкость системы проектирования, скорость ориентации на новый вариант ко- нструктивов и данных, удобство эксплуатации. Основными требованиями, предъявляемыми к языку описания топологии, являются следующие: предметная ориентированность, обеспечивающая простогу его использования конструктором-топологом; обеспечение компактности описаний для схем большой слож- ности; применимость к широкому классу конструктивных и техноло- гических решений;
независимость от типа ЭВМи программно-управляемого оборудования, используемого для изготовления чертежей и фото- шаблонов. Учитывая эти требования, следует отдавать предпочтение специальным языкам описания топологии, а не моделированию этих описаний на языках типа Фортран. В настоящее время имеется ряд языков, в той или иной мере удовлетворяющих сформулированным требованиям и от- личающихся синтаксисом и реализуемыми возможностями. На- пример, язык описания технологий ориентирован на определенный класс микросхем и символический метод проектирования. Ана- логичные задачи решает язык Символ. Языки САРМ и МАРТ предназначены для контурного описания топологии. Опишем входной язык, используемый в САПР топологии БИС. Алфавит данного языка состоит из следующих символов: 1) прописных букв латинского алфавита; 2) десяти цифр от 0 до 9: 3) семи специальных символов: * звездочка; («—левая скоб- ка; )—правая скобка; ,— запятая; "| — конец предложения; «+» плюс; «—» — минус. Ввиду простоты, наглядности и удобства использования за основу взята синтаксическая структура входных языков. Информа- ция представляется массивами однотипных объектов. Каждый массив имеет имя. Список объектов массива информации состоит из конструкций типа Ах К, где А- имя массива; К—объект массива; * — разделитель. Конструкции в тексте разделяются запятыми. Текст можно раздели 1ь на предложения любой длины. Конец предложения обозначается разделителем "] , например А*К, В*С, N*P"] . Конструкции, следующие в предложении друг за другом, имеющие одинаковое имя массива, можно записать с обяза- тельным указанием имени для первой конструкции. Для последу- ющих имя разрешается опустить: А* К, С, E*L. Любой объект может быть связан с объектами других массивов. Все они записываются непосредственно за объектом, с которым связаны, в скобках: А*К1 (М*Т. С, Я*Р1 (F*A2(G*D5))’| . Ввиду сложности формального задания семантические правила часто задаются неформально, на естественном языке. Входная информация о топологии микросхемы состоит из топологии библиотечных элементов, библиотеки топологии фраг- ментов схемы (типовых ячеек), функциональной схемы. При разработке топологии библиотечных элементов задаются размеры транзисторов, диодов, резисторов и других элементов схемы с учетом топологических ограничений. Здесь и далее для
обозначения массивов информации использу- ются начальные буквы слов английского языка. Напрцмер, L+ слой* и т. д. Для описания библиотечных элементов применяются следующие массивы: Т - название (тип, имя) компонента; L —номер топологического слоя; Н и В — соответственно высота и шйрина фигуры; X и У—координаты левой нижней ве- ршины фигуры в данном слое. В качестве примера опишем местоположение и раз- меры топологического слоя №1 для п-р-п транзистора Рис. 5.10. Пример то- пологии транзистооа VT\ с диодом Шотки VT1, изготовленного по технологии с изоляцией р-п переходами. Топология VT1 показана на рис. 5.10, где 1 —7—номера слоев. Отсчет координат ведется от левого нижнего угла транзистора: 7*И71 (£*1 (77*33, В* 12, 5*15, 1*15))"| . Аналогично послойно описывается весь транзистор: T*VT\(L*\ (77*33, В*12, 5*15, 1*15); £*2(77*63, В*42, 5*0, 1*0); £*3(77*21. 73*20, 5*11, 1*23); £*5(77*4, 73*20, 5*11, 1*10, /7*7, 5*12, 1*15; Г*27); £*6(77*7, 73*20, 5*11, 1*44); £*7(77*4, /3*20, 5*11, 1*10, 77*1, 73*6, 5*18; 1*30, 77*7, 71*20, 5*11, 1*44))~| . Предусмотрена возможность растяжения или сжатия типовых элементов (слоев) по осям 5 и 1. Например, запись Т* ГТ\ (725*20) означает, что библиотечный эле- мент Г’71 нужно «растянуть» по оси 5 на 20 единиц. Если одним из элементов топологического слоя является «кольцо», то сначала указываются координаты и размеры внешнего контура, а затем с помощью символа « + »—те же величины для внутреннего, например £*2(Я*40, В*20, Х*15, У*15, +, Я*10, Я*10, А*20, У*30)1 . Имеется возможность построения дуги или окружности. Для этого необходимо указать координаты центра окружности, радиус окружности, координаты начальной точки (массивы 51, 71), а также координаты конца дуги (52, 72). Пример записи для дуги с центром в точке (О, О) и радиусом 1: £*2(5*0, 7*0, 51*1, 71*0, 52*0, /2*1)~| . Библиотека типовых фрагментов состоит из описаний разме- щения элементов и соединений между ними. Здесь указывается Layer—слой.
местоположение элементов и описывается топология слоев метал- лизации. Предусмотрены вызов библиотечных элементов в различ- ной ориентации и их мультипликация по осям S и t. Дополнитель- но используется массив р—укрупненная ячейка. Он создается тогда, когда в одном укрупненном файле группируется часть топологии схемы из типовых ячеек, но использовать мультиплика- цию нельзя. К недостаткам языка можно отнести необходимость наличия выполненного эскиза топологии, а также увеличение объема информации при проектировании топологии СБИС. Основными достоинствами языка являются простота, возможность использо- вания для описания топологии довольно широкого класса цифровых БИС, Ъ также полная независимость языка от элемент- ной базы и технологии изготовления. 5.6. ВОПРОСЫ АППАРАТНОЙ ПОДДЕРЖКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ САПР СБИС Аппаратная поддержка; машина баз знаний; машина конструкторского проектиро- вания; электронное моделирование; специализированное вычислительное моделиру- ющее устройство Большинство задач проектирования БИС ЭВА относится к классу ЛТ-полных или АЁ-трудных. Это значительно затрудняет получение высококачественных решений, т. е. решений с глобаль- ным или близким к нему оптимумом. Положение осложняется многокритериальностью таких задач, многообразием требований и ограничений, а также необходимостью комплексного (сквозного) их решения. Чем выше уровень объекта проектирования, тем меньше размерность задачи, и наоборот. Поэтому трудоемкость решения задач возрастает, как правило, экспоненциально по мере пониже- ния уровня объекта проектирования. Если при проектировании объектов высокого уровня можно еще использовать алгоритмы экспоненциальной временной сложности, то при переходе к проек- тированию объектов более низкого уровня экспоненциальные алгоритмы требуют столетий и даже тысячелетий при использова- нии даже самых быстродействующих универсальных ЭВМ. Таким образом, в вопросах совершенствования САПР сущест- венным является временной фактор, т. е. быстродействие систем. Поэтому наряду с совершенствованием структуры традиционных САПР, построенных на основе универсальных ЭВМ и пакетов прикладных программ, одновременно разрабатываются и новые подходы к построению САПР. Одними из таких подходов
являются совершенствование и расширение аппаратного обеспече- ния САПР на основе выделения базовых макроопераций, элект- ронное моделирование задач и распараллеливание обработки информации [55]. Следует, однако, иметь в виду, что важно не просто достижение высокого технического результата, например быстро- действия, а отношение пользы, которую дает использование достигнутого результата, к затратам на его достижение. Поэтому говорят об эффективности Э сложных систем как степени их соответствия своему назначению. Эффективность выражают от- ношением Э=/)/С, (5.9) где D — польза, которую дает применение новой или модернизиру- емой системы; С затраты на разработку, внедрение и эксплуата- цию системы. Правильно выбранный показатель эффективности может уже па ранних этапах проектирования выявить целесообраз- ность разработки или совершенствования тех или иных сложных систем. Эффективность оценивается как по частным показателям качества (ЧПК) угеУ, z = l, п, так и по обобщенным (ОПК), представляющим собой линейную функцию от ЧПК: Э = Г(у1, у2, ..., yn)=tbiyi/C, (5.10) i=l где bt - весовые коэффициенты. При оценке эффективности системы по одному ЧПК на другие накладываются ограничения, чтобы они не выходили за определенные пределы. В САПР наиболее важными ЧПК следует считать следующие: j’j—быстродействие системы; у2 — надежность; у2 — аппаратная трудоемкость и у4— стоимость системы. Удобно оперировать не абсолютными значениями эффектив- ности, а относительными. Поэтому в формулу (5.10) вместо у,- и С подставляют соответственно у,-=уг£/у,- и С=С/СЫ, где yip- значение /‘-го ЧПК разрабатываемой системы: Сы- пре- дельно допустимая максимальная стоимость системы. С учетом этого эффективность системы по ОПК будет иметь вид Э= Z Ь^/С. (5.11) При сравнении конкурирующих вариантов систем целесообраз- но иметь фиксированный уровень обобщенного (или частного) показателя качества, от которого отсчитываются значения ОПК
(или ЧПК) сравниваемых вариантов системы. Предпочтительнее, чтобы исходная система имела фиксированную эффективность, равную, например, единице. Для этого в знаменатель форму- п лы(5.11) достаточно ввести сомножитель Z Ь^ i = 1 Тогда ОПК для исходной системы будет равен единице при yt=yip, С=СМ, z=l, п, а формула для ОПК разрабатываемой системы примет вид Э= Е Ь^С (5.12) i=l i=l при ограничениях _>’=1, С=С/СМ<1, i=l, п. Приведенное соотношение (5.12) является индикатором целесо- образности реализации или модернизации систем. При этом если ОПК, вычисленный по формуле (5.12), больше единицы, то вновь разрабатываемая или модернизируемая система будет эффективна. Весовые коэффициенты Ь{ могут быть определены методом экспертных оценок. Анализ современного состояния и тенденции развития САПР СБИС свидетельствуют о том, что интенсивно ведутся работы по созданию и использованию в качестве технических средств САПР универсальных конвейерных суперЭВМ типа CRAY. Кроме того, интенсивно разрабатываются специализированные и проблемно- ориентированные ЭВМ [32, 49, 55]. Обладая способностью реали- зовывать любой алгоритм, универсальная ЭВМ не может конкури- ровать со специализированными ЭВМ при решении, например, конструкторских задач проектирования. Решение этих задач с использованием аппаратно-программных средств осуществляется в 2—10 раз быстрее, чем с помощью только программных средств. Создание ЭВМ пятого поколения предполагает наличие трех частей [61, 66]: аппаратных средств, программных средств, внешнего интерфейса. Аппаратные средства должны включать машины баз знаний, ведения диалога, решения задач. Машины решения задач будут осуществлять аппаратную поддержку основных алгоритмов в конкретной предметной облас- ти. В САПР СБИС важнейшим вопросом является аппаратная поддержка алгоритмов компоновки, размещения и трассировки. Можно предложить систему электронного моделирования задач автоматизации конструирования (машину конструкторского проектирования СБИС — рис. 5.11), которая ориентирована на решение не одной, а целого комплекса задач. Эта система построена на основе блоков и устройств (аппаратно реализующих алгоритмы основных конструкторских задач). В состав системы входят блок моделей (БМ), содержащий блок отображения топологии графа (или гиперграфа) и однородную трассирующую
Рис. 5.12. Возможная структурная схема части технического обеспечения САПР Рис. 5.11. Машина конструкторского проектирования СБИС —► среду, однородная коммутационная среда (ОКС) и устройство управления (УУ), состоящее из генератора тактовых импульсов, блоков задания начальных условий, задания ограничений, блоков организации перебора (БОП), организации решений (БОР). Ис- пользование таких систем в качестве дополнительного аппаратно- го обеспечения в составе САПР позволит совместить достоинства самих САПР и скоростные свойства спецвычислителей. При этом происходит перераспределение функций между программны- ми аппаратными обеспечениями. Если в традиционных САПР на аппаратное обеспечение возлагается функция только лишь отображения информации в той или иной форме, а все процессы по реализации алгоритмов задач возлагаются на программное обеспечение и сам процессор, то при новом подходе роль аппаратного обеспечения существенно повышается. Теперь реали- зация алгоритмов обеспечивается специальными аппаратными средствами, позволяющими на несколько порядков повысить быстродействие. Программное обеспечение осуществляет управле- ние информационными потоками, выдачу конструкторской доку- ментации с помощью устройств отображения информации, опера- тивную смену алгоритмов. Возможная структурная схема части технического обеспечения САПР показана на рис. 5.12. В ней к схеме традиционного АРМ, состоящей из мини-ЭВМ, мультиплексора, кодировщика графической информации, алфавитно-цифрового и графического дисплеев, графопостроителя и координатографа, добавлены специализированное вычислительно-моделирующее устройство (СВМУ), локальная сеть персональных ЭВМ ' и монитор. Осуществляет СВМУ аппаратную реализацию как основных
алгоритмов конструкторского этапа проектирования, так и вспо- могательных, указанных выше. Монитор обеспечивает вза- имодействие между всеми блоками системы. Основное назначение СВМУ—реализация быстродействующих алгоритмов. При этом возникают две наиболее важные проблемы. Первая состоит в поиске и разработке наиболее приспособленных к аппаратной реализации алгоритмов (проблема адекватности алгоритмов техническим средствам), вторая—в физической реали- зуемости. Если аналогично понятию временной сложности алго- ритма ввести понятие аппаратной сложности его реализации, то «хорошей» аппаратной реализацией следует считать такую, в которой зависимость затрат на оборудование растет в зави- симости от размерности задачи в степени, не превышающей 2. Очевидно, что аппаратная реализация алгоритмов только благодаря специализации может дать существенный выигрыш в быстродействии. Так, аппаратная реализация последовательного алгоритма компоновки позволит на 2—3 порядка повысить скорость решения этой задачи. Использование же адекватных техническим средствам алгоритмов и глубокое распараллеливание могут дать еще более ощутимый выигрыш, особенно при больших размерностях задач. В этой связи интерес представляют алгоритмы случайного поиска. Попытки применения этих алгоритмов для автоматизации конструирования делались давно. Но они были основаны на достаточно медленном формировании универсальными ЭВМ последовательностей псевдослучайных чисел. Причем необходимы не обычные случайные (в данном случае псевдослучайные) числа, а соединения случайных множеств (случайные перестановки, сочетания, размещения), число элементов в которых постоянно (сами элементы или порядок их следования в соединении изменяются). При машинном формировании сначала необходимо получить последовательность псевдослучайных чисел, а затем преобразовать их в случайное соединение, на что потребуется дополнительное время, снижающее быстродействие. При аппаратной реализации алгоритмов имеется принципиаль- ная возможность параллельного формирования случайных соеди- нений. Благодаря этому намечается перспективный путь решения задач большой размерности. Он основан на просмотре такого числа случайных решений Q, среди которых с заданной довери- тельной вероятностью Р будет содержаться решение R, отличаю- щееся от оптимального 7?min на величину, не превосходящую некоторое наперед заданное число е, т. е. Р {(7? — 7?min)<E}^ Р. При решении задач размещения БМ задает ММ КС и опре- деляет расстояния между позициями коммутационного поля; БОП осуществляет выбор элементов и размещает их в соответст- вующие позиции; БОР оценивает суммарную длину связей и запоминает лучший вариант размещения.
При решении задач трассировки аппаратные модели основыва- ются на волновых алгоритмах и на их модификациях. Аппаратные модели трассировки используют БМ, ОКС, БОП, БОР и про- цедуру волнового процесса распространения сигналов от одной ячейки среды к другой. При этом реализуется операция построе- ния кратчайших путей между заданными ячейками, моделирующи- ми контакты КС. В настоящее время в качестве ячеек используют процессоры обработки данных, микропроцессоры, персональные компьютеры, ячейки однородных и квазиоднородных сред. Вследс- твие практически мгновенного распространения сигналов скорость алгоритма трассировки резко возрастает. Основной недостаток аппаратных моделей —резкое увеличение числа элементов, возник- новение проблемы надежности и теплоотвода. Отметим, что при реализации СВМУ потребуются разработка и создание новых технических средств, таких, как формирователи детерминированных и случайных сочетаний, перестановок и раз- мещений, устройство сжатия кодов для параллельной обработки информации, блоков для отображения графов, гиперграфов и др. При построении трассировочных, компоновочных и других ма- шин, а также в качестве аппаратной поддержки базы знаний САПР СБИС можно использовать CMBV. Все это позволяет надеяться, что в скором времени могут появиться CBMV, позволяющие перейти на качественно новый уровень конструиро- вания БИС и СБИС. 5.7. ПРОЕКТИРОВАНИЕ ТОПОЛОГИИ СБИС С ПОМОЩЬЮ КРЕМНИЕВЫХ КОМПИЛЯТО- РОВ Кремниевый компилятор; иерархический редиктор; план кристалла; слияние ячеек; кремниевый ассемблер Необходимость проектирования специализированных заказных СБИС, рост степени их интеграции стимулируют развитие новых методологий автоматизированного проектирования. К ним отно- сятся процедурные методы проектирования или кремниевые компи- ляторы (КК) [55]. Под КК понимаются САПР, реализующие процесс преобразо- вания абстрактного описания ЭВМ или ЭВА в топологию. Его можно разбить на три основные составляющие: средства физического синтеза для создания базового плана кристалла, разбиения схемы, размещения, трассировки и т. д.; средства логического, синтеза комбинационных или последова- тельностных схем; средства процедурного проектирования и генерации модулей (реализуются с помощью так называемых программ" кремниевого ассемблера).
стем: ввода исходного описа- ние. 5.13. Проектирование топологии ция, планирования ПОЛЯ кри- СБИС по методу Р,К сталла, ввода библиотечных элементов, ядра кремниевого компилятора, иерархического ре- дактора. Процесс кремниевой компиляции реализуется трансляцией вводного описания в топологию кристалла. Он состоит из двух циклов. В первом понижают уровень исходного описания СБИС до воспринимаемого КК, во втором реализуют сам процесс кремниевой компиляции. Первый цикл организуется подсистемой ввода исходного описания. Входными данными является описан- ная на языке высокого уровня функциональная схема ОП. Производятся ввод и трансляция описания объекта проектирова- ния и затем осуществляется разбор исходного описания. Он состоит из двух операций: детализации функционального описания сверху вниз и замены функционального представления ячеек на логическое. Для управления процессом проектирования используют под- систему п шчирования кристалла. Под планом кристалла понима- ется предварительный вариант размещения ячеек СБИС. Его строят, используя информацию об оценках размеров ячеек. Результаты работы подсистемы помещаются в центральной БД.
После работы двух рассмотренных подсистем получают промежу- точное задание на проектирование в виде текстового описания исходных данных на языке EDIF. Ядро КК 'состоит из трех частей: центральной, алгоритма слияния ячеек, кремниевого ассемблера. Все данные о промежуточ- ном состоянии ОП содержатся в центральной БД. Алгоритм слияния ячеек считают основной программной процедурой КК. Результатом работы алгоритма является спроектированная ячейка. Работа алгоритма продолжается рекурсивно, пока не будет спроектирован кристалл СБИС. Под кремниевым ассемблером понимается программа, реализу- ющая ячейку заданного типа. Считается, что кремниевые ассемб- леры связывают КК с заданным набором технологических требований и ограничений. В состав кремниевых ассемблеров входят ПЛМ, счетчики, регистры, ячейки однородных структур И Т. д. В библиотеке стандартных элементов находятся все описания ячеек, использованных для проектирования, и информация для разбора входного описания. Имеются средства введения редакти- рования, описания библиотечных элементов на графическом языке, пополнения библиотеки. Когда спроектированный кристалл не удовлетворяет разработ- чика, используется иерархический редактор, перестраивающий иерархию ячеек. Проектирование топологии СБИС в КК заключается в про- граммной реализации связи между логикой и топологией. По- этому в отличие от традиционных САПР функциональное описание СБИС поступает на вход КК на поведенческом уровне. Входная информация показывает, какие функции должно осу- ществлять разрабатываемое устройство, а не как эти функции будут выполняться. Это может быть граф потоков данных, текстуальная запись на специальных языках типа ISPS, ICL. Синтез на уровне межрегистровых передач заключается в раз- работке структуры устройства, соответствующей полученному описанию. На выходе должны быть определены модули, необхо- димые для реализации схемы. Увязка модулей заключается в определении физических моду- лей, соответствующих модулям уровня предыдущего этапа. Описания физических модулей могут находиться в библиотеке либо вырабатываться программно (процедурно) с помощью генерации макроячеек. Решения этого этапа играют важнейшую роль и накладывают ограничения на характеристики системы (стоимость, площадь и т. д.). После того как выбраны и увязаны физические модули, производится синтез логики управления. Как и в традиционных САПР, задачи топологического синтеза в КК решаются с помощью размещения и трассировки. Современ- ные системы синтеза топологии в КК включают поэтапную
оптимизацию площади и характеристик кристалла. Большие размерности решаемых задач наложили свой отпечаток на алгоритмы размещения и трассировки в КК. Наиболее приемле- мыми считаются последовательные алгоритмы конструктивного размещения и канальные алгоритмы трассировки. Следует отме- тить, что одним из основных резервов повышения качества проектирования СБИС остается этап топологического синтеза. Рассмотрим синтез топологии из типовых ячеек, называемый методом слияния ячеек. Остановимся на реализации метода для четырехсторонних типовых ячеек. Типовая ячейка представляет собой набор геометрических фигур (прямоугольников, много- угольников, проводников), принадлежащих к определенному слою, и четыре списка портов (внешних выводов для каждой из сторон) типовой ячейки. Описание содержит следующую инфор- мацию: координаты по осям 5 и t в декартовой системе; номер слоя; номер сигнала (цепи); ширина токоведущего проводника (соединения). Входной информацией для синтеза топологии является иерар- хическое многоуровневое входное описание СБИС, позволяющее формировать типовые ячейки низшего уровня и задавать межсое- динения между типовыми ячейками как низшего, так и высших уровней. Под типовой (некоторого) высшего уровня понимается ячейка, полученная в результате слияния некоторых ячеек нижеле- жащего иерархического уровня. Эти ячейки описываются как топологические подъячейки данной типовой ячейки высшего уровня. Запишем критерий качества синтезированной топологии СБИС: F= £ KQi, i=l где Qi—приведенная (нормированная) оценка z-го показателя качества; —коэффициент значимости z-ro показателя; / число показателей. Рассмотрим алгоритм автоматического синтеза топологии СБИС, в которой используется последовательное размещение типовых ячеек. Иерархическое входное описание позволяет представить про- цесс синтеза топологии всей СБИС в виде простой, но многократ- но повторяющейся процедуры слияния типовых ячеек. На каждом иерархическом уровне входного описания имеется информация о входящих топологических подъячейках и определе- ны все соединения между ними. Приведем алгоритм синтеза топологии. 1°. Начало. Определение всех топологических подъячеек.
2°. Если топологическая подъячейка одна, переход к 4 иначе—к 3°. 3°. Попарное слияние всех топологических подъячеек. 4°. Конец. При определении каждой топологической подъячейки может возникнуть один из следующих случаев: она является типовой ячейкой низшего уровня; она является типовой ячейкой высшего уровня. В первом случае топологическая «одъячейка определяется посредством вызова процедуры формирования типовых ячеек низшего уровня по заданному входному описанию. Во втором случае она определяется посредством рекурсивного вызова описан- ной процедуры. Попарное слияние типовых ячеек представляет собой процесс определения их взаимного расположения с разводкой всех соединений в области между ними, включением топологии всех необходимых транзитных трасс и разводкой шин питания в этой области. В результате попарного слияния всех топологических подъячеек сформируется единая типовая ячейка, представляющая линейку ячеек с топологией межсоединений, транзитных трасс и шин питания в областях между ячейками. Для того чтобы избежать размещения всех типовых ячеек иерархического входного описания в одну линию при слиянии топологических подъячеек, каждая из них поворачивается на 90° Благодаря этому каждая топологическая подъячейка в линейке является столбцом. Каждая типовая ячейка, полученная в резуль- тате слияния ячеек, в свою очередь, может являться топологичес- кой подъячейкой и может быть слитой с другими ячейками. Алгоритм слияния двух типовых ячеек заключается в сле- дующем. 1°. Начало. Определение списка транзитных сигналов для объединяемых ячеек. 2°. Определение списков сигналов, необходимых слева и справа от ячеек, и включение в них транзитных сигналов. 3°. Формирование типовой ячейки, содержащей топологию всех трасс между ячейками. 4°. Объединение нижней типовой ячейки с ячейкой межсоедине- ний и разводка шин питания между ними. 5°. Объединение результирующей ячейки с верхней типовой ячейкой и разводка шип питания между ними. 6е. Конец. Процесс синтеза топологии СБИС на плоскости ведется слева направо. Из области между объединяемыми ячейками выводятся трассы, необходимые ‘для соединения с уже определенными типовыми ячейками, и типовые ячейки, которые буду! определены позднее, а также трассы, являющиеся интерфейсными. Таким образом, формируется два списка сигналов, которые должны
быть выведены из области между ячейками и появиться на левой или правой стороне результирующей ячейки. Формирование топологии межсоединений может быть осу- ществлено с помощью любого алгоритма канальной трассировки, позволяющего получить 100%-ную разводку соединений при неограниченной ширине канала. Попарное объединение нижней типовой ячейки с ячейкой межсоединений и результирующей ячейки с верхней позволяет располагать ячейки относительно друг друга на расстоянии, обусловленном необходимой шириной канала, т. е. шириной ячейки межсоединений. Разводка шин питания осуществляется отдельно от синтеза топологии межсоединений, так как эти шины проводятся только в одном слое (в металле). При этом для обеспечения необходимой рассеиваемой мощности задается определенная ширина шины питания. Процесс автоматического синтеза топологии СБИС реализован с помощью пяти основных процедур: синтеза топологии (ПРОЦ1); определения типовых ячеек низшего уровня (ПРОЦ2); слияния пары типовых ячеек (ПРОЦЗ); синтеза топологии межсоединений (ПРОЦ4); объединения пары типовых ячеек (ПРОЦ5). Взаимосвязь процедур показана на рис. 5.14. В настоящее время созданы КК, наиболее известными из которых являются Concorde (фирма Seattle Silicon Technologies) CENESIL (Silicon Compilers), GDT (Silicon Design Labs). Пользователь самостоятельно формирует в интерактивном режиме базовый план кристалла, выбирает число и типы модулей. Проектирование осуществляется на основе иерархии элементов, заложенной во входном описании. На этапе схемного проектиро- вания используется нисходящий метод, в результате чего входное описание последовательно детализируется и представляется в виде дерева. Например (рис. 5.15), полученное дерево может корректи- роваться и модифицироваться пользователем в интерактивном режиме. На основе полученной информации производится топологичес- кий синтез устройства с помощью восходящего метода проектиро- вания. При этом блоки нижнего уровня иерархии либо находятся в библиотеке, либо генерируются процедурно с помощью про- грамм кремниевого ассемблера. Затем из фрагментов уровня 3 иерархии уровня 2 при решении задач размещения и трассировки формулируются блоки, а далее формируется и все устройство в целом. Процесс топологического синтеза показан на рис. 5.16. Эксперты полагают, что совершенствование КК будет происхо- дить по трем основным направлениям. 1. Использование методов искусственного интеллекта в САПР или так называемых системах продукций. 2. Комплексная интеграция процесса синтеза.
1-й уровень 2-й уровень 3-й уровень Рис. 5.15. Дерево представления про- ектируемого устройства (7—8— топо- логические ячейки) Рис. 5.16. Процесс топологического синтеза для примера на рис. 5.15 3. Системное проектирование на высших уровнях иерархии электронной аппаратуры. Отметим, что в существующих КК процессы размещения и трассировки осуществляются автоматически, однако пользо- вателю предоставляется право вмешиваться в них и редактировать промежуточные решения. С ростом уровня и плотности интеграции методология процедурного проектирования является перспективной и экономически эффективной для создания заказных СБИС. Использование КК для создания СБИС хотя увеличивает площадь кристалла, но позволяет сократить степень интеграции до миллионов транзисторов на одном кристалле. 5.8. КРАТКИЕ ВЫВОДЫ В гл. 5 рассмотрены вопросы построения САПР БИС и СБИС. Описана последовательность задач автоматизированного проекти- рования ИМС. Построены и проанализированы различные мате- матические модели компонентов БИС. Исследованы размещение фрагментов топологии, расслоение совмещенной топологии, конт- роль топологии при автоматизированном выпуске фотошаблонов. Обращено внимание на основные концепции построения подсистем автоматизированного проектирования БИС и СБИС, приведены некоторые идеи совершенствования САПР СБИС при аппаратной поддержке программного обеспечения и БЗ. Изучение данного раздела даст возможность разрабатывать новые САПР СБИС и выбирать из существующих наиболее приемлемые для конк- ретных разработок. Проектирование топологии—важнейший этап разработки БИС и СБИС. Использование аппаратной поддержки для реализации конструкторских задач и кремниевых компиляторов перспективный метод повышения скорости проектирования.
УПРАЖНЕНИЯ, ЗАДАЧИ, ВОПРОСЫ ДЛЯ ПОВТОРЕНИЯ 1. Что такое степень интеграции ИМС? 2. Приведите классификацию ИМС. 3. Опишите цикл работ по проектированию БИС и СБИС. 4. Какие задачи автоматизации возникают при синтезе и анализе принципиальных электрических схем? 5. Опишите задачи проектирования БИС на основе базовых, кристаллов. 6. Нарисуйте структуру интеллектуальной САПР СБИС и опишите проблемы создания ее блоков. 7. Приведите пример реализации нечеткой модели конструктора СБИС. 8. Опишите идею топологического подхода к проектированию БИС. 9. В чем заключается метрико-топологический подход к проектированию БИС? 10. Какие математические модели и почему применяются при топологическом подходе к проектированию БИС? 11. Опишите методы анализа графа на планарность. 12. В чем заключается планаризация математической модели БИС? 13. Опишите основные направления построения геометрического чертежа тополо- гии схемы. 14. Приведите методику построения общей модели размещения и соединения фрагментов топологии БИС. 15. Постройте структурную схему алгоритма размещения фрагментов топологии БИС. 16. Каким образом моделируется рабочее поле кристалла при размещении фрагментов топологии? 17. Постройте расплывчатый алгоритм для размещения точечной модели БИС. 18. В чем заключается алгоритм уточнения размещения фрагментов топологии БИС? Приведите пример. 19. Приведите структуру САПРФ БИС и опишите работу ее блоков. 20. В чем заключается полный контроль топологии БИС и контроль технологи- ческих ограничений? 21. Каким образом выполняется задача сравнения схем без учета нумерации элементов? 22. Опишите идею построения моделирующих графов. Дайте примеры. 23. Запишите ЛСА алгоритма сравнения моделирующих графов на изоморфизм. 24. Опишите входной язык, используемый в САПР топологии БИС. 25. Разработайте новый входной язык описания топологии СБИС с учетом технологии изготовления. 26. Разработайте структуру нового входного языка описания топологии БИС, ориентированного на несколько технологий (например, КМОП, МОП, И2 Л). 27. Дайте сравнительную оценку разработанных входных языков описания тополо- гии и рекомендации по их использованию. 28. Опишите основные подходы к построению специализированных вычислитель- ных устройств. 29. Каковы перспективы создания аппаратной поддержки программной части САПР .СБИС?
Глава 6. МАТЕМАТИЧЕСКИЕ МОДЕЛИ И АЛГОРИТМЫ ПРОЕКТИРОВАНИЯ "технологических процессов ПРОИЗВОДСТВА ЭВА 6.1. ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ Технологический процесс; гибкая производственная система; технологический маршрут; технологическая операция Создание микроэлектронных элементов ЭВА включает в себя проектирование технологических процессов (ТП), приспособлений, оснастки и инструмента при технологической подготовке произ- водства (ТПП). Основная цель при этом —проектирование доку- ментации для организации ТПП, контроля качества и промышлен ной эксплуатации изделий. Создание новых классов приборов микроэлектроники, непре- рывное расширение их номенклатуры и объема выпуска при ограниченных сроках освоения в производстве обусловили новые производственные тенденции. Отличительной особенностью их является возможность быстрого освоения в производстве новых типов изделий без остановки производственного процесса выпуска прежних изделий с помощью быстрой перестройки технологичес- кого процесса и использования существующего парка технологи- ческого оборудования. Реализация этих тенденций возможна на основе широкой автоматизации производственных процессов с применением адап- тивных роботов и манипуляторов не только на основных, но и на вспомогательных операциях, а также осуществления про- граммы, предусматривающей использование специальных средств управления и синтеза технологических процессов. Повышенный интерес к разработке средств, реализующих «безлюдную» технологию, объективно основан на современной ситуации, сложившейся в мировом промышленном производстве, характеризующемся, с одной стороны, быстрой сменяемостью заказов и, с другой стороны, возрастающими дефицитом и сто- имостью квалифицированной рабочей силы. Все эти проблемы решаются внедрением гибких автоматизиро- ванных систем обработки в сочетании с новыми организационны- ми структурами материальных потоков и производства. Но, тем не менее, переход к таким системам осуществляется еще достаточ- но медленными темпами. Основное препятствие на пути реализа- ции гибкой технологии—отсутствие единой методологии проекти- рования гибкой производственной системы (ГПС) на основе общей теории систем.
Гибкая производственная система Рис. 6.1. Подсистемы ГПС Производственная система, состоящая из множества станков с числовым программным управлением (ЧПУ), соединенных автоматической транспортно-накопительной системой, и ЭВМ, которая осуществляет прямое цифровое управление этим обо- рудованием, называется ГПС [37]. Рассматривая ГПС как сложную систему, можно представлять ее совокупностью отдельных подсистем (рис. 6.1). Для создания общей методологии проектирования ГПС необходимо не только исследовать каждую из подсистем, но выявлять и описывать связи между ними. Рассмотрим подробнее технологическую подсистему ГПС. Эффективность функционирования ГПС в значительной степени зависит от качества проектирования технологических процессов (ТП) и подготовки управляющих программ для программно-уп- равляемого оборудования. Следовательно, одной из актуальных проблем функционирования ГПС является создание комплексной САПРТП, обеспечивающей проектирование технологических про- цессов для изделий всех классов в условиях единичного и серий- ного производства с одновременной разработкой управляющих программ для программно-управляемого оборудования при од- норазовом вводе исходных данных. В ГПС согласно [37] входят технологическое оборудование, автоматическая транспортно-накопительная система управления и обслуживающий персонал. Управление работой ГПС осуществляется с помощью микроЭВМ, которая соединяется с удаленными микроЭВМ, размещенными на всех ключевых точках системы. Каждая подчиненная микроЭВМ имеет интерфейсную плату, обес- печивающую внутренние связи между этой ЭВМ и фо- тоэлектрическими датчиками и инициативными устройствами, расположенными в прилегающей зоне. Управление осуществляется с помощью кодированных ин- струкций, которые в виде последовательности слов пересылаются
ио системной последовательной коммутационной линии для их интерпретации удаленными станциями. Контроллеры удаленных станций имеют в своей программируемой памяти заранее состав- ленные стандартные подпрограммы, позволяющие им выполнить любую законченную последовательность действий, которая опре- деляется и инициируется закодированной инструкцией. Такой подход способствует реализации модульного проектирования и программирования обеспечивающих возможность расширения системы без необходимости перепроектирования программ и ин- терфейсов главной ЭВМ. Информация, содержащаяся в БД или БЗ в виде файлов программной обработки деталей, технологических маршрутов и параметров, справочников, помогает ЭВМ управлять работой гпс. Основные преимущества ГПС—это повышение коэффициента использования оборудования, сокращение времени подготовки производства, уменьшение запасов незавершенной продукции, гибкость производства на всех стадиях. Перечислим основные задачи, которые необходимо решить с помощью САПР ТП для изготовления ЭВА: выбор технологии; - выбор технологического маршрута; синтез технологического маршрута; оптимизация технологического маршрута; выбор оборудования; имитационное моделирование; планирование эксперимента. Существует шесть систем управления ТП [37]: с образной связью, автоматического регулирования, с компенсацией возму- щения, программного управления, стационарные оптимального управления, адаптивные. Перспективными в современных САПР ТП являются адаптивные системы. Они применяются при работе в изменяющихся во времени внешних условиях. В адаптивных системах используются функции идентификации, принятия реше- ний и настройки. Рассмотрим предварительно некоторые понятия и определения из существующих стандартов и ГОСТов. Технологический процесс—часть производственного процесса, содержащая целенаправленные действия по изменению и (или) определению состояния предмета труда. Технологический процесс может быть отнесен к изделию, его составной части или к методам обработки и сборки. К предметам труда относятся заготовки и изделия.. Технологическая операция — законченная часть ТП, выпол- няемая на одном рабочем месте. Технологический метод — совокупность правил,' определяющих последовательность и содержание действия при выполнении
формообразования, обработки или сборки, перемещения, включая технический контроль, испытания в ТП изготовления или ремонте, установленных безотносительно к наименованию, типоразмеру. При автоматизации проектирования ТП учитывают характер и взаимосвязи процесса и определяющих заданное качество изготовляемых изделий и экономическую эффективность. Проек- тирование ТП включает в себя ряд иерархических уровней: разработку принципиальной схемы ТП, представляющей после- довательность этапов укрупненных операций; проектирование технологического маршрута обработки изделия; проектирование технологических операций; разработку управляющих программ для оборудования с ЧПУ. Уровень определяет степень детали- зации получаемых описаний ТП. В зависимости от особенностей изготовляемого объекта и условий проектирования технологические процессы подразделя- ются на единичные, типовые и групповые. Согласно ГОСТ 3.1109—82 единичный—это ТП изготовления или ремонта изде- лия одного наименования, типоразмера независимо от типа производства; типовой—это ТП изготовления группы изделий с общими конструктивными и технологическими признаками; групповой—это ТП изготовления группы изделий с разными конструктивными, но общими технологическими признаками. Отметим, что аналогичным образом подразделяются и тех- нологические операции (ТО). Типовая ТО характеризуется един- ством содержания и последовательности технологических перехо- дов для группы изделия с. общими конструктивными и технологи- ческими признаками; групповая ТО характеризуется совместным изготовлением группы изделий с разными конструктивными, но общими технологическими признаками. Принципиальная схема ТП отражает состав и последователь- ность этапов (укрупненных операций) обработки и сборки изделия. Проектирование операций включает определение состава техноло- гических переходов, планов или маршрутов обработки, последова- тельности выполнения переходов обработки, расчет технологи- ческих параметров. На каждом уровне процесс технологического проектирования представляется как решение совокупности задач. Начинается проектирование с синтеза структуры по ТЗ. Исходный вариант структуры генерируется, а затем оценивается с позиций условий работоспособности, например обеспечения заданных параметров качества изделия. Для каждого варианта структуры предусматри- вается оптимизация параметров. Если для некоторого варианта структуры ТП, операции или перехода достигнуто обеспечение заданных параметров качества изделий, то синтез считается законченным. Результаты проектирования выдаются в виде необ- ходимой технологической документации. Для каждого варианта структуры разрабатывается модель ТП или его элементов.
Анализом модели проверяется выполнение условий работоспособ- ности, например получения требуемой производительности при обеспечении параметров качества изделий. Если условия работоспособности не выполняются, то изменяют управляемые параметры и модель анализируется при новых значениях параметров. Если при этом условия работоспособности не выполняются, переходят к генерации нового варианта структуры или пересмотру ТЗ. . л На основе функционального назначения объектов ТП выделя- ю г технологические процессы, технологическую оснастку и инстру- менты. Технологические процессы и технологическую оснастку делят на классы, виды, типы и группы. Например, класс ТП: сборка и монтаж; вид ТП: печатные платы; тип ТП: сборка изделий на печатной плате; группа ТП: двусторонние печатные платы, многослойные печатные платы. Синтез ТП состоит в создании одного из его вариантов. Получение новых вариантов ТП основано на использовании теории расплывчатых множеств и эвристических алгоритмов. Унифицированный ТП—это совокупность однотипных опера- ций, которые выполняются на идентичном оборудовании. Примерами таких процессов являются основные процессы изготовления БИС. Типовой ТП состоит из определенного числа унифицированных ТП или ТО, заданных в определенной последовательности, и предназначен для изготовления того или иного типа БИС. Основным критерием при производстве БИС считается выход годных. Причем сначала исследуются электрические и эксплуата- ционные параметры, которыми должна обладать БИС, а затем ТП отлаживается с целью получения максимального значения выхода годных. Откладка заключается в оптимальном управлении параметрами ТП и режимами технологического оборудования. Режимы управления оборудованием совершенствуются по мере повышения автоматизации и улучшения исследований физико-хи- мических процессов, происходящих при выполнении ТО. Переход на полностью автоматизированные участки повышает выход годных. 6.2. МОДЕЛИ ТЕХНОЛОГИЧЕСКИХ ПРОЦЕССОВ Графические, описательные, математические модели технологического процесса; технологическое оборудование; имитационная система Работа САПР ТП основана на использовании, преобразовании и обработке ММ. Отметим, что формальное описание ТП и является его моделью, которая необходима для создания и функционирования САПР ТП. Известно, что в общем виде ММ ТП представляет собой множество уравнений, неравенств,
логических схем, таблиц и т. п., которые определяют зависимость между входными, выходными, управляемыми параметрами ТП, параметрами материалов, полуфабрикатов, изделий технологичес- кого оборудования. Очевидно, что один и тот же ТП описывается различными ММ с разной степенью точности. При этом необходимо устанавливать соответствие реального ТП и ММ при одних и тех же входных и управляемых параметрах ТП. Существует большое число классификаций ММ ТП. Рассмотрим одну из типичных классификаций. Выделяют следующие модели ТП: описательные, графические, математические. Описательные модели являются простейшими и представляют собой словесное описание режимов, последовательностей техноло- гических переходов и операций, технологических карт и т. п. Графические модели ТП делят на граф-схемы и номограммы. Они описывают ТП со сложной структурой. Граф-схемы основаны на использовании графов и гиперграфов. Номограммы, их еще называют графическими системами со шкалами, дают возмож- ность без вычислений графическими построениями находить параметры технологических операций. Математические модели ТП бывают аналитические, имита- ционные и массивы параметров. Когда технологические операции мало влияют на параметры изделий, в качестве ММ ТП используют массивы технологических параметров. При этом, устанавливая значения элементов массивов технологических пара- метров на соответствующем технологическом оборудовании, получают необходимые значения параметров изделий. При имитационном моделировании на ЭВМ разрабатывают специальные моделирующие алгоритмы, которые имитируют процесс функционирования ТП. Наиболее приспособлены для использования в САПР ТП аналитические ММ. Они представляют собой совокупность мате- матических зависимостей, соединяющих входные, выходные и управ- ляющие параметры ТП. При этом ТП описывают функциональными зависимостями в виде алгебраических, дифференциальных, интег- ральных, интегродифференциальных и других уравнений, неравенств и логических условий. Аналитические ММ делят на детерминирован- ные, вероятностные и смешанные. В первом случае исследуют физико-химические явления, на которых основана моделируемая технологическая операция. Детерминированная модель создает- ся в виде одной или нескольких функциональных зависимостей вида У2=р2\Х1,Х2,...,Хк); (6.1) yP=Fp(xi, х2, хк), где у—технико-экономический выходной параметр ТП; х—вход- ной или управляемый параметр технологической операции.
При построении вероятностных ММ ТП входные и выходные параметры представляются случайными функциями. В смешанных ММ ТП шусют место и случайные, и детерминированные параметры. Моделирование ТП выполняют декомпозицией его на последо- вательные операции. В общем виде ТП может представлять собой последовательность операций. При моделировании ТП разбивается на отдельные операции. Причем для каждой операции строятся ММ, которые затем объединяются. Такой процесс позволяет получить обобщенную ММ ТП, в которой по воз- можности (с заданной точностью) учтено влияние параметров каждой операции. Упрощенный расплывчатый алгоритм построения и анализа ММ ТП имеет следующий вид. 1°. Разбиение заданного ТП на отдельные операции. 2°. Определение системы параметров. 3°. Выбор вида ММ. В случае выбора вероятностной ММ — переход к 4°. При выборе детерминированной ММ— переход к 7°. 4°. Определение характеристик ММ. 5°. Проверка адекватности ММ и реального ТП, проверка значений коэффициентов. 6°. Анализ ММ. Переход к 10°. 7°. Определение явлений, на которых основана технологи- ческая операция. 8°. Определение характеристик ММ. 9°. Анализ ММ. 10°. Конец работы алгоритма. В САПР ТП выделяют ММ производственных систем, а также структур и конструкторско-технологических свойств объектов производства. Математические модели производственных систем разделяют на модели технологической оснастки и модели объек- тов оснащения производства. Например, к моделям объектов технологического производства относят детали трех видов: имею- щие форму тел вращения (штыревые выводы и перемычки в микросборках, втулки, шайбы и т. п.); с плоской формой (платы, рамы, подложки БИС и т. п.); с фасонной формой (контакты, радиаторы, корпуса БИС и т. п.). Построение ММ деталей, т. е. формализованное описание параметров и формы деталей, выполняют на основе различных предметных (внутренних) языков проектирования (ЯП). Использо- вание ЯП позволяет описывать поверхности деталей элементов ЭВА и их взаимное расположение в пространстве. Кодирование деталей элементов сводят к описаниям набора параметров, которые выполняют в соответствии с синтаксисом ЯП. Алфавит ЯП содержит символы, прописные буквы различных алфавитов. Для записи наименований и значений параметров используют целые действительные числа, значения углов, простые и составные
алфавитные слова и т. п. Например, при кодировании деталей МСБ, БИС, СБИС их рассматривают на основе БИП как структуру, состоящую из множества элементов. Последовательно выделяются элементы главной или основной формы детали. Затем определяют- ся и описываются элементы, находящиеся в отношении подчиненно- сти (на низшем иерархическом уровне) к элементам главной формы. В настоящее время основное внимание разработчиков САПР в области технологии БИС уделяется разработке комплексов программ для моделирования физико-химических явлений при выполнении тех или иных технологических операций. При этом решают (в общем случае) следующие нелинейные уравнения в частных производных: Пуассона, непрерывности и др. Цель использования САПР при разработке технологии состоит в оптимизации ‘характеристик приборов при заданных технологи- ческих ограничениях. Особый интерес в настоящее время представ- ляют исследования, в которых обосновывается применение слабо- легированного стока для минимизации эффектов, обусловленных токами подложки. В частности, при разработке и изготовлении субмикронных СБИС особое значение приобретают процессы травления и металлизации. В таких случаях используют системы моделирования. В ряде новейших систем технологического моде- лирования непосредственно решается задача сопряжения моделей процессов формирования рисунка с двумерными моделями ТП. Машинное моделирование ТП—самый дешевый и быстрый процесс. Например, изготовитель БИС планирует разработать новый ТП для создания КМОП БИС с минимальной длиной затворов полевых МОП-транзисторов 1,5 мкм Этот новый ТП может включать в себя девять этапов фотолитографии, шесть операций ионной имплантации и несколько циклов диффузии, отжига и окисления. При использовании соответствующего про- граммного обеспечения и ЭВМ средней мощности моделирование всех критических этапов ТП (условий создания областей, ограни- чивающих распространение канала; регулировки порогового на- пряжения и т. д.) занимает минуты или часы. Подобный реальный эксперимент занимает несколько дней или недель. Следовательно, машинное моделирование дает реальный выигрыш во времени и позволяет получить данные по чувствительности ТП в случае различных вариантов отклонений от заданной технологической схемы. При моделировании ТП выполняют эпитаксию, диффузию, формирование технологического рисунка литографии, осаждение, ионную имплантацию, окисление и др. При моделировании БИС определяют динамические, статические и временные характеристи- ки активных компонентов, паразитных компонентов, вольт-ампер- ные характеристики компонентов. Необходимо отметить, что моделирование ТП не может рассматриваться вне процесса моделирования самих БИС.
Успешное проектирование и выпуск БИС возможны только том случае, когда эти две области анализируются совместно. Средства автоматизации позволяют исследовать и оптимизи- ровать соотношения между параметрами ТП. Однако для подго- товки производства и управления им требуется решать совсем иные задачи, а именно контролировать отклонения параметров и эффективно управлять производственными процессами. При создании САПР с учетом технологического оборудования возникает ряд задач, которые можно разбить на три. 1. Моделирование внутренней термодинамики и газодинамики в таких технологических установках, как диффузионные печи, плазменные реакторы травления и устройства химического осаж- дения из паровой фазы. 2. Повышение уровня автоматизации и контролируемости оборудования. 3. Обобщенное и конструктивное описания оборудования и технологического процесса. Можно выделить два подхода к решению задач проектирова- ния. Первый подход основан на моделировании объекта проекти- рования—ТП производства МСБ. Важными этапами данного подхода являются разработка модели ТП, реализация модели на ЭВМ, анализ поведения ТП при исследовании модели (аналитического и численного), структурный и параметрический синтез ТП (обычно на основе поисковой оптимизации структуры и параметров модели). Достоинствами этого подхода являются высокая точность и обоснованность всех этапов проектирования, недостатком—трудность разработки математических моделей, адекватно описывающих современные технологические процессы производства МСБ. Второй подход заключается в моделировании деятельности технолога. В основе его лежит тот факт, что опытный технолог может проектировать ТП на основании своего опыта и интуиции, не обращаясь к математической модели. Задачей разработки САПР с использованием данного подхода является обучение ЭВМ тому, что знает опытный технолог. Математической базой данного подхода могут служить методы искусственного интеллек- та, теория обучающихся автоматов, нечеткая логика, ситуацион- ное моделирование. Достоинством его является возможность работы при отсутствии модели технологического процесса, не- достатком- принципиальная возможность принимать более эф- фективные решения, чем опытный технолог. В качестве примера моделирования деятельности технолога рассмотрим математическую модель формализации проектных решений и основанный на ее использовании нечеткий интерактив- ный алгоритм, позволяющий решать одну из задач технологичес- кого проектирования—модернизацию и проектирование техноло- гического оборудования. Традиционная формальная постановка
задачи в виде оптимизации целевой ункции по конструктивным параметрам оборудования в условиях ограничений является малоэффективной из-за многокритериальности, многофакторности и сходимости решения по большинству факторов к заданным ограничениям. Предлагаемый алгоритм проектирования техноло- гического оборудования основан на оценке различных вариантов оборудования и определении путей улучшения вариантов в режиме диалога человека с ЭВМ. Алгоритм проектирования технологичес- кого оборудования основан на использовании рассмотренных преобразований и заключается в следующем. 1 . Ввод в ЭВМ требований к оборудованию и логических выражений, описывающих ТП. 2°. Ввод в ЭВМ данных о конструктивных параметрах оборудования. 3°. Преобразование логического выражения. 4°. Оценка степени выполнения технологических условий. 5°. Вывод из ЭВМ на экран дисплея предложений о пути модернизации оборудования в соответствии с полученным логи- ческим выражением. 6°. Принятие решения о характере модернизации оборудова- ния в соответствии с рекомендациями ЭВМ (выполняется проекти- ровщиком). 7°. Переход к 3°. Основой модели объекта проектирования является универ- сальная автоматизированная имитационная система (АИС), позво- ляющая моделировать ТП при заданных исходных данных и дающая возможность задавать в различной форме информацию о различных структурных составляющих (модулях) ТП. В рамках имитационной системы (модели) решаются задачи анализа и па- раметрического синтеза ТП. Универсальная имитационная система, основанная на автома- тизации имитационного моделирования сложных систем, позволя- ет снизить трудоемкость разработки имитационных программ благодаря системному подходу к моделированию ТП производ- ства МСБ и типизации элементов сложной системы. Принцип работы системы заключается в настройке типовых модулей и последовательном моделировании процессов функционирования каждого элемента с учетом связей с другими элементами в соответствии со структурной схемой ТП. Поскольку имитационное моделирование перспективно для использования в различных ГПС— АСНИ (автоматизированная система научных исследований), САПР, АСУТП и т. д., особое значение приобретает задача создания универсальной АИС с пе- рестраиваемой архитектурой, которая могла бы использоваться для различных задач, решаемых как в рамках всей ГПС, так и в интегрированной САПР.
6.3. САПР С ПЕРЕСТРАИВАЕМОЙ , АРХИТЕКТУРОЙ ДЛЯ РЕШЕНИЯ ЗАДАЧ ТЕХНОЛОГИЧЕСКОГО ПРОЕКТИРОВАНИЯ Диалоговый процессор; планировщик; монитор; подсистемы маршрутной техноло- гии, операционной технологии ,£ Рассмотренные выше математические модели и методы опти- мального проектирования могут быть использованы в САПР ТП для решения задач принятия решения, выбора оптимального технологи- ческого маршрута и др. Основными задачами, решаемыми САПР ТП, являются моделирование, анализ структурного синтеза, оптимизация режимов ТП, а также хранение, поиск, редактирование и распечатка технологической документации на унифицированные ТП. Структура САПР ТП с перестраиваемой архитектурой при- ведена на рис. 6.2. Основными ее компонентами являются диало- говый процессор, планировщик, монитор САПР, набор програм- мных модулей, интеллектуальный банк данных. Настройка системы на решение той или иной задачи автомати- зированного проектирования осуществляется планировщиком САПР исходя из требований, указанных в формализованном задании, поступающем на вход диалогового процессора. Плани- ровщик намечает схему прохождения информации через систему
Основные версии САПР 777 • Рис. 6.3. Схема настройки САПР ТП на решаемую задачу и выбор программных модулей, необходимых для решения поставленной задачи. Схема пастройки САПР на решаемую задачу показан# на рис. 6.3. Одними из важных задач автоматизированного проектиро- вания ТП являются выбор технологии изготовления изделий оборудования, синтез технологического маршрута. Алгоритм прохождения ичформации через САПР при решении указанных задач изображен на рис. 6.4. Для синтеза технологического маршрута из структуры САПР ТП можно выделить подсистему маршрутной технологии, которая состоит из следующих основных компонентов: диалогового процессора, монитора, планировщика, базы знаний, программы формирования технологических ограни- чений для технологически инвариантной САПР СБИС, программ принятия решений. О гличительными признаками подсистемы являются следу- ющие: интеллектуальный банк данных, блок принятия решений и расплывчатый (нечеткий) обучающий автомат, что позволяет рассматривать часть подсистемы как экспертную систему для принятия решений на основе экспертных данных, когда отсутст- вуют необходимые четкие алгоритмы решения поставленной задачи; диалоговый процессор, позволяющий выполнить процесс про- ектирования на языке, близком к языку проектировщика; программа формирования технологических ограничений для технологически инвариантной САПР СБИС; алгоритм принятия решений на основе четких и нечетких алгоритмов. Опишем цель, задачи и требования к подсистеме. Цель— реше- ние плохо формализуемых задач технологического проектиро-
Начало ) Вводе формализованного завания i Синтаксический и се- мантический анализ Корректировка задания Ошибки Нет Синтез управляющего воздействия ♦ Выбор процесса обра- ботки Программа обращения к блоку представления знаний Набор программ для поиска оптимальных решений Программа обеспечения режима работы Выбор техно- логии Синтез тех- нологического маршрута и Информаци- онный по- __________ исковый выбор обору- режим давания Синтез управляющего воздействия Программа органи- зации диалога с Поль зователем Нет Да Программа связи с другими подсистемами Подсистема проекти- рования операционной технологий Работа продолжает- ме проектирооанця операционной хноло- Да АСТД доработк Треоуется АСТД конец ) I Рис. 6.4. Структурная схема алгоритма автоматизированного проектирования ТП производства ЭВМ вания. Она достигается применением методов принятия решений, хранения и обработки информации в экспертных системах. Задачи подсистемы: выбор технологии изготовления СБИС на основании требований технического задания с учетом схемотехнических, конструкторских и технологических ограничений, синтез техноло- гического маршрута, т. е. определение последовательности опера- ций, выбор варианта каждой из операций и используемого оборудования на основании технологических ограничений. Требо- вания к подсистеме: обеспечение автоматического режима работы
без вмешательства эксперта, возможности вмешательства эксперта в процесс принятия решений (например, насильственное задание или запрет экспертом определенных вариантов некоторых опера- ций), интерактивного режима, адаптивность (обучаемость и са- моокупаемость) . Укажем некоторые принципы проектирования ТП с исполь- зованием современных САПР. Принцип многоуровневости предполагает представление ТП в виде иерархической структуры, включающей в себя этапы проектирования принципиальной схемы ТП, маршрутов, технологи- ческих операций, управляющих программ для роботов, управляю- щих ЭВМ и технологических модулей. Первый уровень имеет наибольшую степень абстракции; для него характерно определение лишь некоторых принципиальных особенностей процесса. На первых двух уровнях проектирования, по-видимому, целесообразно исполь- зовать подход, заключающийся в моделировании деятельности проектанта. Решения, полученные на каждом уровне, являются исходными данными для следующих уровней; при этом происходит все большая детализация ТП, и на двух последних уровнях уже появляется необходимость в разработке достаточно сложных математических моделей технологических операций и элементов ТП. Принцип неокопчательности решений заключается в том, что на каждом этапе принимается не одно, а несколько приемлемых решений. Окончательный вариант ТП уточняется на последующих уровнях. Принцип итерационности предполагает возможность возврата от каждого этапа проектирования к любому предыдущему. Это обусловливает необходимость па первых шагах использовать простые и экономичные модели. Принцип диалога технолога с ЭВМ предусматривает, что каждый этап проектирования либо осуществляется с ЭВМ в автоматическом режиме, либо ЭВМ выступает в роли советчика, а право па окончательное решение остается за человеком. Принцип возможности пополнения базы данных САПР ТП вновь спроектированными вариантами ТП. Методика проектирования маршрутного технологического про- цесса в рамках данной подсистемы сводится к следующему алгоритму. 1 °. Ввод требований ТЗ. При неправильном задании требо- ваний или недостаточности информации подсистема уточняет сведения в процессе диалога с лицом, принимающим решение (ЛПР). 2°. Выбор технологии. В результате выбора подсистема сообщает ЛПР сведения об одном или нескольких вариантах технологии. Этап заканчивается утверждением ЛПР варианта технологии либо изменением ТЗ (при изменении ТЗ производится возврат к 1°).
3°. Синтез технологического маршрута. Перед выполнением этапа ЛПР имеет возможность ввести информацию о «протекции» либо запрету какого-то варианта ТП или операции. В результате выполнения этапа подсистема сообщает ЛПР один (или не- сколько— в порядке уменьшения предпочтения) вариант техно- логического маршрута. с*тап заканчивается утверждением ЛПР одного из вариантов либо возвратом к 3°. 4°. Проектирование технологической* документации. В резуль- тате выполнения этапа на экране дисплея формируется марш- рутная карта технологического процесса, в которую ЛПР при необходимости вносит с пульта дисплея текущие изменения. Заканчивается этап утверждением ЛПР маршрутной техноло- гической карты либо возвратом к одному из предыдущих пунктов. 5е. После окончания процесса проектирования действия ЛПР анализируются подсистемой (режим обучения). На основе анализа производится корректировка информации, хранящейся в банке данных (адаптация моделей). 6°. Распечатка маршрутной технологической карты на спро- ектированный технологический процесс с заданным числом эк- земпляров. Выбор варианта технологии можно представить следующей последовательностью: требование ТЗ (задание на проектирование); конструкторско-технологические ограничения, вытекающие из ТЗ; сравнение (операция импликации); конструкторско-технологические ограничения, вытекающие из вариантов технологии; варианты технологии. Четкий подход. Выбор варианта осуществляется полным перебором вариантов и отсеиванием тех, при которых ограни- чения, вытекающие из требований ТЗ, не включают в себя ограничения, обусловленные вариантами технологии. Оставшиеся варианты-альтернативы признаются допустимыми и предлагаются на рассмотрение ЛПР. Недостатком четкого подхода является неоднозначность решения, в результате выдается множество решений; в частных случаях в зависимости от требований ТЗ может быть много решений или ни одного. Возможные пути устранения данного затруднения: итеративный диалоговый режим, при котором на каждой итерации ЛПР изменяет требования ТЗ. Итерации прекращаются при достижении единственного решения. Нечеткий (расплывчатый) подход. При нечетком подходе ограничения формируются в виде нечетких неравенств. Необ- ходимо отметить, что отсутствия решения в данном случае не будет, как это непосредственно следует из теории нечетких множеств. Результаты сравнения вариантов ранжируются по
максимуму функции принадлежности, после чего ЛПР остается выбрать одип или несколько вариантов решения. При построении программного обеспечения САПР ТП обычно используются три метода проектирования: типовых и групповых унифицированных ТП, преобразования аналога и многоуровневый итерационный. Метод унифицированных технологических процессов основан на использовании типовых и групповых технологических процессов, к которым в производстве РЭА можно отнести ТП производства коммутационных плат, полупроводниковых приборов и интегральных микросхем, производство пассивных элементов микросборок. При этом последовательность технологических операций, как правило, отработана заранее и процесс проектирования заключается в луушем случае в уточнении некоторых технологических режимов и материалов. Метод преобразования аналога заключается в поиске в базе данных процесса-аналога и его изменений путем устранения или добавления отдельных операций. В производстве РЭА данный метод в перспективе целесообразно использовать при проектировании сборочных технологических процессов. Важной подсистемой САПР ТП является подсистема проекти- рования операционной технологии. В состав подсистемы входит АИС, настраивающаяся в соответствии с формализованным заданием на различные математические схемы. В АИС входят программные модули: библиотека типовых моделирующих модулей, позволяющая задавать модели элементов ТП в виде различных типовых математических схем; универсальная модель элемента ТП, вызывающая соответст- вующий типовой модуль; модуль моделирования производственных погрешностей, вклю- чающий в себя набор генераторов псевдослучайных чисел и процессов; модуль статистического анализа, осуществляющий экспресс- анализ результатов моделирования по рекуррентным соотноше- ниям; монитор, координирующий работу АИС. Подсистема анализа ТП состоит из программных модулей статистического анализа, многокритериального анализа и приня- тия решений. Задача, решаемая подсистемой, определение соот- ветствия моделируемого ТП требованиям формализованного задания. Подсистема преобразования входной информации осу- ществляет редактирование данных формализованного задания, преобразование данных о структуре ТП к виду, используемому в АИС, а также связь по данным с конструкторской САПР посредством интерфейсного программного модуля. Приведем ММ жизненного цикла изделия [37] на примере БИС. Пусть —время выпуска одной БИС, 12 — время плани- рования и подготовки производства каждой партии БИС, t3—вре- мя, затраченное на проектирование БИС, N—число партий
БИС, изготовляемых на интервале, равном длительности жиз- ненного цикла БИС, М—число БИС в партии, \М\—число выпускаемых, БИС за время жизненного цикла. Тогда суммарные затраты времени технологического оборудования на производство одного вида БИС t Е=NMt j + Nt 2 +t з, а средние затраты времени на выпуск' одной БИС Ср = ti + *2/-^+ t3INM. В современных САПР ТП ставятся следующие задачи: обеспечить получение решения без проверки всех возможных комбинаций; добиться такого же качества проектирования при неавтома- тизированном проектировании; отделить экспертные знания от информации, полученной дедуктивными методами, с тем, чтобы иметь возможность повышать качество проектирования путем совершенствования базы знаний; иметь возможность объяснить, каким образом получено решение; достигнуть определенного уровня рентабельности. Принципы проектирования технологических процессов необхо- димо рассматривать в системе АСНИ—САПР—АСУТП. Гиб- кость системы обеспечивается рациональным распределением функций между АСНИ, САПР и АСУТП, перестраиваемостью архитектуры системы, а также возможностью решения проектных задач на различных уровнях сложности и точности. Возможность перестройки архитектуры системы в процессе ее эксплуатации позволяет сочетать достоинства универсальных и специализи- рованных процессов при настройке архитектуры системы на решаемую задачу. Решение проектных задач на различных уровнях сложности обеспечивается использованием при решении каждой задачи различных методов проектирования. Важными этапами проектирования являются проведение экспе- риментов, обработка полученных данных и обобщение ранее собранного теоретического и экспериментального материалов. Это определяет необходимость совместимости САПР ТП, АСУТП и АСНИ в рамках интегрированной системы по лингвистическому, программному и информационному обеспечениям. 6.4. КРАТКИЕ ВЫВОДЫ В рассматриваемом разделе с единых позиций построения математических моделей и их преобразований описаны задачи автоматизации проектирования технологических процессов
производства ЭВА. Даны перспективы и некоторые рекомендации по моделированию деятельности технолога. Отметим, что вопросы технологического синтеза подробно рассматриваются в соответствующей литературе. Цель данного подраздела — показать возможность, перспективы и проблемы построения интегрированной интеллектуальной САПР конструкторского и технологического синтеза. Основой САПР ТП наряду с математическими моде- лями является информационное ядро. Поэтому необхо- дима разработка баз данных и знаний, ориентированных на конкретнйе технологические процессы изготовления БИС и СБИС. УПРАЖНЕНИЯ, ЗАДАЧИ, ВОПРОСЫ ДЛЯ “ПОВТОРЕНИЯ 1. Перечислите основные задачи, решаемые на этапе технологического проектиро- вания ЭВА. 2- Ито такое гибкая производственная система? 3. В чем заключается проектирование технологического процесса производства ЭВА? 4. Назовите основные проблемы и трудности создания САПР ТП современньгх ЭВА. 5. Какие модели ТП вы знаете? Приведите примеры. 6. Каким образом используется аппарат теории графов для построения матема- тических моделей технологических процессов? 7. Опишите два основных подхода к решению задач автоматизированного проектирования ТП. 8. Опишите процесс моделирования технологического производства на примерах микросборок и КМОП СБИС. 9. Каким образом можно моделировать деятельность технолога? Приведите подходы к решению данной задачи. 10. Опишите концепцию использования расплывчатых алгоритмов при модели- ровании деятельности технологов. 11. Постройте ЛСА проектирования технологического оборудования. 12. Постройте расплывчатый алгоритм проектирования технологического обору- дования. 13. Приведите алгоритмы для ТП изготовления БИС на базовых матричных кристаллах. 14. Запишите структурную схему алгоритма автоматизированного проектирования ТП производства ЭВА. 15. Сформулируйте принципы проектирования технологических процессов в ин- тегрированной системе АСПИ—САПР—АСУТП.
16. Приведите классификацию математических моделей ТП. 17. Каковы перспективы имитационного моделирования в САПР ТП? 18. Опишите структуру входных, промежуточных и выходных языков в САПР ТП. 19. Приведите рекомендации по совместимости САПР СБИС и САПР ТП в рамках интеллектуальных интегрированных систем по лингвистическому, программному и информационному обеспечениям. 20. Каковы перспективы использования баз знаний в САПР ТП? ЗАКЛЮЧЕНИЕ Математическое обеспечение определяет в большой мере развитие всей САПР. В этой связи тенденции и перспективы его развития оказывали и будут оказывать огромное влияние на совершенствование САПР. Предполагается, что в будущем возрастут разработки средств математического обеспечения САПР особенно на персональных компьютерах, локальных сетях, мини-ЭВМ, систолических струк- турах и т. п. При этом особое внимание будет уделяться распараллеливанию процессов вычислений, принятию решения в расплывчатых задачах, оптимизации по комплексным критери- ям, построению адекватных математических моделей объектов и процессов проектирования, поиску новых методов проектирова- ния СБИС, искусственному интеллекту, применению экспертных, адаптационных и обучающих систем. Важнейшими задачами являются построение БЗ, алгоритмов логического вывода, машин БЗ, спецпроцессоров для компоновки, размещения и трассировки. Специалист в области САПР должен обладать знаниями системного анализа, вычислительной техники и математики, программирования, микроэлектроники, искусственного интеллек- та, быть способным эксплуатировать промышленные САПР и создавать новые интеллектуальные интегрированные САПР будущих поколений ЭВА. ПРИЛОЖЕНИЕ 1 РЕКОМЕНДУЕМЫЙ СПИСОК ГОСТОВ И МЕТОДИЧЕСКИХ УКАЗАНИЙ ГОСТы 1. ГОСТ 22487 — 77. Проектирование автоматизированное. Термины и определения. 2. ГОСТ 22771 -77. Автоматизированное проектирование. Требования к инфор- мационному обеспечению. 3. ГОСТ 23501.0—79. Системы автоматизированного проектирования. Основные положения.
4. ГОСТ 24601—86. Системы автоматизированного проектирования. Стадии создания. 5. ГОСТ 23501.4—79. Системы автоматизированного проектирования. Общие требования к программному обеспечению. 6. ГОСТ 23501.5—79. Системы автоматизированного проектирования. Эскизный проект. 7. ГОСТ 23501 6 - 80. САПР. Технический проект. 8. ГОСТ 23501.7—80. САПР. Предпроектные исследования. 9. ГОСТ 23501.8—80. САПР. Классификация и обозначения. 10. ГОСТ 23501.9—80. САПР. Общие требования к банкам данных. 11. ГОСТ 23501.101--87. САПР. Мониторная система. Общие требования. 12. ГОСТ 23501.15—81. САПР. Ввод в действие. 13. ГОСТ 23501.119—83. САПР. Комплексы средств. Порядок и разработка документирования. 14. ГОСТ 23501.201—85. САПР. Комплексы средств. Общие технические тре- бования. 15. ГОСТ 23501.601—83. САПР. Обеспечение технологичности. Типовые матема- тические модели. 16. ГОСТ 23501.602—83. САПР. Правила разработки и применения типовых математических моделей при проектировании технологических процессов. 17. ГОСТ 23661—79. Платы печатные многослойные. Требования к типовому технологическому процессу прессования. 18. ГОСТ 2.413—72. ЕСКД. Правила выполнения конструкторской документации изделий, изготовляемых с применением электрического монтажа. 19. ГОСТ 2.708—72. ЕСКД. Правила выполнения электрических схем цифровой вычислительной техники. 20. ГОСТ 2.031- 77. ЕСКД. Документы на перфокартах и перфолентах. Основные надписи. 21. ГОСТ 19001 - 77. ЕСПД. Назначение, состав, классификация. 22. ГОСТ 19002—80. Схемы алгоритмов и программ. Правила выполнения. 23. ГОСТ 19003- 80, Схемы алгоритмов и программ Обозначения условные, графические. 24. ГОСТ 19105—78. ЕСПД. Общие требования к программным документам. 25. ГОСТ 19106—78. ЕСПД. Требования к программным документам, выполнен- ным печатным способом. Методические указания 1. РД 50—245—81. Методические указания. САПР. Документирование методи- ческого обеспечения. Правила выполнения документа «Описание проектной операции (процедуры)». 2. РД—50—250—81. Методические указания. САПР. Оценка показателей ка- чества создания и функционирования. 3. РД 50—445—83. Методические указания. САПР. Язык представления графи- ческой и типовой информации. 4. РД 50—464—84. Методические указания. САПР. Типовые математические модели проектирования в машиностроении. 5. РД 50—524 —84. Методические указания. Порядок хранения документов на машинных носителях. 6. РД 50—620—86. Методические указания. САПР. Общие требования но взаимодействию САПР с гибкими производственными системами и АСУ на основе типовых математических моделей. 7. РД 50—640—87. Методические указания. САПР. Порядок выполнения работ при создании систем.
ПРИЛОЖЕНИЕ 2 ПРИМЕРНЫЙ ПЕРЕЧЕНЬ ПРАКТИЧЕСКИХ ' ЗАНЯТИЙ 1. Элементы теории множеств. Знакомство с основными терминами и опре- делениями. Осваивают основные операции над множествами. Приобретают навыки в использовании элементов теории множеств для построения матема- тических моделей объектов проектирования. 2. Методы построения алгоритмов. Приобретение навыков построения по словесному описанию структурных схем алгоритмов, ЛСА, ГСА, а также навыков построения алгоритмов для задач конструкторского и технологического синтеза. 3. Элементы теории графов. Изучение основных понятий, свойств, операций над графами. Рассмотрение основных моделей задач на графах. 4. Оптимизационные задачи на графах и сетях. Рассмотрение таких задач, как нахождение кратчайшего пути, задачи о паросочетаниях, минимальной раскраски. 5. Построение семейства независимых и доминирующих подмножеств мно- жества вершин графов. Рассмотрение вопросов построения эвристических и точных алгоритмов семейств независимых и доминирующих' подмножеств множества вершин графов. Исследование оценки временной сложности алгоритмов. Приоб- ретение навыков использования независимых и доминирующих подмножеств для разработки алгоритмов конструкторского проектирования ЭВА. 6. Методы моделирования схем электронных устройств. Исследование основ- ных моделей коммутационных полей, цепей и элементов. Установление степени адекватности моделей в зависимости от типа решаемых задач. Приобретение практических навыков по исследованию и построению соответствующих моделей. 7. Методы построения моделей оптимизационных задач. Изучение основных положений исследования операций. Освоение приемов и методов построения моделей оптимизационных задач. 8. Методы дискретной оптимизации. Изучение основных методов решения целочисленных задач САПР, методов ветвей и границ, метола динамического программирования. 9. Метрико-топологическое проектирования схем СБИС. Изучение принципов фрагментации, блочно-иерархического подхода к проектированию, методов восхо- дящего и нисходящего проектирования, кремниевой компиляции. 10. Математические модели в САПР ТП. Изучение методов построения математических моделей технологических процессов, оборудования и формиро- вание баз знаний и данных. 11. Задачи конструкторского и технологического проектирования. Изучение постановки задач, построение локальных и глобальных критериев проектирования, построение логических схем алгоритмов компоновки, размещения и трассировки схем ЭВА. 12. Методы искусственного интеллекта в САПР. Изучение поисковых алго- ритмов принципов построения баз данных и баз знаний в САПР. Ознакомление с перспективами создания интеллектуальных САПР.. Примерный перечень лабораторных работ 1. Построение соединений минимальной длины. Изучение методов построения моделей соединений для задачи трассировки. Решение задач построения крат- чайших связывающих деревьев с помощью алгоритмов Прима, Штейнера. 2. Размещение интегральных схем на ТЭЗ. Ознакомление с алгоритмическим методом размещения ИМС в ТЭЗ и с одним из алгоритмов решения этой задачи. Исследование алгоритмов последовательного и итерационного размещения элементов. Анализ сложности алгоритмов. 3. Компоновка типовых элементов конструкций РЭА и ЭВА. Ознакомление с последовательными, итерационным и комплексным алгоритмами компоновки конструктивных узлов, оценка их эффективности.
4. Интерактивное размещение разногабаритных элементов схем РЭА и ЭВА. Ознакомление с различными постановками задач размещения разногабаритных элементов и методами их решения, а также с критериями качества размещения. 5. Исследование методов трассировки, основанных на динамических принципах. Изучение волнового, лабиринтного и лучевого алгоритмов трассировки, приобрете- ние навыков трассировки в интерактивном режиме. По полученным результатам формулировка вывода об эффективности каждого метода с учетом временной характеристики, длины соединений, и числа протрассированных соединений. 6. Исследование канальных методов трассировки соединений. Ознакомление с методами распределения соединений по каналам и трассировки внутри каналов, изучение основных критериев канальной трассировки. Анализ сложности. 7. Проектирование СБИС на основе метода кремниевой компиляции. Озна- комление с навыками слияния и канальными трассировщиками в кремниевых компиляторах при проектировании СБИС на персональных ЭВМ. 8. Автоматизированное рабочее место конструктора, разработчика ЭВА. Изучение состава, методов и алгоритмов математического обеспечения АРМ при решении задада изготовления фотошаблонов. 9. Исследование режимов редактирования графической информации на АРМ с использованием графических дисплеев. Ознакомление с методами интерактивного ввода графической информации в САПР посредством графических дисплеев. 10. Описание графических изображений объектов конструкторского и техно- логического проектирования. Изучение синтаксиса и семантики стандартных языков. Принципы компиляции входных описаний. 11. Формиоование базы данных. Изучение методов описания объектов проектирования и структуры данных при использовании БД реляционного типа. 12. Проектирование топологии СБИС. Изучение алгоритмов определения планарности, плоской укладки и контроля схем БИС. 13. Разработка алгоритма и программы функционирования подсистемы монитора в САПР БИС. Составление стратегии поиска решения поставленной задачи конструкторского и технологического проектирования подсистемой монитора САПР. 14. Построение математических моделей компонентов БИС при автомати- зированном технологическом проектировании. Формализованное описание объек- тов производства и процессов их изготовления, выбор языка и вывод информации на дисплей и координатограф. 15. Изучение промышленных САПР. Приобретение навыков эксплуатации промышленных САПР типа РАПИРА, ПРАМ, ТИГРИС и других и получение конструкторско-технологической документации. 16. Приобретение навыков реализации промышленных и учебных пакетов прикладных программ проектирования на ПЭВМ. ПРИЛОЖЕНИЕ 3. РЕКОМЕНДУЕМЫЙ ПЕРЕЧЕНЬ ЗАДАНИЙ НА КУРСОВЫЕ РАБОТЫ 1. Разработать алгоритм и программу на языке Си для мини- или персональной ЭВМ выделения максимальной планарной части на математической модели фрагмента БИС. 2. Разработать алгоритм и программу на языке Си построения семейств внутренне и внешне устойчивых подмножеств графа и гиперграфа. 3. Разработать алгоритм и программу на языке Си определения хромати- ческого числа графа на ПЭВМ. 4. Разработать алгоритм и программу на языке Бейсик построения крат- чайших покрывающих деревьев графа.
5. Разработать алгоритм и программу на языке Паскаль решения задачи расслоения совмещенной топологии матричных БИС, заданной гиперграфом с минимизацией площади кристалла. 6. Разработать алгоритм и программу на языке Си решения задачи реализации прокладки трасе/ для ортогональной трассировки на ПЭВМ. 7. Разработать алгоритм и программу на языке Бейсик решения задачи построения деревьев Штейнера для коммутационной схемы соединений фрагмента БИС. Координаты соединяемых выводов считать заданными. 8. Разработать алгоритм и программу на языке Си решения задачи определения ориентации фрагментов топологии н^ кристалле БИС, если число возможных положений фрагментов относительно осей координат равно 4 и по- ложение выводов относительно центра задано. 9. Разработать алгоритм и программу решения задачи компоновки логической схемы БИС на основе минимизации задержки длительности сигнала. Число типоразмеров ячеек считать заданным. 10. Разработать алгоритм и программу на языке Си двустороннего слияния ячеек в кремниевом компиляторе на ПЭВМ. 11. Разработать алгоритм и программу на языке Си вероятностной оценки качества трассировки на кристалле БИС с регулярной структурой. 12. Разработать алгоритм и программу на языке Бейсик размещения фрагментов топологии на кристалле БИС, если предварительное размещение задано, а в качестве критерия оптимальности размещения используется минимум незаполненной ширины зоны. 13. Разработать алгоритм и программу на языке Си трассировки проводных соединений. Дан вариант линейного размещения модулей коммутационной схемы, содержащей N модулей и М цепей. 14. Разработать алгоритм и программу на языке Бейсик расчета конструк- тивно-технологических параметров двусторонней печатной платы, определить диаметр контактной площадки и число проводников, которые можно разместить между двумя металлизированными отверстиями. 15. Разработать технологические схемы сборки блока РЭА, состоящего из многослойных плат и БИС, а также технологические маршруты и операции изготовления элементов блока. 16. На основе пакета прикладных программ ТИГРИС разработать программу интерактивного режима канальной трассировки для АРМ с учетом коррекции трассировки на дисплее, или изменения размещения элементов, или модификации принципиальной схемы. 17. Разработать подпрограмму интерактивного режима распределения кон- тактных площадок по полю кристалла для АРМ или учебно-исследовательской САПР. 18. Разработать подпрограмму формирования сборочных чертежей печатных плат на координатографе. Входной информацией являются вариант размещения конструктивных элементов, размеры плат. Описание графической и текстовой информации выполнить на стандартном языке. 19. На основе алгоритма канальной трассировки БИС разработать интел- лектуальный алгоритм трассировки БИС, инвариантный к технологии изготовления. 20. Разработать структурные схемы машины базы знаний. 21. Разработать функционагзные и структурные схемы алгоритмов аппаратной поддержки САПР СБИС. СПИСОК ЛИТЕРАТУРЫ * 1. Автоматизация конструирования больших интегральных микросхем/ А. И. Петренко, П. П. Сыпчук, А. Я. Тетельбаум, F. А. Саватьев.—Киев: Еища шк., 1983. 312 с. ® * Первые 13 позиций относятся к основному списку литературы, остальные - - к дополнительному.
2. Автоматизация схемотехнического проектирования: Учебн. пособие для вузов/В. Н. Ильин, В. Т. Фролкин, А. И. Бутко и др.; Под ред. В. Н. Ильина.- М.: Радио и связь, 1987.— 368 с. 3. Автоматизированное конструирование монтажных плат РЭА: Справ, специ- алиста/А. О. Абрамов, В. Б. Артемов, В. П. Богданов и др.; Под ред. Л. П. Ря- бова— М.: Радио и связь, 1986.— 192 с. 4. Деиьдобренко Б. Н., Малика А. С. Автоматизация конструирования РЭА: Учебник для вузов.—М., Высш, шк., 1980.—384 с. 5. Корячко В. П., Курейчик В. М., Нореиков И. П. Теоретические основы САПР: Учебник для вузов.— М.: Эпергоатомиздат, 1987.— 400 с. 6 Морозов К. К., Одинокое В. Г., Курейчик В. М. Автоматизированное проек- тирование конструкций радиоэлектронной аппаратуры: Учебн. пособие для вузов. —М.: Радио и связь, 1983.—280 с. 7. Нильсон Н. Принципы искусственного интеллекта: Пер. с англ.—М., Радио и связь, 1985. 376 с. 8. Нореиков И. П., Маничев В. Б. Системы автоматизированного проектиро- вания электронной и вычислительной аппаратуры: Учебн. пособие для вузов. -М., Высш, шк., 1983.*—272 с. 9. Петренко А. И., Семенков О. И. Основы построения систем автоматизи- рованного проектирования.- Киев: Вища шк., 1985.— 294 с. 10. Норенков И. П. Системы автоматизированного проектирования: В 9 кн./Принципы построения и структура: Учебн. пособие для втузов. - М.: Высш, шк., 1986. 11. Алипов Н. В. Задачник по автоматизации конструкторского проекти- рования РЭА и ЭВА: Учебн. пособие для вузов.— М., Высш, шк., 1986.— 160 с. 12. Системы автоматизированного проектирования в радиоэлектронике: Спра- вочпик/Е. В. Авдеев, А. Т. Еремин, И. П. Норенков, М. И. Песков; Под ред. И. П. Норенкова.--М.: Радио и связь, 1986.— 368 с. 13. Технология, надежность и автоматизация производства БГИС и микро- сборок: Учебн. пособие для вузов/А. В. Фомин, Ю. И. Боченков, В. А. Сорокопуд; Под ред. А. В. Фомина.—- М.: Радио и связь, 1981.— 352 с. 14. Осуга С. Обработка знаний: Пер. с япон. -М.: Мир, 1989. - 293 с. 15. Автоматизированное проектирование СБИС на базовых кристаллах/А. И. - Петренко, В. Н. Лошаков, • А. Я. Тетельбаум, Б. Л. Шрамченко.— М.: Радио и связь, 1988.--160 с. 16. Автоматизированное проектирование ЭВМ. Автоматизированное техни- ческое проектирование конструктивных узлов цифровых устройств/Л. Б. Абрайтис, Р. И. Шейнаускас, В. А. Жилевичюс; Под ред. Л. Б. Абрайтиса.—М.: Сов. радио, 1978.—272 с. 17. Автоматизация поискового конструирования (искусственный интеллект в машинном проектировании)/А. И. Половинкин, Н. К. Бобков, Г. Я. Буш и др.; Под ред. А. И. Половинкина.—М.: Радио и связь, 1981.- 344 с. 18. Автоматизация проектирования и производства микросборок и электрон- ных модулей/Н. П. Меткин, М. С. Лапин, Б. Н. Деиьдобренко, И. А. Доморацкий; Под ред. Н. П. Меткина.— М.: Радио и связь, 1986.—280 с. 19. Петухов Г. А., Смолич Г. Г., Юлин Б. И. Алгоритмические методы конструкторского проектирования узлов с печатным монтажом. -М.: Радио и связь, 1987.— 152 с. 20. Батищев Д. И. Методы оптимального проектирования: Учебн. пособие для вузов.—М.: Радио и связь, 1984.—248 с. 21. Белов В. В., Воробьев Е. М., Шаталов В. Е. Теория графов: Учебн. пособие для втузов.- М., Высш, шк., 1986.— 392 с. 22. Бершадский А. М. Применение графов и гаперграфов для автоматизации конструкторского проектирования РЭА и ЭВА.- Саратов: Изд-во Сарат. ун-та, 1983.—120 с. 23. Бородулин Ю. Б., Гусев В. А., Попов Г. В. Автоматизированное проекти- рование силовых трансформаторов.- М.: Энергоатомиздат, 1987.— 264 с.
24. Брахман Т. Р. Многокритериальность и выбор альтернативы в тех- илке.—М.: Радио и связь, 1984.—288 с. 25. Баталов Б. В., Егоров Ю. Б., Русаков С. Г. Основы математического моделирования больших интегральных, схем на ЭВМ. М.: Радио и связь, 1982.—165 с. ' 26 Вагнер Г. Основы исследований операций: В 3 т.: Пер. с англ.—М.: Мир, 1972—1973.—Т. 1—3. 27. Вентцель Е. С. Исследование операций: задачи, принципы, методоло- гия.—М.: Наука, 1980.—208 с. 28. Вермишев Ю. X. Методы автоматического поиска решений при проекти- ровании сложных технических систем. М.: Радио и связь, 1982. -152 с. 29. Гери М., Джонсон Д. Вычислительные машины и труднорешаемые задачи: Пер. с англ.— М.: Мир, 1982.—416 с. 30. Горбатов В. А. Основы дискретной математики: Учебн. пособие для вузов.— М., Высш, шк., 1987.— 311 с. 31. Громов Г. Р. Национальные информационные ресурсы: проблемы про- мышленной эксплуатации.—М.: Наука, 1984.—240 с. 32. Озкарахан Э. Машины баз данных и управление базами данных: Пер. с англ.—М.: Мир, 1989.- -696 с. 33. Зыков А. А. Основы теории графов. М.: Наука, 1987.—384 с. 34. Карманов В. Г. Математическое программирование.'—М.: Наука, 1975.— 272 с. 35. Коваль В. А. Методы и модели обеспечения функциональной и техно- логической воспроизводимости интегральных микросхем.—Львов: Вища шк., 1985.—200 с. 36. Конструирование и расчет больших гибридных интегральных схем, микро- сборок и аппаратуры на их основе: Учебн. пособие для вузов/Г. В. Алексеев, В. Ф. Борисов, Т. Л. Воробьева и др.; Под ред. Б. Ф. Высоцкого.— М.: Радио и связь, 1981.— 216 с. 37. Грувер М., Зиммере Э. САПР и автоматизация производства: Пер. с англ.—М.: Мир, 1987.— 528 с. 38. Кофман А. Введение в прикладную комбинаторику: Пер. с фр.— М.: Наука, 1975.—480 с. 39. Криницкий Н. А. Алгоритмы вокруг нас.— М.: Наука, 1984.— 224 с. 40. Крвстофидес Н. Теория графов. Алгоритмический подход: Пер. с англ.—М.: Мир, 1978.—432 с. 41. Кузнецов О. П., Адельсон-Вельский Г. М. Дискретная математика для инженера.—М.: Энергия, 1980.—344 с. 42. Лопатников Л. И. Краткий экономико-математический словарь.— М.: На- ука, 1979. 359 с. 43. Мелихов А. Н., Берштейн Л. С. Гиперграфы в автоматизации проекти- рования дискретных устройств.—Ростов: Изд-во Ростовск. ун-та 1981.— 112 с. 44. Майника Э. Алгоритмы оптимизации на сетях и графах: Пер. с англ.—М.: Мир, 1981.—323 с. 45. Маквецов Е. Н., Тарковский А. М Дискретные модели приборов.—М.: Машиностроение, 1982. 136 с. 46. Малеев Е. И., Парфевон Е. М., Соловьев А. С. Организационное обеспе- чение автоматизированного конструирования радиоэлектронной аппаратуры/Под ред. Е. И. Малеева— М.: Радио и связь, 1985. -136 с. 47. Моисеев Н. Н. Математические задачи системного анализа.—М.: На- ука.—1981. -488 с. 48. Мурога С. Системное проектирование сверхбольших интегральных схем: В 2 кн.: Пер. с англ.—М.: Мир, 1985. 49. Курейчик В. М., Глушань В. М, Щербаков Л. И. Комбинаторные аппарат- ные модели и алгоритмы в САПР.— М.: Радио и связь, 1990.—216 с. 50. Оре О. Теория графов.— 2-е изд: Пер. с англ.- М.: Наука, 1980. —336 с. 51. Петренко А. И., Тетельбаум А. Я., Шрамчеико Б. Л. Автоматизация конструирования электронной аппаратуры (топологический подход).—Киев: Вища шк., 1980,—176 с.
52. Рейвгольд Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы. Теория и практика: Пер. с англ. — М.: Мир, 1980. 476 с. 53. Макаров И. М. Робототехника и гибкие автоматизированные произ- водства: В 9 кн. Кн. 1. Системные принципы создания гибких автоматизированных производств: Учебн. пособи для втузов.— М.: Высш, шк., 1986. —175 с. 54. Автоматизация проектирования БИС. В 6 кн. Под ред. Г. Г. Казеннова.— М.: Высш, шк., 1990. 55. Эйрис Р. Проектирование СБИС. Метод кремниевой компиляции: Пер. с англ,— М.: Наука, 1988. 456 с. 56. Рубцов В. П., Захаров В. П., Жижко В. А. Автоматизация проектирования больших интегральных схем. Киев: Техника, 1980.— 232 с. 57. Свамв М., Тхуласираман К. Графы, сети и алгоритмы: Пер. с англ.— М.: Мир, 1984.—455 с. 58. Селютин В. А. Автоматизированное проектирование топологии БИС.— М.: Радио и связь. 1983.--112 с. 59. Селютич В. А. Машинное конструирование электронных устройств.—М.: Сов. радио, 1977-3—384 с. 60. Снгорский В. П. Математический аппарат инженера. Киев: Техника, 1975,—768 с. 61. Симонс Дж. ЭВМ пятого поколения: компьютеры 90-х годов: Пер. с ашл.— М.: Финансы и статистика, 1985.— 173 с. 62. Теория и методы автоматизации проектирования вычислительных- си- стем/Под ред. М. Брейера; Пер. с англ. -М.: Мир, 1977.— 284 с. . 63. Токарев М. Ф., Талицкий Е. Н.. Фролов В. А. Механические воздействия и защита радиоэлектронной аппаратуры: Учебн. пособие для вузов. -М.: Радио и связь, 1984.—234 с. 64. Фейнберг В. 3. Геометрические задачи машинной графики больших интегральных схем,- М.: Радио и связь, 1987.— 176 с. 65. Фридман А., Менон П. Теория и проектирование переключательных схем: Пер. с англ.— М.: Мир, 1978. — 580 с. 66. ЭВМ пятого поколения: Концепции, проблемы, перспективы/Под ред. Т. Мотоока; Пер. с англ;—М.: Финансы и статистика, 1984.— 110 с. 67. Энкарначчо Э., Шлехтендаль Э. Автоматизированное проектирование. Основные понятия и архитектура систем: Пер. с англ.— М.: Радио и связь. 1986,—288 с. 68. Сорокопуд В. А. Автоматизированное конструирование микроэлектронных блоков с помощью малых ЭВМ.— М.: Радио и связь, 1988. — 128 с. 69. Курейчик В. М., Калашников В. А., Лебедев Б. К. Автоматизация проекти- рования печатных плат.— Ростов: Изд-во Ростовск. ун-та, 1984.— 80 с. 70. Мелехов А. Н., Берштейн Л. С., Курейчик В. М. Применение графов для проектирования дискретных устройств,— М.: Наука, 1974. 304 71. Базилевич Р. П. Декомпозиционные и топологические методы автома- тизированного конструирования электронных устройств. Львов: Вшца шк., 1981.—168 с. 72. Автоматизации проектирования вычислительных структур/А. В. Каляев, А. Н. Мелихов, В. М. Курейчик и др. Ростов: Изд-во Ростовск. ун-та, 1983.—224 с. 73. Достанко А. П. Технология интегральных схем: Учеб, пособие для радиотехн. спецвузов. М.: Высш, шк., 1982.— 206 с. 74. Интеллектуальные системы автоматизированного проектирования больших и сверхбольших интегральных микросхем/В. А. Мищенко. Л. М. Городецкий, Л. И. Гурский и др.; Под ред. В. А. Мищенко.— М.: Радио и связь, 1988. -272 с. 75. Проектирование СБИС: Пер. с япон./М. Ватанабэ, К. Асада, К. Кани и др.— М.: Мир, 1988.— 304 с.