/
Текст
Б В БАТАЛОВ
Ю Б. ЕГОРОВ
С Г РУСАКОВ
Основы
математического
моделирования
больших
интегральных
схем на ЭВМ
ББК 32.844
Б28
УДК Б21.396.'6;1681..3
Баталов Б. В., Егоров Ю. Б., Русаков С. Г.
Б28 Основы математического моделирования больших
интегральных схем на ЭВМ. —М.: Радио и связь,
1982. — 168 с., ил.
■60 к.
Посвящена машинному расчету электрических характеристик боль¬
ших интегральных схем (БИС). Изложены основное подходы к модели¬
рованию схем высокой степени сложности на ЭВМ: методы разреженных
матриц, метод многополюсных подсхем, принцип макромодхлирования,
показана их взаимосвязь.
Рассчитана на инженеров и научных работников, специализирую¬
щихся в области автоматизации проектирования в радиоэлектронике, а
также на аспирантов и студентов соответствующего профиля.
2403000000-024 ББК 32.844
Б 57-82
046(01 )-82 6Ф2
’РЕЦЕНЗЕНТЫ: ДОКТОР ТЕХН. НАУК, ПРОФ. А. Г. А Л Е К С Е Н К О;
ДОКТОР ТЕХН. НАУК, ПРОФ. И. П. Н О Р Е Н К О В
Редакция литературы по электронной технике
© Издательство «Радио и связь», 1982;
Введение
Математическое моделирование больших технических систем—■
■одно из наиболее актуальных научных направлений прикладного
характера. Вопросы машинного расчета больших интегральных
схем (БИС) непосредственно связаны с общими проблемами мо¬
делирования больших технических систем с нелинейными харак¬
теристиками.
Математическое моделирование электронных схем стало не¬
отъемлемой частью практического проектирования изделий элек¬
тронной техники. Действительно, -такие факторы, как постоянный
рост степени интеграции схем, усложнение изделий, повышение
требований к срокам и качеству проектирования, сведение до ми¬
нимума дорогостоящих экспериментальных исследований, сделали
необходимым широкое применение методов и средств авто¬
матизированного проектирования. В настоящее время большин¬
ство ведущих предприятий, разрабатывающих радиоэлектронные
схемы и устройства, применяют развитые системы автоматизации
проектирования, включающие набор технических и программных
средств.
От математического обеспечения в значительной степени за¬
висит эффективность использования вычислительных средств и си¬
стем автоматизации проектирования в целом. В полной мере это
относится и к проблемно-ориентированному математическому
обеспечению автоматизации электрического расчета. Методам и
алгоритмам машинного расчета электронных схем посвящен целый
ряд вышедших книг (см., например, [В.1—В.10]), раскрывающих
основные направления машинного расчета: математические модели
компонентов, методы автоматического формирования уравнений
схемы, расчета статических и динамических характеристик, пара¬
метрической оптимизации и др.
В книге рассмотрены вопросы математического моделирования:
больших интегральных схем, т. е. только те аспекты развития ал,-
горитмического обеспечения, которые направлены на увеличение
предельных возможностей программ анализа и оптимизации как
По объему решаемых задач, так и по скорости расчетов. Практи¬
ческая необходимость развития таких методов определяется воз¬
растающей сложностью анализируемых схем, что вызвано тенден¬
цией увеличения удельного веса БИС в элементной базе совре¬
менной аппаратуры.
В .настоящей книге известные методы и алгоритмы рассматри¬
ваются и обсуждаются только с позиций численного- моде лир ова-
,S
ния БИС. Авторы стремились, по возможности, не включать ма¬
териалы, ранее изложенные в книгах. Традиционные проблемы
выбора методов анализа, например мето-да моделирования стати¬
ческих режимов, обеспечивающего сходимость итерационных про¬
цессов, или метода расчета переходных процессов, гарантирующе¬
го устойчивость интегрирования, рассмотрены в перечисленных
выше работах. В этой книге используется сложившаяся оценка
результатов в этой области исследований. Укажем те наиболее
популярные в настоящее время методы численного расчета элек¬
тронных схем, которые в Дальнейшем используются -в качестве
базовых для построения вычислительных схем. Эти методы не ог¬
раничивают применение приводимых в книге алгоритмов, так как
изложенные ниже подходы к решению задач большой размерно¬
сти, как правило, являются универсальными и могут сочетаться
с различными исходными методами анализа.
Пусть математическая модель анализируемой схемы задана
системой трансцендентных уравнений
f(x) = O . (В.1)
или обыкновенных дифференциальных уравнений
f(x, х, t)=0 (В.2)
для описания статических и динамических режимов ее работы.
Здесь f — система уравнений, составленных на основе законов
Кирхгофа в соответствии с компонентными уравнениями и прин¬
ципиальной схемой; х — вектор переменных, характеризующих со¬
стояние исследуемой системы.
Основной проблемой решения системы (В.1) является обеспе¬
чение сходимости итерационных процессов при достаточно произ¬
вольном. выборе начального приближения. Как правило, для этого
применяют различные модификации метода Ньютона ['В.11], обес-.
печивающего квадратичную скорость сходимости. В связи с кри¬
тичностью сходимости к решению таких итерационных процессов-;
при вариации начальных приближений применяемые на практике
• алгоритмы базируются на объединении этого -метода с методами,1
позволяющими достаточно произвольно выбрать начальные уело-,
вия, например методом спуска или продолжения решения по па¬
раметру [iB.ll, В.12]. Такое сочетание позволяет получать реше¬
ние, в частности, при нулевом начальном приближении, обеспе¬
чивая-в окрестности решения высокую скорость сходимости. Су-;
шественным для дальнейшего изложения является лишь тот -факт,-
что на й-м шаге итерационного процесса, как правило, решается'
система линейных уравнений при определении ньютоновской по¬
правки Ax(ft):
Ax(fe) = —f (x<fe>). (-В.З)'
дх. lx=xW
Основные трудности- -моделирования динамических режимов
связаны с времен-нйми затратами на -численное интегрирование
систем. . обыкновенных . дифференциальных уравнений (ОДУ)
4 • i
(В.2). В случае моделирования схем с большим разбросом пос¬
тоянных .времени применение явных методов приводит к . большим
временным затратам, что связано с .формальными ограничениями
явных методов. Для сохранения устойчивости .процесса интегри¬
рования при этом необходимо выдерживать соотношение .выбран¬
ного шага интегрирования и минимальной постоянной времени.
Иначе говоря, на временных участках с медленно протекающими
процессами шаг интегрирования нельзя выбирать существенно
большим, чем на участках интегрирования быстро протекающих
процессов. Отсутствие должной универсальности ограничило .при¬
менение явных методов интегрирования в программах анализа.
Проблема большого разброса постоянных времени или, иначе
говоря, проблема .интегрирования так называемый «жестких»
уравнений была решена при использовании неявных методов
[В.2, В.4, В.7—В.9, В.13—В.15]. Алгоритмы, базирующиеся .на
этих методах, позволяют изменять шаг интегрирования в больших
пределах при сохранении устойчивости процесса численного инте¬
грирования. Это свойство обеспечило преимущественное примене¬
ние неявных методов интегрирования ОДУ в современных про¬
граммах анализа.
Простота оценки .погрешности неявных методов обеспечивает
возможность автоматического выбора как шага интегрирования,
так и порядка метода. Дискретизация исходной системы ОДУ
(В.2) приводит в случае неявных методов фактически к .решению
на каждом временном' шаге системы нелинейных алгебраических
уравнений [В. 13]. Для дальнейшего важно отметить, что в ре¬
зультате линеаризации этих уравнений при вычислении корректи¬
рующей поправки по методу Ньютона на каждом шаге интегри¬
рования решается линейная система вида. ’(В.З).
Еще одной особенностью применения неявных методов являет¬
ся формирование моделей схем в виде системы ОДУ, неразрешен¬
ных относительно производных. В случае явных методов форми¬
рование ОДУ в нормальной форме x=f(x, t), т. е. в виде, разре¬
шенном относительно производных, было существенно, так как
при этом исключалась операция обращения матрицы. Применение
неявных методов непосредственно связано. с решением на шаге
интегрирования систем уравнений, поэтому требование нормаль¬
ной формы уравнений моделей схем перестало быть обязатель¬
ным. В связи с этим наряду с методом переменных состояния
[В.2—В.5], основным преимуществом которого является форми¬
рование систем ОДУ в нормальной форме, вновь широкое распро¬
странение для описания схем получил метод узловых потенциа¬
лов. Этот метод позволяет для большей части фрагментов БИС
получать модели меньшей размерности, чем другие методы [В. 13],
удобно описывать модели большинства интегральных компонентов
и обеспечивает .простую программную реализацию автоматичес¬
кого формирования уравнений модели анализируемой схемы.
Моделирование электрических характеристик БИС непосред¬
ственно связано с численным решением нелинейных систем (В.1)
5
или (В.2), состоящих из сотен и тысяч уравнений. Практические
результаты моделирования систем столь высокой сложности не
могут быть получены простым увеличением вычислительных ре¬
сурсов. Единственным способом преодоления вычислительных
трудностей в этом случае является разработка и применение спе¬
циальных методов моделирования.
Можно выделить условно два возможных пути сокращения
вычислительных затрат при моделировании больших схем
(рис. В.1). s
Рис. В.1. Основные направления моделирования БИС
1. Учет особенностей структуры анализируемых схем. К основ¬
ным направлениям моделирования, использующим структурные
свойства, .следует отнести методы разреженных матриц и метод
многополюсных подсхем.
2. Применение методов упрощения моделей схем, в том числе,
на уровне типовых каскадов или целых фрагментов (так назы¬
ваемое макромоделирование) или на уровне компонентных урав¬
нений (например, кусочно-линейная аппроксимация).
Семейство возможных алгоритмов машинного расчета харак-;!
теристик БИС .получается применением различных подходов из
перечисленных -направлений. Кроме того, такие алгоритмы, есте¬
ственно, могут -быть получены :объединением методов, характер¬
ных для различных направлений.
В методах разреженных матриц при анализе сложных элек¬
тронных схем используется то обстоятельство, что большая часть
коэффициентов матриц -систем линейных уравнений имеют -нуле^
вые значения. Суть этих .методов заключается в организации хра¬
нения только ненулевых элементов и выполнения операций только
с ненулевыми -элементами. Результатом их применения является
увеличение предела сложности анализируемых схем и ускорение
машинных -расчетов.
Для метода многополюсных подсхем исходная моделируемая
схема представляется -совокупностью взаимодействующих под-'
6
’схем. Применение этого метода позволяет свести исходную задачу
высокой размерности к последовательному решению задач низкой
размерности, соответствующих каждой .подсхеме. В результате
уменьшения размерности систем уравнений существенно снижа¬
ются временные затраты моделирования сложных схем, а благо¬
даря последовательному использованию одних и тех же массивов
для различных подсхем значительно снижаются требования к опе¬
ративной памяти и возрастают возможности программ анализа.
Принципы макромоделирования также направлены на сниже,-
ние размерности исходной математической модели схемы, но ис¬
пользуются для этих целей макромодели отдельных каскадов.
Макромодель — это упрощенная модель целого электронного узла
или фрагмента БИС, связывающая его входные и выходные ха¬
рактеристики. Результатом применения макромоделей является
возможность машинного расчета сложных электронных схем и
систем.
В методах кусочно-линейной аппроксимации для- упрощения
исходных функциональных зависимостей используют кусочную
линеаризацию вольт-амперных характеристик. Сокращение вы¬
числительных затрат в этом случае может быть достигнуто бла¬
годаря линейности полных моделей схем на интервалах модели¬
рования.
Из перечисленных направлений методы разреженных матриц
исследованы .в большей степени и имеется значительный опыт их
применения. Разреженным матрицам посвящена брошюра [В.20],
имеется также подробный обзор исследований этих методов
£В,21]. В последних книгах по машинному расчету (например,
[В.8, В.9, В.16—В.15]) рассматривается применение методов'раз¬
реженных матриц при анализе электронных схем. В связи с этим
в гл. 1 не ставится цель подробного изложения этих методов.
Приводится общая характеристика техники разреженных матриц
как одного из направлений моделирования БИС. Материал изло¬
жен в .плане практической рекомендации по методам организации
программ применительно к расчету электронных схем. Основные
идеи проиллюстрированы на нескольких выбранных вычислитель¬
ных схемах, .приведены результаты сравнения этих схем.
В гл. 2 посвященной методу многополюсных подсхем, изложен
иерархический подход к построению математических моделей
БИС как средство решения проблемы размерности. Метод рас¬
смотрен в аспекте формализации расчета больших нелинейных
систем по частям. Изложены принципы автоматического формиро¬
вания моделей БИС этим методом. Рассмотрение вариантов вы¬
числительных схем для моделирования статических и динамичес¬
ких характеристик начато с применения формальных методов ре¬
шения систем линейных уравнений. Далее приведены алгоритмы
с независимыми вычислительными процессами — перспективного,
по мнению авторов, подхода, учитывающего особенности нели¬
нейных систем. Рассмотрены также принципы автоматического
разбиения исходной моделируемой БИС на подсхемы.
7
В гл. 3 .показана возможность .сокращения вычислительных
затрат в результате применения кусочно-линейных моделей .вместо
исходных моделей компонентов схемы. Вводятся и исследуются
динамические кусочно-линейные модели биполярных элементов
ИС. Применение этих моделей существенно упрощает расчет пе¬
реходных 'процессов в биполярных схемах. Приводится алгоритм
численного интегрирования кусочно-линейных систем, а также- ал¬
горитм, основанный на комбинировании метода подсхем с мето¬
дом кусочно-линейной аппроксимации.
Вопросам макромоделирования фрагментов БИС посвящена
гл. 4. Результаты исследований в этом относительно новом на¬
правлении машинного расчета содержатся лишь в статьях. Ос¬
новные достижения были получены в первую очередь .при- форми¬
ровании макромоделей для стандартных ИС (например, логичес¬
ких вентилей, операционных усилителей). Наличие таких макро¬
моделей обеспечивает возможность оперативного расчета .слож¬
ных 'электронных -систем, состоящих из типовых ИС. Основные
проблемы при таком подходе связаны с формированием макромо¬
делей и определением ее параметров.
В связи с ориентацией настоящей книги на расчет БИС воп¬
росы макромоделирования в гл. 4 рассмотрены именно с этих по¬
зиций. Указанные проблемы в случае монолитных БИС еще бо¬
лее усложняются. Во-первых, это связано с отсутствием в боль-.
шинстве случаев при проектировании необходимых ©ксперимен-i
тальных данных. Во-вторых, в отличие от конструктивно закончен¬
ных типовых ИС принципиальные схемы и параметры фрагмен¬
тов монолитных БИС .не являются неизменными при переходе от
одной схемы к другой. По мнению авторов, эффективность мак-!
ремоделирования фрагментов БИС связана с решением проблемы
автоматизации формирования макромоделей для обеспечения
должной оперативности, а также проблемы формирования макро¬
моделей по исходной полной модели фрагментов. Эти две концеп¬
ции были ведущими при изложении материала гл. 4, где сделана
попытка показать возможные пути решения указанных задач.
Последняя глава посвящена вопросам оптимального расчета
параметров БИС. Следует отметить, что если вопросам •парамет¬
рической оптимизации электронных схем посвящен уже ряд кнш
(см., например, [.В, 16—В.19]), то проблемы оптимизации схем вы¬
сокой размерности ранее специально не рассматривались. Поэто
му в содержание главы не включено, например, описание мето
дов экстремального поиска, а рассмотрены лишь возможные ва
рианты организации вычислений. Пути решения проблем оптими
зации рассмотрены в плане применения иерархического подхода V
привлечением декомпозиционных методов и учетом особенност-ei
■электронных схем. . '
Хотя в книге рассматриваются методы расчета электронньт
схем высокой степени сложности, они во многих случаях приме
нимы и для анализа других объектов, модели которых задаютс
системами нелинейных уравнений высокой .размерности. Весьм
8
■перспективным представляется, в частности, .их .применение для
такой близкой к расчету БИС и сложной с вычислительной точки
зрения задачи, как расчет характеристик отдельных компонентов
или областей интегральных структур по основным уравнениям
физики полупроводников.
В заключение отметим, что вполне вероятно желание читате¬
ля ознакомиться с материалом лишь одной или нескольких глав
книги, поэтому авторы старались .по-возможности обеспечить не¬
зависимость их чтения.
Поскольку .настоящую книгу можно рассматривать как первую
попытку изложить методы моделирования, специально ориентиро¬
ванные на машинный расчет БИС, в ней ставилась задача оха¬
рактеризовать все основные направления, хотя, очевидно, каждое
из них могло быть предметом самостоятельной книги. При этом
авторы ни в коей мере не претендуют .на полноту изложенного
материала и на законченность .сделанных ими выводов в столь
быстро развивающемся направлении, каким является математи¬
ческое моделирование БИС.
•В своей работе авторы опирались на результаты известных
исследований и на собственный опыт разработки прикладного
■программного обеспечения для машинного расчета электронных
схем. '
■Авторы выражают глубокую благодарность за полезные советы
и замечания по содержанию книги рецензентам д-ру техн, наук,
проф. А. Г. Алексенко и д-ру техн, наук, проф. И. .П. Норенкову.
Глава 1
Решение разреженных систем линейных уравнений
1.1. Основные алгоритмы решения систем линейных уравнений
■Основной вычислительной операцией программ анализа ИС
(во многом определяющей быстродействие программы и макси¬
мальный объем анализируемых схем) является многократное фор¬
мирование и решение системы линейных уравнений вида
(1-1)
где А — квадратная (NXN) -матрица, det А=И=’О; х— TV-мерный век¬
тор неизвестных; b — N-мерный заданный вектор. Известно, что
количество операций, -необходимых для решения системы вида
(1.1), растет 'пропорционально №, а затраты -оперативной памяти
равны ~№. Поэтому для ЭВМ с емкостью -оперативной памяти
(32...64) • 1-03 слов N= 150...200 является предельно допустимой
размерностью системы, в то время как число уравнений, модели¬
рующих БИС, может намного превышать эту цифру.
■Сократить вычислительные затраты можно, если -использовать
разреженность матрицы А, т. -е. большой процент -ненулевых эле¬
ментов в матрице. Среднее число ненулевых элементов в строках
матрицы А для ИС колеблется в .пределах 3,5...7,0 в зависимости
от вида схемы и метода формирования математической модели
ИС, причем это число почти -не зависит от размерности N и, сле¬
довательно, плотность заполнения матрицы А ненулевыми элемен¬
тами быстро, уменьшается с увеличением размерности системы.
Большое число разработанных методов решения линейных си¬
стем с разреженными матрицами можно найти в настоящее вре¬
мя как в математической литературе, так и в прикладных рабо-.
тах. Обзор по разреженным матрицам [В.21] содержит библио¬
графию из 604 наименований. Упомянем также монографию Тью-
арсона [В.20] -с обширной библиографией. В настоящей работе
рассматриваются лишь некоторые методы, нашедшие применение
в отечественных и зарубежных .программах анализа электронных
схем. Чтобы иметь возможность провести количественную оценку
эффективности различных -алгоритмов, -введем оценки для време¬
ни выполнения -операций -ЭВМ (табл. 1.1). Эти оценки характер¬
ны для ЭВМ БЭСМ-61 (т=0,1 мкс).
1 В пятой колонке табл. 1.1 указано время вычисления адреса элемента од¬
номерного массива по относительному адресу (индексу) элемента. Предполага¬
ется, что массив описан директивой COMMON и для формирования адреса .ис¬
пользуется индексный регистр. Если массив описан директивой DIMENSIONS
то время вычисления адреса равно «14т.
10
Таблица 1.1
Операции
Умноже¬
ние
Деление '
Сложение
Сравне¬
ние
Вычисле¬
ние. адре¬
са элемен¬
та масси¬
ва
Пересыл¬
ка из ОЗУ
в АУ
Среднее время вы¬
полнения в тактах
1:8Т
50 г
11т
14т
6т
Зт
Для решения систем вида (1.1) в программах анализа ИС
применяются в основном точные методы, позволяющие получить
решение за конечное число шагов. Попытки применения итера¬
ционных алгоритмов (типа Гаусса — Зейделя, последовательной
верхней релаксации и т. п.) приводят, как правило, к большим
затратам машинного времени, так как матрица системы в общем
случае не имеет' никаких специальных свойств, например диаго¬
нального преобладания или малого разброса собственных значе¬
ний. Наибольшее распространение получили метод исключения
Гаусса и его разновидности '(методы Краута и Дулитла) [.В.ЙО,
1.1]. Напомним, что алгоритм Гаусса состоит из двух этапов.
1. Приведение матрицы А к верхней треугольной форме
U=[«jj] (м«=1; «г3=0 пр,и Z>./; i, je['l:AZ]) с помощью преобра¬
зования
IL<*> A(fe_1> = AW, (1.2)
A<o)=A; AW=U,
где &e[l:AT]—номер шага преобразования, a L<ft>=[Zi}]—ниж¬
няя треугольная матрица размерностью (NXN), отличающаяся
от единичной матрицы только k-м столбцом:
| 0, i <_ k,
= | W_1). i = k, '
i>k.
Преобразование (1.2) в скалярной форме записывается следую¬
щим образом:
= I, js[£+l :ЛП; (1.3)
JW+1:^. (1.4)
Если обозначить L=Lw... ... Li, то .преобразование (li.1) можно
записать так:
LA = U. (1.5)
2. Решение эквивалентной системы
Ux = b', ' (11.6)
где b'^Lb, проводится обратным ходом. (Если система (1.1) дол¬
жна быть решена для единственного вектора Ь, тб вектор Ь' мож-
11
но получить, применив преобразование (1.5) к расширенной мат¬
рице [А, Ь].) Компоненты вектора х=[хь Хк, Xw]T вычисля¬
ются, начиная с Хк, по рекуррентным формулам
fe-i
XN-k+l = b'N fe [1 — £ UN-k, N-i^l *N-i+\ • (1 -7)
i=l
u1z
• • • • • •
U1N
i(1)
Ь21
j (2)
“22
• •
• • • • • •
*2H
•
« •
• •
id)
hi
^2*
4
^1 к\ак+1 k+1* •
• I *
„(к)
'&k+1N
• 1 •
* 1 ♦
• j •
bH1’
l(Z)
\aM
„(к)
к \N к+1 * •
Обычно при решении системы (1.1) методом Гаусса вычис¬
ляют сначала первый столбец Ц и первую строку матрицы U и
записывают, их в памяти ЭВМ на ме¬
сто первого столбца и первой строки
исходной матрицы (диагональные эле¬
менты «fefe=l не хранятся). Затем ана¬
логично размещают ненулевые эле¬
менты второго столбца Ь2 и второй
строки U и т. д. (рис. 1.1) .
Преобразование (1.5) требует вы¬
полнения N операций деления, №/3+
+№/2—57V/6 операций умножения и
N3/3—№/2 операций сложения. Для
вычисления вектора Ъ' и обратного хо¬
да требуется выполнить N(N—1) ум¬
ножений и столько же сложений. Та¬
ким образом, при больших N основные
вычислительные затраты приходятся
на приведение матрицы А к треуголь¬
ному виду.
Рис. 1.1. Схема расположе¬
ния в памяти ЭВМ элемен¬
тов матриц Li, L2, ..., Lj,
U и AW после k шагов га¬
уссовского исключения
Метод прямого треугольного разложения (алгоритм Краута)
также выполняется в два ©тапа.
1. Разложение матрицы А в произведение двух треугольных
матриц:
A = LU, (1.8)
где L=L_1—нижняя треугольная матрица. ‘Вычисление элемен¬
тов матриц L .и U производится последовательно: первый столбец
L, первая строка U, второй столбец L, вторая строка U и т. д. по
рекуррентным формулам
_ fe-i
kh~&tk k^[ 1:2V], i>k, (1.9)
p=i
A-i
&kj ^pUPj
P=l
&e[l
10)
Элементы матриц L и U размещаются в памяти ЭВМ так же, как
и при использовании метода Гаусса.
12
Л(=[1
2. Последовательно решаются: система с нижней треугольной
матрицей
Lb' = b (1.11)
и система с верхней треугольной матрицей
Ux = b'. (1.12)
Компоненты вектора Ь' вычисляются по формулам
/=1
а компоненты вектора х — по формулам (1.7).
Разновидностью прямого треугольного разложения является
алгоритм Дулитла [В.20, В.21], -в котором элементы матрицы L
вычисляются не по столбцам, а по строкам. В этом случае вместо
(1.9) используется формула
/—1 ~
hj — aM—^£hiPuPj’ fe[l:AT], j <zk. (114)
p=i
По количеству операций все рассмотренные алгоритмы равноцен¬
ны. Основные различия между ними проявляются при решении
разреженных систем, к этому вопросу мы вернемся позже.
1.2. Способы хранения разреженных матриц
Хранение разреженной матрицы в памяти ЭВМ должно обес¬
печивать экономию памяти и числа операций, необходимых для
преобразования матрицы в процессе решения линейной системы,
а также .простоту доступа к любому элементу матрицы при фор¬
мировании системы.
Преобразование разреженной матрицы к верхней треугольной
форме в общем случае ведет к появлению новых ненулевых эле¬
ментов (ННЭ) [это очевидно из формул (1.3), (1.9) и (1.10)].
Поэтому при хранении разреженной матрицы места для ННЭ
должны быть зарезервированы заранее либо схема хранения дол¬
жна позволять легко вводить новые элементы. Определение пози¬
ций ННЭ производится с помощью моделирования процесса пре¬
образования матрицы, которое производится один раз перед на¬
чалом работы основной программы, так как структура разрежен¬
ности не изменяется при анализе схемы (возможность появления
новых нулей, как правило, игнорируется).
Разработано несколько способов, обеспечивающих компромисс
между противоречивыми требованиями экономии памяти и време¬
ни вычислений. Выбор того или иного способа зависит от специ¬
фики задачи и особенностей ЭВМ, на которой задача решается.
Рассмотрим некоторые способы упакованного хранения разрежен¬
ных матриц [В.8, В.20, В.13].
13
<31. Все ненулевые элементы записываются построчно в од¬
номерном массиве А. Формируются два указательных массива'LJ
и LI. В массив LJ записываются номера столбцов ненулевых эле¬
ментов ац в том же порядке, в каком элементы Оц записаны в
массиве . А. В массив LI записываются относительные адреса в
массиве А первых ненулевых элементов каждой строки. Длина
массивов А .и LJ равна общему количеству ненулевых элементов
матрицы, длина массива LI равна N. Для матрицы
«и
«12
0
0
01
«21
0
#24
0
0
0
«33
#34
0
(1.15)
0
«•12
«43
#44
«4.5
Lo
0
0
#54
«05 J
•
массивы
A, LJ и
1.1 имеют вид
«н
«12
#21
#22
#24
#33
#34
#42
#43
«44
«45
#54
#55
1
2
1
2
4
3
4
2
3
4
5
4
5
1
3
6
8
12
Поиск элемента в массиве Ас заданными индексами (10, J0) про¬
изводится по следующему алгоритму: 1
N1 = Ы(Ю)
N2 = LI (10+1)—1
DO-1-J = N1, N2
3F«(J0.EQ.LJ (J))—GOTO—2
fl-CONTINUE
f
2-NA = J,
где NA — относительный адрес искомого элемента. Если у — сред¬
нее количество ненулевых элементов в строках матрицы, то для
поиска заданного элемента .потребуется в среднем 0,5у+2 опера¬
ций сложения, у операций сравнения и 0,5у+2 вычислений адре(
сов элементов одномерных .массивов. С помощью табл. 1.1 най¬
дем, что среднее время поиска /п='(22у+36)т.
С2. Использование однородного координатного базиса при фор-
миров-ании уравнений схемы приводит- к тому, что матрица А яв¬
ляется структурно-симметричной, т. е. если ац=/=0, то и' +ч=+0-
В этом случае удобно применять следующую схему хранения [В.8].
Диагональные элементы ан записываются в массив AD, нену¬
левые элементы a-ц (j>i)—-по строкам в массив AU, а ненуле¬
вые элементы оц (i>j) — по столбцам в массив AL. Организуют-
14
•сядва указательных массива LJ и L1. В массив LJ записываются
номера столбцов (строк) элементов из массива AU (AL), а в мас¬
сив LI — относительные адреса первых в строке (столбце) нену¬
левых элементов из массива AU (AL). Для матрицы (1.15) пере¬
численные массивы имеют вид
LJ: 2 4 4 5
LI: 1 2 3 4 5
Очевидно преимущество этого способа хранения перед первым
способом заключается в том, что массив LJ более чем в два раза
короче. Кроме того, использование структурной симметрии позво¬
ляет значительно уменьшить количество вспомогательных опера¬
ций при гауссовском исключении (см. § 1.4). Поиск элемента с
заданными индексами осуществляется по тому же алгоритму, что
и в С1, но среднее время поиска будет приблизительно в два раза
меньше.
Наконец, при формировании матрицы узловых проводимостей
нужно определять подряд позиций четырех элементов арр, ардг
адр и адд. Определение позиций диагональных элементов вообще
•не требует, поиска, а определение позиций элементов ард и адр.
требует только одного поиска. Поэтому среднее время формиро¬
вания матрицы будет приблизительно в 8 раз меньше, чем при
использовании С Г.
СЗ. Способы хранения С1 и С2 не позволяют легко вводить
новые ненулевые элементы, так как это ведет к сдвигу последую¬
щих элементов массивов. От этого недостатка свободны схемы
упаковки, использующие связные списки.
Поставим в соответствие каждому ненулевому элементу ац
два числа: номер столбца j и относительный адрес k в массиве
А следующего ненулевого элемента i-й строки. Если элемент ац —
последний в строке, тоА=0. Дополнительно организуем А-мерный
массив LI, содержащий адреса первых ненулевых элементов каж.-
дой строки. Порядок расположения в памяти ЭВМ записей (ац,
j, k) несуществен. Обозначим LJ и КМ массивы, в которых запи¬
сываются числа j и k соответственно. Тогда для матрицы (1.15)
15
заполнение массивов имеет следующий вид:
A LJ КМ LI
1
аи
1
2
1
2
«и
2
0
3
3
«21
1
4
г 7
4
^22
2
6
5
5
«42
2
11
"10^
6
«24
4
О'
7
^33
3
8
3
^34
4
0
9
«44
4
12
10
а54
4
13
11
«43
3
9
12
«45
5 •
0
13
аб5
5
0
Если- необходимо
О
5
пример аз5, достаточно
, а в
ввести новый ненулевой элемент, на-
к массивам A, LJ и КМ добавить запись
8-й ячейке массива КМ заменить 0 на 14.
| «зь
Кроме удобства введения ННЭ, рассматриваемый способ не имеет
других преимуществ перед С1 или С2. Наоборот, применение связ¬
ных списков увеличивает затраты памяти и несколько усложняет
поиск элементов.
Если имеется возможность оперировать частью ячейки памя¬
ти, то для записи чисел / и & можно использовать одну ячейку.
В таком случае можно также дополнить список адресами следу¬
ющих ненулевых элементов столбца. Это уменьшит количество
вспомогательных операций .при решении системы.
С4. Способы хранения ленточных матриц. Напомним, что мат¬
рица 'называется ленточной, если ау=0 при |i—/|>₽, где р — це¬
лое число, называемое полушириной ленты. Применение специаль1
ных процедур, упорядочивания позволяет привести матрицы схем
'к ленточной форме (см. § 1.5). -При этом .возникновение ННЭ
возможно лишь в области, ограниченной на рис. 1.2 жирными
линиями..
16
Обозначим ₽i число элементов справа.от диагонали «в f-й стро¬
ке ленты. Если Pi=const, то матрицу удобно хранить р двумер¬
ном массиве, имеющем N строк и 2р+1 столбцов (рис. 1.3). Если
Pi переменная, то целесообразно хранить элементы диагональной
о)
X X
X
х хххх
|ххх
хххх|
lx xxxxxxxi
|хх *
ххх
X XX
х хххх
X ХХХ1
j Ixxxxxl
*Пхх
X ХХ|_
X XXX
|хх
5)
Рис. 1.2. Структуры ленточных матриц с постоянной (Р=3)
(а) и переменной (б) шириной ленты:
X — позиции ненулевых элементов
ленты построчно в одномерном массиве А и ввести два указатель¬
ных массива по N ячеек каждый. В первый массив MS записы¬
вают относительные адреса первых элементов каждой строки, на¬
ходящихся внутри ленты, а во второй массив MD — относитель-
0-12'
#73
01 frt-1
0-21
#22
0-23
ащ.
Oz Ji+2
а31
#32
*зз
&3*
Оз ji+3
1
I
i-Z
i-1
ЦП
<4 i+1
&i i+Z
ot ji+t
I
aN-1 N-3
&N-1 N-2
&N-1 N-1
Off-1 fl
У
&N N-2
O-N N-i
ft
Рис. 1.3. Хранение ленточной матрицы в двумерном массиве
ные адреса диагональных элементов а.ц в массиве А (массив MD
используется только при треугольном разложении матрицы). На¬
пример, для матрицы
«11
«12
i 0
0
o-
«21.
«22
0
0
6
i 0
«33
0
0 i
1
i «42
«43
a44
«45
.0
0
0!
a54
«55.
17
массивы A, MS и MD имеют вид:
1
2
3
4
5
6
7
8
9
10
И
12
13
14
15
А:
а11
«12
^21
й22
0
«24
0
йзз
^34
^42
^43
044
О45
^54
^55
1
3
8
10
14
1
4
8
12
15
При таком способе х/ан-ения 'Общая длина указательных мае
сивов равна 2N, т. е. много меньше, нем в предыдущих способах
однако длина массива А, как правило, будет больше, так ка]
2p,+ l^Yi. Определение адреса NA элемента с заданными ин
дексами выполняется просто: NA=MD(I0)—10+JO.
С5. Иногда для хранения разреженных матриц используют
индексную матрицу. Матрица В=■[,&{,] (г, /е[1 :ЛГ]), сформиро
ванная по правилу
Оу=^0,
1 (0, % = 0,
называется индексной (смежности, иициденций).
Расположим ненулевые элементы .в одномерном массиве /
построчно и так же, как и в С1, сформируем массив LI: Ten-epi
для определения адреса элемента с индексами 10 и J0 нужно i
LI (10) добавить число единиц, находящихся в первых J0 столб
цах Ю-й строки матрицы В. Для хранения матрицы В необходи
мо N2 двоичных разрядов. Индексную матрицу есть смысл нс
пользовать, если системное программное обеспечение ЭВМ поз
воляет легко оперировать отдельными разрядами ячейки памяти
Особенно целесообразно применять индексную матрицу на-этап<
оптимального упорядочивания уравнений (см. § 1.5). ' Иногдг
вместо индексной матрицы используется так называемая адрес
ная матрица, которая получается из матрицы В заменой единил
на относительные адреса ненулевых элементов в массиве А. Об¬
зор техники индексных и адресных матриц дан в работе [КЗ].
1.3. Методы организации программ решения разреженных систем
На примере конкретных алгоритмов изложим различные под¬
ходы к организации программ решения систем линейных уравне
ний, причем основное внимание уделим оценкам эффективности
программ.
С точки зрения быстродействия эффективность программы -бу¬
дем характеризовать величиной
Т~ ^о/(^о+ ^1)> (1-16)
где t0, t\ — время выполнения основных и вспомогательных опе¬
раций.
18
Экономичность алгоритма .с точки зрения затрат оперативной
памяти будем оценивать -величиной
Q = <7o/(<7o + (7i)> (1-17)
где <7о — количество ненулевых элементов в матрице с учетом по¬
явления ННЭ; qi—количество ячеек, необходимых для хранения
указательных массивов и команд программы решения.
Разреженность матриц будем характеризовать -средним чис¬
лом ненулевых элементов в строках матрицы -справа -от главной
диагонали р. Таким образом, общее количество -ненулевых эле¬
ментов в матрице
д0 = (2р+1)#. (1.18)
Количество основных операций при -гауссовской факторизации
разреженной матрицы оценивается следующим -образом: деле¬
ний — N, умножений — ■ (р2+2р) N, сложений — р2ЛГ. Используя
табл. 1.1, находим
t0 = (29 р2 + 36 р + 50) т N. (1.19)
К вспомогательным операциям нужно отнести также операции
переадресации и обмена между оперативной памятью и арифме¬
тическим устройством ЭВМ, -которые сопровождают выполнение
основных операций в любой программе решения. Количество та¬
ких операций оценивается формулами: (2р24-2p + l)Af— вычисле¬
ние адресов одномерных массивов, (р2+Зр+2)// — операций об¬
мена. Таким образом, вне зависимости от метода организации
программы решения к нужно добавить
/; = (15р2 + 21р + 12)тМ. (1.20)
1.3.1. Метод циклической индексации. В программах, построен¬
ных по методу циклической индексации, действия над элемента¬
ми матрицы производятся одновременно -с анализом ее структу¬
ры. Как и в случае полных матриц, программа решения содер¬
жит -вложенные циклы, но длин-а этих циклов определяется не
размерностью матрицы, а количеством ненулевых элементов в об¬
рабатываемых столбцах (строках) на каждом шаге исключения.
Для определения‘’адресов операндов используются указательные
массивы. Поэтому естественно, что конкретный алгоритм тесно
связан со -способом хранения матрицы.
Рассмотрим программу для приведения к треугольной форме
структурно-симметричной матрицы методом Гаусса. Для хране¬
ния матрицы -используется несколько измененный способ С2. Из¬
менения касаются массива LJ: -после номера .столбца последнего
ненулевого элемента каждой строки в массиве LJ следует ячейка,
в которой записан нуль. Дополнительные затраты памяти увели¬
чиваются на N ячеек, но программа решения упрощается в ре¬
зультате более простой организации циклов. Достоинства способа
19
хранения С2 проявляются, если одновременно вычисляются пары
элементов и (р<<?) по формулам
PQ. PQ. ' pk kp >
«р ер 1 е* *р ’
так как относительно адреса элементов а'$ и в массивах AU
и AL одинаковы. (Подробно это описано в'работе [В.8]). Текст
программы следующий: 1
SUBROUTINE^ALGIC
СОММО?МВ 1/-AD (500), AL (2000), AU (2000),
* LJ (2500), LI (500), N
DO_1^K=1, N
AD(R)=1./AD(K)
LT = LI (A)
IF_(K.EQ.N)^GOT(XJ
LT1=LT
2„ AL (LT1)= — AL (LT1)*AD (K)
LT1=LT1 + 1
IF (LJ (LTl).GT.LJ (LT1 — 1))^GOTO^2
LT1=LT
3~GN = AL(LT1)
GW = AU(LT1).
IS = LJ(LT1)
AD (IS) = AD (IS) + GN*GW
IF (LJ (LTl).GE.LJ (LT1 + 1))U3OTO„8
LT2 = LT1 + 1
LS2=L1(IS)
4~IF(LJ(LT2)—LJ(LS2))-5, 6, 7
5 ~ PRINT-10 .
STOP
10 -FORMAT («ОШИБКА—В—СТРУКТУPE-M АССИВОВ»)
6 - AU (LS2) = AU (LS2)+GN* AU (LT2)
AL (LS2) = AL (LS2) + GW* AL (LT2)
LT2=LT2+1
20
LS2 = LS2+1|
IF~(LJ (LT2).GT.LJ (LT2— 1))^GOTO_4
GOT 0^8
^LS2 = LS24-1
GOTO-4
AU (LT1) = AU (LT1)*AD (K)
LT1 = LT1 + 1
IF^(LJ (LTl).GT.LJ (LT1 — 1))^GOTO_3
_ CONTINUE
RETURN
END
сновные операции треугольного разложения в программе под-
гркнуты. Количество вспомогательных операций при выполнении
гой .программы оценивается по формулам
сл = (2р2 + Зр +1) N-; т№ = (р2+2р -I-1) А;
ад = @Р2 + тОбм=(Р2 + 8Р+ 1) М»
Х& ^ор, ^ад, тпоб — количество вспомогательных операций'
тожения, сравнения, вычисления адресов элементов массивов,,
5мена.
Среднее время выполнения вспомогательных операций
= (51 р2+ 147 р +34)^4-/;
аи с учетом (1.20)
= (66р2+168р + 46)тАГ. (1-21)*
Дополнительные затраты памяти (без учета команд програм-
ы) оцениваются по формуле
<7i = (P + 2). (1.22)-
На рис. 1.4 приведены зависимости эффективностей Т и Q от*
для рассматриваемой программы (кривые 1).
1.3.2. Метод интерпретации (метод кодирования формул)'
1.13, 1.4—1.6]. Суть метода сводится к следующему. Формиру-
ся линейная .последовательность условных кодов операций, соот-
тствующих операциям гауссовского исключения (табл. 1.2). Эта-
следовательность записывается в одномерный массив КО.П.
Формируются также два массива IA1 и IA2, в которые запи¬
ваются условные адреса операндов. В массив IA1 записываются1'
;реса результатов операций, а в массив IA2 — адреса вторых
ерандов для операции с кодом 3. Такие массивы легко сфор-
[ровать, используя, например, программу, построенную .по ме¬
ду циклической индексации, заменив в ней основные, операции’
ер.ациями записи в массивы КОП IA1 и IA2 условных кодов:
2И
операций и относительных адресов операндов. Эта программа
должна отработать один раз, в то время как .программа решения
«будет использоваться многократно.
Рис. 1.4. Зависимости Т(р) (а) и Q(p) (б) различных про¬
грамм решения для методов:
1 — циклической индексации; 2 — интерпретации; 3, 4 — ленточных
матриц
Таблица 1.2
Условный код
операции
Операция гауссовского исключения
1
2
4е—
3
4
’5
Выход из подпрограммы
Ниже приведен текст интерпретирующей программы решени
Предполагается, что матрица А хранится >по способу С1.
SUBROUTINE-ALG2G
COMMON-/B1/-A(4500), N
COMMON—>/В2/^КОП (7000), I Al (7000), IA2(5000)
1 = 0
K=1
30—1 = 1 + 1
М = К0П(1)
J = IA1(1)
GOTO—(1, 2, 3, 4, 5), M
1— C=1./A(J)
A(J) = C
GOTO—10
2— B=—A(J)*C
A(J) = B
GOTO—10
3— L = IA2(K)
A(L) = A(L) + A(J)*B
K = K+1
GOTO-10
4— A (J) = A (J)*C
GOTO—10
5— RETURN
END
Для этой программы количество вспомогательных операций
тсл = таа = тобм = (Зра+4р+2) N.
Среднее время выполнения вспомогательных операций
4 = (60р2+80р4-40)т#+/; = (75р2+101 р + 52)тМ. (1.23>
Дополнительные затраты памяти складываются из двух со¬
ставляющих: — затраты памяти для указательных м-ассивов»
q"i—затраты памяти для хранения массивов КОП, IA1, IA2. При
использовании способа хранения Cl q'\= (2р+2)ЛГ, a /'i=(3p2 +
+4р+2)М. Таким образом,
<71 = (Зра+6р+4)У. (1.24)’
Зависимости Т(р) и Q(p) приведены .на рис. 1.4 (кривые 2).
1.3.3. Метод ленточной матрицы. Рассмотрим характеристики-
программы треугольной факторизации матрицы с переменной ши¬
риной ленты методом Гаусса. Предполагается, что хранение мат¬
рицы организовано по способу С4. Текст программы следующий:-
SUBROUTINE-ALG3C
COMMON—/В 1/—А (7000), MD(500), MS (500), N
DO—1—К = 1, <N
K1=MD (К)
K2 = MS(K+1)—KI
23!
В = 1./А(К1)
А(К1)=В I
DO-2-1=1, К2
I1=MD(K + I)—1
С=—A(I1)*B
A(I1) = C
JN = I1 + 1 f
JK = I1+K2
12 = KI—Il
DO—3—J = JN, JK
3- A (J) = A (J) + C* A (12 + J)
2- CONTINUE
IN=K1 + 1
IK = K1+K2
DO-4-1 = IN, IK
4— A (I) = A (I)*B
1-CONTINUE
.RETURN
END
Количество вспомогательных операций й время их выполненю
оценивается .по 'формулам
.■тсл = (2р2 + 6р + 5)Л^; /п9р = (Р2 + 2₽+ 1)А7;
■тад = (Р + 2)Л^; /побм = (40+4)М;
•*1=(Збр2+112р + 93)т#+?; = (51 р2+1330+ 105) тМ, (1.25
где р — средняя полуширина ленты.
Дополнительные затраты памяти
-q.1 = 2N. ' (1.26
Чтобы сравнить эффективность этой программы с предыдущ®
ми, положим, Р=0р, где 0>.1 — коэффициент, учитывающий, чт
средняя полуширина ленты больше, чем .среднее число ненулевы:
•элементов .р. Если к вспомогательным операциям отнести ту част
’Основных операций, которая обусловлена тем, что 0>'р, то
А = (8О0—29) 0р2 + (18О0—47р) + 105. (1.27
Аналогично оцениваются и дополнительные затраты' памяти:
!?1 = 2[(0-1)р+1]Л7. ' (1.28
Зависимости Т(р) и Q(p) для двух значений 0=1 и 0=2 прив(
дены на рис. М (кривые 3 и 4 соответственно).
54
1. 3. 4. Методы повышения эффективности программ решения. Быстродей¬
ствие программы, построенной по методу циклической индексации, можно уве¬
личить, используя связные списки для хранения указательных массивов. 'При?
этом увеличение эффективности Т на 15—20% приведет к резкому снижению*
показателя Q. В свою очередь, Q можно увеличить, если для хранения целых:
чисел использовать не всю, а часть ячейки. '
Несмотря на простоту интерпретирующей программы, ее эффективность Т~
практически такая же, как и у программы с циклической индексацией, но пока¬
затель Q намного хуже, чем у остальных программ. По этой причине примене¬
ние метода интерпретации нецелесообразно для ЭВМ с объемом оперативной:
памяти до 64 000 слов. Правда, затраты памяти можно снизить, используя хра¬
нение в одной ячейке кода операции и адресов операндов. Если заменить услов¬
ные коды операций и относительные адреса на коды команд машины и действи- ’
тельные адреса, то образуется линейная последовательность команд, являющая¬
ся программой решения. Такая программа, кроме операций обмена между опе¬
ративной памятью и арифметическим устройством, не будет выполнять «лиш¬
них» операций и ее T«il. Такой метод составления программы получил назва¬
ние метода генерации программ решения 1[1.7]. Существуют две разновидности’
этого метода. В первом случае генерируется программа решения на языке вы¬
сокого уровня (например, на ФОРТРАНЕ), эта программа транслируется затем в.
рабочую программу универсальным транслятором. Во втором случае программа
генерируется сразу в командах машины.
Первый подход реализуется проще, но эффективность программы будет ни¬
же из-за наличия команд ’вычисления действительных адресов. Затраты памяти
при использовании метода генерации в несколько раз больше, чем при использо¬
вании метода интерпретации, к тому же время работы компилирующей програм¬
мы может быть значительным. По этим причинам метод генерации может быть,
рекомендован для реализации только на ЭВМ с объемом оперативной памяти не¬
мей ее 105 слов.
Как видно из рис. 1.4, метод ленточных матриц при Р=р> 1,5'является наи¬
более эффективным как по быстродействию, так и по затратам памяти. Однако
с увеличением сложности схемы средняя полуширина ленты р, как правило, уве¬
личивается и может в 2—4 раза превышать р. На рис. 1.5 и 1.6 представлены?
Рис. 1.6. Граф типа «звезда»
7?)
Рис. 1.5. Кольцевой граф
простейшие типы графов, для которых метод ленточных матриц является мало¬
эффективным. Однако, если удалить из этих графов ветви, отмеченные на ри¬
сунке штриховой линией, то для оставшихся подграфов можно получить диаго¬
нальные матрицы. Вообще, как правило, в графе достаточно сложной схемы су¬
ществует сравнительно небольшое количество ветвей, которые «мешают» приве¬
сти матрицу схемы к ленточной форме с полушириной Р, близкой к минималь¬
ному р. Допустим, что такие ветви найдены и матрица оставшегося подграфа.
25
приведена в ленточной форме (см. § 1.5). Тогда можно применить следующую
процедуру решения ;[1.8].
Разобьем все ветви графа на две группы. В первую группу включим все
.ветви графа, за исключением «удаляемых» ветвей, которые включим во вторую
труппу. Метод узловых потенциалов приводит к системе линейных уравнений
.вида
(1.29)
«где А= j —-матрица инциде1ухий
(ветвей-узлов);
— квазидиагональная матрица проводимостей ветвей.
Разбиение
■.матриц А и G на подматрицы проведено в соответствии с классификацией ветвей
.по группам.
По предположению, матрица D=AiTGiAi является ленточной. Введем век¬
тор вспомогательных неизвестных X, определив его равенством
3. = G2A2x. (1.30)
Размерность этого вектора т2 равна числу ветвей второй группы.
Система (1.29) эквивалентна следующей:
Dx = b —А£Х.
(1.31)
Если каждому узлу графа инцидентна хотя бы одна ветвь первой группы, то,
вообще говоря, detD=/=O. Подставив в равенство (1.30) выражение х из (1.31),
получим систему линейных уравнений размерностью т2 для определения век¬
тора
[ Е + G2 А2 D“1 Ag] X = G2 А2 D-1 b, (1.32)
где Е — единичная (/П2Х/П2)-матрица. Для формирования матрицы АгЭ-Мг?
необходимо вычислить лишь те столбцы матрицы P = D_1, номера которых соот¬
ветствуют узлам, инцидентным ветвям второй группы. Число таких столбцов
не более 2т2. Любой столбец р3- матрицы Р удовлетворяет системе линейных^
уравнений
Dp j = еу, (1.33)
где ej — j-й единичный ^мерный вектор.
Используя преобразование (1.5), находим
Up;=lj, (1.34)
где Ij — /-й столбец матрицы L. Для формирования правой части системы (1.32)
вектор с—D^b определяется из уравнения
Uc = Lb. (1.35)
Наконец, вектор х является решением системы
Ux = L[b—А^Х]. (1.36)
Таким образом, вычислительные затраты складываются из трех составляю-
•щих: LU — разложение ленточной матрицы D, 2 (ги2-Ь1)-кратное решение систе¬
мы (1.34)—(1.36) с треугольной ленточной матрицей, решение вспомогательной
системы (1.32) с полной матрицей размерностью (/п2Х/п2).
Если то приведенная модификация метода • ленточных матриц эф¬
фективна: она сохраняет достоинства исходного метода (малые дополнительные
затраты памяти, простота упорядочивания уравнений, возможность программи¬
рования на алгоритмическом языке высокого уровня) и позволяет производить
анализ сложных схем почти с такими же затратами времени, как метод интер¬
претации.
26
1.4- Упорядочивание систем уравнений
1.4.1. Упорядочивание систем линейных уравнений преследует
две цели — сохранение числовой устойчивости и минимизацию1
числа операций при решении системы. Для матриц общего вида-
гарантию устойчивости вычислительного процесса дает выбор на
k-м. шаге исключения наибольшего по модулю элемента матрицы
в качестве главного элемента (А(й)— матрица размерностью»
N—k+1, составленная из последних N—6+1 строк и столбцов;
матрицы = ... Li А [1.1, 1-9]).
Для сильно разреженных матриц дело обстоит проще. Экспе¬
риментально установлено [В .20], что для таких матриц в каче¬
стве главного элемента можно выбирать любой элемент, модуль,
которого больше некоторого е (обычно считаются допустимыми-
значения -е= 10~3...10“5, если вычисления ведутся с 9...12 верными
знаками). Поэтому -при решении больших разреженных систем ю
переупорядоч-иванию уравнений в ходе исключения нужно прибе¬
гать лишь в тех случаях, когда диагональный элемент окажется’
по -модулю меньше е. Целесообразно для уменьшения вероятности
возникновения таких ситуаций использовать методы ’ .регуляриза¬
ции и масштабирование переменных .системы [В.13, 1.10].
Порядок выбора главных элементов существенно- влияет на ко¬
личество- ННЭ, образующихся в процессе треугольного разложе¬
ния матрицы. Так как время решения линейной системы пропор¬
ционально р2, то ясно сколь большое значение имеет уменьшение1
количества ННЭ. Столь же большое значение имеет минимизация-
ширины ленточных матриц. Алгоритмы, дающие строго оптималь¬
ное упорядочивание, не найдены, н-о разработаны и продолжают
разрабатываться алгоритмы,' дающие приближенное решение за¬
дач минимизации числа- ННЭ [В1.3, В.20, 1.2, 1.111—1.17] и шири¬
ны ленты [1.18—1J23] (см. также-обзор [В.21]).
Заметим, что механизмы появления ННЭ в алгоритмах Гаусса'
•и Краута существенно -различны: в алгоритме Гаусса ННЭ появ¬
ляются только в матрицах A(ft), а в алгоритме Краута вне поля-
матриц A(ft). Поэтому и -алгоритмы упорядочивания различны для-
этих методов решения -систем. По мнению авторов [В.21, 1.12],
применение алгоритма Гаусса дает меньшее количество ННЭ, чем-
алгоритм Краута. Алгоритмы упорядочивания для схемы .Краута-
применительно к задачам анализа электронных схем' изложены
в [В. 13], и мы на них останавливаться не будем.
1.4.2. Минимизация локального заполнения при гауссовском-
исключении. Локальным заполнением называется количество ННЭ,.
возникающих на 6-м шаге исключения. Нетрудно построить алго¬
ритм, дающий на каждом шаге исключения минимальное локаль¬
ное заполнение (это, конечно, н-е гарантирует, что общее количе¬
ство ННЭ будет минимально возможным). В дальнейшем пред¬
полагается, что исходная матрица А-структурно-симметричная,
т. е. ненулевые элементы в ней расположены симметрично. Каю
27
«было показано в § 1.3, использование симметрии дает дополни¬
тельные преимущества при хранении матрицы и организации вы¬
числений, поэтому, чтобы сохранить .симметрию, .в качестве глав¬
ных необходимо выбирать только диагональные элементы мат¬
риц A(ft).
Допустим, что элемент a,uw матрицы А№) выбирается в .каче¬
стве главного. Если элементы йрг-М й й<д№) не равны нулю, а эле¬
мент йрд<А>=0, то образуется новый ненулевой элемент (см. (1.3));
~(k) ~(k) i
0 = 0 + *)-
ан}
•Введем матрицы <BW =■,[.& $], элементы которых определяются
по следующему .правилу:
1,
.0, aiS==Q.
Тогда
6iPq=6iq,-k'>(l—6Pq^)6Pi(K> равна единице, если образуется
новый ненулевой элемент, и нулю в противоположном случае.
Чтобы подсчитать общее количество ННЭ, образующихся при
выборе элемента ац<-Ы в качестве главного, нужно просуммиро¬
вать по всем возможным р и q:
g™=2 2 <L37)
Р ч
Последнему выражению можно придать более удобный вид, если
представить любой элемент бц^ в виде
(1.38)
где в{, Cj-T-i- и /-й единичные векторы размерности (N—6+1).
Учитывая тождество eTpRegs=l, где R — матрица, все элемен¬
ты которой суть единицы, запишем
1 — b % = £ ВW eg = ej В<*> ер. (1.39)
В формуле (1.39) B(fe)=,R—В№) (заметим, что B(ft) = B</i)T). Теперь,
учитывая (1.38) и (1.39), из (1.37) находим
= £ £ е? В(ft) egeg В<*> ер е£В<*> ег=е? B<ft> V egе’ В<*> £ ер х
р Q Р
X e’Bw ei = b/(fe)rB(ft) Ьр> , ’ (1.40)
где b/ft) — i-й столбец (строка) матрицы B(ft). (При выводе (1.40)
мы воспользовались тождествами SegeTg= SepeTp = E — единиц
q р
ная матрица.)
28
Таким образом, компоненты вектора
g(fe) = [gW] = Ь/*>ТВ<*) ьр>
■(1.41)
равны числу ННЭ, получающихся гори выборе диагонального эле¬
мента а(адй+г-1,й+*-1=Лн(Ь) в качестве главного.
Алгоритм минимального локального заполнения сводится к
вычислению векторов g(ft) по формуле (1.41i) и выбору в качестве
главного элемента й<^, где
^)=ming«>. • (1.42)
Если окажется, что минимум в (1.42) достигается для нескольких
номеров i, то целесообразно среди них выбрать такой, Для кото¬
рого максимальна величина
0(*)=г<*>тЬ<*>,
где r(ft)— (АГ—k+1)-'мерный вектор, состоящий из единиц. Если
неоднозначность выбора этим не исчерпывается, то выбирается
любой элемент с минимальным и максимальным. о/Ч.
Изложенные выше рассуждения являются обоснованием широ¬
коизвестного алгоритма из [1.2]. В более общей форме для несим¬
метричного случая алгоритм минимального локального заполне¬
ния приведен в работе [В.20].
На рис. 1.7 приведена схема адресного формирователя, граф
которой изображен на рис. 1.8. (В граф включены лишь те вет¬
ви, которые дают иедиагональные ненулевые элементы в матрице
Рис. >1.7. Принципиальная схема адресного формирователя
узловых проводимостей.) На примере этого графа рассмот¬
рим работу алгоритма локального упорядочивания. Матрица В(о)
приведена на рис. 1.9. Вектор g(0) имеет вид g(0) =
='[2 242 8 044224 16 240 0 2 0 2]. Таким образом, кан¬
дидатами в главные элементы являются элементы a(0)e,6, o(0)i5,i5,
a(0)i6,i6, а(0>18,18, которым соответствуют числа o(0)6 = 3, t»(0)i5=3,
29
•y(0)i6=2, у(0)18=2. Согласно алгоритму выбираем главным элемент
а(0)б,б (или а(0)15,1б) и переставляем 1-ю и 6-ю строки, 1-й и 6-й
столбцы матрицы В(о). В нашем случае матрица В(1) образуется
после перестановок строк и -столбцов из В<°> простым вычеркива¬
нием 1-го столбца и 1-й строки, так как g6(0)—0. Если ^&)¥=0, то
необходимо после перестановок поместить в B<h) единицы, соот¬
ветствующие ННЭ.
Рис. 1.8. Граф схемы адресного формирователя:
i — исходные номера узлов, j — номера узлов после упорядочивания
Для рассматриваемого примера вектор g(1> =
= [2 224244224 16 2400 ’2 0 2]т и, следовательно
a(1>i4,i4saO)1515 становится главным элементом и т. д. На рис
1.10 приведены матрицы BW), полученные для графа на рис. 1.8
для исходной нумерации узлов и дл
г « в s ю 12 п io is ' нумерации, полученной по рассмотрен
ному алгоритму. Применение алгорич
ма минимизации локального заполни
ния сократило число ННЭ с 42 до (
По результирующей матрице B<J
легко сформировать указательные мае
сивы или списки, необходимые для пр«
граммы решения. Для рассмотренног
алгоритма требуется значительны
объем вычислений: число операций, ра
стет пропорционально N4. Кроме топ
при больших N возникают трудной
с размещением в оперативной памяч
матрицы В. Для преодоления эти
Рис. 1.9. Индексная матрица трудностей приходится прибегать
В<°> схемы адресного формиро- программированию на автокоде, позв!
вателя ляющем оперировать отдельными ра
рядами машинного слова.
1.4.3. Предварительное разбиение на кластеры. В работе '[1.1!
предлагается применять упорядочивание к графу схемы, лредв
рительно разбив граф на ряд слабосвязанных между собой пс
графов, имеющих сильную связь между внутренними вершина!
■30
>■
♦
в
7 7
Г
7 7
1
1111
1 1
1
1 1 1
1 1
1 t1 1
1
1 1
1
1
1 1
1
1 1
1 1
1 1
1 1
1
1 1
1
1 1
1111
о
1
'1 1
1 111
1 1 1
1 1
1
1 1
7 7
1
1
1
этих подграфов. Такие подграфы получили название «кластеры».
Точное определение понятия «кластер» тесно связано с алгорит¬
мом выделения кластеров, который рассмотрен ниже. Пока пред¬
положим, что кластеры выделены и вершины' графа пронумеро¬
ваны в следующей последовательности:
1) внутренние вершины 1-го кластера,
1 2 3 4 5 6 7 8 9 10 1112131915-16 111819
1 2 3 4 5 6 7 8 9 101112 13 14-1516 111819
7
1 1 1
1
7 ’ 7 1 i
11 7 7
1. 1 1
3
1 1,1 1
3
If , <
1111 1
Г1 1 ’ 7
5
111111 1
5
7 7
111111 7
7 7 7
.7 7 7 7 7 7
7
7 1 1
/--/7 7 7 7 7
1 1 1
9
1111
■ 9
7 7 7
1111
7 7 7
11
111111 1
11
7 7 7 7
1111111 1
1 7 7 7 7
73
11 1 1.1 1 1 1
13
7 1 fi¬
11111
ll 1 1
75
11111
18
111 1
7 7 7 7
11111
77
У 7 7 7 7
17
1 7 7 7 7
7 77
7 7 7 7 7 7 7 7 7
'19
11 1.1 1 1 1 111 111
19
1'1 111
S)
Рис. 1.10. Результирующая индексная матрица В<и'>:
а — без упорядочивания, б — после упорядочивания
2) внутренние вершины 2-го кластера,
ЛГ) внутренние вершины М-то кластера,
Л4+1) вершины, общие для двух или 'более кластеров (внеш¬
ние вершины).
При такой нумерации матрица В, соответствующая матрице
узловых проводимостей, будет иметь структуру, показанную на
рис. 1.11. В заштрихованной области матрицы В все 'элементы Ьц
равны .нулю,' причем они останутся равными нулю и в Bw, т. е.
после треугольной факторизации. Кро¬
ме того, изменение порядка нумерации
внутренних вершин кластера i может
менять результирующее заполнение в
подматрицах В^, Вм+i, i, Bjvr+i, i+i, .*.,
Вм+1, М, Вг+^м, —, Вм, м+1 и
Вм+i, м+ь
Количество внешних вершин обыч¬
но много’ меньше, чем общее число
внутренних вершин кластеров, поэто¬
му упорядочивание вершин i-ro класте¬
ра влияет на общее число ННЭ в ос¬
новном за счет числа ННЭ в подмат¬
рице- В«. Отсюда следует вывод, что
упорядочивание внутренних вершин
каждого кластера можно производить
независимо от упорядочивания вершин
31
других кластеров. Так как количество внутренних вершин в каждом
кластере много меньше общего числа вершин, то для упорядочива¬
ния вершин кластеров можно использовать описанный выше алго¬
ритм минимизации локального заполнения.
Перейдем к изложению алгоритма разбиения графа на клас¬
теры. Пусть в графе Н выделен подтраф Н' (рис. 1.12). Обозна¬
чим IS' множество вершин выделенного подграфа, a JUh-\ мно¬
жество вершин графа Н, смежных с вершинами из множества 1н',
но не входящих в 1ц'- Количество 'элементов в множестве / будем
обозначать |/|. Для .подграфа Н' множество /н' = {3, 4, 5}, мно¬
жество 2, 6, 7}, а |/(/н,),|=4.
Рис. 1.12. Граф Н и под- Рис. 1.13. Граф электрической
граф Н' схемы:
г (в кружках) — исходные номера
вершин; j — номера вершин после
выделения кластеров
Алгоритм выделения кластеров состоит в построении специаль¬
ной таблицы, состоящей из трех столбцов. В первый столбец пер¬
вой строки запишем исходную вершину, в качестве которой обычно
выбирается любая из вершин с минимальной степенью. Обозначим
эту вершину /iss/ь Во второй столбец первой строки запишем вер
шины, образующие множество /(Л), а в третий столбец
Каждой вершине /&7)(/1) припишем индекс |/(71сг3|, гд
7(Л U ;) — множество вершин, смежных с вершинами подграфа, со
держащего вершины из Ц и вершину /.
Выпишем в первый столбец второй строки вершину /2eJ(Zi) (
минимальным индексом Vj. Бели таких вершин несколько, то вы
бираем любую из них. Множество /2 составим из вершин ji и
Во второй столбец второй строки запишем вершины, из /(/г), а I
третий столбец — |Z(/2)|. Снова выберем из J (Z2) -вершину /3 (
минимальным индексом v,= | J(/2U j) |, /е/(/2) и запишем ее в пер
вый столбец третьей строки, составим h={ji, /2, /з}, 7 (Л) и т. д
Процесс построения таблицы закончится, когда в первый столба
будут выписаны все узлы графа (предполагается, что граф одно
связный).
Проиллюстрируем построение таблицы на примере графа, при
веденного на рис. 1.13. В качестве исходной выберем вершину 1
32
Таблица 1,3
.1 •' t ■
■ЧД)
Р( Л<) 1
1
24
З4
2
2
Зб
45
Iq5
64 • •
4
*6
Зб
45
54
,126
4
5
З7
44
108
12б* 1Р
5
4
З6
105
124
Н4
4
11 .
3е
104
Г24
186
4
10
Зб
1-24
174
185
4
12
З8
174
184
194
*4
17
Зб
1*83
193
22 4
4
18
З5
192
223
3
19
З4
222
'2
02
З4
2'12
2
21
З5
133
204
3
13
З4
94
203
,3
/20
З4
93
1-63
3
9
■ З3
83
163
3
3
7з
83
163
3
7
83
14з
!’63
3
8
142
152
162
3
14
Р51
161
'2
1-5
1’6°
1
16
-0
Табл. 1.3 построена по описанному выше способу. Заметим, что
числа в третьем 'столбце таблицы | /(Л) | (k— 1, 2, ...) сначала уве¬
личиваются, достигая максимального значения, затем уменьшаются
и снова увеличиваются и т. д. Разделим таблицу горизонтальными
линиями, подчеркивающими строки, предшествующие очередному
увеличению числа | J (Ik) | ■ Кластерами в графе являются подгра¬
фы, состоящие из вершин, выписанных в первом столбце таблицы
между проведенными линиями, и ребер, инцидентных только этим
вершинам. Во втором столбце таблицы в строке, завершающей
очередной кластер, выписаны внешние вершины кластеров, т. е.
вершины'общие для двух или более кластеров.
В нашем случае выделено два кластера с вершинами {1, 2, 6, 5,
4, 11, 10, 12, 17, 18, 19, 22, 3, 21} и {21,13, 20, 9, 3, 7, 8, 14, 15, 16}
(полужирные цифры — внешние вершины кластеров). Разбиение
графа на кластеры зависит, вообще говоря, от выбора исходной
вершины. Так, для графа на рис. 1.13 при другом выборе исход¬
ной вершины можно получить кластеры с внешними вершинами 1
и 21. В работе [1.17] приведен способ, позволяющий устранить
влияние выбора исходной вершины. Перенумеруем теперь верши¬
ны графа по кластерам, присваивая последние номера внешним
вершинам.
На .рис. 1.14 приведены матрицы инциденций В. Диагональ¬
ные подматрицы Вв и В22 могут теперь использоваться для опти¬
мальной перенумерации внутренних вершин кластеров. Если после
2—112 с 33
’выделения кластеров окажется, что отношение вешних вершин
кластеров к общему числу вершин графа велико (например, боль¬
ше 0,1), то нужно произвести укрупнение кластеров. Мелкие клас¬
теры с большим числом 'Внешних вершин замещаются в графе на
полностью связные подграфы, построенные на внешних вершинах
Рис. 1.14. Матрица В при исходной нумерации вершин (а) и после
разбиения на кластеры (б)
11
11111
1 11 '11
111111
1 11‘ 1
11 .11 11
11 111 1
1 1'1 11
1 111
1111111
мн
1
1
1 11
11 11
1 .1 г
111 1
1 1111
111 1
1
1
1
I
1 '
а 1 11
1
—1
таких кластеров (внутренние вершины этих кластеров удаляются).
К графу, образованному таким способом из исходного графа, сно¬
ва применяется разделение на кластеры.
1.44. Алгоритм Марковича. Рассмотрим еще один алгоритм
упорядочивания, основанный на минимизации на каждом шаге ис¬
ключения максимально возможного количества ННЭ. Этот алго¬
ритм предложен Марковичем [1.15], он намного проще алгоритма
минимизации локального заполнения, но дает практически такие
же результаты. Для структурно-симметричных матриц этот алго¬
ритм известен как алгоритм 2 из [1.2].
Итак, появление на fe-м шаге исключения ННЭ при выборе
а.ц^ в качестве главного возможно, если 5tg(fe)5j>iw = 1. Следова¬
тельно, при выборе ац№ главным элементом общее количество
ННЭ равно
Р& я=&
От условий р i и q = i в последней формуле можно освободить¬
ся, вычитая = 1 из соответствующих сумм
Х.^2 е;в(М ег—1) = (el В rh~ 1) (гДзЮ е4—1),
34
(1.43)
где.га— (N—&+1)-мерный вектор, все.компоненты.; которого .рав¬
ны единице. .. ... .
Так как = (по-прежнему рассматриваем структурно¬
симметричную матрицу), то из (1.43) получим
=(ejBwrft-l)\. (1.44)
В алгоритме Марковича на k-м шаге исключения главным вы¬
бирается элемент а+ь-1 = я.аа, где а удовлетворяет соотно¬
шению
g£A) = mm(e’B(\-l)2. (1.45)
Но индекс а будет таким- же, как и для min eiTB(fe)rft, так как
’ i
eiTB(Wrfc^l. Заметим, что. е<тВ<к)Гл есть количество ННЭ в i-й
строке (столбце) матрицы B(ft) (или A(ft))- Таким образом, на каж¬
дом шаге исключения в качестве главного элемента выбирается
диагональный элемент той строки (столбца) матрицы А<ь>, кото¬
рая содержит наименьшее число ненулевых элементов.
Число операций для реализации этого алгоритма приблизи¬
тельно в N раз меньше, чем для алгоритма минимизации локаль¬
ного заполнения. Кроме того, практически при реализации алго¬
ритма можно обойтись без хранения .матрицы В. Сравнение ха¬
рактеристик алгоритма минимизации локального заполнения и. ал¬
горитма Марковича, дано в табл. 1.4j"где ро—среднее количество
ненулевых элементов в .строках матрицы справа от диагонали до
исключения, рь р2 — то же после исключения при упорядочивании
по алгоритму минимизации локального заполнения' и по алгорит¬
му Марковича.
Таблица 1.4
№
ЛГ
Ро
Pi
Рг
№
N
Ро
рх-
‘ р2 ... v
1
19
’1,26
1,39
1,42
5
62
1,30
1,74.
::i;79\;
2
*30
1,23
1,37
' 1,47 *
’ 6
63
1,34
1,51
, 1,58, ?
3
’43
1,99
2,95
3,00
7
77
"2,19
3,14
•3,26 •
• 4
• 43
1,51
2,16
2,19
8
• 82
1,30
1,63 .
. 1 1,65^ .
■ Учитывая простоту реализации второго алгоритма,: можно сде¬
лать вывод, что его применение является предпочтительным.
1.4.5. Методы приведения матриц к ленточной форме. Простой
и эффективный алгоритм минимизации ширины, ленты предложен
в работе [1.18]. Согласно этому алгоритму вершины графа схе>
мы классифицируются по множествам /о, h, h, — В множество /0
включается .единственная вершина io. как правило, из числа вер¬
шин с наименьшей степенью. В множество Ц включаются веру
2* 35
шины, смежные с i0- Множество Ц состоит из вершин, смежных
с вершинами из Ц, но не вошедших в 1$ и Ц, и т. д. Веригины
графа нумеруются по множествам 1^ последовательно, начиная--с
после упорядочивания
771
Г7|
777] —
1
11
1
1 1
11
11
1
1 1
11
111
1
11
11
111
1-1
вершины t0. При нумерации вершин одного множества Л мень¬
шие номера присваиваются вершинам, имеющим наименьшее чис-
. до ребер, инцидентных вершинам из Л+ь Если таких вершин нес¬
колько, то меньшие номера присваива¬
ются вершинам, имеющим наимень¬
шую степень.
На рис. 1.15 показана классифика¬
ция вершин графа с рис. 1.13 по мно¬
жествам Л и новая нумерация вершин,
На рис. 1.16 приведена матрица В рас¬
сматриваемого графа для новой нуме¬
рации вершин. Средняя полуширина
ленты Р=5,3, т. е. значительно боль¬
ше среднего числа ненулевых элемен¬
тов р=3,09 для матрицы В^) на
рис. 1.146.
Уменьшить ширину ленты можно
_'~с помощью итерационных алгоритмов
Ри^'1.16. „ Матрица В, после попарной^перестановки номеров вер-
приведения к ленточной фор- шин [В.20, 1.24]. Эти алгоритмы дают
>•■■■ ■ хорошие результаты, если исходная
36:
2 4 8 8 10 12 /4 16 18 20 22
структура матрицы близка к ленточной. Существенное значение
имеет выбор начальной вершины io. Целесообразно в качестве на¬
чальной испробовать все вершины с минимальной степенью [1.18].
Рассмотрим теперь, как выделить те ветви графа, удалив ко¬
торые, можно .получить ленточную матрицу с заданной полуши¬
риной ленты р [1.8]. Начиная с исходной .вершины Iq, будем сно¬
ва классифицировать вершины графа по множествам /0, Л, Л, —
до тех -пор, дока не найдется множество h, для которого
1/J>ent[(2p+l)/3], (1.46)
Если такого множества не оказалось, то можно переходить к пе¬
ренумерации вершин, как описано выше.
Допустим, что нашлось такое k, что неравенство (1.46) вы¬
полнено. Рассмотрим вершины из А-ь Каждая вершина ie/fc-i
может иметь qu связей с вершинами из Д_2, q-a связей с верши¬
нами из Ik-i и Ягз связей с вершинами из Д. Введем для всех
ieA-i коэффициенты
Xi = <7i3/(7il + ?i2) ■
Пусть «г» = max Ki, Если таких вершин I* несколько, то выберем
ie'k-i
из них ту, у которой меньше qi2. Теперь удалим из графа qt* +4f*
ветвей, соединяющих i* с вершинами из Д-2 и Д-ь Образованный
таким образом .подграф будет содержать в Л не больше вершин,
чем исходный граф.
Применяя этот 'процесс .рекурсивно, можно добиться, чтобы вы¬
полнялось неравенство
шах | Ik | < ent [(2 р +1)/3],
k
(1-47)
после чего произвести перенумерацию
Д, Л, Д ... полученного подграфа.
Для слабо связанных графов вместо
выполнения неравенства
шах|Д| <₽,
k
•вершин по множествам
(1.47) лучше добиваться
(1.48)
Рис. 1.17. Классификация вершин графа по множествам при исклю¬
чении ветви (7,5):
г (в кружках) — исходные номера вершин, j — номера вершин после упорядо¬
чивания
37
применяя затем итерационную 'Обработку полученной нумерации
попарной перестановкой номеров вершин.
Рассмотрим пример упорядочивания графа на рис. 1.13 для
0=4. Множества Д показаны на рис. 1.15. Так как |Д| >0, то сог¬
ласно указанному критерию "
2 4 S 8 10 12 14- 18 IB 20 22
Рис. 1.18, Матрица В после
приведения к почти ленточной
форме
удалим из графа ветвь (1,3). Снова
построим множества Д (рис. 1.17).
Так как неравенство (1.48) выпол¬
няется, то произведем нумерацию по
множествам Д. Матрица В, соответ¬
ствующая новой нумерации, показа¬
на на рис. 1.18. Для этой матрицы
0 = 2,33, т. е. даже меньше, чем ip
для матрицы на рис. 1.146. Вспомо¬
гательная система (1.32) имеет раз¬
мерность т2 = 1. Для ее формирова¬
ния необходимо три раза решить
систему с ленточной треугольной
матрицей. В табл. 1.5 приведены
значения 0 и тпг, полученные по рас¬
смотренному алгоритму. Эти значе¬
ния можно сравнить со значениями
pi и р2 из табл. 1.4.
Таблица 1.5
№
N
та
№
N
Р
тг
1
19
1,63
0
5
62 *
4,62
0
2
30
2,31
0
6
63
4,24
2
3
43
3,76
9
7.
77
4,21
0
4
43
4,12
0
8
82
3,54
4
1.5. Алгоритм расчета схем со структурой последовательного типа
Рассмотренные выше .алгоритмы имеют универсальный харак¬
тер и предназначены для сокращения вычислительных затрат при
моделировании схем произвольной конфигурации. Среди множе¬
ства вариантов конфигураций ИС можно выделить широкий класс
схем, имеющих периодическую структуру, состоящую из последо¬
вательно соединенных элементов, например схемы регистров,
фильтров (рис. 1.Ю).
Рис. 1.19. Структура Схем с
последовательно соединенны¬
ми элементами
Очевидно, что в таком случае специальный вид слабосвязан¬
ной структуры моделируемой схемы позволяет значительно упро¬
стить используемые алгоритмы .решения линейных систем [1.26,
38
1.27]. Исчезает необходимость применять методы упорядочивания,
так как матрица коэффициентов А системы (1.1), решаемой на
каждом шаге интегрирования или итерационного процесса, всегда
имеет ленточный вид. Если соседние элементы, имеют между собой
одну связь (рис. 1.20,а), матрица А имеет трехдиагональный вид
(рис. 1.20,6) ,а система (1.1) может быть представлена следую¬
щим образом:
liXi-i—^х£ + «гх{+1=— biti£ [1 :2V], i(1.49)
где Xi и bi — компоненты векторов неизвестных и правых частей
в (1.1); /г, d г, —ненулевые коэффициенты i-ro уравнения в (1.1;)-
Эффективным методом решения системы (1.49) является метод
прогонки [1.1, 1.25], часто применяемый при численном .решении
уравнений в частных производных.
сж—□
fl)
Рис. 1.20. ' Последовательная
структура схем с одной связью
между соседними элементами
(а) и соответствующая матри¬
ца коэффициентов линейной
системы уравнений (5)
При использовании метода прогонки решение отыскивается в
виде
Xi — “Ь Pi +1>
(L.50)
причем прогоночные коэффициенты a^+i и Рг-ы определяются по
следующим рекуррентным-соотношениям [1.1, 1.25]:
щ,
di — li
(1.51)
Экономичным и удобным в программировании оказывается в
рассматриваемом случае совмещение операций формирования и
решения уравнений [1.27, 1.28]. Вычисление а, и р< можно осу¬
ществить сразу после обращения к-компонентным уравнениям i-ro
элемента регистра, «причем результаты предыдущего обращения (к
модели (i— 1)-го элемента) можно после этого не хранить. По¬
этому применение метода прогонки позволяет в данном случае
свести составление уравнений модели схемы <к автоматическому
формированию векторов прогоночных коэффициентов а$ и рг на
каждом шаге интегрирования. Такой подход обеспечивает возмож¬
ность последовательного использования одних участков памяти
ЭВМ для различных элементов регистра и .исключает необходи¬
39
мо’сть хранения компонентов ленточной матрицы (рис/ 1.20,6);
Вместо’трех диагоналей матрицы запоминаются лишь необходи^
мые для обратного хода N значений вектора а, а вместо вектора
правых частей Ь хранится вектор р. В результате значительно по¬
вышаются возможности программ.
В общем случае, когда соседние элементы структуры имеют
между собой более одной связи, система уравнений (1.1) имеет
клеточно-трехдиагональный вид
(1.52).:
где Li, Dj, Ui—квадратные матрицы, размерности которых сов¬
падают с числом связей между соседними элементами (например,
для структуры на рис. 1.19 размерность равна двум); х» и Bi —
векторы той же размерности.
Для решения системы (1.4'0) целесообразно по аналогии'с пре¬
дыдущим случаем применять метод матричной прогонки [1.25].
В этом случае аг и 0i в (1.511) уже соответственно матрица и век¬
тор размерностью, равной числу связей.
Дополнительный выигрыш в памяти достигается при учете од¬
нородности элементов (периодичности) .анализируемой цепи. При
этом естественно задавать исходную информацию о принципиаль¬
ной схеме топологической матрицей не для всей цепи, а лишь для
одного элемента и указывать число таких элементов. Помимо сок¬
ращения требуемой памяти из-за малой размерности топологиче¬
ской матрицы упрощается запись исходной информации.
Приведенная методика моделирования применима и в тех слу¬
чаях, когда элемент анализируемой цепи является многокомпо¬
нентным и содержит внутренние узлы (например, триггер в схе¬
ме регистра). В этом случае используется метод подсхем (см.
гл. 2), который позволяет исключить внутренние узлы.
Применение рассмотренного алгоритма эффективно для рас¬
чета БИС, представляющих однородные вычислительные системы.
Возможны различные варианты распространения алгоритма на
случай двумерных структур [1.29, 1,30]. Для решения такой за¬
дачи .перспективно сочетание описываемого подхода с вычисли¬
тельными процедурами теории разностных схем [1.25]. Алгорит¬
мы расчета однородных структур могут быть эффективно приме¬
нены в качестве вычислительных схем при автоматизации расче¬
та элементов ИС [1.31]. Следует отметить также, что применение
рассмотренного алгоритма может оказаться целесообразным и в
случае, если последовательная .структура имеет небольшое число
обратных связей. В вычислительную схему для этого кроме ме¬
тода прогонки следует включить метод пополнения [1.1] (напри¬
мер, см. рис. 1.21). Наличие ненулевых элементов в правом верх¬
нем и нижнем левом углах матрицы (рис. 1.21,6) не допускает
непосредственного применения обычных методов прогонки. В .этом
случае возможно применение циклической прогонки [1.25], что
позволяет распространить алгоритм и для такого, режима рабо¬
ты регистра.
40
Заключение. При использовании изложенных в этой главе ме¬
тодов число операций при решении линейных систем с разрежен¬
ными матрицами растет пропорционально N. Число арифметиче¬
ских операций для формирования системы в программе анализа
схем, т. е. вычисление коэффициентов матрицы А и вектора b и
размещение их в соответствующих массивах, растет пропорцио¬
нально числу элементов в схеме.
а)
Рис. 1.21. Схема сдвигового
регистра в режиме рециркуля¬
ции информации (а) и соот¬
ветствующая матрица коэффи¬
циентов системы линейных
уравнений (б)
Соотношение между машинным временем решения системы
(Тр) и временем формирования системы (7ф) зависит от многих
причин. Основными из .них являются: выбор координатного ба¬
зиса в математической модели схемы, сложность применяемых
моделей компонентов и собственно способ программной реализа¬
ции. Для выяснения этого соотношения обратимся к табл. 1.6, в
которой приведены значения Т-р и. Т$, полученные при решении
задач расчета статического режима для цифровых схем с различ-
•ным-числом компонентов (Мк). В таблице приведены суммарные
времена Гр и Т$ по всем итерациям решения, которые проводи¬
лись по .программе САМРИС-2 [1.32].
Таблица 1.6
N
мк
т
<р
■ТФ
Гр/Гф
| JV • •
мк
ГР
ТФ
Гр/Т*
20
50
1,2"
30,5"
0,039 77
151
24,6"
274,7"
0,115
56
152
21,0"
’242,3"
0,087 40
110
14,5"
131,4"
0,111
62.
160
12,6"
173,1"
0,073 61
145
22,1"
267,4"
0,083
47
181
22,7"
106,0"
0,223 79
239
42,1"
457,5"
0,092
81
242
49,6"
394,9"
0,126 59
.113
44,3"
450,0"
0,098
Математическая модель схемы формировалась по методу уз¬
ловых потенциалов. В качестве моделей нелинейных элементов
использовалась модифицированная модель. Эберса— Молла.. Для
решения системы 'линейных уравнений был использован метод
Гаусса, программа решения построена по методу циклической
индексации. ■ ?
41
Из табл. 1.6 можно определить, что для данной программу
среднее значение отношения Тр/Тф—'0,106. Очевиден вывод — вре¬
мя решения системы линейных уравнений при использовании раз-
реженности -не является фактором, определяющим 'быстродейст¬
вие программы. Из этого, в частности, следует, что .в програм¬
мах анализа схем целесообразно применять наиболее просты?
методы использования разреженности, .обеспечивающие наимень¬
шие затраты оперативной памяти. Дальнейшее увеличение быст¬
родействия программ анализа можно вести, в основном, за счет
уменьшения времени Тф, ^которое пропорционально числу элемен¬
тов в схеме, среднему времени, затрачиваемому на вычисление
■коэффициентов модели элементов, и числу итерационных шагов
решения уравнений модели схемы. Методы сокращения этих со¬
ставляющих затрат машинного времени рассматриваются в сле¬
дующих главах.
Глава 2
Моделирование электрических характеристик БИС
методом многополюсных подсхем
Одним из наиболее радикальных методов, обеспечивающих
ускорение вычислений и сокращение затрат памяти при модели¬
ровании БИС, является метод многополюсных подсхем. Теория
метода подсхем развивается уже в течение многих лет для линей¬
ных [2.1—2.3] и нелинейных [2.4] цепей. Однако для машинно¬
го анализа сложных схем метод подсхем получил распростране¬
ние лишь в последние годы. Это можно объяснить необходимо¬
стью при автоматизации схемотехнического проектирования ком¬
плексного решения проблемы выбора алгоритмического обеспе¬
чения. Иначе говоря, метод многополюсных подсхем как метод
теории цепей при алгоритмической реализации должен просто со¬
четаться с алгоритмом автоматического формирования уравне¬
ний и методом численного решения моделируемой системы.
Применение метода многополюсных подсхем при машинных
расчетах позволяет заменить вычислительные операции с систе¬
мой высокой размерности последовательностью операций с си¬
стемами относительно малой' размерности. С этой точки зрения
идея метода подсхем совпадает с основным направлением иссле¬
дований сложных систем по частям, являющихся развитием ме¬
тода Крона [2.5, 2.6] и объединенных общим термином «диакоп¬
тика». Однако изложенные ниже алгоритмы по способу реализа¬
ции существенно отличны.от приводимых в указанных работах.
2.1. Формирование математических моделей БИС
методом многополюсных подсхем
2.1.1. Разделение матриц на части. В гл. 1 рассматривалась
структура матрицы с двойным окаймлен-ием (рис. 2-.1) [В.20, В-21],
42
которая легко получается для исследуемого класса систем. Дей¬
ствительно, разобьем анализируемую схему .на части (подсхемы).
Выделим для каждой из подсхем ее внутренние переменные (на¬
пример, потенциалы во внутренних узлах при использовании ме¬
тода узловых потенциалов) и внешние переменные, определяю-
Рис. 2.1. Типовая
структура матрицы с
окаймлением при вы¬
делении в исходной
системе внутренних
и внешних перемен¬
ных
щие связи каждой подсхемы с остальной частью схемы. Прону¬
меруем последовательно для каждой подсхемы сначала все внут¬
ренние, а затем внешние (граничные) переменные. Тогда система
.линейных уравнений
Ах = Ь, (2.1)
решаемых на каждом шаге интегрирования или итерационного,
процесса (В.-З), имеет вид
АХ1 ... 0 Д1г
Xi
~ьг
• Aq2 ... 0 ^2р
Х2
ьа
; •
X
•
=
•
0 . ; . i . . i Ann Апг
bn
__ АГ1 . ; ...... . Агг _
_ хг_
_ьг_
где Xi, ..., х,г — векторы внутренних переменных п подсхем, хг—
вектор внешних (граничных) переменных.
В результате получается известная -блочно-диагональная струк¬
тура матрицы с двойным окаймлением. Применение формальных
методов решения систем линейных уравнений по частям [1.1, 2.7]
в Данном случае очень эффективно, так как просто учитывается
разреженность исследуемой структуры.
Вычислительные операции сводятся к исключению внутренних
переменных для каждой подсхемы
X/= 1 bj А...' Air хг, i = 1,2, . . ., п, (2.2)
решению системы линейных уравнений относительно хг
(Arr-jAriA-i Afr)xr = br-2ArZ A^bt (2.3)
f=i f=i
и проведению обратного хода по формуле (2.2) для определения
внутренних переменных х« каждой .подсхемы. Таким образом,
вместо -исходной матрицы А высокой размерности вычисления про¬
водятся последовательно с матрицами низкой размерности. В свя¬
зи с исключением операций с .нулевыми подматрицами при-таком
учете -структуры и хранением .только ненулевых достигается сок¬
ращение затрат памяти и времени.
В работах [2.5, 2.6] и др. применение формальных мето-дон
разбиения матриц при моделировании сложных систем признает¬
ся неудовлетворительным, так как необходимо предварительно
формировать всю исходную^ полную систему (2.1). Поэтому в ука-
-занных работах обосновывается и развивается подход, связанный
с введением дополнительных переменных при расчленении исход¬
ной системы.
Однако представленные в работах (см., например, [2.9—2.19])
алгоритмы моделирования сложных электронных схем методом
подсхем позволяют связать разбиение на подматрицы с автома¬
тическим формированием уравнений подсхем, -не требуя при этом
хранения элементов всей большой матрицы А (2.1)-. Действитель¬
но, после автоматического формирования математической модели
только^ 1-й подсхемы (матриц Ап, Air, Ari и вектора bi) могут
быть исключены -внутренние переменные Xi решением системы
(2.2) . Далее могут быть найдены соответствующие 1-й подсхеме
элементы матрицы коэффициентов АцАц^Ащ и вектора -правых
частей AriAu“1bi для системы уравнений (2.3) относительно гра¬
ничных переменных хг. Затем следует обращение к математичес¬
кой модели 2-й подсхемы и формирование соответствующих мат¬
риц на тех же массивах памяти, что и для 1-й подсхемы, с повто¬
рением тех же вычислительных операций. После обращения .ко
всем подсхемам оказывается полностью сформированной система
(2.3) для граничных переменных хг подсхем. Внутренние перемен¬
ные подсхем Хг при необходимости находятся обратным ходом с
помощью выражения (2.2). Для обратного хода требуется запо¬
минание матриц Агг^Агг размерностью (NiXvt), где Ni— число
внутренних, Уг—число внешних выводов Z-й подсхемы.
Описанный алгоритм решения линейной .системы уравнений
методом разбиения легко распространяется на основные вычис¬
лительные схемы, применяемые при машинном расчете нелиней¬
ных электронных цепей. Так, при моделировании статических ре¬
жимов решаются системы трансцендентных уравнений
f(x) = 0. -.(-2.4)
Обычно для решения системы (2.4)‘ применяются алгоритмы, ис¬
пользующие вычисление ньютоновской итерационной поправкы
(В.З) [В.12]. В этом случае решение системы линейных уравне¬
ний вида (2.1) (уже относительно корректирующих поправок Дх)*
на каждом итерационном шаге может проводиться такой же про¬
цедурой разбиения.
При моделировании динамических режимов наибольшее рас¬
пространение получили неявные методы интегрирования с вычист
лением корректирующих поправок по Ньютону [2.20, 2.21, B..1S]-
44
■Их применение приводит к решению на каждом шаге интегриро¬
вания системы линейных уравнений (2.1) с матрицей коэффициен¬
тов A=F;(/i₽o)_1+Fx, где F^ = dt/dx; Fx=df/dx; h — шаг интегри¬
рования; ₽о — коэффициент при производной в разностной форму¬
ле для многошагового метода [В. 13], равный единице для мето¬
да .первого порядка. Естественно, что и в этом случае может при¬
меняться описанная последовательность формирования и решения
системы высокой размерности по частям.
2.1.2. Автоматизация формирования уравнений модели. В за¬
висимости от выбора координатного базиса переменных, х для
описания схемы применяется тот или иной алгоритм формирова¬
ния уравнений модели схемы. Довольно простой для программной
реализации оказывается процедура автоматического формирова¬
ния при применении метода узловых потенциалов для описания
схемы. В этом случае в системе (2.4) х —вектор узловых потен¬
циалов, a f —сумма токов в узлах. Нужные для дальнейших вы¬
числений матрицы могут формироваться на основании простых
логических правил, разработанных для схем, содержащих много¬
полюсные компоненты.
Кратко рассмотрим процедуру составления моделей схем при многополюс¬
ном представлении активных компонентов i[B.8, 2.9]. Информацию о топологии
схемы может содержать, например, матрица межсоединений схемы М (вид мат¬
рицы приведен на рис. 2.2, б). Элемент тц этой матрицы указывает на номер
Рис. 2.2. Пример разбиения схемы:
а — подсхемы (фрагменты); б — матрица межсоединений компонен¬
тов М для фрагмента; в — матрица межсоединений подсхем S в схему
узла, к которому подключен j-й вывод i-ro компонента. Формирование модели
схемы сводится к последовательному обращению к модели каждого ..i-го ком- ■
л онеита... Модель представляет собой блок (подпрограмму.)-.-произвольной струк¬
туры, в котором пр входным данным (напряжениям и на;-полюсах и .их пр.биз-.
водным и должны вычисляться выходные значения (вектор полюсных* токов "!'
и производные этих токов по входным’переменным dl/du ii dl/дйу. При модели¬
ровании статических режимов” с применением итерационных процедур ныотонов-
45
ского типа-формирование модели сводится к вычислению значений вектора уз¬
ловых токов f и матрицы проводимостей Fx = df/dx.
На каждом шаге итерационного процесса с помощью матрицы межсоедине¬
ний М из вектора узловых потенциалов х выбираются составляющие и, задаю¬
щие напряжения на выводах компонента. В результате обращения к модели
компонента вычисляются токи I через выводы и их производные dl/du. Далее с
помощью той же матрицы М вычисленные значения суммируются с соответст¬
вующими элементами матриц f и Fx. В результате обращения ко всем компо¬
нентам формируются вектор узловых потенциалов и полная матрица проводи¬
мостей. Очевидно, что при моделировании динамических режимов точно так же.
формируется матрица коэффициентов системы l[Fi Различие состоит,
лишь в том, что для ее формирования используется дополнительно матрица ем-1
костей многополюсного компонента dl/du.
П-ри формировании моделей полных схем сохраняется та же
последовательность операций, но при этом в роли компонентам
выступает уже многополюсная подсхема, или, иначе говоря, обоб^
щенный компонент (ОК), т. е. компонент, модель которого описы¬
вается системой уравнений (имеет внутренние узлы).. Способ сое¬
динений таких подсхем в полную схему .может быть задан матри¬
цей межсоединений W (рис. 2.2,в),.'построенной по тем же прин¬
ципам, что и для простых компонентов. Информация о топологии
каждого типа подсхем задается набором матриц межсоединений
Mj, где /=1, ..., S — число различных типов подсхем.
Формирование моделей полной схемы осуществляется поэтап¬
но.' Сначала вычисляются необходимые матрицы для каждой под¬
схемы .(вектор полюсных токов I, полюсные матрицы проводимо¬
стей dl/du и реактивная матрица 3I/du) исключением внутренних
переменных, т. е. фактически осуществляется переход ют подсхе¬
мы к многополюснику. Далее с помощью указанных матриц фор¬
мируется модель относительно внешних переменных по описан¬
ной методике.
Таким образом, можно говорить о построении модели анали¬
зируемой схемы по иерархическому принципу (рассмотренный ва¬
риант соответствует двухуровневой иерархии).
На каждом шаге итерационного процесса или процесса инте¬
грирования уравнения моделей подсхем представляются в линеа¬
ризованном виде. Вычислению полюсных токов и полюсных мат¬
риц производных соответствуют операции, представленные урав¬
нениями (2.2) и (2.3), т. е. вектору полюсных токов h соответ¬
ствует f-e слагаемое- АнАи^Ьг, матрице производных — f-я -под¬
матрица — Аг1Агг~;Агг» При моделировании статических режимов
последняя подматрица соответствует полной матрице проводимо¬
стей многополюсника 5I/.5.U, а. .для динамических режимов — по¬
люсной матрице dl/du + hr'dl/dui
В целом при методе узловых.потенциалов алгоритм моделирования больших
схем‘ с автоматическим' формированьем уравнений . подсхем состоит из следую-
щих'этапов (рис.‘2.3): :
1) на й-м шаге итераций (или Интегрирования) йо вектору хАг определяет¬
ся значения напряжений на выводах всех подсхем (ОК)* в‘ соответствии с мат¬
рицей межсоединений. W* для всей схемы,
2) . с. помощью матрицы межсоединений.Mi составляются матрицы производ¬
ных.. длЯ;М подсхемы Ан, Air,. Агг- и вектор, узловых токов Ьг,
4G.
3) находятся и запоминаются значения Дх,<=А{<”1Ь<, вычисляются также
токи I-i через выводы ОКг (АГгАгг_1Ьг) и полюсная матрица производных
(AriAii-1Atr). Вычисленные значения в соответствии с матрицей соединения
подсхем W включаются в элементы матриц узловых токов и проводимостей пол¬
ной схемы,
Рис. 2.3. Блок-схема алгоритма формирования математических
моделей схем методом многополюсных подсхем:
I — формирование л решение уравнений подсхем; II — формирование и
решение системы уравнений для полюсных переменных
4) пп. 1—3 повторяются для всех подсхем. В результате формируются мат-
fl fr /fl fr 1 fl fг \
рицы fг и [ —— — для -системы граничных (полюсных)
* д хг \д хг h flxv. /
переменных,
5) решением системы уравнений находится корректирующая поправка Дхг,
6) вычисляется поправка для внутренних переменных Дхг"=А-и_1АьАхг,
полная, поправка для внутренних переменных равна Дх^=Ах,14-Дхг//.
После обращения ко всем подсхемам вычисляются следующие значения
{для (£4-1) -го шага итерационного процесса или интегрирования] и повто¬
ряются’ пп. 1—6. • •
М-ожно назвать 'следующие основные результаты применения
метода многополюсных подсхем для расчета БИС.
Г/ Благодаря последовательному" использованию Одних и тех
же массивов-^памяттг; можно, значительно . сократить требуемые
объемы памяти по сравнению с хранением полной матрицы ис-
47
ходной системы. Радикальное увеличение возможностей программ
"делает реальным моделирование БИС.
2. Значительно сокращаются временные затраты моделировав
ния, так как операции с исходной полной матрицей заменяются
операциями с ее отдельными блоками (решается набор систем
уравнений значительно меньшего порядка по сравнению с исход¬
ной системой).
3. Следствием полной' автома‘тйзации составления уравнений/
для анализа БИС является простота представления исходной для
расчета информации, особенно .в тех случаях, когда в них можно
выделить; однотипные подсхемы, что обычно имеет место, напри-:'
мер, в цифровых БИС. В последнем случае .получается значитель¬
ный выигрыш памяти в результате уменьшения размеров матриц!
хранящих информацию о топологии схем. I
Описание принципиальной схемы (рис..2.2,“а)*' может быть задано, для pae-i
чета, например, в следующем, виде.(1.32]: .. |
для фрагмента (подсхемы)
ФР1 (ТТЛ),
Т1 = 1 (Э=1, Б=2, К=3),;
Т2=1 (Э=6,'Б = 3, К=4)-, .л
! Rl=2(2,5),
5 £2 = 33(2,3), .. 7
I £3=0,4 (4,5). I
Для схемы соединений фрагментов.
ТТЛ1-=1 (1=4, 4=1, 5=5, 6=6), - I
ТТЛ2=1 (1;=Т, 4=2, 5=5; 6=6), . 1 7?
ТТЛЗ=1 (1=2, 4=3, 5=5, 6=6),
Е2=5 ( + 5, — 6),
Е1=2,4 (+4, — 6).
2.1.3. Оценка вычислительных затрат при использовании изло¬
женного алгоритма метода. подсхем. Пусть ,-1г— число, подсхем,
на которые разбита исходная анализируемая схема; Nt— число
узлов в f-й подсхеме, где 1=1, n; Vi— число полюсов (выводов)
f-й подсхемы; Z — число узлов между подсхемами (число гранич-
г п.
ных узлов.); N — общее число узлов (7V = Z+ S Nt).
Затраты памяти складываются из следующих составляющих:
— массив'ы' для последовательного решения линейных - систем
уравнений для каждой подсхемы (исключения Xf): max№j — для
' i. ■
хранения матрицы коэффициентов А.ц и гпах-У;— Для хранения
i
вектора правых частей Ь^;
— массив для формирования и решения системы уравнений
(2.3) для граничных переменных: 12+1;
. массив для хранения матриц A_1ifAir, необходимых для’, про-
п
/ведения обратного хода (2.2): S Nw.
i=i
Учитывая, ,цтог. можно получить, более грубую оценку
п ‘ ‘ . "п ‘
затрат памяти для этих матриц: S NiVt^l S Ni = l(N—I).
- : : i=l 1=1 *
48-
Таким образом, суммарные затраты памяти определяются выра¬
жением
-<2 = Z2 + Z + max№i-|-niax?/i+V (2.5)
£ ' i=i .
Затраты машинного времени оценим по числу требуемых
мультипликативных операций (типа умножения, деления), исходя
из предложения,. что все системы линейных уравнений решаются
методом LU-разложения, причем для собственно разложения тре¬
буется 1/3 О3 операций [1.1], где 8 — размерность системы.
Последовательность приведенных вычислительных операций
требует следующих временных затрат (в количестве 'мультипли¬
кативных операций); ;
1) L^разложение матрицы Ац—1/3jV,3;
1.2) решение v*+l систем уравнений вида LUx=bj с одинако¬
вой матрицей 'коэффициентов (вычисление А-,«Ь* и А_1йА<г) —
№i(vi+l); ■ •
3) вычисление матриц [ArfA^-Air] и [AriA-^bj] для форми¬
рования системы линейных уравнений (2.3) порядка I —
lV,iVi(vi+l);
•4) решение системы уравнений l-то порядка (2.3) методом
LU-разложения — 1/3/3+/2; ■
■5) выполнение обратного хода- для подсхем (умножение мат¬
риц А_1ггА{г на вектор хг)— Мм.
Результирующие затраты оцениваются суммой перечисленных
слагаемых • ■
Г=-2- /3+Z2+£ /2. + N2(+N2. v. 4_ N. V2.+2 1Vj Vt).
t—1 '
Изменив вид выражения в скобках,.получим
/= -рН-/2+£ |‘_L.(^ + Vi)3 + (X + vi)2-(^-V% + v2£)] ..
■ (2.6)
* Отметим два предельных случая разбиения:
• —■ вся схема является одной, подсхемой, т. е. п=1, лч = 0, 1=0, Ni=N-t
— подсхемы не содержат внутренних узлов; т. е. каждый компонент являет¬
ся подсхемой, тогда l=N, N{ = 0. -
И в том, и в другом случае из (2.6) получаем оценку
+ ■, ‘2(2.7)
Этот результат, соответствующий числу операций при решении полной ’системы
уравнений iV-ro порядка, вполне естественно, так как оба-рассмотренных случая
фактически означают отсутствие разбиения на подсхемы.
Рассмотрим, какую экономию позволяет получить при решении систем урав¬
нений метод подсхем для возможных реальных параметров разбиения исходной
большой схемы.. При Сравнении с методом решения полной системы используем
полученные соотношения (2.5) и (2.6). Число операций для решения-полной си¬
стемы определим по (2.7), а затраты памяти для хранения матрицы коэффициен¬
тов^! вектора правых-частей исходной системы’— величиной N2+N‘.
49
Пусть схема из 100 узлов (N=4 00) разбита на 10 подсхем (/г=10), число
внутренних узлов каждой подсхемы Л^=9, число полюсов Vf=3, а число узлов
между подсхемами Z=10. Тогда применение метода подсхем позволяет сокра-
тить объем памяти в 21,5 раза, а число опер.аций при решении систем уравнений
уменьшить в 45 раз. Для схемы из 1000 узлов (N- =1000), разбитой на 30 под-(
схем (л=30) с внутренним числом узлов каждой подсхемы Ni—32 и числом по¬
люсов Vi = 8, имеющей'число узлов между подсхемами Z=40, получим, с исполь^
зованием (2.5) и (2.6), такие оценки: экономия памяти в 106 раз, а экономий-
операций в 450 раз. Естественно, что такая экономия затрат при решении ли¬
нейных систем уравнений приводит к значительному результирующему выигры'
шу при моделировании. Для схеда, содержащей 250 узлов, применение метода
подсхем позволяет сократить временные затраты моделирования примерно
5 раз <[2.10]. В § 2.3 рассмотрены вопросы определения параметров разбиения на
подсхемы, позволяющих минимизировать вычислительные затраты.
Очевидна возможность объединить несколько подсхем в одну,
используя те же принципы (т. е. применив, так называемые
многоступенчатые подсхемы [1.26, В.15]). Такое объединение эк¬
вивалентно введению дополнительного уровня иерархии. Увеличе¬
ние числа уровней иерархии соответствует резко возрастающей
сложности моделируемых схем и не влечет за собой принципиаль¬
ных алгоритмических трудностей. При дальнейшем рассмотрении
метода подсхем ограничимся двухуровневой иерархией модели
БИС (хотя, вообще говоря, и в этом случае имеется низший уро¬
вень иерархии, соответствующий уравнениям многополюсников,
представляющих математические модели компонентов).
2.1.4. Краткая характеристика результатов начального рас¬
смотрения метода подсхем. Основным отличием метода многопо¬
люсных подсхем от методов разреженных матриц является после¬
довательное использование одних и тех же массивов памяти и
автономное формирование уравнений моделей подсхем. Прямое
сравнение вычислительных характеристик метода подсхем и -ме¬
тодов разреженных матриц представляется проблематичным .по
следующим причинам: во-первых, как указывалось ранее, метод
подсхем сам по себе определяет один из возможных спосо-бов
учета разреженности исходной структуры, во-вторых, как следу¬
ет из гл. 1, нельзя выделить заведомо лучший метод учета раз¬
реженности безотносительно к рассматриваемой структуре матри¬
цы. Следовательно, трудно определить, с каким именно вариан¬
том учета разреженности целесообразно сравнивать метод под¬
схем, а результаты сравнения в значительной ..степени будут за¬
висеть от конкретной структуры схемы.
Тем не менее в среднем можно ожидать более высокого бы¬
стродействия от методов учета разреженности (см. гл. 1). Это
определяется тем, что в приведенной трактовке метода подсхем
выполняются операции с нулевыми элементами внутри подмат¬
риц. Методы разреженных матриц в общем случае позволяют
рассчитывать на исключение таких операций.,
С другой стороны, эти методы предполагают хранение всех не¬
нулевых элементов. Алгоритмы метода подсхем используют, как
указывалось, последовательное хранение’ элементов длй\каждой
из подсхем, что дает, основания рассчитывать на большую .эконо-
50
мию памяти и, следовательно, на более высокие предельные воз¬
можности программ по этому показателю. 'Следует отметить так¬
же относительную простоту организации программ, использующих
метод подсхем. Для них не требуются вспомогательные массивы
указателей и программные блоки оптимального упорядочивания.
Последний фактор оказывается существенным при постановке
программ на мини-ЭВМ (например, серии СМ). Ограничения опе¬
ративной памяти при работе на таких машинах, как правило, иг¬
рают первостепенную роль. Поэтому программы небольшого объ¬
ема с характерной для метода подсхем последовательной обра¬
боткой матриц на относительно небольших массивах памяти пер¬
спективны с точки зрения увеличения их возможностей. Дальней¬
шее развитие метода подсхем в плане повышения его вычисли¬
тельной эффективности определяет в значительной мере самосто¬
ятельное направление декомпозиционных способов исследования
больших схем.
Завершая небольшое сравнение двух подходов анализа БИС—
метода разреженных матриц и метода многополюсных подсхем,
отметим, что кроме их общего свойства, заключающегося в ис¬
пользовании структурных особенностей моделируемых схем, оба
подхода могут применяться одновременно.
Укажем два варианта их совместного применения, Использо¬
вание метода многополюсных подсхем приводит к решению си¬
стем линейных уравнений для каждой из подсхем при исключе¬
нии внутренних переменных х<. Поэтому, очевидно, что на уров¬
не подсхем также применимы алгоритмы решения разреженных Си¬
стем (см. гл. 1). Так как вычислительный эффект методов, учи¬
тывающих разреженность матриц, получается при моделирова¬
нии схем сложностью от 50... 60 узлов й более [1.3, 2.22], то в
практических задачах на уровне подсхем целесообразно приме¬
нять наиболее простые алгоритмы хранения и упорядочивания эле¬
ментов матриц. Из приведенных в гл. 1 методов можно рекомен¬
довать, в частности, метод циклической индексации (п. 1.4.1) или
методы ленточной матрицы (п. 1.4.3).
Достаточно распространён случай, когда структура исследуе¬
мой системы Сказывается такой, что непосредственное использо¬
вание универсальных алгоритмов оптимального упорядочивания
не .приводит к желаемому результату. Как указывалось в гл. 1,
эффективность упорядочивания возрастает, если для таких Струк¬
тур применяется предварительная декомпозиция на блоки (клас¬
теры), или, иначе говоря, разбиение на подсхемы.
2.2.. Организация независимых вычислительных-йроцессов
при моделировании БИС
Рассмотренный подход расчета сложных нелинейных цепей
•методом подсхем базируется, как уже указывалось, на формаль¬
ных, методах решения больших систем линейных уравнений,, по¬
лученных линеаризацией ’основной системы- на каждом шаге. вы-
51
числительного процесса. Однако такой подход имеет :определен-
ные недостатки. Он не учитывает того, что на каждом вычисли-
тельном шаге разные подсхемы, как правило, существенно от¬
личаются степенью нелинейности и инерционности. В результате
при расчете статических режимов методами ньютоновского типе
число необходимых итераций для всех подсхем одинаково и опре-
деляется, по существу, подсхемой с наиболее нелинейными ха¬
рактеристиками, а при моделировании динамических режимов ша)
интегрирования для всех переменных систем — самой «быстрот
из подсхем. Как правил?), в сложной электронной схеме , в каж¬
дый момент времени -скорость протекания процесса в разных уз¬
лах различна (например, при переключении нескольких тригге¬
ров остальные блоки могут находиться в состоянии, близком к
статическому). Следовательно, независимое интегрирование си¬
стем уравнений каждой подсхемы в соответствии с реальным ха¬
рактером ее работы (или независимость для разных, подсхем ите¬
рационных процессов в случае расчета статических режимов) обе¬
спечило бы значительное снижение вычислительных затрат моде¬
лирования большой системы в целом.
Развитие метода многополюсных подсхем в направлении ор¬
ганизации независимых для подсхем вычислительных процессов
рассматривалось.в работах [2.9, 2.12, 2.13, 2.23—2.26]. В настоя:
щем параграфе обсуждаются принципы построения алгоритмов,
использующие в отличие от формальных методов решения систем
линейных уравнений непосредственное разбиение исходных* боль¬
ших систем нелинейных уравнений на группы. Такой подход яв¬
ляется более общим, так как позволяет при расчете сложных эле¬
ктронных схем организовать автономные для каждой подсхемы
вычислительные процессы и, как следствие, ускорить моделиро¬
вание в целом.
Рассмотрим возможные варианты таких алгоритмов, для -слу¬
чая моделирования статических и динамических режимов- при
различном числе итераций или шагов интегрирования для раз¬
личных подсхем.
2.2.1. Метод многополюсных подсхем при моделировании ста¬
тических режимов. Для декомпозиции исходной системы транс¬
цендентных уравнений (2.4) разложим вектор независимых пере¬
менных х на составляющие векторы полюсных (-или граничных,
т. е. внешних относительно подсхем) у и внутренних пере¬
менных:.
x = [zn z2, . . . ,zn, у]т.
Работа всей, схемы моделируется в этом случае'-, системой
трансцендентных уравнений относительно вектора у.
fr(y) = O,(1>, (2.8)
1 В дальнейшем будем понимать под f(y)=O систему уравнений для полюс¬
ных. (граничных) переменных, а. индекс' «г» для упрощения записи • опустйй:
52.
а /-й подсхемы — системой трансцендентных уравнений
gt (Zi, Yi) = 0, , (2.9)
где вектор у, является компонентой у и входит в (2.9) в качестве
параметра. Необходимые при решении (2.8) методами ньютонов¬
ского типа матрицы f и Ру(Ру=дЦук)/ду) линейной системы
Рг,Ду« =_f(yW) -(2.10)
формируются по окончании итерационного процесса решения
уравнений (2.9) для каждой подсхемы. Вектор f определяется по
полюсным токам 1< каждой подсхемы (в случае метода узловых
потенциалов), а для определения соответствующих i-й подсхеме
элементов матрицы решается матричная система линейных
уравнений
G^+Gy^O (2.Н)
относительно dz-ddyi (здесь GZi = dgz/dzj, Gy. =dgildy,i). Мат¬
рица Gz. вычисляется при итерационном решении уравнений
(2.9) и запоминается, например, в форме LU-разложения. По¬
этому решение (2.11) не требует больших) дополнительных за¬
трат, так как сводится фактически к' проведению обратного хода
для каждого из v.z столбцов матрицы Gw.
Обратим внимание, что эти затраты не являются дополнитель¬
ными по сравнению с методом подсхем, использующим разбиение
линейной системы на части (§ 2.1), так как вычисление А-1нА;г
для формулы (2.3) требует тех же операций. Искомые элементы
Fy после решения (2.11) определяются выражением
dyt dz-i dyi dyi
Отметим независимость итерационных процессов расчета каж¬
дой подсхемы. При заданном критерии их окончания (например,,
при выполнении ограничения на норму невязки IlgillCe или нор¬
му приращения (||Дг,||<-б)) число итераций жаждой подсхемы
различно и определяется степенью нелинейности ее характерис¬
тик. Условие окончания итерационного процесса для подсхем це¬
лесообразно назначать в соответствии с ожидаемой нормой не¬
вязки ||f|| или нормой приращения ||Ду|| на каждом шаге итераци¬
онного процесса (2.10) для полюсных переменных.
Например, при использовании метода Ньютона с учетом его квадратичной
сходимости внутренний итерационный процесс для подсхем на (£+1)-м шаге ре¬
шения (2.8) можно завершать по условию
l|Azjll<6(ft+I),
где min(||Ay(fe>||’2, 6°), 6° — начальная требуемая погрешность для внут¬
реннего процесса.
Согласованное уменьшение норм невязки по /подсхемам уско¬
ряет решение полной системы (2.1). Сходимость в целом при ре¬
шении (2.9) iia каждом шаге итераций (2.10) не ухудшается.
53
Кроме того, нет необходимости запоминать указанные в § 2.1
матрицы [A-^jAir] (эквивалент dzj/dyi в нашем случае), что
значительно сокращает требуемые объемы памяти (исчезает ела-
п .
гаемое 2 Мм в (2.5)). Отметим также, что если проводить
i=l
только одну итерацию системы (2.9), а после определения из. си¬
стемы (2.10) Ду№> вычислять соответствующую поправку Az'i к
общему приращению Az<w{ на k-м. шаге: •
А/(=^Ау(‘>, * (2.13)
&Si
то мы получим в точности алгоритм, рассмотренный в § 2.1 (см.
также [2.7, 2.11]).
Таким образом, представленный здесь алгоритм с автономны¬
ми для подсхем итерационными процессами можно рассматривать
как более общий по сравнению с алгоритмами в указанных рабо¬
тах. Представляет интерес также еще один частный случай при¬
веденного алгоритма. Из различного числа итераций для подсхем
следует, что в /качестве предельного значения может быть рас¬
смотрено нулевое число итераций. Действительно, если соответст¬
вующая i-й подсхеме составляющая вектора приращений Ду№\
на Л-м шаге итерации (2.8) оказывается малой (||Ду№\|| <ц),
т. е. полюсные переменные длй i-й подсхемы мало изменились,
можно считать, что проведение итерации в этом случае не явля¬
ется необходимым. Учет такой возможности позволяет в ряде
случаев рассчитывать на дополнительный выигрыш времени, так
как исключаются операции с подсхемами, фактически не внося¬
щими вклад в результирующий вектор невязки системы (2.8).
В табл. 2.1 приведены для нескольких схем временные затраты
расчета статических характеристик методом подсхем при исполь¬
зовании алгоритма с разбиением линейных уравнений на части
(I) и алгоритма с автономными для подсхем вычислениями (II).
Таблица 2.1
Временные затраты (ЕС-1040) расчета статических характеристик
методом подсхем, с
Расчет
Число
I
II
компо¬
нентов
узлов
Рабочей точки аналоговой ИС, вклю-.
чающей два ОУ
82 -
52
24
18
Передаточной характеристики логиче¬
ской схемы, включающей:
3 ТТЛ ИС
27
20 ’
214
1бЬ
7 ТТЛ ИС
63
48
476
364
Статических режимов схем управле¬
ния
72
60
. 117 ,
' 82
163
103
253
176
54
.Очевидна возможность применения рассмотренного ' автоц
метода подсхем с сохранением вычислительных преимуществ .
интегрирования систем ОДУ неявными методами. Так как в э
шаге интегрирования решается система трансцендентгщгх уравн
(2.20, 2.21, В. 13], изложенная последовательность операций обесг
ное число итераций для разных подсхем.
В равной мере это относится к рассмотренной возможное*
итераций для подсхем, у которых изменение внешних переменны
но. При таком подходе может полностью исключаться обращение к моделям
подсхем в течение интервала интегрирования, на котором, например, производ¬
ные полюсных переменных у близки к нулю ||у<||<у, где у — заданная констан¬
та. В этом случае требуются дополнительные затраты памяти, так. как необхо¬
димо хранить состояние подсхем и их вклад в результирующие вектор невязки
и матрицы производных. Однако можно ожидать значительный выигрыш во вре¬
мени моделирования в тех случаях, когда переменные одной или нескольких
подсхем оказываются в стационарном режиме. Такой подход развит, в частно¬
сти, в работе (2.27] и получил название «скрытый» анализ, исходя из наличия
подсхем, внутреннее состояние которых при моделировании на отдельных интер¬
валах не раскрываются. В целом подход к моделированию со «скрытыми» со¬
стояниями представляется весьма перспективным и подлежит дальнейшему раз¬
витию.
Отметим также, что рассмотренный алгоритм моделирования
с организацией вычислений по иерархическому принципу пред¬
ставляет собой один из возможных вариантов реализации состав¬
ных итерационных процессов [В. 12] — перспективного направле¬
ния численного расчета систем с большим числом ’ переменных. В
качестве как первичного, так и вторичного метода в приведенном
алгоритме выступают итерационные методы ньютоновского типа.
Естественно, возможны любые комбинации методов [В.12]. Сле¬
довательно, развитием рассмотренного подхода с автономными
вычислениями для подсхем является широкий класс:алгоритмов
моделирования БИС, организованных по иерархическому прин¬
ципу.
" 2.2.2. Организация автономных вычислительных процессов для
подсистем с учетом изменения полюсных переменных. Рас¬
смотренный алгоритм моделирования статических режимов пред¬
полагает организацию итерационной процедуры решения системы
(2.9) для каждой подсхемы при фиксированном значении у по¬
люсных переменных системы (2.8). Дальнейшей модификацией
этого алгоритма является учет изменения у в линеаризованной
форме при изменении вектора внутренних переменных состояний
отдельных подсхем z^. Для этого предлагается моделировать
взаимодействие этой подсхемы и схемы, которая соответствует
Рис. 2.4. Структура-исходной модели БI4C при расчете статиче¬
ских режимов
55
линеаризованной основной системе (2.8) при удалении • из 'йеё i-й
подсхемы (рис. 2.4).
Такое удаление эквивалентно выделению из у составляющей
у v, соответствующей потенциалам в узлах, непосредственно при¬
соединенных 1к подсхеме (рис. 2.4). Таким образам, получаем' сле¬
дующее разбиение векторов у, f и матрицы df/dy на части:
d tn ин
‘д f д улин
_<ЭуЛ[|Н
д tnHH
5yv
dfv
div
.Вектор fv представляет собой сумму токов подсхемы
неаризованной большой системы 1Лин (рис. 2.4)'1
(2Д4)
’ I 1
1цодсх ‘И ЛИ-
"fv — 1додсх (z> yv) "Ь ^лин (Улин, У^)« , .. (2.15)
Итак, оставляя выбранную подсхему в качестве нелинейной
части и линеаризуя оставшуюся часть, получаем для моделируе¬
мой схемы на рис. 2.4 систему уравнений относительно перемен¬
ных z, Улин, yv. Исключив из нее улин, перейдем к системе
g(z,yv) = 0; • (2.16)
J у” (yv yv) “F I ЛИН ( Улин, yv) + 1подсх (Z> yv) — О,
где dlam/dyv — матрица проводимостей линеаризованной части
схемы относительно ее выводов, подключенных к рассматриваемой
подсхеме, которая определяется по формуле
d 1дин __ д 1дин (д ^лин \ 1 д 1лин . д 1лин . ■ (9 171
*Уу . д Улин U Улин/. дУч aVv. Л . J
Улин и yv—значения узловых' потенциалов после расчета пре¬
дыдущей подсхемы. Зависимость улпн от у определяется из выра¬
жения
Улин-Улин= (2-18)'
\^УЛИН/ :
Таким образом, для моделирования взаимодействия нелинейной
подсхемы и линеаризованной схемы достаточно решать систему
нелинейных уравнений (2.16) порядка n+v, где п — порядок си¬
стемы (2.9), описывающей подсхему, а у —число её выводов.
Укажем последовательность основных этапов при реализации
.алгоритма.
1. Выбор'начального приближения переменных у0, z^.
1 Так как разбиение (2.14) соответствует t-й подсхеме, все переменные,, при*
водимые ниже, должны иметь индекс i (в частности, Zf, yv., уЛин i и т. д.). Ик*
деке в дальнейшем опускается только для упрощения записи.
56
2. Формирование вектора f и матрицы dt/dy в соответс
алгоритмом п. 2.1.1 для итерационной процедуры.
3. Вычисление ньютоновской поправки Ду и текущих зь\
Улин И У v .
4. Выделение для выбранной подсхемы из матрицы проводи¬
мостей матриц ЛИИ /ду ЛИН, ^лнн/5у ЛИИ, dfwn/dyv , 51лин/5уу , а из
вектора токов — Inm. Матрица тЛлинМУу вычисляется по форму¬
ле (2.15).
5. Решение расширенной системы (2.16), моделирующей рас¬
сматриваемую подсхему. Критерий окончания итерационного про¬
цесса для .подсистемы, как указывалось выше, устанавливается
в соответствии с принципом согласованного уменьшения нормы
невязки:
6. Найденное значение у .принимается за текущее ynnH. Кор¬
ректируются значения f и 5f/5y с учетом вновь найденных значе¬
ний 1подсх, 51додсх/5у.
7. Осуществляется переход к следующей подсхеме и повторя¬
ется пп. 4,5.
8. Пункты 2—6 повторяются до выполнения условия окончания
итерационного процесса для системы (2.8). Таким образом, дан¬
ный алгоритм при сохранении автономности моделирования под¬
систем позволяет в ходе автономных итерационных процессов
учесть влияние изменения внутренних переменных подсистемы на
переменные состояния системы в целом. Результатом является
дополнительное (по сравнению с алгоритмом п. 2.2.1) сокращение
временных затрат моделирования. Кроме того, ускорить расчет
можно, установив порядок обращения к подсистемам в соответ¬
ствии со скоростью изменения их переменных в ходе итерацион¬
ного процесса. Наконец, описанный алгоритм моделирования с
организацией автономных вычислительных процессов создает
предпосылки эффективной методики оптимального расчета боль¬
ших схем, рассмотренной в гл. 5.
2.2.3. Метод многополюсных подсхем при моделировании ди¬
намических режимов. Результаты, аналогичные приведенным в
п. 2.2.1 для статического случая, могут быть получены и для мо¬
делирования БИС во временной области. В большинстве практи¬
ческих случаев различные каскады сложных схем в каждый мо¬
мент времени существенно отличаются инерционностью. Одновре¬
менно с относительно «быстрыми» процессами переключения в
одних подсхемах переходные процессы в других могут быть су¬
щественно более медленными или даже в основном закончиться.
Применение формальных методов решения больших систем
линейных уравнений приводит, как уже указывалось, к обраще¬
нию на каждом шаге интегрирования ко всем подсхемам и к од¬
нотипным вычислительным операциям для каждой из них. Вели¬
чина шага при этом определяется наиболее «быстрой» из под¬
схем. Следовательно, количество вычислительных операций с
другими подсхемами не зависит от их инерционности и может ока¬
заться избыточным.
57
Естественно, что в общем случае можно ожидать, ускорение
моделирования динамических режимов БИС, если интегрирование
систем ОДУ для различных подсхем осуществлять в соответст¬
вии с реальными •физическими процессами в каждой из них. Та¬
ким образом, возникает задача алгоритмической реализации идеи
«разделения движения» [2.28] для автоматического обеспечения
независимости интегрирования ОДУ, описывающих . работу от¬
дельных подсхем. Результирующий алгоритм должен снимать ог¬
раничения, накладываемые «быстрыми» подсхемами на шаг ин¬
тегрирования в «медленных^ подсхемах и анализируемой схеме в
целом при использовании формальных методов решения больших
линейных систем по частям.
Для организации вычислительной процедуры, включающей ав¬
тономное интегрирование уравнений отдельных подсхем, приме¬
ним по аналогии со статическим случаем методы расчета коэффи¬
циентов влияния внутренних переменных подсхем по ее полюсным
переменным [2.9,2.23]. Пусть система ОДУ
(2.19)
относительно полюсных переменных у моделирует большую схему
во временной области. Системы
gi (Zi, ti, Уг, уг, 0 = 0
(2.20)
описывают динамические режимы каждой i-й подсхемы, где z,t —
вектор внутренних переменных подсхем; у» — компонента векто¬
ра у, играющая роль полюсных переменных (или внешних источ¬
ников) i-й подсхемы.
При интегрировании ОДУ (2.19) неявным методом с решением
разностных уравнений методом Ньютона на каждом шаге необ¬
ходимо формировать вектор f(y(ft)) и матрицу [F^^+Fy] где
Н — шаг интегрирования переменных у системы (2.19); F^=
=df/dz); Fy=Jf/dy). Элементы этих матриц находятся (по анало¬
гии со статическим случаем) суммированием вычисленных значе¬
ний вектора полюсных токов I и матрицы производных
[ (Л/йу)Я_1 + Л/</у] для каждой подсхемы. Необходимая матрица
полюсных производных вычисляется аналогично (2.12):
dl 1 1 <1 I _ Г э < 1 I гэ 1 1 \dz 1 ■ 3z] [31 1 ■ SI 1
dyj [si SzJ.Ry н + ду } + [ Зу н ■*" Зу]’
(2.21)
а требуемая для этого матрица [(5 z/ду) H^-^dz/dy] из решения
уравнений в вариациях на отрезке [i(ft), №+Н] (индекс i-й под¬
схемы в (2.21) и (2.22) для упрощения опущен):
(2.22)
58-
Заметим, что интегрирование систем (2.20) и (2.22) осуществ¬
ляется одновременно, так как при этом используются одинаковые
матрицы Gi и Gz, что обеспечивает вычисление нужных производ¬
ных «практически без дополнительных затрат в сравнении с инте¬
грированием собственно системы (2.20).. Одновременное интегри¬
рование приводит на каждом шаге hi к решению систем уравне¬
ний с матрицей коэффициентов [G^_1i+Gz]. Отметим также, что
вычисления на шаге для определения интегрируемых перемен¬
ных системы (2.22) «эквивалентны вычислению матрицы
[А-'«Агг]. Иначе говоря, интегрирование системы (2.22) в рас¬
сматриваемом подходе не приводит к дополнительным затратам
в сравнении с методом подсхем (см. § 2.1), использующим разби¬
ение линейной системы на части.
В роли параметров в системе (2.20) выступают прогнозируе¬
мые на (&+1)-м шаге интегрирования основной системы значе¬
ния полюсных переменных (yi=yi(ft+1\ y,i=y/ft+1)) ■ Начальные ус¬
ловия для интегрирования системы (2.22) на каждом интервале
[f(W, /W-pZ/J выбираются нулевыми, так как переменные в
точке tk, естественно, не зависят от прогноза y(k+i).
На каждом шаге интегрирования основной системы ОДУ выполняются сле¬
дующие операции (рис. 2.5).
Рис. 2.5. Блок-схема алгоритма интегрирования с применением
метода подсхем:
I — операции для интегрирования уравнений подсхем на шаге интегриро¬
вания основной системы; II — вычисления для основной системы
(2.2:3)
1. Выбор шага интегрирования Н для- системы ОДУ (2.19) и начальных
шагов 1ц для интегрирования i-й системы (2.20). .
2. Одновременное интегрирование систем (2.20) и (2.22) для подсхемы не¬
явным методом на отрезке , включающее на каждом шаге hi оие4
рации: прогноз, коррекция, автоматический выбор значения следующего шага.
3‘. Вычисление компонент матриц f и [(dt/dy)H-l + dtldy] пр формуле (2.21),
соответствующих i-й подсхеме. Запоминание последней коррекции внутренних
переменных Az,.
4. «Повторение пп. 2 и 3 для всех подсхем.
5. Вычисление корректирующей ньютоновской поправки для переменных
основной системы (2.19) по формуле
'6. Вычисление полной коррекции по ’внутренним переменным подсхем в мо¬
мент tk + Н
* . fdzi 1 ' , .
Azi = Дгг4- -Т- — + — Дуг.
н dyd
На основании вычисленных значений Ду(Ау) и Az (Az) определяются значения
следующего шага интегрирования Н для системы (2.20), моделирующей всю
схему, и шагов 1ц для каждой подсхемы.
Таким образом, шаг hi на отрезке интегрирова¬
ния систем (2.20) и (2.22) для i-й подсхемы зависит от характера
переходных процессов и может быть значительно меньше И. Это
позволяет снять ограничения, накладываемые «быстрыми» ■ под¬
схемами на шаг интегрирования в «медленных» подсхемах и ана¬
лизируемой системе в целом, что автоматически имеет: место при
использовании формальных методов решения больших систем ли¬
нейных уравнений.
Нетрудно показать, что, как и в статическом случае, методы
рассмотренные в § 2.1, являются частным случаем рассматривае¬
мого подхода при hi=H для всех i. В этом случае система ОДУ
(2.22) вырождается в систему линейных алгебраических уравне¬
ний относительно искомых производных '[(dz/dy)H~l+dz/dy\: '
+4М-[°г4+ с<Г +<4
и все вычислительные операции полностью совпадают с операци-,
ями для алгоритмов в § 2.1, использующих разбиение ■ на части
больших линейных систем.
К достоинствам рассмотренного подхода следует отнести его
гибкость: алгоритм с автономным для подсхем интегрированием
позволяет рассчитывать на меньшее время вычислений, причем
для него не требуется '.каких-либо дополнительных затрат и он не¬
прерывно переходит в указанном предельном случае (hi=H для;
всех i) в. алгоритм, описанный в § 2.1.
Таким образом, предлагаемый подход к моделированию слож¬
ных нелинейных электронных схем методом подсхем является бо¬
лее общим по сравнению с применяемыми для этих целей мето¬
дами решения по частям систем линейных уравнений. Он обеспе-
во :
чивает ускоренное моделирование благодаря организации авто¬
номных процессов для различных подсхем в рамках основного
вычислительного процесса. ■.
Перспективность такого подхода обусловлена также возмож¬
ностью дальнейшего развития на его базе алгоритмов параллель¬
ных вычислений для различных подсхем. Такое направление раз¬
вития алгоритмов соответствует общей для вычислительной тех¬
ники тенденции параллельной обработки информации [2.29—
2.31] и ориентировано на дальнейшее применение многопроцес¬
сорных комплексов для моделирования сложных систем. Боль¬
шой интерес в этом случае представляет рассмотрение возмож¬
ности использования мультимикропроцессорных систем для мате¬
матического моделирования сложных схем [2.32—2.34].
2.2.4. Применение рассмотренных алгоритмов в качестве па¬
раллельных методов моделирования БИС. Приведем сначала схе¬
му параллельных вычислений для алгоритма, использующего раз¬
биение линейной системы на части ,(п. 2.1.2, рис^ 2.3). Пусть на,-
ша задача решается на параллельной вычислительной системе
(ПВС)1. Будем условно считать, что вычислительные операции
для подсхем осуществляются процессором нижнего уровня, а си¬
стема уравнений для полюсных переменных решается процессо¬
ром верхнего уровня (рис. 2Да).. Тогда по аналогии с [2.35] схе¬
ма параллельных вычислений для. алгоритма метода подсхем,
приведенного в п. 2.1.2, с учетом введенных та,м обозначений вклю¬
чает на каждом шаге следующие этапы.
Рис. 2.6. Структурные схемы параллельного моделирования ста¬
тических режимов методом подсхем:
а — при разбиении на части систем уравнений; б — для автономного ва¬
рианта подсхем; I — решение системы полюсных переменных; II —реше¬
ние уравнений для внутренних переменных подсхем
1. Параллельно для каждой из подсхем формируются матрицы А itAir и век¬
тор узловых токов bi, где i=l, п; п — число подсхем.
2. -Параллельно вычисляются поправки Ax/i=Aif-1bf, полюсные токи 1г =
«AriAii-^i, полюсная матрица производных АнАн_1Ал.; запоминается матри¬
ца Ан-^гг.
3. Обмен блоками между процессорами в ПВС (рис. 2.6, а). В процессор
верхнего уровня передаются массивы h и АнАн^Агт для формирования систе¬
мы уравнений для полюсных переменных.
4. Решением системы уравнений находится корректирующая поправка ДхР.
1 Под ПВС будем понимать систему, которая имеет два или несколько про¬
цессорных ’ модулей й функционирует под единым управлением [2.29—2.3*1].
61
5. Обмен массивами в ПВС. На нижний уровень,., передаются значения пс
люсных переменных хг и корректирующие поправки Дхг.
6. Параллельно вычисляются поправка для внутренних переменных Дх"=
=Агг_1А^1чДхг и полная поправка Axi=Ax,i4-Ax,/i.
Очевидны преимущества использования автономного вариант:
метода подсхемы для параллельного .моделирования нелинейны:
БИС.
В статическом случае основное отличие от предыдущей qxe
мы заключается в том, что п. 2 содержит параллельное решённ|
систем трансцендентных уравнений (2.9) для каждой из подсхем
(рис. 2.6,6). Пусть в соответствии с [2.35] время решения Aj
подзадачи Г1, т. е. моделирования Ай подсхемы, складывается и;
трех составляющих
где 7\ч— время выполнения счетных операций;. Т^бм —врем?
обмена информацией с другими процессорами; 7\ж — время ожп
дания информации от других процессоров. Чем ближе к Т
для всех i, тем эффективнее результат распараллеливания дл>
решения сложной задачи. Очевидно, что для алгоритмов с неза
висимыми итерационными процессами (.пп. 2.2.1 и 2.2.2) отноше
ние ^сч/Т’обм возрастает по сравнению с алгоритмом, использую
щим разбиение системы линейных уравнений на части, так Kai
исключается обмен информацией на каждом шаге итерационной
процесса. Если число процессоров в ПВС меньше числа подсхем
(а такой случай, видимо, наиболее часто будет ветре
чаться), могут быть применены различные варианты организацш
параллельных вычислений. Один из них, например, может фик
сировать распределение подсхем по процессорам. В этом случа!
в памяти для каждого из них содержится вся информация о со
ответствующей группе .подсхем и обработка массивов проводите)
для подсхем в этой труппе последовательно. В другом вариант
по мере освобождения процессора для расчетов передается оче
редная подсхема с ее полным описанием. В этом случае процес'
сор верхнего уровня осуществляет также кооординирующие фун.к
ции параллельных вычислительных процессов. При выборе очеред
ной подсхемы могут быть использованы правила распределена
[2.30].
Аналогично реализуется на ПВС и алгоритм метода подсхем
для моделирования динамических режимов, представленный . (
и. 2.2.3. В этом случае обмен информацией в ПВС осуществляет]
ся на шаге-интегрирования основной системы, а интегрировани
переменных жаждой из подсхем (блок I на рис. 2.5) .может вы;
подняться .параллельно на разных процессорах. [
2.3. Автоматизация разбиения БИС на подсхемы !
2.3.1. Постановка задачи. Рассмотренные варианты примене
ния метода многополюсных подсхем при машинном анализе БИС
предполагали собственно разбиение на подсхемы заданным. Дей
62
твительно, в большинстве случаев разбиение на подсхемы не вы-
ывает практических трудностей у разработчика. При разбиении
>бычно учитывается функциональная законченность отдельных
тодсхем и их повторяемость в структуре БИС. 'Однако в аналого-
|ЫХ БИС такой подход' не всегда оказывается успешным. Кроме
-ого, возрастающая сложность анализируемых схем требует рас-
;мотрения вопроса о размерах подсхем, позволяющих .максималь-
ю использовать вычислительные преимущества метода. Решение
этого вопроса на основе качественного рассмотрения, как прави¬
ло, не является очевидным.
Таким образом, -представляет интерес задача автоматизации
самого процесса разбиения на подсхемы анализируемой БИС.
Результатом ее решения должно явиться оптимальное по како¬
му-либо критерию разбиение. Задача относится 'к классу задач
оптимального разбиения структур систем на подсистемы и может
быть решена с использованием эвристических алгоритмов дис¬
кретного программирования. Ограничимся далее лишь кратким
рассмотрением возможных подходов к решению указанной за¬
дачи.
Автоматическое разбиение на подсхемы сводится к оптималь¬
ному разрезанию по заданному критерию графа, являющегося
топологической моделью исследуемой структуры. Эвристические
процедуры решения подобных задач были разработаны примени¬
тельно к различным техническим приложениям (см., например,
[2.36—2.38]), в там числе для автоматизации конструкторского
проектирования радиоэлектронной схемы [2.39—2.45]. Задача оп¬
тимального разбиения сложной электронной схемы на подсхемы
рассмотрена, например, в работах [В.13, 2.46^-2.48]. Основная
особенность такой топологической задачи заключается в выборе
критерия разбиения: разбиение должно обеспечивать минимум
вычислительных затрат при дальнейшем машинном анализе. В
указанных работах выбранные критерии прямо или косвенно от¬
ражают вычислительные характеристики каждого разбиения. Це¬
лесообразно формулировать задачу оптимального разбиения на
подсхемы по критерию минимума временных затрат расчета при
ограничениях, заданных предельными значениями массивов опера¬
тивной памяти конкретных ЭВМ.
Пусть, например, для расчета применяется вариант метода
подсхем, использующий разбиение линеаризованных систем по
частям (§ 2.1). Фиксированному разбиению соответствуют в этом
случае затраты памяти Q, определенные по (2.5) и число муль¬
типликативных операций Т по (2.6). Следовательно, задачу оп¬
тимального разбиения БИС. на подсхемы целесообразно сформу¬
лировать следующим образом: нужно найти такое разбиение на
подсхемы {п, I, Ni, (где п — количество подсхем; I —
число узлов между подсхемами; Ni — число узлов . внутри i-й
подсхемы; Vi — число полюсов i-й подсхемы), которое минимизи¬
ровало бы время расчета (или число мультипликативных опера-
63
ций Т на.шаге интегрирования) при ограничениях на оператив
ную намять (ОП) Q-sg’On. •
2.3.2. Топологическая модель БИС для разбиения. Во многи:
случаях решением, близким ж выполнению сформулированной
критерия, является результат разбиения исходной системы на ела
босвязанные подсистемы. Практически применяются эвристичес
кие процедуры разрезания топологического графа на подграфы и
■"критерию минимального числа связей между ними. В качеств!
основных направлений при построении таких процедур можш
выделить: обмен вершинйми между подграфами до удовлетвори
ния некоторого оптимума [2.37], определение минимального мно-
жества, связывающего отдельные подграфы [2.46, 1.17].
Относительной простотой алгоритмической реализации отли¬
чается метод разбиения графа на части (кластеры) [1.17]. В
гл. 1 приведена модификация этого метода, ориентированного на
автоматическое разбиение на подграфы с целью повышения эф¬
фективности дальнейшего применения алгоритмов упорядочива-
ния исходной системы уравнений. Суть алгоритма, как указыва¬
лось в § 1.4, заключается в последовательном построении табли¬
цы (табл. 1.3) разбиения. Каждая строка такой таблицы содер¬
жит перечень вершин графа (узлов), образующих связующее
множество выделенного кластера и остальной части схемы. Стро-
ки с минимальным количеством узлов определяют разрезы, обес¬
печивающие локальные минимумы связности кластеров. При вы¬
боре порядка включения узлов в кластер используют понятие ва¬
лентности узла [1-17], являющееся количественной характерис-,
такой степени связности узла с остальной частью схемы. В связи
с усложнением алгоритма разбиения при вычислении валентности
в соответствии с работой [1.17] часто при практических реали¬
зациях используют упрощенную оценку степени связности узла'
например, способ, приведенный в § 1.4.
. В работе [2.46] те же принципы кластерного анализа распро¬
странены на рассматриваемую задачу разбиения сложной схемы
на подсхемы (см. также [В.13]). Исходное множество узлов в
этом случае делится на подмножество внешних и внутренних уз-;
лов. Максимальная размерность подсхемы, как правило, задает¬
ся, а критерием является минимизация числа внешних узлов. Та¬
кой подход позволяет достаточно просто организовать алгорит¬
мическую процедуру разбиенйя на подсхемы. Вычислительные за¬
траты собственно процесса разбиения оцениваются произведени¬
ем числа узлов графа на -число ветвей [2.46]. Однако решение не
обязательно соответствует действительному -минимуму вычисли-'
тельных затрат при дальнейших машинных расчетах. Определен-’
ные преимущества при решении задачи разбиения на подсхемы
дает переход к топологической модели схемы в виде двудольного
графа [2.41, 2.43, 2.49]. Обычно для описания структуры элект-.
ронной схемы с помощью топологических графов используется
схема замещения многополюсников двухполюсными -элементами.
В этом случае вершины графа соответствуют узлам схемы, а реб-
64
ра графа указывают на электрическую связь между узлами (на¬
пример, наличие емкостей или проводимостей между ними);
Результатом .применения двудольного графа является модель,
образованная вершинами двух различных множеств [2.48]. К вер¬
шинам 1-го рода относятся элементы (компоненты) схемы, а
вершины 2-го рода представляют собой связующее множество уз¬
лов схемы (рис. 2.7а). Особенность такого графа заключается в
Рис. 2.7. Топологическая мо¬
дель схемы, представленная
двудольным графом, (а) и мат¬
рицы смежности для вершин
1- и 2-го рода:
б) Mi — матрица соответст¬
вия узлов (вершин 2-го рода)
компонентам (вершинам 1-го
рода), в) М2 — матрица соот¬
ветствия компонентов узлам
^ком¬
понен¬
та
1
2
3
4
^ком¬
понен¬
та
7
2
3
4
1
1
2
-
-
9
3
7
8
9
Z
2
4
5
б
10
7
14
-
—
3
4
5
10
11
11
8
15
-
-
4
6
12
11
-
12
14
15
15
-
5
10
11
17
18
13
9
13
15
20
6
12
18
19
-
14
13
20
21
-
* 7
17
18
19
22
15
21
22
-
-
8
1
3
-
-
П
том, что ребра могут соединить лишь вершины различных мно¬
жеств. Результатом алгоритмического разбиения на подсхемы яв¬
ляется в данном случае объединение -вершин 1-го рода (компо¬
нентов) и соответствующее выделение среди вершин 2-го рода
подмножества внутренних узлов подсхем и подмножества. гра¬
ничных узлов, составляющих , разрез. . Таким образом, собствен¬
но разбиению на-подмножествя'пбдлёжйт-'множество' вершин
/г)1'с\\>0Да (ко,мПонентов), а качество разбиения (по критерию
(2.6)) оценивается элементами вершин множества 2-го рода (уз¬
лов схемы). ; . ■ ■
К преимуществам такой топологической модели БИС можно
отнести: : . ■
: — естественное описание принципиальной схемы с сохранени-
еМ_ .вйзм.ожн.ости._мног.апол.юсно.ро—предс-тазл ен»я- ее - компонентов
(например, транзисторы, резисторы, отдельные фрагменты и т..д',
являются вершинами 1-го рода);
— простота формализованного перехода к следующему уров¬
ню иерархии; действительно, вид модели сохраняется-, при объеди¬
нении ряда компонентов в подсхему: вершины 1-го рода задают
уже целые подсхемы, а «вес» вершин означает число; их внут¬
ренних узлов); . .
— размерность модели при описании двудольными графами/
как правило, меньше;
— достаточно просто оценивается степень связности компонен¬
та с остальной частью схемы- непосредственно по матрицам смеж¬
ности двудольного графа (рис. 2.7,б,в).
Применение двудольных графов требует, естественно, алгорит¬
мического изменения типовых методов разрезаний графов. В ра¬
боте [2.48] описан алгоритм, использующий для двудольных гра¬
фов принципы известной эвристической процедуры разрезания
[2.37, 2.42], включающей при оптимизации попарный обмен эле
ментами между подмножествами.
2.3.3. Алгоритм разбиения на подсхемы, -использующий двудольные графы
Рассмотрим на примере возможный алгоритм, в котором для разрезания дву-
дольных графов применяются принципы кластерного анализа (см. § 1.4). Hi
рис. 2.7, а приведен двудольный граф, являющийся топологической моделью
электронной схемы (граф аналогичен рассмотренному ранее в примере, рис. 1.13),
На рис. 2.7, б, в приведены матрицы смежности для вершин 1-го (компонентов)
и 2-го рода (узлов) соответственно. По аналогии с табл. 1.3 строится табл. 2.1
разбиения двудольного графа. Кроме списка граничных узлов (вершин 2-го ро<
да), в таблицу входит список смежных компонентов для каждой рассматривав
Таблица 2.
Разбиение двудольного графа (рис. 2.7) на подграфы
Номер
Список
Длина спис!
узлов
шага
ком¬
понен¬
та
граничных узлов
смежных компонентов
гра¬
нич¬
ных
внут¬
рен¬
них
1
1
I1 21
82 24
2
0
2
8
Р 21 З1
24 94
2.
1
3
2
29 З1 • 41 51 61
96 З4 <34 45
4
2
4
3
31-4° 15° ’б1 101 II2:
де 44 55 55 44
4
4
5
4
З1 6° 101 Ш 124
96 54 '54 65
4
5
6
5
ЗМ0° 11° /12* 1-71 182
9е 64 75 64 75
4
7
7
6
З1- 12° 1-71 L81 191
9е 72
4
8
8
7
З1 10° 1-89 Igo Й21
94 152
2
И
А Л**
С9
15
З1 22° 2‘Р
94 143
2
12
10
' 14
З1 21° -131 201
95 133
3 .
13!
11
13
З1 13° 20° 91 161
93 93 '124
3
16?
12
9
3° 9° I161 '71 -81
124 103 |Ы3
3
17[
13_
. 10
.14* •
122 113 122
3
18;
14
11
16° 81 <14° 1-51
11° 11° •
2 ■
■ 20,
15
12
8° 15°
0.
22
I
6& ’
мой вершины 1-го рода (компонента схемы). (Последний столбец содержит чис¬
ло внутренних узлов для текущего состава кластера..
Прежде чем перейти к правилам построения такой таблицы укажем значе¬
ния индексов вершин графа. Для вершин 2-го рода (узлов) первоначальное
значение индекса соответствует степени i-й вершины, т. е. числу смежных ком¬
понентов с f-м узлом схемы, и определяется непосредственно из матрицы меж¬
соединений (рис. 2.7, в) как. длина ч-й строки. Индекс вершин 1-го рода несет
смысловую нагрузку валентности, т. е. показателя степени связности вершины и
графа. Под валентностью /*-й вершины 1-го рода Vj будем понимать число смеж¬
ных вершин 2-го рода для подграфа 1Н при объединении его с /-й вершиной
1-го рода: Vj = |т|(1н ]J Д|. Здесь 1н — исходный подграф, для которого на
данном шаге определяется стратегия укрупнения; г| — множество смежных вер¬
шин.
Формально валентность легко подсчитывается с использованием матриц
смежности (рис. 2.7). Для этого следует: дополнить текущую строку в списке
граничных узлов совокупностью узлов /-й строки матрицы межсоединений Mi
с индексом, равным уменьшенному на 1 значению исходной степени; понизить
индекс одинаковых узлов на число их повторений, вычеркнуть все узлы со сте¬
пенью 0 и подсчитать длину оставшегося списка.
Правила построения бинарной таблицы.
1. Список выбранных компонентов начинаем с компонента с наименьшим
числом смежных узлов в матрице Мь
2. Выписываем из Mi смежные для выбранного компонента узлы с их индек¬
сами. Отметим, что при появлении в списке нового компонента индекс всех
смежных с ним узлов в списке понижается на 1. Если узел записывается первый
раз, индекс равен степени узла, уменьшенной на 1.
3. Для каждого узла из строки списка по матрице М2 выписываем все смеж¬
ные компоненты. Отметим, что длина списка компонентов . для каждой строки
равна сумме индексов в списке узлов этой строки.
4. Подсчитываем валентность для каждой вершины 1-го рода (компонента)'.
5. В качестве очередной вершины выбираем вершину из списка-компонентов
с наименьшей валентностью. I ...
6. Узлы в списке с 0-м индексом исключаем (переходят во -внутренние узлы
подсхемы) и суммируем в последнем столбце таблицы.
7. Подсчитываем длину списка оставшихся (граничных) узлов и повторяют¬
ся пп. 3—7. 5
По построенной таблице просмотром снизу вверх находим минимальные зна¬
чения длины списка граничных узлов. Локальные минимумы определяют узлы,
являющиеся претендентами на граничное-множество. В табл. 2.2 выбираемые на
каждом шаге компоненты отмечены полужирными цифрами.
В табл. 2.3 представлен аналогичный процесс разбиения схемы, включающей
3 ТТЛ ИС (рис. 2.8, а), на подсхемы. Двудольный граф для этой схемы пред¬
ставлен на рис. 2.8, б. Из таблицы следует, что выделение множества граничных
узлов (7; 17) в результате формального разбиения на подсхемы описанным ал¬
горитмом совпадает с естественным разделением схемы на фрагменты.
Таблицы разбиения содержат все необходимые параметры для вычисления
затрат, соответствующих каждому разбиению, например, по формуле (2.6), и
всю необходимую информацию для следующего цикла укрупненного разбие¬
ния. В этом случае при построении таблицы участвуют вершины 1-го рода, со¬
ответствующие уже не отдельным компонентам, а целым подсхемам. Вес вер¬
шины определяется числом внутренних узлов подсхемы и участвует при сумми¬
ровании в последнем столбце. Благодаря простой возможности -.оценки числа
мультипликативных операций легко определить. целесообразность дальнейшего
укрупнения подсхем непосредственно' по полученной таблице разбиения. Резуль¬
таты рассмотренной эвристической процедуры разбиения двудольных ;графов
могут быть взяты в качестве исходных для дальнейшего применения- алгорит¬
мов попарного обмена вершинами ,[2;48]._ . . v .
Заключение. Метод многополюсных подсхем является' деком¬
позиционным методом машинного расчета схем высокой степени
сложности. Программная организация метода позволяет в прос-
з* 67
той форме учесть структурные особенности БИС. Целевое назна¬
чение метода заключается в повышении возможностей программ
анализа. Благодаря последовательному использованию при моде¬
лировании одних и тех же массивов для различных подсхем эко¬
номится память ЭВМ, а в результате, уменьшения размерности
•исходных систем сокращаются временные затраты.
Таблица 2.3
> ' - ' . j
Разбиение двудольного графа (рис. 2.8,6) на подграфы !
Номер
компонента
Список
Число узлов
граничных'узлов’ '
смежных компонентов
граничных
внутрен--
них
1
Р
21
1
0
2
21
42
1
1
4
32 42
32 52 173 93
2
2
3
31 .42
52 73 93 •
.2
2 .
5
З1 41
73 92
2
2
9
З1 72
73 .33 £125
2
3
7
51 61 72
-62 83 22е
3
4
6
61 72
81 225
2
5
8
71
2I23
1
6
22
172 191 5215*
Ю4 184 214 244
3
7 !
21
172 191
IO3 1I83 I243
2
8 1
24
172 202 212
104 1'84 204 233 2'53 275
3
9
23
,172 201 |2 р
К)4 184 204 053 274
.3
9 1
25
172 -201 2Р
Ю4 184 '203 274
3
9 1
20
172 201 [241
104 IB4 193 274
3
10
19
172 «201 231
104 1-84 272
3
Н 1
27
172 2-21
1Ю3 183 261
3
1-3
26
1.72
. 102 Г82
1
14 !
10
142 ll7i
144 1 52 182
2
14
15
141 171
143 182
2 .
14
18
14^ 16i
143 1'73 .
2
15
14
121 132 161
123 133 173
3
16
12
132 161 i8i
И2 133 473
3
17
11
132 161
132 172
2
18
13
131 161
171
2
18
• 17
151
16°
1
20
16
0
0
0
21
По мнению авторов, перспективным направлением развития
метода многополюсных подсхем является алгоритмическая орга¬
низация независимых вычислительных процессов, что позволяет
лучше -учесть их особенности и сократить временные затраты на
моделирование системы. В этом плане представляются весьма ак¬
туальными задачи теоретического исследования и практической!
■реализации алгоритмов, использующих составные итерационные
процессы и составные процедуры численного интегрирования.
68 ' ; "
Еще одним важным направлением развития независимых для
подсхем вычислительных процессов является возможность орга¬
низации .параллельных вычислений. Разработка алгоритмов па¬
раллельного моделирования БИС на базе метода подсхем откры¬
вает перспективу эффективного использования для расчетов мно¬
гопроцессорных систем.
28 28
Рис. 2.8. Топологическая модель, схемьг-на ТТЛ-вентилях •
69
Глава 3
Применение метода кусочно-линейной аппроксимации
для расчета биполярных ИС
Рассмотренные в предыдущих главах методы, сокращения вы¬
числительных затрат при анализе больших схем основывались
на том, что БИС является, по существу, слабосвязанной системой.
Матрицы, возникающие при моделировании таких систем, явля¬
ются разреженными, и это позволяет одновременно снизить и ко¬
личество операций, и объем оперативной памяти, требуемый для
решения системы.
Метод кусочно-линейной аппроксимации позволяет также
уменьшить объем вычислений в результате упрощения моделей
нелинейных элементов. Сокращение объема вычислений достига¬
ется в основном благодаря особенностям матрицы Якоби системы
'кусочно-линейных уравнений. Алгоритм расчета кусочно-линей¬
ных резистивных схем известен достаточно давно [3.1]. Вопро¬
сы теории кусочно-линейных резистивных схем (связанные с су¬
ществованием и единственностью решения) и теоретические во¬
просы алгоритмов решения статических кусочно-линейных сис¬
тем развиты в работах '[3.2—3.4, 3.6]. Разработаны эффективные
вычислительные алгоритмы .решения кусочно-линейных статичес¬
ких уравнений [2.14, 3.5—3.7], использующие разреженность мат¬
риц Якоби и метод многополюсных подсхем.
Значительно слабее освещено в литературе использование ку¬
сочно-линейных моделей для анализа переходных процессов в
ИС, хотя они успешно применяются в отечественных программах
анализа схем [1.32, 3.8—3.10]. Математический аппарат, исполь¬
зуемый в этих программах, и составляет содержание данной главы.
Естественно, что использование кусочно-линейной аппрокси¬
мации приводит к некоторой потере точности моделирования. Так
при анализе биполярных схем уменьшение точности составляет
10 ...15% при разумном числе интервалов аппроксимации вольт-
амперных характеристик. Выигрыш в быстродействии 4... 8 раз
по сравнению с нелинейными моделями.
Надо отметить (об этом подробно идеть речь ниже), что моде¬
ли биполярных элементов, получаемые на основе модели Эбер-
са — Молла, особенно удачно сочетаются с методом кусочно-ли¬
нейной аппроксимации. Такие модели достаточно просты и обла¬
дают рядом свойств, обеспечивающих приемлемую точность рас¬
четов. Построение кусочно-линейных непрерывных аппроксимаций
для- 'моделей общего вида является сложной задачей. Зачастую
такие модели получаются более громоздкими, чем исходные, и ис¬
пользование их не дает эффекта.
-70 I
3.1. Кусочно-линейные модели биполярных элементов
3.1.1. Кусочно-линейная модель р—n-перехода. При модели¬
ровании сложных схем наибольшее распространение получили мо¬
дели нелинейных элементов, построенные на основе модели Эбер-
са — Молла. В этих 'моделях р—«-переход описывается следую¬
щими соотношениями:
i = i' + С (и) du/dt,
(3.1)
Г = Zo Lexp (w/<pr)—1J;
(3.2)
С (u) = Сд («) СДИф («),
(3.3)
где
Сб(«) = С0(1—и/ф)_1/р
(3.4)
— барьерная емкость;
C№^u) = xdi’ldu
(3-5)
— диффузионная емкость;
i — ток р — «-перехода; и — напряжение на р — «-переходе;
/о, фт, С0) ф, р, т — параметры модели. Введем переменную х=
=.(«+фт1п/0)./фт и конечную систему точек Xi<X2< ... <%i< ...
... <xL. Вычислим числа gi и bi по формулам
<h = [exp (xl+1)—exp (х,)]/Д хг; (3.6а)
6г = ехр(хг)—qixt, (3.66)
где Дхг = хг+1—xt.
Далее выберем числа Coz, удовлетворяющие условиям
Сбг^'Сб(хг)| (подробно о выборе Сег сказано ниже). Заменяя
функцию i'(x) непрерывной кусочно-линейной функцией gix+bi
(хе[х2, xz+i]), а функцию Сд(х) кусочно-постоянной функцией
Сог, из (3.1) — (3.5) получим кусочно-линейную модель (КЛМ)
р—«-перехода:
^ = й'гл:+^г + (т ^г + Фт^бг) > (3-7)
х^[хг, хг_|_х], Ze=[ 1 : £].
3.1.2. Погрешность статической модели. Погрешность КЛМ
рассмотрим при решении уравнения
i = J(Z), (3.8)
где i — так р — «-перехода; J(t)—заданная функция. Исходная
модель (3.1) — (3.5) при прямом смещении приводится к виду
1 = еж+те«-^-. (3.9)
При выводе (3.9) учтено, что при прямом смещении Сдаф^>Сб.
Обозначим x(t) решение уравнения (3.8), полученное с использо¬
ванием нелинейной модели (3.9), и y(t) — решение (3.8), полу-
71
ченное с использованием кусочно-линейной модели (3.7). Введем
функцию погрешности:
6(0 = х(0-г/(0. (3-10)
Рассмотрим сначала погрешность КЛМ в статическом случае
(dx/tftesO). Из (3.7) — (3.10) получим
6(/) = 1п/-(/-Ш:. (3.11)
Функция 6(7) достигает ^максимума при J=gi и максимальная
погрешность 6*i на /им интервале аппроксимации выражается
формулой
6;=1пй-i+ta. ' (зл2).
Чтобы выяснить, как зависит S*i от длины интервала аппрокси¬
мации Дх/, преобразуем формулу (3.12). Положим gz=exp(x*;),
причем x*z<= (xi, xz+i) и допустимо представление
Я/—Л + Mxz+i—xi)> ^€=(0, !)• I
Теперь формула (3.12) может быть записана в виде
6 * = к Д хг + ехр (—к Д хг)—Г. (3.14)j
При выводе (3.14) мы воспользовались формулой bi=^
= ехр(Хг) — giXi- Если использовать формулу. &z=exp(xj+i) —
—giXi+i, то получим J
6 J = (к— 1) Д Xj -{-exp [—(X— 1) Д хг]. (3.15)!
Исключая из (3.13) с помощью (3.14) параметр к, получим окон-;
чательно I
Дхг
ехр(Дхг) — 1
Из формулы (3.16) видно, что максимальная погрешность не за.
висит от положения точек xi и
, а зависит только от длины
Рис. 3.1. Зависимость макси¬
мальной погрешности от
длины интервала аппроксима¬
ции Axj ' ■
интервала Дх/. Зависимость 6*г от Axz показана на рис. 3.1. Мож¬
но .показать, что при достаточно .малых Дх; справедлива оценка
6* Дх^/8/
72
(3.17)
I
Максимальная погрешность по напряжению б*и определяется по
формуле
б^«(фг/8)Дх2,
(3.18)
которую можно использовать для определения длины отрезка ап¬
проксимации по заданной погрешности. Заметим, что максималь¬
ная относительная погрешность кусочно-линейной модели по току
равна погрешности 'б*; и также не зависит от положения то¬
чек Xi и Хг+ь Отсюда следует вывод, что в качестве узлов аппрок¬
симации целесообразно использовать равноотстоящие точки на
оси х.
3.1.3. Погрешность динамической модели. Перейдем теперь к
исследованию погрешности КЛМ р.— «-перехода при расчете им¬
пульсных характеристик. При этом необходимо решить следую¬
щие вопросы: происходит ли накопление ошибки при переходе от
одной области аппроксимации к другой; какова максимальная
погрешность на одном отрезке аппроксимации и как она связана
с длиной отрезка и скоростью изменения вынуждающей функ¬
ции J(t).
Положим, что функция J(t) задана соотношением
где Z0=exp(xi), a Введем в рассмотрение функцию Ti(w),
определив ее формально соотношением
x(T^w.
(3.19)
Содержательно 7i (w) —это время, при котором решение x(t)
равно w. Дифференцируя (3.19) по w, получаем
^^--^ = 1. (3.20)
dt dw v ’
Используя модель (3.9) и учитывая, что lim Ti(xi+e) =0, на-
£—>0
ходим аналитическое выражение функции 1\(w):
(3.21)
Далее, решение y(t) кусочно-линейного уравнения
(3.22)
xSi-~ -[-giy+bi — J (t)
\ Si J \ x J gl
вде ti удовлетворяет уравнению y(ti) = Xi.
(3.23)
73
Подставим значение Ti(x2) = rln [—1 LLaLI b форму-
L Л —exp(x2) J
лу (3.'23), записанную для i =1:
Рис. 3.2. Импульсные характеристики р—п-пе-
рехода при использовании нелинейной модели
(х) и КЛМ (у)
J (t) = J0 + Kjt, Кj= const.
В этом случае при х, у^[хх, х2] имеем
Аналогично можно установить, что
Следовательно, в узлах
аппроксимации решение1
кусочно-л инейного урав-:
нения совпадает с реше-;
нием исходного нелиней-1
ного уравнения,, т. е. не
происходит накопление:
ошибки при переходе от!
одной области аппрокси¬
мации к другой (рис. 3.2),
Для изучения зависи¬
мости функции 6(t) от1
скорости изменения функ-.
ции J (0 определим J(t)i
соотношениями !
(3.24)|
х (t) = In [7G т (t—т) + Jol; (3.25)
у (0=е~//т • ' (3-26)|
Функция 6(t) достигает максимума в точке t*, являющейся реше-j
нием уравнения 6z«=0. Используя (3.25) и (3.26), находим, что
при t=t* выполняется соотношение
т Kj exp (—t*/x) + Kj (t*—т) + Jo = glt
и максимальная погрешность 6*=б(/*) выражается формулой
6* = In gi—%i—gf1 [Kj (1*—т) + Кj т exp (—/*/?) + Jo] + J0/gj =
= In g,—1 + J0/gx = In gx— 1 + bjgi. (3.27)
Заметим, что максимальная’ погрешность вообще не зависит от
скорости изменения задающей функции Kj. Кроме того, из срав¬
нения (3.27) с (3.12) заключаем, что погрешность КЛМ р—п-пе-
рехода при расчете импульсных характеристик получается такой
же, как и при расчете статического режима.
74
Остановимся на выборе коэффициентов усреднения барьерной
емкости Csi- Желательно выбрать С& так, чтобы в узлах аппрок¬
симации решение нелинейного уравнения совпадало с решением
кусочно-линейного, т. е. желательно сохранить важное свойство ку¬
сочно-линейной модели открытого р — «-перехода. В общем, слу¬
чае сделать это нельзя.
Рассмотрим следующую ситуацию: на р — «-переход воздей¬
ствует импульсный источник напряжения
I ^1» z О,
1>
с внутренним сопротивлением R. Пренебрегая активной проводи¬
мостью и диффузионной емкостью закрытого р — «-перехода, по¬
лучим следующее уравнение:
Е (f)—RC0 (1 —«/ф)~1/р du/dt—u = 0. (3.28)
Введем переменную х=—u/ty и систему точек (xj ze[i:I;j —
узлов аппроксимации (xi+i>xi). Так же как и в (3.2), введем
функции Ti(w) для нелинейной модели и T2(w) для кусочно-ли¬
нейной модели
(3.29)
E (0—RC61 (du/dt)—u = 0.
Потребуем выполнения условий
T1(xz) = T2(xz) (3.30)
для всех Ze [1 :Li]. Функции и T2 выражаются формулами
W
dx
T^w)=— РСоф f — ,
Х1
W
7,W= -КСЯJ = ЙСЯ In
Х1
Из условий (3.30) найдем Сц — Coni(Ei), где
Г?1
X; (fj) = ||
\ J (1 +х)1/₽
Х1
Так, например, для р=2
. Г (К1 + xz+i + “) (/1 + *1 - «)
In
хг (Е1) = а-1 —
(3.31)
(3.32)
гр cZx
1пР. + Ч’«н-1'|
[ £х + фх, J
(3.33)
(3.34)
In
£1+i|>xz
где а = ]/14-^/ф.
75
В табл. 3.1 приведены коэффициенты усреднения барьерной ем-'
кости hi, вычисленные для различных значений Ei(p=2) на сет-;
ке {«г} = {—фхг} = {(/—1)} (ф=0,65). На рис. 3.3 показана кусоч-;
но-постоянная аппроксимация барьерной емкости для Ei=12 В.
Таблица 3.1!
м2, В
£7, в
4
■ 6
8 ‘
10
12
1
0,7629
0J659
0,7673
0,7681
0,7689 |
2
0,6379
0,6478
0,6519
0,6543
0,6563
3
0,5448
0,5673
0,5754
0,5796
0,5832
4
—
0,5037
0,5175
0,5242
0,5296
5
—
0,4457
0,4698
0,4797
0,4873
6
—■
—
0,4273
0,4420
0,4523 ,
7
—
0,3850
0,4084
0,4222
8
—
—
—
0,3765
0,3955
9
—
0,3432
0,3711
10
—
—
— .
0,3479
11
—
—
—
—
0,3248
3.1.4. Кусочно-линейная модель транзистора. Используем КЛМ,
р — «-перехода для построения КЛМ биполярного транзистора.
I
Рис. 3.3. Аппроксимация зави¬
симости барьерной емкости от
напряжения- на р—«-переходе
Кусочно-линейную модель будем строить на основе распростра¬
ненной модификации модели Эберса — Молла:
■ 1
—а/
*Дэ
+
’Сэ(ц9)
0 ■
d
. —
1
?д к ,
о
dt
де 1Яэ = /Оэ [ехр 1] ; • *дк = /« к [ехр 1] ;
СЭ (^э) Сэ ДИф + С*э б> (^к) ~ диф “Ь б»
Сэ диф = х dift э/dv э, Ск диф = Ту (di^/dv^Y
-ирэ
Сэб = О)э (1 М>к э) >
б = ^0 К (1 ^к/'Фкк)
Ч‘
N+
Гб
Г-Ч
.«к
Уб
гб + гк.
(3.356)
76
где гэ, i’k — токи, эмиттера и коллектора; цэ, «к — напряжение ме¬
жду базой и эмиттерам и между базой и коллектором соответст¬
венно; v3, vK — напряжения на эмиттерном и коллекторном пере¬
ходах; CC.W, 0,1, /оэ> 1ок> ГН-Э, '«2к> фт> Гб) гк> ^КЭ| фкк> ТЗх, Tj, Cqq, Сок,
Рэ, Рк — параметры модели.
Введем аппроксимации
iRK = g^xK + b^; у
I
с<‘.) _ г(У + С<«; с('«) = 4‘.) + СМ,
Э /Пэфг э оэ к ■ /пкфг к ок
где
хэ=Уэ/(тэФт)+1п/о8;
хк = 0к/(ткфг) + 1п/ок;
^э), ^бк—коэффициенты кусочно-ли¬
нейной аппроксимации моделей эмиттерного и коллекторного
р—«-переходов; (/э), (/к)—номера областей аппроксимации для
эмиттерного и коллекторного переходов.
Используя
(3.36) К «иду
X
Лк
введенные аппроксимации, преобразуем модель
+ Г^1
1 р
J L—«« 1 J
/пэфг 0
0 1 d Гх/
0- /пкфт.
0 ф)] dt [хк]’
+
(3.36)
+
•«э'
_ Г tn3 фт 0
-хэ1
Л‘"Ч
+
>б
Гб '
^"э
1 0 ткфТ.
J
L in/0KJ
Гб
гб + гк.
/к .
• (3.37)
или и матричной форме1
iT= [a] [G(I) хт+Ь(1)] +[фт] Ст> ;
4f — [фт] хт+Р+Ч,
где (Т; = {(/э), (1К)} — мультииндекс
(3.38)
(3.39)
области аппроксимации
(смысл других обозначений ясен из сопоставления (3.35) и (3.37)
с (3.38) и (3.39).
Заменяя в (3.38) производную dx^dt, вычисленную при
(/(&)= S hj, hj — шаг дискретизации), конечной разностью
i=i
dxT(?(ft)) хт(*+1) —х^
~di = № ’
1 Нижний индекс т означает принадлежность • величины к модели транзисто¬
ра (как и ранее, верхний индекс т — знак транспонирования).
77
где х№т=хт (/<*>), получим конечно-разностную кусочно-линейную |
модель транзистора:
Г’ = |[а](}?4
"(й+1) = [фт]х
J0"* +Ж + Стх<\
иГ™ = [фт] X<fe+1) + ₽ + flTiift+l),
где = u
Исключая из последних формул вектор х^+1) приведем КЛМ;
транзистора к виду г
i‘ft+1) = Y‘,)i4^1, + r<,>, (3.42)
где
Yt> = [В(”]“1 Gjn;
г^МВ^Г1^;
а»' = [ис'" + ж
Bi’^E + G^R.;
т'Ч = [«} ь“> 1
1 г(1)
(3:40)
(3.41)
(3.46)
(3.47)
^rC'1)x^)-G<,)₽>
(Е — единичная (2x2)-матрица).
В пространстве переменных хт (это пространственно будем
обозначать Л?) области аппроксимации имеют вид прямоугольни¬
ков, образованных граничньши прямыми, ортогональными коорди¬
натным осям; уравнения этих прямых имеют вид
еа ~ Х1 а>
где
рТ / [1, 0],
I [0, 1],
Xi а — УЗЛЫ
странстве переменных ит ({7т-пространство) уравнения граничных
прямых, записываются следующим образом:
k£Ur = «ra(xTft)),
где
£ =е^[фт]-1 [Е—Rr ¥<’>];
+ еа [фтН 1₽ + Кт .
(3.48)
а= 1,
а = 2;
аппроксимации на осях хэ (а=1) и хк (а=2). В про-
(3.49)
(3.50)
(3.51)
3.1.5. Свойства КЛМ транзистора. Рассмотрим некоторые
свойства КЛМ. транзистора, необходимые в дальнейшем для по¬
строения эффективного алгоритма. Предположим, что ит(7) —
непрерывная функция. Пусть при t—x вектор и*т=ит(т)’прийад-
78
лежит граничной прямой, разделяющей области аппроксимации с
мультииндексами (IJ- и (12). Тогда справедливо ..соотношение
di
р(Ь)
Кит
(3.52).
где d хт fdt — lim [хт (т)—хт (т—Д ЭД/Д t; d x+ldt = lim [хт (т+
Д4->+0 Д4-+0
4-Д /)— хт(т)]/ДЛ
Доказательство. Так как любая граничная прямая в С7т-про-
странстве вида (3.49) является отображением из Хт граничной
прямой вида (3.48), то вектор х*т=хт(т) также принадлежит
граничной прямой. Из (3.38) и (3.39) имеем
u; = [<pT]x; + ₽ + RT{[«] [G(Mx;+b(M] ; (3.53)
<= [q>Jx;+P+RT{ МЮЯ^+Ь'Ч + Ф1 ^-} - (3-54)
Кусочно-линейная функция G<P xT+b^ по построению являет»-
ся непрерывной, т. е.
G<b) х; + b(b) = G<>=) х* + b<b). (3.55)
Вычитая из (3.53) равенство (3.54) й используя (3.55), получаем
требуемое соотношение (3,52) .
Следствие. Если ит(7)'—непрерывная функция, то и функция
ит (0, определяемая моделью . (3.38), (3.39), является непрерывной.
Это следствие легко установись, применяя к модели (3.38), (3.39)
при t=x соотношение (3.52).
Выведем еще одно важной соотношение. Пусть векторы uTi и
ит2 принадлежат различным областям аппроксимации в' t/T-npo-
странстве, имеющим мультиийдексы (11) и (12), причем эти обла¬
сти имеют одну и только одну общую граничную прямую
kTuT=£7r. Тогда, если hu=h±const, справедливо соотношение
Y(W=Y<h) + 8kT, (3.56)
где 6 — двумерный вектор.
Сформулированное свойство является обобщением на конечно¬
разностную модель «ключевого свойства» непрерывных кусочно¬
линейных функций [3.6].
Доказательство. Обозначив xTi и хт2 векторы, являющиеся ото¬
бражениями из U-? в YT векторов uTi и ит2 соответственно. Если гра¬
ничная прямая, разделяющая в Хт области (1J и (12), ортого¬
нальна оси хэ, то можно записать следующие соотношения:
79
Ga2)=G(i1) + 5foe’,
ф> = С«*> + 8Сэе’ (3.57)
где &g3 — разность проводимостей эмиттерного перехода для обла¬
стей (li) и (12); Дсэ — разность емкостей эмиттерного перехода.
Если граничная прямая ортогональна оси хк, то можно записать
аналогичные соотношения
G<W=G<M + 8&e’; .
^)=С(’х)+8Ске-. (3.58)
Объединим соотношения (3.57) и (3.58) общей записью:
G(i2)=G(ii)4-ggeT ; • (3.59а)
.ф)=С«*> + 8ве;. (3.596)
Используя формулы (3.43), (3.45), получаем
.¥««> = (3.60)
где ц = [a] 5g+Л"1 Sc; е* = ej [tpj-1.
Далее применим к матрице = + gs£ RT]_1
формулу Хаусхолдера;
[В<Ь)]-< = (3.61)
•где
?=1 + ^Кт[В<,*>]-11*. (3.62)
.Подставим (3.61) в (3.60):
Y<W = {--L [В<’*>]-1 ge’ R, [В<’х)]-1} х
х =Y?1) +
X[E-RT ¥<'*>].
Вводя обозначения 6=у~1В(./1) ц и используя формулу (3.50), по¬
лучим требуемый результат: Y^ =Y<Zi) +6k“ .
Для иллюстрации погрешности динамической кусочно-линей¬
ной модели транзистора приведем результаты моделирования про¬
стейшей схемы (рис. 3.4) с использованием исходной нелинейной
80 ■'
модели (3.35) и .кусочно-линейной модели (3.42). Результаты мо¬
делирования приведены на рис. 3.5, из которого видно, что по¬
грешность в определении временных характеристик импульсов
ц2(0 и «з(0 не более
10...12%. При моделирова¬
нии цифровых схем такая
погрешность, как правило,
вполне приемлема.
Рис. 3.5. Переходные процессы в
схеме на рис. 3.4, рассчитанные
с использованием КЛМ ( )
и нелинейной модели транзистора
( )
3.2. Расчет переходных процессов с использованием
кусочно-линейных моделей
3.2.1. Кусочно-линейная модель схемы. Допустим, что схема
содержит М элементов, модели которых описываются уравнения¬
ми вида (3.42). (Для сокращения записи линейные элементы с по¬
стоянными параметрами будем рассматривать как частный слу¬
чай кусочно-линейных элементов).
Введем матрицу инциденций (ветвей-вершин)
где Aj подматрица, соответствующая /-му элементу. Размер¬
ность каждой подматрицы /n3X</V, где т,— число выводов (полю¬
сов) элемента минус единица; N— число независимых узлов в
схеме. На основании 1-го закона Кирхгофа
м
£Ар, = О, (3.63)
7=1
где ij — вектор полюсных токов /-го элемента.
8.1
Применяя модель (3.42) и узловое преобразование u(fe)Tj-=
=AjX<ft)(x—JV-мерный вектор узловых потенциалов), получаем йз
(3.63) следующую систему уравнений:
G<i) х^+^Ь*1» , (3.64)
где
М •' ■ : '
G«)=2AjY<D а^.;;
/=1 г.УА-
м
b(D = —V ATrU) , '
J J
>=1 1
(3.65)
i
(G (О —квадратная (NXN)-матрица, b<J) —JV-мерный вектор).
Перед расчетом переходного процесса из статической системы
должны быть определены начальные условия, т. е. х<°)=х(0),
х<°)т и соответствующие им номера областей кусочно-линейной ап¬
проксимации (10). Вектор х(1) находится из решения системы ли¬
нейных уравнений (3.64) при (1) = (1о). Если х<!) принадлежит об¬
ласти (10), то вектор х(2) также находится из решения (3.2) при
(1) = (10), причем матрица системы остается постоянной, а изме¬
няется только вектор правой части. Этот процесс повторяется до
тех пор, пока , не найдутся такие векторы x<ft) и x(fe+1), что x<fe) при¬
надлежит области (10), а х(А+1) —другой области, например (Ij).
В этом случае .значение х№+1) вычисй'енО; неверно и необходимо
произвести коррекцию.
Если области (10) и (h) не имеют общей граничной гиперпло¬
скости (т. е. некоторые' компоненты мультииндексбв (1о) и (Ь)
отличаются больше чем на единицу), то необходимо уменьшить
шаг /ift и вычислить новое значение x<ft+1). Допустим, что области
(1о) и (h) имеют общую границу. Уравнение граничной плоскости
в Хт-пространстве запишем в виде (см. (3.48))
X-rj ~ %1а,- (3.66)
Обозначим х/т/й+1) скорректированное значение вектора x(ft)T3- и
положим
х;<*+!) = х$ + (X(*+D _XW), (3.67)
где 1] —параметр, значение которого определим из ус¬
ловия принадлежности вектора х'т/к+1). граничной плоскости. Под¬
ставляя уравнении (3.67) в формулу (3.66), находим
%<*) =
х
(*)
т/
■|
(3.68)
Вычислив для всех р — «-переходов значение найдем
и в силу линейности модели при фиксированном (1),
/
получим
х'(*+1) =Х(А) + (X(*+1)_XW),
(3.69)
82
где x/(/i+1>=x(/ft+%<A>/ife)—скорректированное значение вектора
узловых потенциалов, принадлежащее граничной гиперплоскости
в пространстве переменных х (.Y-пространстве). Вектор х'^1)
служит начальным условием для решения уравнения (3.64) в об¬
ласти (11). Коррекция, описанная выше, обеспечивает квазине¬
прерывность функции x(t) и, следовательно, и функций uTJfO,
(под квазинепрерывностью функции x(t) понимается вы¬
полнение условия lim(x<ft+1>—x<ft))=0).
Ль-о
3.2.2. Вычислительные аспекты. Заметим, что применяемая
формула конечно-разностной аппроксимации производных приво¬
дит в пределах каждой области к неявному методу Эйлера инте¬
грирования линейных дифференциальных уравнений. Поэтому про¬
цесс решения является A-устойчивым. Применим для решения си¬
стемы линейных уравнений метод LU-разложения Гаусса, т. е.
приведем ее к виду
U<i) х(*+*> =L(I> Ь(|). (3.70)
При интегрировании системы (3.64) в пределах одной облас¬
ти аппроксимации системы (3.70) будут отличаться только пра¬
выми частями, если шаг hk=h остается постоянным. Следова¬
тельно, приведение матрицы G(,) к треугольной форме нужно
произвести только один раз при входе траектории решения x(t) в
новую область, применяя для вычисления последующих значений
обратный ход в алгоритме Гаусса. При этом на каждом шаге ре¬
шения в случае полной матрицы- вместо №/3 нужно затрачивать
только ~t№ операций.
Более того, при входе траектории решения в новую область
можно для вычисления коэффициентов LU-разложения применить
эффективную процедуру модификации коэффициентов разложения
[3.6], суть которой сводится к следующему.
Если квадратные неособенные (WXilV)-матрицы А и А* связа- ,
ны соотношением вида
А* = А+сГ (3.71)
N
и известны треугольные матрицы U, L=|""J L^, такие, что LA=
fe=i
N
=U (ам. § 1.1), то компоненты матриц U*,.L*= П L*^, L*A* =
s=i
=iU*, вычисляются-по рекуррентным формулам
l*hk—^zilhk,k=l,2, ... .;N,
dk
= = . .
dk
...
.,A-1
C^1) Ikk
. . ,AT;£ = 1,2; .
. .,N;
83
c^=citi=l,2, . . .,N,
c.^)=Ct(A-i)-|-Z.feC(A+i),A:=l, . . ,,N— 1 ;i = fe+l, . . .N; (3.72).
/J0’ =G>/ = 1>2, .... .,N,
rW = rtt-»_ra-i)Ukj<k=l,2, . . .,N-l-,j = k+l, . . .,N;
= 1,
= . . .,N.
Количество операций при вычислении по формулам (3.72)
пропорционально N2, т. е. при больших существенно меньше,
чем количество операций, необходимых для непосредственного
вычисления матриц L* и U*.
Покажем, что между матрицами G’M и G(,2> , вычисленны¬
ми для областей (Ь) и (Ь), имеющих общую гиперплоскость, при¬
чем единственную, существует соотношение вида (3.71). Дейст¬
вительно, если траектория решения пересекает простую гранич¬
ную гиперплоскость, то область аппроксимации изменяется толь¬
ко для одного р —■ «-перехода, принадлежащего, например, эле¬
менту /о. Тогда можно записать
G(b) = J AJY(W А;+А}0¥^) А7.0 = О(Ь) + Ат0[¥(Ь)-¥<'4 А/о. |
Применяя к разности Y^o«> —Y*.^ соотношение (3.56) и вводя
обозначения
с = Aj0 Oj-q, гт = kjo Aj0,
получаем из (3.73) требуемый результат
G<k) = G(ii) + crT. (3.74)
Таким образом, при интегрировании кусочно-линейной систе¬
мы. с постоянным шагом h достаточно один раз вычислить коэф¬
фициенты LU-p изложения в начальной точке, а последующие ре¬
шения x<ft> получать, решая системы с треугольной матрицей и
применяя процедуру модификации (3.72) при входе траектории
решения в новую область. Однако интегрирование с постоянным
шагом не позволяет в полной мере использовать преимущества
неявного метода интегрирования.
Рассмотрим алгоритм выбора шага для метода первого поряд¬
ка применительно к кусочно-линейным системам. Локальная по¬
грешность метода пропорциональна норме второй производной
||x<ft>||, которая может оцениваться по норме второй разности
||A2x(ft)|l, где А2х<й) = l/ftW(x<k+1)—x<ft))—l//j(fe_1)(x(ft)—х<ь_1>). Про¬
стейший алгоритм выбора шага [3.11] сводится к следующему:
1. Если era'll A2x(fe)|| <52, где si, 82—экспериментально подобран¬
ные константы, то й<й+1)=й(й).
2. Если ||A2xW|| <81, то ./i(fe+i)=2/iW.
84
3. Если ||A2x<ft)|| >62, то производится возврат в точку и шаг
уменьшается вдвое: Л(к)=Л<Л)/2.
Применение такого алгоритма позволяет выделять отрезки ин¬
тегрирования с постоянным щагом, т. е. сочетать преимущества не¬
явного метода интегрирования с достоинствами кусочно-линейной
модели. Но применение этого алгоритма обоснованно лишь в пре¬
делах одной области аппроксимации, так как необходимо, чтобы
три точки x<ft_1>, x(k) и x^+1) находились в одной области. При пе¬
реходе через границу области нарушается непрерывность 'произ¬
водных x(t) и x.(t), и в этом случае оценка погрешности по
||A2x(ft)|| неверна. Возникает вопрос: если точка x<ft) принадлежит
граничной гиперплоскости и вычислена точка x<ft+1), то как убедить¬
ся в том, что погрешность вычисления x<ft+1> меньше допустимой?
Для оценки погрешности в этой ситуации используем соотно¬
шение (3.52). Вычислим векторы xT/ft_1), x(ft)Tj и xT/ft+1) для всех
/<=[1 :М]. Локальная погрешность вычисления xT/ft+1> (обозначим
6T3(ft+I)) оценивается .как норма разности между прогнозом
xTj(ft+1^=x(ft)Tj+x<ft)Tj/j(ft) и коррекцией xT/ft+1) ==x<A)Tj+xT3-(ft+I)/i(ft), т. е.
5 $+1 ’ = || x^+I* — х$ II . (3.75)
Но x^Tj=dTi.+Tj/dt (см. п. 3.1.5) и в силу (3.52)
= [С#*]-1 d^~ (х#+1) -х$). (3.76)
Наконец, используя (3.75), (3.76) и приближенную формулу
xT/k+1>~ (l/hSk'>) (xTj(M_1)—xTjW), находим оценку для локальной по¬
грешности
[1:М]
Практически достаточно убедиться в том, что для «всех j
выполнены «неравенств-а
СПз) -
(А-Ы) (fe)
Ат/ Ат/
С<’Л -
Y(*) „(А—1>
Ат/ Ат/
TJ
hk
TJ
л(й-1)
(3.78)
где ез — экспериментально тодо,бр.ан1на1я константа.
В принципе, динамическую КЛМ можно получить, используя
вместо формулы 'первого порядка формулы более высоких поряд¬
ков вида
х(Ж)
1
1 “■х"
п 1=0
где р — порядок метода; а,—коэффициенты. Однако это нецелесо¬
образно по следующей причине. Как показал опыт, даже в слу¬
чае применения метода первого порядка среднее количество точек
85
внутри одной области аппроксимации невелико, в среднем две-три
на область. Так как при переходе через границу области наруша¬
ется непрерывность производных 'функции x(t'), то применение
формул высоких порядков не обосновано.
Отметим, что основными вычислительными операциями при рас¬
чете сложных схем с большим числом узла N являются операции
приведения матриц G к треугольной форме, решение линейных
систем с треугольными матрицами и модификация коэффициентов
LU-ip изложения по формулам (3.72). Снижение вычислительных за¬
трат при выполнении этих операций возможно, если использовать
разреженность матриц GW с помощью методов, рассмотренных в
гл. 1.
3.3. Алгоритмы расчета статического режима
3.3.1. Статическая кусочно-линейная модель схемы. Положив
в формуле (3-.38) dxT/dt=0 и исключив из (3.38), (3.39) вектор
хт, получим статическую кусочно-линейную модель транзистора
iT = Y<’>uT+r«), (3.79)
где
Y<” = [В<«>]-i q<0 ; r<»> = [В«> J-1 ~г«>; = [«] G<» ; =
= [a] [b(*)-G(i) (3.80)
Сохраняя обозначения, принятые в § 3.2, запишем статическую
модель схемы
м ' ‘ м
£а;Л".’а>’<+£а;г;;>=о,
7=1 7=1
или, если выделить постоянные источники, то
G<I)x + w(i)=y*, (3.81)
где
AT М'
G(I)=2 AjY<pAy;wU) = j; А)гФ ; (3.82)
7=1 7=1
М7— количество элементов схемы за вычетом постоянных ис¬
точников; у* — вектор узловых токов постоянных источников.
Нетрудно убедиться, что кусочно-линейная функция
f(x) = G(1> x + w<D (3.83)
является непрерывной на сетке ограничивающих гиперплоскостей
вида
86
rTx = const, •. (3.84)
где г — вектор, нормальный к граничной гиперплоскости [3.6].
3.3.2. Основной алгоритм Катцнельсона. Алгоритм Катцнельсона
сводится к следующему [3.1]. Пусть х<°)— начальное приближе¬
ние, являющееся внутренней точкой области (10). Вычислим вектор
y(°)=f (х(°)). Введем в рассмотрение подмножество YcrEN, элемен¬
тами которого являются векторы у, определяемые отображением,
векторов х^ХсгЕ1* кусочно-линейной функцией f(x):
X->Y; f(х)-»-у.
Рассмотрим в У отрезок, заданный (параметрическим уравне¬
нием
у(А) = У(0) + А(У*—У(о))> [0,1]. (3.85)
Задача решения уравнения (3.81) сводится к нахождению об¬
ратного отображения из У в X отрезка (3.85). Начальной точкой
этого отображения (%=0) является точка х(0), а конечной (А=
= 1) —точка х*, удовлетворяющая -уравнению (3.84). Отображе¬
ние у(Х) в X называется траекторией решения, которая является
ломаной линией, состоящей из отрезков .прямых. Первый отрезок
этой траектории >в области (1о) определяется соотношением
Х1 (К) = х<0) + % [G( (у*_ у(0)). (3.86)
Если окажется, что вектор Xi(A) принадлежит области (1о), то
Xi(l)=x* — искомое решение. В противном случае вычисляется
точка x(1)=Xi(X(1)), где параметр АЯ определяется таким образом,
чтобы точка х(1> находилась .на границе области (1о). Это легко
сделать, зная уравнение граничных гиперплоскостей в Х-простран-
стве.
Обозначим (11) мульти-индекс соседней области аппроксимации.
Тогда отображение у (А) в области (h) имеет вид
х2 (А) = хП) + A (у*—у(о))_ (3.87)
Если х2(1) принадлежит области (h), то х2(1)=х*—искомое ре¬
шение. В противном случае вычисляется точка х2=х2(А(2)), где
параметр Af2) определяется так, чтобы точка х(2) находилась на
границе области (h), и т. д; При определенных ограничениях на
функцию f(x) процесс построения траектории решения закончится
в точке х*.
В работе [3.6] показано, что достаточным условием -сходимо¬
сти алгоритма Катцнельсона в -предположении, что траектория ре¬
шения .не попадает в «углы» областей аппроксимации, является
условие знакопостоянства определителей бе1б(,)для всех облас¬
тей (I). Это условие всегда выполняется, если кусочно-линейное
уравнение (3.81) имеет единственное решение при любом y*^EN,
т. е. глобальный гомеоморфизм f(x) заключает в себе сходимость
алгоритма Катцнельсона.
87
3.3.3. Модификация алгоритма Катцнельсона. В работе [3.7]
сформулирован алгоритм, сходящийся к решению при более сла¬
бых .предположениях. Этот алгоритм отличается от алгоритма
Катцнельсона .правилом выбора знака % (<в .’исходном алгоритме
рсепда %>0) в формулах (3.86), (3.87). Для вывода этого .прави¬
ла обозначим векторы
= [G(io)]-i(y*—yW); d2 = M2’ (у*—y‘0)).
Если траектория решения достигает точки х^, находящейся на
г граничной гиперплоскости гтх=
=const, то, следовательно, rTdi>0.
Чтобы • траектория решения могла
быть продолжена из х<]> в область
(11), необходимо выполнение . усло¬
вия (рис. 3.6)
rTd2>0.
(3.88).
Рис. 3.-6. Пересечение- траекто¬
рией решения граничной гипер¬
плоскости
Рассмотрим, .при каких условиях неравенство (3.88) будет вы¬
полнено. В силу .непрерывности кусочно-линейной функции f(x),
выполняется соотношение
Q(b) =G<’i> + crT, (3.89)
где с — Af-мерный вектор. Применяя формулу Хаусхолдера, нахо¬
дим
где
у = 1 +гт [G^o)]—1 с;
После преобразований из (3.90.) получим
rTd2
Х(2) 1
V1’ у
rTdx.
(3.90)
(3.91)
(3.92)
Используя (3.89) и теорему об определителе .произведения мат¬
риц, запишем .следующее соотношение:
det [Е + crT [G<«»)]-i] = -detG(11) .
- ■ detG<o)
. (3.93)
Применяя к (3.93) тождество
det [Е + PQ] = det [Е + QP],
88
справедливое для любых Р и Q, для которых имеет смысл опера¬
ция умножения, находим-
Y = det(l+rT[G(|»)]-ic) =
detG(h)
det G^<>)
(3.94)
Используя это представление у в формуле (3.92), (получаем окон¬
чательно
rTd2 =
1(2) det GO.) т .
1<!> det G(,‘> Г Q1‘
(3.95)
Из формулы (3.95) вытекает следующее правило выбора зна¬
ков:
1. Если sign det G(,«)=.sign det G(,i) то %(2)>0 -при Xd)>0, и
1<2)<0 при
2. Если sign det GConsign det G(l«) то %(2)>0 при ЛЯ-СО, и
l<2)<0 при
Проиллюстрируем этот результат простым примером. Требует¬
ся решить уравнение f(x)=Oj где функция f(x) изображена на
рис. 3.7.
Рис. 3.7. Решение ку¬
сочно-линейного урав¬
нения модифициро¬
ванным алгоритмом
Катцнельсона ■
Если в качестве исходной выбрана точка х(0), находящаяся в
1-й области, то иа первом шаге алгоритма Катцнельсона перемес¬
тимся в граничную точку х\, на втором шаге — в граничную точку
х2. Так как £(2)=^(х) при xe(xi, х2) больше нуля, a g3=f'(x)
При хе(х2, Хз) меньше нуля, то алгоритм Катцнельсона «застря¬
нет» в х2 и решение не будет достигнуто. Напротив, если приме¬
нить правило знаков, то ив точки х2 переместимся в точку хз й на
следующем шаге получим решение х*.
Точные условия сходимости ' модифицированного алгоритма
сформулированы в [3.7] и сводятся к следующему. Пусть вектор
х<°) удовлетворяет неравенству ||у(0)|| где
К=Ъ К2Ц- К8, Кг=max ]| х ||, К2= max || G«> ||, К8=max || w<»> ||,
(1) —-мультииндексы неограниченных областей аппроксимации.
Если все матрицы G(1) не сингулярны и их определители имеют
одинаковый знак в неограниченных областях и -если траектория
89
решения не ’попадает в «угол» области аппроксимации, т. ё. <на по¬
верхность пересечения двух или более граничных .гиперплоскостей,!
то ^модифицированный алгоритм Катцнельсона, использующий
правило знаков, сходится к точке х* за конечное ч|исло шагов.
Если все компоненты начального вектора х(0) различны, то «ве¬
роятность попадания в угол области мала. Далее, >.в неограничен¬
ных областях, т. е. когда все р—n-иереходы либо закрыты, либо
открыты настолько, что рабочая точка находится на квазилиней¬
ном участке >вол-ьт-ампер ной характеристики, схема по шо|им свой¬
ствам приближается к пассивной цепи с положительно опреде¬
ленной .матрицей Якоби По этим .пр»ич!ина1М надежность мо¬
дифицированного алгоритма Катцнельсона является высокой.
3.3.4. Вычислительные аспекты. Каждый шаг алгоритма сводится к решению
системы линейных уравнений-
G(lft)~(ft+1>+w(b) =у*.
(3.96)
а очередное приближение находится по формуле
(3.S7I
Для решения систем вида (3.96) целесообразно использовать метод Гаусса:
ния матриц U<fe+1) и L<ft+1) можно использовать процедуру модификации коэф¬
фициентов LU-разложения (3.72), которая как раз для этой цели и была разра¬
ботана авторами |[3.6]. Таким образом, треугольная факторизация производится
только один раз для матрицы G^o\ Количество арифметических операций на
один шаг алгоритма Катцнельсона оказывается примерно в N/6 раз меньше, чем
для реализации ньютоновских итераций. Однако общее количество итераций ал¬
горитма Катцнельсона может в десятки раз превышать количество ньютонов¬
ских итераций (если, конечно, метод Ньютона сходится). Поэтому в общем слу¬
чае метод кусочно-линейной аппроксимации не дает выигрыша в быстродействии,
но является более надежным, чем методы ньютоновского типа.
Эффективный алгоритм расчета статического режима БИС можно получить,
комбинируя алгоритм Катцнельсона с методом много полюсных подсхем [2.14].
Прежде чем перейти к изложению алгоритма, получим кусочно-линейную мо¬
дель многополюсной подсхемы вида
ip = <Р (Vp) ,
(3.98)
где ip, vp — n-мерные векторы полюсных токов й полюсных напряжений под¬
схемы (п+1 — число внешних выводов подсхемы); ср — непрерывная кусочно¬
линейная функция.
Первый закон Кирхгофа для подсхемы запишем в виде
Г-Е А,
[° А1
(3.99)
где Е — единичная (пХп)-матрица; IT=l[iTTi, 1ттм]т — вектор токов элемен¬
тов; А], Д2 — подматрицы матрицы инциденций (ветвей-вершин), подсхемы. Век¬
тор узловых потенциалов подсхемы будем представлять в виде [vp, z]?, где z —
вектор потенциалов внутренних узлов подсхемы. Узловое преобразование при¬
водит к соотношению
uT = Aj Vp + AgZ,
где uT=i[u'rTi, иттм]т — вектор напряжений на выводах элементов.
90
. Объединяя КЛМ всех элементов схемы вида (3.79), запишем
IT = D (1) uT + J«> ,
где — квазидиагональная матрица, каждый диагональный
есть матрица GT(p, а вектор составлен из векторов •
Объединяя (3.99) — (3.101), получаем
Wv’’]_P’'Lrjffl
Wd l»J 1®J'
соотношение
(3.101)
блок' которой
(3.102)
где
Y«) = ат D(I) А; j0<}> = AT j<«) , j <’> = АП^> .
Из второго |уравнени-я системы (3.102) найдем
г= - [у22*]_I [ JoP - Y2p vp] (З.ЮЗ)
и подставив это выражение в первое уравнение системы (3.10.2)
lP = {Y1lP^Y1<?[Yff]-‘Yff}vJ,+ jff-Yg>[Yg>]-> j«> . (3.104)
Вводя обозначения
Н<’> = Y<P - Y$ [Y(')]-1 Y<p ; (3.105a)
h(’> = j0<1I) = Y1<>)[Y<’)]-lja), (З.Ю56)
получим КЛМ 1многопюлюсной подсхемы в окончательной форме
ip = Н(1) Vp + h(I) (3.106)
Получим теперь уравнение граничных гиперплоскостей в пространстве век¬
торов vp. Для этой цели используем уравнение границ в пространстве (3.49):
(3.107)
Если в последней формуле заменить вектор ит правой частью уравнения (3.100),
а затем из полученного выражения исключить вектор z с помощью (3.103), то
получим выражение вида
qTvp = ₽, 1(3.108)
где q — вектор нормальный к граничной гиперплоскости в пространстве векто¬
ров vp, а р — скаляр. Формулы для вычисления этих величин следующие:
qT = k^ {Al—Аа [Y^>]“J] ¥«>} ; (3.109)
₽ = ^-^A2[YW]-i j<’> . (3.110)
Можно показать [2.14], что на сетке граничных гиперплоскостей вида (3.108)
кусочно-линейная функция Н (I)Vp+h^ является непрерывной и между матри¬
цами Н(11^и Н(1г)(где .(h), (12) — мультииндексы областей аппроксимации), раз¬
деленных простой граничной гиперплоскостью, существует соотношение вида
Hd2) =н(11) +*qT, - - (3.111)
где ст n-мерный вектор. Формулу для вычисления вектора о можно получить,
используя (3.59а), (3.105а) и применяя к формулу Хаусхолдера. Именно
соотношение (3.111) позволяет получить эффективный алгоритм решения.
Положим, что схема состоит из Мп подсхем, каждая из которых представ¬
лена кусочно-линейной моделью
1р1=нур Vp,-+ h(p>
(34'12)
91
(/g=(1 : Мп]— номер подсхемы), и постоянных-источников тока. Уравнение схе¬
мы по методу узловых потенциалов записывается следующим образом:
1)х и/ 1 = у*, . (3.113)
где G'1' = Aj — квадратная матрица, размерность которой равна
j=l
числу внешних узлов подсхем (обозначим это число No); А, — подматрицы
— Мп
матрицы инциденций графа эквивалентной схемы; 1= (J (1) — мультииндекс
— м
(1) п ( Ь)
схемы; vz == S ATjhj —No-вектор; у* — вектор токов- постоянных источни-
ков; х — вектор узловых потенциалов (только внешних узлов!).
Так как связь между векторами и х определяется равенствами vPj =
==AjX, то уравнение граничных гиперплоскостей в Х-пространстве имеет вид
(см. (3.108))
qTA;x = p. (3.1.14)
На сетке гиперплоскостей вида (3.114) левая часть уравнения (3.113) является
непрерывной кусочно-линейной функцией, и для решения этого .уравнения мож-
но применять алгоритм Катцнельсона.
Пусть x(ft) — очередное приближение, полученное по алгоритму Катцнель¬
сона, причем x<ft> принадлежит граничной гиперплоскости, разделяющей области
с мультииндексами (1Х) и (12). Если эта граничная гиперплоскость не является
«углом» области аппроксимации, то справедливо следующее представление для
(к):
(12) = U (U) и (l2fc), (3.115)
/=1
т. е. (12) отличается от (1Q только одной мультикомпонентой (!;♦ ). Поэтому
можно записать
G<b> = 2 А} Н'М Ay + AJ. Ay* = G(1‘> + AJ, —
#=/* 1
— Aj* - G(h) + Ay* a qT Ay.
или
q(£) = G<h) 4- су* г}. , (3.116)
где су* = AJ, а ; ry* = qT Ay* .
Для вычисления векторов cj* и г5- * нужно рассчитать только /*-ю подсхему
а так как LU-разложение матрицы G (1«) можно получить с помощью формул
модификации (3.72), то заключаем, что если на очередном £-м шаге алгоритма!
Катцнельсона траектория решения пересекает . простую граничную гиперпло-1
скость, то для получения (£+1)-го приближения достаточно рассчитать только
одну подсхему. Для определения номера j* этой подсхемы необходимо хранить
в памяти ЭВМ уравнение граничных гиперплоскостей, ограничивающих ту об¬
ласть аппроксимации, в которой находится очередное ■ приближение (Более
подробно об организации вычислений см. [2.14].)
92 ’
Таким образом, на каждом шаге алгоритма объем вычислений уменьшает¬
ся приблизительно вМв' раз’ (Л4П — число подсхем) по сравнению с методами
ньютоновского типа, и для больших Л4П это весьма существенный выигрыш.
• Заключение. Основным фактором, повышающим быстродейст¬
вие программы, использующей кусочно-линейные модели, является
то, что в этом случае динамическая модель схемы является ли¬
нейной 'Системой с кусочно-постоянными коэффициентами. Это,
во-первых, исключает необходимость выполнения ньютоновских
итераций на каждом шаге интегрирования- уравнений -системы.
Во-вторых, при интегрировании внутри „д
одной области аппроксимации с постоян- -
■ным шагом достаточно только один раз
•произвести LU-разложение матрицы си¬
стемы при входе траектории решения в.
область. Для получения последующих
решений требуется выполнить только об¬
ратный ход. В-третьих, при переходе к инт
тегрированию в новой области коэффи¬
циенты LU-разложения матрицы можно
получить, используя эффективный алго¬
ритм модификации.
. Наконец, просто замена экспоненци¬
альных функций линейными дает допол¬
нительное (причем немаловажное) уско¬
рение работы программ. Конечно, наряду
с увеличением быстродействия наблюда¬
ется некоторое снижение точности моде¬
лирования. Анализ погрешности кусочно¬
линейной модели р—«-перехода показы¬
вает, что точность этой модели вполне
удовлетворительная. Провести подобный
анализ для схем общего вида трудно, по¬
этому ограничимся примерами. На
93
рис. 3.8 приведены эпюры выходных, импульсов для двух схем, по¬
лученные с помощью КЛМ и нелинейных моделей. Первая
из рассчитанных схем (а) содержит 37 р—«-переходов (58 узлов),
вторая (б) 39 р—«-переходов (64 узла). Затраты машинного вре¬
мени на расчет переходных процессов составили при использова¬
нии КЛМ 3'50" и 2'06". При использовании нелинейных моделей
эти. затраты составили 18'50" и 14'20" соответственно. (Расчет про¬
изводился по программе САМРИС [3.10] на ЭВМ БЭСМ-6.) По¬
грешность КЛМ при определении временных параметров импуль¬
сов (фронтов и задержек) ре превышает-15%.
Наиболее целесообразно использовать метод кусочно-линейной
аппроксимаций цри расчете больших цифровых.схем с биполярны¬
ми элементами, для решения задач оптимизации и ■■статистическо¬
го анализа. В табл. 3.2 'приведены временные затраты при анализе
нескольких цифровых биполярных схем. Расчет .производился на
ЭВМ Б.ЭСМ-6 по программе САМРИС-2 [1.32]. Приводимая таб¬
лица позволяет судить о практической производительности про¬
граммы, использующей метод кусочно-линейной аппроксимации.
Таблица .3.2
№
п/л
Число
Время расчета
Общее число
. шагов инте¬
грирования
элементов
в схеме
узлов экви¬
валентной
схемы
р— п-пере-
ходов
статического
режима
переходного
процесса
1
48
45
25
0'29"
2'29"
523
2
121
134
81
1549"
25'51"
2161
3
130
164
112
2'21"
11'45"
. 802
4
151
231
154
4'116'5
33'30"
1799
5
160
205
144
3'29" .
13'48"
801
6 -
179
239
174
3'40"
2‘3'3.4"
1624
7
142
161
124
2'418"
10'24"
718 .
8
-181
• 1-63
116
1'58"
5'57"
327
9 '
234
315
236
6'36"
30'152"”
1075
10
240
323
242
11'415"
29'1*2"
103.5
Глава 4
Применение принципов макромоделирования для анализа
сложных электронных схем
При машинном расчете сложных электронных схем, содержащих
сотни и тысячи компонентов, желательно применять упрощенные
модели целых каскадов схем и электронных узлов, не прибегая к
описанию их отдельных элементов. Разработка и применение та-'
ких моделей составили направление в машинном, проектировании
электронных схем, получившее название макромоделирование.
Такой термин указывает на соответствие применяемому в об¬
щей теории систем макроподходу, т. е. изучению системы на осню-
94
Память
—— Время вычисления
Рис. 4.1. Характер возрастания
вычислительных затрат при
увеличении сложности анали¬
зируемых схем для полной мо¬
дели (.П) и макромоделей
вадаи соотношений «вход—выход» [4.1], в отличие от микроопи¬
сания, цри 'котором обязательно рассматривается внутренняя
■структура. В .нашем случае микроописанию соответствуют модели
электронных каскадов, включающие все внутренние ’переменные
(т. е. напряжения внутренних узлов и токи ветвей), рассмотрен¬
ные в предыдущих главах. Макромодель же каскада должна вер¬
но -отражать лишь взаимодействие с внешними по отношению к
рассматриваемому каскаду элементами, сам же каскад -может
быть представлен «черным ящиком» или иметь структуру, в общем
случае не -зависящую от исходной принципиальной схемы. Таким
образом, под макромоделью будем понимать упрощенную модель
электронного узла или фрагмента БИС, связывающую его вход¬
ные и выходные характеристики [1.31].
Очевидно, нто исключение внутренних .переменных значительно
снижает размерность моделируемой -системы и, как следствие, по¬
зволяет существенно сократить временные затраты на моделиро¬
вание. Многократное результирующее снижение вычислительных
затрат открывает перед макромоделированием перспективы широ¬
кого применения для машинного расчета как (сложных электрон¬
ных систем, состоящих из стандартных микросхем, так и БИС.
Особенно привлекает с практической точки зрения при переходе к
макромоделям возможность использо¬
вания хорошо разработанного матема-
тического обеспечения в4 виде алгорит¬
мически реализованных известных ме¬
тодов машинного расчета и программ
с автоматическим формированием
уравнений модели. Действительно, на¬
личие макромоделей в общей библио¬
теке моделей позволяет рассматривать,
на уровне «элементарного» компонен¬
та целые каскады, не вызывая при
этом практически никаких программ¬
ных изменений.
Примерное представление о сокращении
вычислительных затрат при переходе к макро¬
моделям можно получить из рис. 4.1 (4.10], на
котором приведена сравнительная оценка уве¬
личения времени’ расчетов и требуемой памяти
на машине IBM 370/168 при возрастании слож¬
ности анализируемой схемы для случаев моде¬
лирования на компонентном уровне и с при¬
менением макромоделей. .
Однако такой подход, в свою оче¬
редь, требует решения ряда проблем,’
связанных с формированием макромоделей, определением их пара¬
метров и применением их для автоматизации электрического рас¬
чета. Краткая характеристика этих проблем и возможные пути их
решения составляют основное содержание данной главы.
95
4.1. Общая.характеристика методов макромоделирования
4.1.1. Факторные и электрические макромодели — два основных
класса макрамоделей, применяемых при проектировании сложных
электронных схем.
Факторная макрамодель [4.2] представляет собой совокупность
логических выражений и явных зависимостей выходных парамет¬
ров от внешних факторов (нагрузки, .напряжения питания, темпе¬
ратуры и др.).
Электрическая макромо^ель является электрическим эквива¬
лентом целого каскада, поэтому в дальнейшем анализе системы
применимы законы электрических цепей (законы Кирхгофа.). Элек¬
трическая макромодель представляет собой уравнения, связываю¬
щие токи и .напряжения • на внешних выводах моделируемого узла.
Структура электрической макромодели должна обеспечивать воз-
можйость ее непосредственного применения в программах машин¬
ного анализа электронных схем.
Факторные макромодели в основном применяются при анализе
цифровых устройств. С их помощью анализируют правильность
построения логических схем и временные диаграммы функциони¬
рования цифровых устройств [4.3].
В качестве примера факторной макромодели функционального узла приве¬
дем алгебраические соотношения, связывающие основные характеристики моде¬
лируемого узла с внешними факторами [4.2]:
Foi = /1 («> Ь, с); ■
$ = /2 (Q); = h (Q); 41 = /* (Q); 4° = /5 (Q) = h (Q);
«i = MQ) ;«°c = fa(Q),
где fi определяет логическое состояние схем в зависимости от набора входных
переменных a, Ь, с; /01зд и £10зд — времена задержек выходного сигнала моде¬
лируемого узла при переключении логических состояний; /01ф и /10ф — длитель¬
ности фронта и спада выходного сигнала; t3 — время восстановления (время
задержки, в течение которого входной импульс не влияет на ‘состояние схемы);
ис(1) и ис(0) — амплитуды выходного сигнала единичного и нулевого логических
уровней соответственно; Q — вектор внешних факторов, который может вклю¬
чать параметры входных сигналов, напряжения источников питания, спецвоздей-
С1вия, коэффициенты разветвления по входу и выходу и другие возможные
внешние по отношению к узлу- факторы. Более подробные сведения о фактор¬
ных макррмоделях и областях их применения приведены в [4.2—4.4].
Важно отметить, что факторные .модели удовлетворяют, в пер¬
вую очередь, логическим уравнениям, а электрические — уравне¬
ниям цепей, составленным в соответствии с законами Кирхгофа.
В настоящей работе рассмотрение вопросов макромоделирования
ограничено в основном электрическими 'макромоделями: .область
их применения более разнообразна. В дальнейшем нас будут ин¬
тересовать возможности их использования для электрического рас¬
чета сложных схем, в первую очередь БИС.
Прежде чем перейти *к классификации методов макромодели-
рования, кратко остановимся на -общих проблемах формирования
макромоделей, затем .сформулируем принципы классификационно¬
го разбиения.
-96
4.1.2. Проблемы формирования макромоделей. Отметим, что
с точки зрения общей теории систем -проблемы макро модели¬
рования совпадают с проблемами, идентификации объекта [4_.’5—
4.8]. Под идентификацией понимается процедура^ построения оп¬
тимальной .в -определенном -смысле математической модели объек¬
та по его входным и выходным данным. В общем случае .иденти¬
фикация предусматривает решение задач, необходимых для мак-
ромоделир овация, а именно: выбор структуры модели (структур¬
ная идентификация), определение значений ее параметров (пара¬
метрическая идентификация).
Выбор -структуры -модели или порядка «упрощенной» системы
без априорной информации об объекте является сложной задачей.
Задача оценивания параметров -при известной структуре (.напри¬
мер, коэффициентов дифференциальных уравнений модели) хоро¬
шо исследована в линейном случае [4.5—4.8]. Однако трудности
ее решения значительно возрастают при. определении параметров
нелинейных моделей, и особенно в динамическом 'случае.
Отметим, что проблемы идентификации нелинейных систем в
полной мере -присутствуют .при формировании макромоделей элек¬
тронных каскадов, так как в большинстве случаев моделируемые
каскады содержат -значительное число элементов с существенно
нелинейными характеристиками (например, экспоненциальные ха¬
рактеристики р—«-переходов диодов и транзисторов). С другой
стороны, специфика рассматриваемой задачи — наличие информа¬
ции, которую целесообразно 'использовать при идентификации.
Известны исходная, структура моделируемого. объекта и физиче¬
ские .принципы его функционирования. Использование такой ин¬
формации при формировании макромоделей дает им значительные
преимущества. Действительно, в этом случае при наиболее прос¬
той структуре -с наименьшим числом параметров могут быть учте¬
ны основные физические эффекты.
С учетом целевого назначения электрических макромоделей —
■их 'применения для машинного расчета схем высокой размерно¬
сти— макромодели должны удовлетворять следующим основным
требованиям:
— должны 'обеспечивать заданную погрешность -при наиболее
простой структуре (при малом числе параметров). Часто требу¬
ется минимальная погрешность модели для -заданной структуры;
— способ представления ма-иромоделей - (т. е. структура •••или
форма математической записи) должен обеспечивать возможность
ее непосредственного применения в программах машинного рас¬
чета с автоматическим формированием уравнений айалйзир'уемой
схемы.
4.1.3. Классификация методов макромоделирования. ;При фор¬
мировании электрических макромоделей необходимо, решить сле¬
дующие -задачи: определить исходную для расчетов- информацию,
выбрать структуру макромоделей-и определить их параметры.
Предлагается 'классифицировать методы формирования в соответ¬
ствии с характером решения- каждой из |перечисленных- задач.
4—112 ” -97
Направления решений этих основных задач макромоделирова-
ния имеют различные варианты (рис. 4.2). В зависимости от их со¬
четания получают макромодели с различными свойствами, отли¬
чающиеся .трудоемкостью формирования, степенью сложности и
адекватности моделируемого фрагмента схемы, .областью их при-
•менения.
Сбор информации о .схеме для макромоделирования осуществ¬
ляется на основе экспериментальных исследований 'изготовленных
микросхем или математического моделирования полных схем (чис¬
ленных экспериментов). Ответим, что .последний подход исклю¬
чает необходимость изготовления схемы, что в ряде случаев (на¬
пример, при макромоделйров'ании фрагментов БИС) является су¬
щественным достоинством. . .. '
Для определения структуры макромодели необходимо форми¬
ровать Индивидуальную структуру в зависимости от исходной
принципиальной схемы и заданной погрешности маиромоделиро-
вания или использовать стандарт¬
ную (фиксированную) структуру
для рассматриваемого класса объек¬
тов. К стандартным структурам
можно отнести соотношения вход-
выход, т. е. модели, представленной
многополюсником, размерность ко¬
торой определяется числом внешних
полюсов, или типовую структуру
данного класса схем — логических
. вентилей, операционных усилителей
и т. д, построенную независимо от
конкретно рассматриваемой принци¬
пиальной схемы.
Рис: 4.2. Основные задачи 'фор¬
мирования, макромоделей и на¬
правления их решения
Рис. 4.3. Наиболее распростра¬
ненные структурные схемы
макромоделирования
Очевидно преимущество макромоделей с индивидуальной
структурой — возможность учета конкретных особенностей схемы
и, как следствие, формирование более экономичных моделей (нуж¬
ная точность .обеспечивается при относительно малом числе пара-
•метров). Однако такой подход связан с-решением задачи струк¬
турной .идентификаций, которая, как- уже указывалось выше,
98
представляет в общем случае значительные математические труд¬
ности. Одним из .наиболее распространенных способов формир.0;
вания индивидуальной структуры макромоделей является так на¬
зываемый метод «упрощения» исходной полной принципиальной
схемы. В результате последовательного исключения отдельных
элементов в соответствии со степенью их влияния эквивалентная
схема макромодели в зависимости от требуемой точности содер¬
жит в этом случае лишь наиболее значимые. Определенные пред¬
посылки для формализации этого .процесса связаны с применени¬
ем аппарата расчета чувствительности.
Для расчета параметров (параметрической идентификации)
при макромоделйровании необходимо применять:
— методы определения параметров макромоделей по характе¬
ристикам вход-выход, не требующие значений параметров компо¬
нентов и .схемы их соединений. Параметры макромоделей могут
находиться пли из стандартных для рассматриваемого класса
схем соотношений [4.9], или из решения оптимизационных задач
по критерию наилучшего соответствия реальным выходным харак¬
теристикам с помощью традиционных .методов теории идентифика¬
ции [4.5—4.8]; ₽
— методы, в которых используются значения внутренних пара¬
метров схемы на компонентном уровне.
Особенностью задачи формирования макромоделей как задачи
идентификации является .наличие практически во всех случаях ис¬
ходной полной модели схемы и ее параметров на уровне компо¬
нентного описания. При использовании „этой информации макро¬
модели формируются в виде необходимых соотношений из полной
математической модели схемы с помощью обоснованных упроще¬
ний (свертывания исходной модели) .
Сочетание различных способов реализации каждого из трех
этапов приводит к разным группам .методов макромоделирования.
Результатом их применения являются макромодели, отличающие;
ся свойствами и назначением. На рис. 4.3. приведены в качестве
примеров наиболее перспективные схемы ‘макромоделирования.
Структура .на рйс. 4.3,а больше удовлетворяет формированию ти¬
повых конструктивно законченных микросхем .малой и средней сте¬
пени интеграции. К характерным особенностям в этом, случае сле¬
дует отнести использование .экспериментальных данных .и опреде¬
ление параметров макромоделей .по внешним характеристикам.
Наибольшее .распространение получили макромодели с типовой
структурой. Вариант с индивидуальной структурой показан на
рис. 4.3,а штриховой линией. Для макромоделирования фрагмен¬
тов монолитных БИС более предпочтительной является схема на
рис. 4.3,6. В этом случае (не требуются экспериментальные измере¬
ния, а используется исходная полная математическая, модель.'
К настоящему -времени уже .накоплен определенный опыт
практического применения макромоделей цифровых, и аналоговых
ИС (см., .например, [4.9—4.22]). Рассмотрим кратко; несколько
примеров электрических макромоделей,. ориентированных на ' из-
4* . ..0Q
вестные программы расчета электронных схем, <и охарактеризуем
их-с точки зрения приведенной классификации.
4.1.4. Макромодель логического ТТЛ-вентиля-НЕ—И [4.11] строится по сле¬
дующим принципам. Вентиль - (рис ■ 4.4,’ а) адекватно представляется уровнями
его выходного сигнала- и задержками. В частности, уровень выходного напряже¬
ния лог. 1 принимается равным 3,1 В, а лог. О — 0,3 В. В качестве порогов пе¬
реключения выбираются значения минимального входного напряжения лог. 1
1,9 В и лог. 0 0,8 В. Далее выбирается. простейшая эквивалентная схема (рис.
4.4, б), реализующая статическую передаточную характеристику вентиля и обес¬
печивающая переключение с заданными.задержками. В этой схеме значение на¬
пряжения Ei зависимого генератора определяется в соответствии с лог. состоя¬
ниями входов вентиля. Если хотя бы один из входных сигналов меньше или
равен 0,8 В, то Ei берется равным 3,1 В. Если оба входных сигнала превышают
1,9 В, то £1 = 0,3 В. При других состояниях входов Ei определяется разностью
уровня лог. 1 (3,1 В) й минимального .из входных напряжений*
л.; ■ Рйс. -4.4. Принципиальная схема и логическая -функция ТТЛ-венти¬
ля (а) и упрощенная эквивалентная схема — макромодель ТТЛ-
.... вентиля (б) . ’
. . Задержка вентиля определяется постоянной времени цепи Я1мС1м. Варьиро¬
ванию одного из этих параметров обеспечивает изменение задержки в соответст¬
вии 'с экспериментальными результатами. -Генераторами токов 1а и 1в модели¬
руется г входная цепь (эти токи могут быть описаны уравнениями диодов). Вы¬
ходное’ напряжение Е2 равно‘напряжению на конденсаторе 'Сш, определяет
выходное. сопротивление, а генератор 10 введен для частичного учета изменения
1 режимов:-.выходной цепи вентиля.
Определим рассмотренную макромодель 'в соответствии *с приведенными
классификационными признаками: макромодель имеет типовую структуру (та
.же. макромодель в равной мере применима, по существу, к широкому классу
^логических вентилей, различающихся принципиальными схемами), параметры
макромодели (например, ’значения 7?1м, Cim) определяются из внешних характе¬
ристик (например, по. заданному значению времени задержки- /Зд), используе¬
мые ’ колйчёственйЫё оценки внешних характеристик получены усреднением экс¬
периментальных измерений.-Методика формирования такой макромодели в пол¬
ной мере соответствует структурной схеме на рис. 4.3, а. Макромодель выпол¬
нена в виде электрической, эквивалентной схемы в полном соответствии с зако¬
нами Кирхгофа.
В соответствий с требуемой ’ точностью совпадения ’ с’ характеристиками
реального вентиля' в элементах эквивалентной схемы могут использоваться те
или иные нелинейные зависимости. Благодаря своей.простоте такая макромодель
может с успехом использоваться .для расчета больших электронных систем на
том уровне, при котором погрешность моделирования можно’ считать* несущест-
Uoo
венной. С помощью тех же принципов могут быть получены макромодели более
сложных схем (например, триггерных ИС)._ Макромодель в виде эквивалентной
схемы для D-триггера {4.11] приведена на рис. 4.5, в. Элементы этой эквивалент¬
ной схемы имеют то же значение, что и в макромодели вентиля. Значение на¬
пряжений генераторов Ei и Е2 определяются таблицей истинности (рис. 4.5, б).
Очевидно, что для другого типа триггера потребуется в первую очередь изме¬
нить зависимость напряжений этих генераторов в соответствии с таблицей истин¬
ности. При таком подходе сложность макромоделей определяется, в основном,
количеством входов и выходов рассматриваемой схемы и мало зависит от слож¬
ности ее внутренней структуры.
Рис. 4.5. Функциональная схема D-триггера (а) (р — информацион¬
ный вход, SET — .установочный, RS — сброс, СК — тактовый),
таблица истинности триггера (б) (tn — временной интервал до по¬
ступления тактового импульса, — после поступления) и экви¬
валентная схема — макромодель D-триггер а (в)
4.1.5. Стремление расширить возможности макромоделей, сохранив, в каче¬
стве их основного преимущества экономичность, вызвало появление новых мак¬
ромоделей цифровых ИС *(см., например, работы [4.15, 4.16, 4.19, 4.22]). На рис.
4.6, а приведена эквивалентная схема «улучшенной» макромодели ТТЛ-вентиля
Рис. 4.6. Вариант макромодели ТТЛ-вёнтиля (рис.. 4.4, а) .
101
. на рис. 4.4, а {4.15]. Входная цепь моделируется сопротивлением /?вх, значение
которого равно '
где Вип — напряжение источника питания; и(°)Вых — номинальное выходное на¬
пряжение уровня лог. 0; 7<°)вх — номинальный входной ток для этого уровня
напряжения.
Сопротивление эквивалентно сопротивлению Т?2 в исходной схеме (см.
рис. 4.4, а), <?м« — генератор тока, управляемый входным напряжением. Его за¬
висимость от входного напряжения определяется вольт-амперной характеристик
кой коллекторного тока Т2 (рис. 4.6, б) и получается из кусочно-линейной ап¬
проксимации зависимости напряжения на коллекторе Т2, В качестве управляю¬
щего напряжения выбирается минимальное из входных. См является эквивален¬
том суммы емкостей коллектора Т2 и определяет инерционность вентиля. Зна¬
чение См вычисляется в соответствии с выходным импульсом схемы (рйс. 4.6, г),
форма которого задается экспонентой:
«вых (0 = («(1) — «<0)) {1 — ехр [ — //(Ям См)]}.+ а(0).
Выходное сопротивление равно.
ЛЧ(Е„ - J '
где gRbx — входное сопротивление, определенное ранее; ^°)тах и — макси¬
мальное и минимальное напряжения низкого выходного уровня; N — нагрузоч¬
ная способность вентиля. Выходной генератор тока Сои задается кусочно-линей¬
ной аппроксимацией зависимости выходного напряжения, деленного на 7?вых,
от напряжения на коллекторе Т2 (рис. 4.6, в). В |[4.15] приведены типовые пара¬
метры ТТЛ-вентиля на рис. 4.4, а: 7?вх=4 кОм, 7?м=1,6 кОм, |/?ВЫх=57 Ом,
См=2,55 пФ.
При использовании этой макромодели для анализа цифровой схемы, имею¬
щей 257 узлов, временные затраты были уменьшены в 15 раз по сравнению с
моделированием на компонентном уровне при хорошем совпадении результатов
[4.15]. Макромодель на рис: 4.6, а является более гибкой по сравнению с приве¬
денной ранее (рис. 4.4, б). Большая часть параметров макромодели определяет¬
ся из выходных характеристик вентиля. В соответствии с предлагаемой класси¬
фикацией ее можно отнести к схеме макромоделирования на рис. 4.3, а, но с
индивидуальной структурой (блок 2.1 на рисунке показан штрихом). Действи¬
тельно структура макромодели выбиралась в соответствии с особенностями ра¬
боты рассматриваемой схемы. Наиболее важные элементы исходной схемы, та¬
кие как сопротивление R2, коллекторный ток Т2, участвуют в макромодели
(Rm, Непосредственное использование, макромодели с этой же структурой
для других схем невозможно.
Рассмотрев две различные макромодели одной схемы ТТЛ, от¬
метим целесообразность хранения в библиотеке моделей для рас¬
пространенных микросхем макромоделей, отличающихся слож¬
ностью, точностью и областью применения,
Другим примером’ разработки макромоделей цифровых бипо¬
лярных каскадов и оптоэлектронных ключей с индивидуальной
структурой является, работа [4.22]. Обратим внимание, что в рас¬
смотренных микромоделях можно четко, выделить входную и вы¬
ходную цепи, а .также цепь, обеспечивающую передаточную харак¬
теристику с требуемой задержкой. Такая-блочность представления
макро моделей может оказаться' полезной в связи с возможностью
обобщения. На'рис. 4.7 приведен один из вариантов структурной
схемы макрамоделей.цифровых ИС. (ЦИС). При частичном- изме- i
Л02 • I
•нении исходной принципиальной схемы в макромодели .может мо¬
дифицироваться лишь соответствующий блок. Например, «может
быть уточнена входная цепь макромодели (рис. 4.6) введением не¬
линейных элементов -при сохранении рассмотренной структуры пе¬
редаточного звена.
Рис. 4.7. Структурная схема макромоделей цифровых интегральных
схем
4.1.6. Такая же методика может быть применена, при формировании макро¬
моделей аналоговых каскадов. В частности, схему на рис. 4.7 можно рассматри¬
вать как типовую й для макромоделированйя операционных усилителей (ОУ).
Первый- блок моделирует входные характеристики ОУ, последний — его выход¬
ные характеристики, а эквивалентные схемы промежуточного блока моделируют
усилительные, динамические и частотные характеристики ОУ.
Эффективность ряда макромоделей ОУ была подтверждена при практиче¬
ской проверке (см. например, |[4.9, 4.12—4.14]). На рис. 4.8 приведена упрощен¬
ная эквивалентная схема (макромодель) ОУ типа piA-741, которая существенно
меньше полной схемы ОУ и отражает основные характеристики с достаточной
точностью. Приведенная макромодель имеет 19 параметров и 26 уравнений
[4.9, 4.12], связывающих параметры макромодели с внешними характеристиками.
Вх одной
Рис. 4.8. Макромодель ОУ типа gA-401
Важно отметить, что раздельное моделирование характеристик ОУ в соот¬
ветствии со схемой на рис. 4.7 позволяет независимо формировать эквивалент--
ные схемы для каждого из каскадов. Состав и сложность таких эквивалентных:
схем определяется требуемой точностью макромоделей, областью их примене¬
ния, а значения параметров зависят от конкретно рассматриваемого ОУ. Таким'
образом, можно легко получить иерархический ряд макромоделей ОУ, отличаю¬
щихся сложностью и погрешностью аппроксимаций основных характеристик ис¬
ходных полных схем. На рис. 4.9 в качестве примера приведены по три вариан¬
та схемной реализации каждого из типовых блоков. На рис. 4.10 показан воз*
Ложный вариант макромодели ОУ, состоящей из таких блоков,
103
Таким образом, рассмотренные макромюдели представляют со*
бой эквивалентные схемы типовых каскадов, состоящие из двухпо¬
люсных элементов.. Такое представление обеспечивает возмож¬
ность .их применения в известных программах машинного аналит
Рис. 4.9. Типовые каскады макромоделей ОУ:
Входные: моделирование входного сопротивления (1), полного входного дифференциаль¬
ного сопротивления ОУ (2) и входного каскада с включением дифференциального каскада
</эд сумма эмиттерных токов транзисторов) (3).
Промежуточные: идеализированное моделирование ОУ [/4(«вх)] (1), моделирование частот¬
но-зависимого усиления и фазы (2) и ограниченного зарядного тока (/г пропорционален
URi) (3).
Выходные: простейшая модель (1), модели с учетом полного выходного сопротивления (2)
и с зависимым от частоты выходным сопротивлением и ограничением амплитуд выходного
тока и напряжения (3).
104
за для расчета характеристик сложных электронных систем (см.,
например, [4.21]). По сравнению с моделированием на компонент¬
ном уровне использование таких макромоделей позволяет значи¬
тельно сократить .вычислительные затраты. Для упрощения запи¬
си исходной для расчета информации •макрюм-одели- такого типа
могут быть представлены многодолюсными подсхемами <в соответ¬
ствии .с принципами, изложенными в предыдущей главе.
Рис. 4.10. Макромодель ОУ, составленная из типовых кас¬
кадов: 1-1, П-2, Ш-1
Как следует из приведенных примеров, составление упрощен¬
ных эквивалентных 'схем требует понимания физических принци¬
пов работы моделируемых каскадов, а при разработке индивиду¬
альной структуры макромоделей их детальных исследований.
Параметры макромоделей определяются по результатам изме¬
рений -внешних -характеристик. Методически способы .определения
параметров совпадают с известными подходами решения такой же
задачи для отдельных .компонентов [1.31]. Методы прямого изме¬
рения .применяются, когда параметры, макромоделей можно непо¬
средственно найти из электрических измерений в установленных
для каждого параметра режимах. Во многих случаях .применяют¬
ся методы определения параметров, включающие оптимизацион¬
ные алгоритмы. При этом задача сводится к определению таких
параметров, которые обеспечили бы наилучшее совпадение резуль¬
татов измерений с характеристиками макромоделей. Очевидно, что
с .усложнением каскадов ’(в первую очередь, с увеличением числа
его входов и выходов) объем экспериментальных исследований
резко .возрастает.
4.1.7. В связи с необходимостью’ формализовать определение параметров
макромоделей, обеспечивающих наилучшее приближение характеристик макро¬
модели к реальным, приведем формулировку оптимизационной задачи, к которой
в большинстве случаев такое определение сводится.
Рассчитаем параметры макромоделей по внешним характеристикам. Пусть
макромодель, с определенной точностью описывающая электрическую схему,
представляет собой систему уравнений .
1 (х, р) =.0 ; у = <р (х, р), ■ (4.1)
где x=[xi, ..., xs]T — вектор переменных состояния; p=(Pi, Ртр — вектор па¬
раметров макромодели;' s и tn — размерности векторов х и р соответственно;
У=Ь, ...» — вектор внешних измеряемых характеристик, v — его размер¬
ность. . . '
Пусть имеется набор экспериментально снятых, (или найденных численно)
значений вектора у •••> где j=l, /; I число измерений. Задача
105
заключается в определении такого’ значения вектора р*, которое обеспечило бы
наилучшее совпадение вектора у с результатами измерений. Наиболее часто
применяют квадратичный критерий минимизации, т. е. минимизируется функция,
являющаяся квадратом невязки выходной переменной модели и соответствую¬
щего измерения у:
I v
Ф = X 2 У/)2“Ь (4-2>
J=1 t=l
где otf — весовой коэффициент для^’-й переменной у.
Таким образом,- задача определения параметров макромодели формулирует¬
ся как задача нелинейного программирования, т. е. нужно найти значение век¬
тора р*, которое минимизировало бы функцию (4.2) Ф*=ш1пФ при уравнениях
Р,У .
связи (4.1) и ограничениях на область определения р: pmin^p^pmax- Задача
может быть решена с использованием известных численных методов (см., напри¬
мер, [В.1, 4.24—4.26]).
Приведенная здесь модель (4.1) соответствует статическому' случаю (на¬
пример, yj — результат /-го измерения статической передаточной характеристи¬
ки). Аналогично формулируется задача в случае динамической макромодели
при определении параметров системы ОДУ. В этом случае приходится решать
.более сложную с вычислительной точки зрения задачу оптимизации во времен¬
ной области. .
Рассмотрим пример настройки параметров макромодели на рис. 4.10 по за¬
данной частотной характеристике оптимизационными методами для ОУ 140УД6
(4.23]. В качестве критерия оптимизации выбиралось минимальное расхождение
.амплитудно-частотных характеристик полной модели ОУ и макромодели:
I
Ф = 2 [Ким (<0j) - Кип (©у)]®, ’ (4.3)
/=1
где Kuu(a)j) и Ким(<йэ) — частотные зависимости коэффициентов усиления по
напряжению соответственно для полной модели ОУ й его макромодели; <0; —
набор частотных точек, для которых при расчете задавались значения Кии (в
Рис. 4.11. Частотные зависимости коэффициентов усиления по
напряжению для ОУ 140УД6 (——) и его макромодели
(00 00), представленной на рис. 4.10 до (а) и после (б) при¬
менения оптимизационных методов. *
Приведены начальные и’конечные'.значения, параметров макромодели
и нормы невязки (4.3)
приводимом примере 16 точек). Для исходного вектора; параметров рассогла¬
сование характеристик макромодели и полной схемы представлено на рис.
4.-11, а. Конечный результат оптимизации приведен на рис. 4.11, б. Поиск осу¬
ществлялся методом Флетчера—^Пауэлла J4.24—4.26] и потребовалось 6 шагов.
Результаты аналогичной настройки параметров макромодели на рис. 4.4, б
ТТЛ-вентиля на рис. 4.4, а с помощью оптимизационных методов во временной
области показаны на рис. 4.12. В приведенном примере определялась зависи-
мость емкости макромодели С1м (рис. 4.4, б) от значения ^1, обеспечивающая
наилучшее совпадение переходных характеристик исходной схемы и макромо¬
дели.
Рис. 4.12. Переходные характеристики ТТЛ-вентиля, рассчитанные
по полной модели (0) и по макромодели ( + ) до (а) и после (б)
оптимизации параметров
• 4.1.8. Примером схемы макромоделирования с учетом исходных
компонентных уравнений являются макромодели базовых логиче¬
ских элементов МДП БИС [4.17]. Основное звено макромодели
реализует .передаточную характеристику в виде функции
“вых (^i) = ф [“вх (^i)> “вых (^г—1)]>
т: е. аналитической зависимости выходного .напряжения в каждый
момент времени от входного и выходного напряжений в некоторый
предшествующий момент. Соотношение вход-выход в виде указан¬
ной зависимости получается в результате решения дифференци¬
ального уравнения для каждого вентиля. Параметры такого урав¬
нения непосредственно связаны с исходными .параметрами компо¬
нентов-схемы. Такая .связь является важным преимуществом мак-
ромодели и схемы макромоделирования .на рис. 4.3,6 в целом для
практического .проектирования. В данном случае связь с такими
физическими параметрами, как толщина окисла, плотность кон¬
центраций, .й другими обеспечила возможность решения столь
107‘
сложной для БИС вычислительной задачи, как .статистический
анализ методом Монте-Карло.
4.1.9. Подведем краткие итоги рассмотренного. К достоинствам
макромоделей, формируемых по результатам экспериментальных
исследований (рис. 4.3,а), следует отнести: значительное сниже¬
ние размерности походной задачи машинного расчета и, как след¬
ствие, возможность оперативного моделирования сложных систем;
возможность их применения в составе библиотеки моделей в про¬
граммах с .автоматическим формированием уравнений. Таким об¬
разом, хорошо разработанный аппарат машинного анализа с при¬
менением макромоделей может быть распространен для расчета
электрических характеристик сложных систем. Однако при таком
подходе предполагается, как уже отмечалось, большой объем
предварительных экспериментальных измерений, что является его
очевидным недостатком.
Отмененные черты макромоделирования по экспериментальным
данным позволяют определить область применения такого подхо¬
да. В первую очередь, его преимущества проявляются при форми¬
ровании макромоделей типовых конструктивно законченных ИС
малой и средней степени интеграции. Действительно, необходимые
для макромоделирования предварительные экспериментальные ис¬
следования в этом 'случае быстро' оправдывают себя в связи с воз¬
можностью многократного применения макромоделей для расчета
электронных систем, состоящих из типовых ИС.
Легко провести аналогию макромоделирования .при анализе
сложных электронных систем с традиционным машинным расче¬
том электрических характеристик ИС. .Если при проектировании
собственно ИС в качестве компонентов выступают, например, тран¬
зисторы, диоды, резисторы и т. д. и для расчетов применяются их
типовые модели [1.31] (например, модель Эберса— Молла для
биполярного транзистора), то при проектировании систем в каче¬
стве компонентов выступают .конструктивно законченные ИС, а
для расчетов следует применять уже их упрощенные модели, т. е.
■макромодели.
В других случаях предварительные экспериментальные после-.
давания существенно ограничивают разработку макромоделей.
Так, если щелевым назначением макромоделей является описание
фрагментов монолитных БИС для дальнейшего расчета их элект¬
рических характеристик, то необходимые для рассмотренного под- ■
хода экспериментальные данные, как правило, отсутствуют. По¬
становка соответствующих экспериментов требует значительных
материальных и временных затрат. Такие-эксперименты тем более
■не оправданы, так как в БИС трудно выделить типовые фрагмен¬
ты, не 'Изменяющиеся от серии к серии. Это означает, что в отли¬
чие от расчета систем, включающих типовые ИС, .эксперименталь¬
ные измерения для макромоделей фрагментов БИС пришлось бы,
как правило, повторять при .проектировании новой БИС.
Более предпочтительным для макромоделирования фрагментов
БИС является использование исходной полной математической
108
модели фрагмента на уровне-.компонентов (рис. 4.3,6). В этом слу¬
чае, как указывалось, для определения параметров макромоделей
конкурируют два подхода. Подход, связанный .с определением па¬
раметров по выходным характеристикам (блок 3.1), требует для
формирования динамических макромоделей интегрирования урав¬
нений модели полной схемы и решения оптимизационной задачи
во временной области по критерию наилучшего совпадения вы¬
ходных характеристик макромодели и исходной модели. Решение
такой задача! связано с известными' трудностями и во многих слу¬
чаях с большими затратами.-Другой возможностью является фор¬
мирование соотношений для макромодели по компонентным урав¬
нениям полной модели (блок 3.2). Полученные , соотношения, как
правило, сохраняют исходный физический -смысл параметров и
позволяют установить связь между параметрами макромодёли и
компонентов моделируемой схемы. Эти преимущества позволяют
считать, что развитие такого подхода является весьма перспектив¬
ным для макромоделирования фрагментов БИС.
Важным аспектом макромоделирования является проблема
автоматизации формирования м-акромоделей (АФМ). Оперативная
разработка макромоделей в первую очередь необходима в случае
фрагментов монолитных БИС, и решение этого вопроса в значи¬
тельной степени определяет успех этого направления машинного
расчета БИС. Для АФМ. с помощью методов, в которых исполь¬
зуются экспериментальные измерения (рис. 4,3,а), необходимо
применять системы автоматизации измерений динамических ха¬
рактеристик. Разработка такой программно-управляемой системы
представляет собой самостоятельную техническую задачу. В мето¬
дах, в которых используются полные математические модели (рис.
4.3,6), не требуются дополнительные технические средства. Для
АФМ достаточным условием является разработка формальных ме¬
тодов перехода от полной модели электронного каскада или фраг¬
мента БИС к его упрощенной модели. Отметим, что АФМ может
быть с успехом использована не только для фрагментов БИС, но
и в других случаях, когда эксперименты затруднены.
4.2. Синтез макромоделей фрагментов БИС по их полным
математическим моделям
Рассмотрим возможный подход для автоматического формиро¬
вания макромоделей по исходным полным математическим моде¬
лям фрагментов БИС. Покажем, что для этой цели может быть
применен аппарат метода многополюоных подсхем, рассмотренный
в гл. 2.
Результатом макромоделирования должно явиться исключение
внутренних переменных (внутренних узлов) рассматриваемой под¬
схемы и формирование соотношений вход-выход, иначе говоря, за¬
дача- заключается в формировании вектор-функции
1=?б(У. У) (4.4)
109
из полной математической модели подсхемы
f (у, у х,х)=0 ;
I=h (У, У, х,х),
(4.5)
/(4.6)
оде х и у — векторы внутренних и внешних переменных, характе¬
ризующих состояние подсхемы, например векторы узловых .потен¬
циалов. В этом случае I — вектор полюсных токов, -a f — 'сумма
токов в узлах. Размерности f их .соответствуют числу внутренних
узлов N, а размерности I и у— числу внешних выводов v (полю¬
сов подсхемы).
.Обратим внимание, что применение метода многопол'юсных
подсхем для формирования соотношений (4.4) достаточно естест¬
венно*. В методе подсхем, как указывалось, предполагается раз¬
биение исходной системы высокой размерности на подсистемы с
дальнейшим последовательным исключением внутренних перемен¬
ных отдельных подсистем на каждом шаге интегрирования или
итерационного процесса.. Формирование .макромоделей (4.4) также
сводится фактически к исключению внутренних переменных из
системы (4.5), (4.6). Однако в последнем случае такое .исключе¬
ние- должно осуществляться однократно с учетом режимов даль¬
нейшего применения макромоделей.
Рассмотрим применение метода подсхем при формировании
макромоделей в виде вектор-функции (4.4) последовательно для
линейного, .нелинейного, статического и динамического случаев.
4.2.1. Статические макромодели. Линейная цепь. В этом слу¬
чае нужно получить соотношение (4.4) в виде
(4-7)
(где Gy=dg/dy) из математической модели
Fx х + у = 0; I = у+Нл х,
где
(4-8)
Очевидно, что в данном случае макромодель ..полностью опре¬
деляется матрицей Gy размерностью' [vXv]. Эта матрица легко
вычисляется по известной методике исключения внутренних пере¬
менных методом подсхем (см. §2.1):
• (4.9)
В дальнейших .расчетах .больших схем, состоящих из многополюс¬
ных подсхем, используются матрицы такого вида. В рассмотрен¬
ном случае процесс макромоделирования полностью .совпадает с
.операциями метода подсхем. ;
Нелинейная цепь. В этом случае .матрица Gy является функци¬
ей режима, т. .е. зависит от у, поэтому наиболее удобной формой
представления макромодели является вектор-функция 1==£(у).
по
Для исключения внутренних переменных хот из уравнений вход-
выход (4.6) в статическом случае нужно решать -систему транс¬
цендентных ураннений
f (х, у) = 0, - J4.10)
где вектор .внешних переменных у фигурирует в качестве парамет¬
ра. Искомая вектор-функция I=h(xCT(y), у) определяется в ре¬
зультате решения (4.10)' при различных у. Функция gci(y) или
хранится в табличном виде (с дальнейшей интерполяцией .при ис¬
пользовании), или аппроксимируется удобными функциональными '
зависимостями. Неопределенная матрица проводимостей Gy од¬
новременно вычисляется аналогичным (4.9) исключением внут¬
ренних переменных при каждом у или получается непосредствен-,
ным дифференцированием ' аппроксимированной зависимости
ё'ст(у), что требует .существенно меньших затрат памяти.
4.2.2. Динамические макромодели для линейных схем. Исход¬
ная математическая модель подсхемы (4.5), (4.6) в этом случае
имеет вид
Fii + Fa:x+F-y + F^y = O; (4.11)
1 = Н>+Нях-+Н-у + Нуу, (4.12)
где
с. __ . с. — df . тл._ dh . и _
F V • 9 * ti ~ • 9 -- • 9 -П-,’, - ’ •
х дх у ду х д х у ду
Рассмотрим формирование макромодели для частотного анали¬
за—наиболее распространенного вида анализа линейных цепей.
Перейдем к комплексной форме уравнений (4.41), (4.12) [x(f) ==
= Х(р),у(,/)=У(р), 1(0 = Z(p)]:’>
(рР^Рж)Х(р) + (рР-+^)У(р) = О; ' (4.13);
I (р) = (р Нх 4- Ня) X (р) + (р Н- + Ну) Y (р). (4.14)
Суммы в скобках представляют собой комплексные проводимо¬
сти.
Наиболее удобным для дальнейших расчетов является пред¬
ставление макромодели в виде комплексной матрицы Gy(p) раз¬
мерностью [vXv] [2.8], в которой действительная и мнимая части
каждого элемента аппроксимируются полиномами. По аналогии со
статическим случаем • (4.9) в результате исключения методом под¬
схем имеем следующий вид матрицы Gy(p):
Gy (р) == [Ну+р Н-]—[Нх + pH-] [Fx+р Fij—1 [Fj,+р F^]. (4.15)
Очевидно, что при р=0 получим совпадение с выражением (4.9).
1 Результатом последующих выкладок является макромодель в виде матри¬
цы коэффициентов. Так как по условию рассматривается линейная система с
постоянными матрицами коэффициентов, очевидно, что окончательное выраже¬
ние не зависит от выбранной точки линеаризации для уравнения (4.5), (4.6).
В дальнейшем для сокращения записи положим хо=О, уо=О.
-111
Рассмотрим низкочастотное приближение (|р|—>-0) и поставим
цель определить линейное приближение полиномов, аппроксими¬
рующих элементы матрицы Gy(p), т. >е. вычислить коэффициенты
матрицы 'вида Gy(p)=B+pC. Для этого, учитывая малость |р|,
используем ■согласно лемме Неймана [В. 12, 4.27] разложение в
ряд с точностью до линейных членов .обратной матрицы:
[Fx+pFip1« F-1 [Е—pF-1 F-] +; (4.16)
где Е — единичная матрица, t
■ .Подставляя результат разложения в исходную формулу (4.15),
получаем
GHp) = [H, + pH-]-lHa + pH;e]F?1[E-pF-1Fr][Fy + pFs].
(4.17)
Выделяя в (4.17) свободные члены и коэффициенты при первой
степени р, получаем искомые выражения для матриц В и С:
B = Hs-HKF71Fi,; (4.18)
С = Н^-Н% F^-H^fF.-F^F,]. (4.19)
Совпадение выражений (4.18) и (4.9) 'естественно) так как мат¬
рица В отражает активную составляющую матрицы проводимо¬
стей Gy, Матрица С характеризует реактивную составляющую
Gy (в случае метода узловых потенциалов имеет смысл матрицы
емкостей). Таким образом, выражения (4.18) и (4.19) определяют
формулы пересчета при переходе от полной модели многополюс¬
ной подсхемы к макромодели, т. е. внешним (полюсным) харак¬
теристикам.
Качественное представление о частотном диапазоне применения такой мак¬
ромодели может быть получено из условия, при котором справедливо соотно¬
шение (4.16),
. (4-20)
В простейшем одномерном случае (например, исходная подсхема представляет
собой /?С-цепь) неравенство (4.20) имеет вид 'toiRC<l (где со — круговая ча¬
стота). Иначе говоря, в этом случае граница применения макромоделей совпа¬
дает с верхней граничной частотой полосы пропускания таких цепей ('сов=
=т-1=(ЛС)-').
Следует отметить, что, используя старшие члены разложения
(4.16) и соответствующие сомножители (4.1'5), легко вычислить
матричные .коэффициенты при следующих степенях р для функции
Gv(p). Следовательно, такой подход позволяет формировать мак-
ромодель подсхемы в соответствии с рабочим частотным диапазо¬
ном ее применения или, например, по заданной погрешности моде¬
лирования в заданном частотном диапазоне.
4.2.3. Формирование динамических макромоделей для нелиней¬
ных схем. Упрощенную модель (макромодель) по аналогии с пре¬
дыдущим 'случаем будем .искать в виде .
I = gct(y) + C(y)y, (4.21)
112
где (.первое слагаемое 'Представляет собой статическую модель, а
второе определяет динамический в'клад токов. Модель в таком ви¬
де наиболее удобна , для дальнейшего применения в программах
машинного расчета.
Способ формирования статической .модели рст(у) да'н в п. 4.2.1.
Задача заключается в определении элементов матрицы С (у). Не¬
посредственное исключение переменных х и х в этом случае невоз¬
можно. Воспользуемся для вычисления матрицы полюсных емкос¬
тей формулой сложной производной, которая неоднократно нами
применялась для определения полюсных матриц методом подсхем
(2.12), (2.21). Применительно к выражению (4.6) эта формула
имеет вид
С=— = НЯ—+ НХ—+Н-. (4.22)!
[dy ду ду
Формула (4.22) фактически дает правило пересчета внутрен¬
них емкостей в полюсные. Исключению внутренних переменных (и
соответствующих дифференциальных уравнений (4.5) при форми¬
ровании характеристик вход-выход) соответствует исключение
внутренних реактивных элементов подсхемы и вычисление резуль¬
тирующей полюсной .матрицы dhldy. Следовательно, при макро¬
моделировании в этом -случае необходимой предпосылкой является
относительная безынерционность внутренних переменных. Иначе
говоря, можно считать, что внутренние переменные макромодели
х являются в каждый момент времени функциями только полкм>
ных переменных х=х(у), а производные х равны х= (дх/ду)у.
Используем далее вытекающее отсюда условие
дх/ду = дх/ду. (4.23)
Для’ определения матриц коэффициентов влияния в (4.22) про¬
дифференцируем исходную Систему (4.5) по параметру у:
Fi-^+F^+F^O. ’ (4.24)’
ду аУ
С учетом приведенного условия (4.23) имеем
fF-~F4F«77+F»> <426)
Подставив эт.о значение в (4.22) ,■ с учетом (4.23) получим оконча¬
тельное выражение для матрицы С (у):
С(у)= [н. + н^-н.нф 4r + FJ- (4-26):
Все матрицы, входящие в правую часть выражения (4.26), явля¬
ются функциями переменных х (у) и у. Матрица коэффициентов
113
влияния dx/dy находится из статических уравнений .одновременно
с формированием функции gci (у):
dx/dy=-F?Fg. (4.27)
Достоинством приведенного способа формирования динамиче¬
ских макромоделей можно считать фактическое сведение к .стати¬
ческой задаче, что снимает ряд трудностей, связанных с решени¬
ем аппроксимационных задач во временной области. Отметим, что
результирующая Формула (4*26) .совпадает с аналогичной форму¬
лой для полюсных емкостей, полученной методом возмущений
[4.28].
Рассмотрев <в качестве частного случая применение формулы
(4.26) для линейной системы; .получим совпадение фор-мул (4.19)
и (4.26) для расчета реактивной матрицы многополюсника. Дейст¬
вительно' в этом случае матрица С не зависит от режимов на по¬
люсах у, а с учетом значений коэффициентов влияния дх/ду (4.27)
легко перейти от (4.26) к (4.19). Этот вывод говорит о примерном
совпадении точности и динамического диапазона макромоделей в
обоих случаях формирования (действительно, упрощающие пред¬
посылки св линейном и нелинейном случаях, практически совпа¬
дают) .
Рассмотрим применение формулы (4.26) для вычисления матрицы полюсных
емкостей на примере простейшей Л?С-цепи (рис. 4.13, а). Структурно исходные
матрицы емкостей С и проводимостей G в соответствии с введенными обозна¬
чениями имеют следующий вид:
F*
1 CCJ
F -1
F .
X
У
н.
Н‘
X
У
Пусть для простоты емкости и проводимости схемы имеют единичные зна¬
чения. Тогда элементы приведенных матриц имеют следующие численные зна¬
чения:
2 — 1
— 1
0 0
— 1
2
0-
1 0
— 1
0
1
0 0
0—1
0
1 0
0
0
0
0 0
1
0
0
0-
-1
0
1
0 :
0-
-1
0 ‘
0
1
0’-
-и
0
0
0
1-
-1
— 1-
-1
— 1-
-1
4
а матрица коэффициентов влияния дх!ду и обратная матрица проводимостей
д х
Фу
2/3 1/3 0
F71 =
1/3 2/3 0
» х
2/3 1/3
1/3 2/3
X
• -\ Согласно формуле (4.26) для определения матрицы полюсных
емкостей • вы-
полняются следующие вычисления:
Н. н.
у ■ х
1
0
— 1
0
0
С(у) =
0
1
— 1
+
0
0
— 1
— 1
4
— 1 —
1
X
дх/ду
2/3 1/3 О
1/3 2/3 О
— 1 О
0—1
О О
гх
X
д х/д у
У
2/3 _J/3
1/312/3
X
1 0
0 1
X
2/3 1/3 0
1/3 2/3 0
+
1 о о
о о
.1 1
1—* Н-1
=
14/9 4/9 —2
4/9 14/9 — 2
— 2 — 2 4
Здесь исходные матрицы постоянны, и достаточно однократного вычисления
полюсной матрицы. Если бы исходная цепь была нелинейной, то аналогичные
вычисления нужно было провести для различных значений вектора у. На рис.
4.13, б .приведена эквивалентная цепь, соответствующая вычисленным значе¬
ниям полюсной матрицы.
Рис. 4.13. Пример .7?С-цепи (а) упрощенная эквивалентная схе¬
ма, для которой вычислены полюсные емкости (б)
С точки зрения возможностей повышения точности макромоде-
лей операциям увеличения степени- полинома в последнем случае
соответствует формальное введение в число полюсных узлов одно¬
го или нескольких внутренних, т. е. вместо типовой структуры,
размерность 'которой определяется числом внешних выводов фраг¬
мента, может быть .рассмотрена индивидуальная структура макро¬
модели, порядок которой зависит от заданной .погрешности. По¬
следовательность вычислений при формировании не меняется. По¬
лученная в таком случае макромодель представляет собой подсхе¬
му, содержащую эти узлы в качестве внутренних. Сохранение в
них реактивных элементов позволяет при необходимости более
точно учесть инерционность соответствующих переменных.
Таким образом, понятие макромодели (упрощенной математи¬
ческой модели) .может быть расширено, т. е. макромодель может
представлять собой не только уравнения вход-выход многополюс¬
ника, а собственно подсхему, размерность которой уменьшена по
сравнению с исходной. Такой вариант подчеркивает .связь двух
подходов к .расчету .сложных схем — метода подсхем и макромо-
делирования. В целом автоматизация формирования .макромоде-
лей в виде (4.21) с применением рассмотренной .методики вклю¬
чает следующие этапы. .
115
В области определения полюсных переменных, у фиксируется
ряд значений. Для каждого из этих, значений выполняются сле¬
дующие операции:
— рассчитывают статический режим .подсхемы, т. е. вычисляют
значение вектора хст и соответствующий ему вектор полюсных то¬
ков l = gCT(y);
— находят производные дхст/ду из решения системы линейных
уравнений Fx CT6xOT/(3y+F1/=0 -по окончании итерационного про¬
цесса решения трансцендентных уравнений, моделирующих стати¬
ческий режим; *
— автоматически формируют динамическую модель подсхемы,
т. е. матрицы проводимостей Fx и емкостей F^hF?;
— вычисляют и запоминают матрицу емкостей С (у) по форму¬
ле (4.26);
—- проверяют, во всех ли точках статической характеристики
проведены расчеты;
— по окончании циклов расчета найденные значения gCT (у) и
С (у) или запоминаются в табличной форме (с дальнейшей интер¬
поляцией при использовании), или аппроксимируются удобными
функциональными зависимостями.
Результаты анализа динамических режимов с использованием макромодели,
полученной с помощью рассмотренного алгоритма, сравнивались с результатами
расчета по исходной полной математической модели, для «медленного» вариан¬
та ТТЛ-вентиля ![4.29] (рис. 4.14, а). ТТЛ-вентиль заменялся при моделирова¬
нии четырехполюсником (рис. 4.14, б). Макромодель в соответствии с (4.21)
задается матрицей полюсных емкостей С (у) и вектор-функцией gc-r(y), опреде¬
ляющей зависимость полюсных токов от напряжений на полюсах в статическом
режиме. Для аппроксимации полюсных токов IcT=gci(y) использовались ку¬
сочно-линейные зависимости, кроме характеристики 1вых(«вых) для иах>«пор
(пдор ==1,375 В), которая аппроксимировалась экспонентой.
• Характер изменения полюсных емкостей (входной Си, выходной С22 и вза¬
имных C2i, Ci2), рассчитанных с помощью формулы (4.26), приведен на рис.
4.14, д. Вычисленные значения имеют в этом случае, естественно, формальный
характер. Отметим, что взаимные емкости С12 и C2i не равны между собой, а
емкость C2i в определенных режимах становится отрицательной. В исходной
модели учитывался нелинейный характер емкостей р—«-переходов. Для аппрок¬
симации «всплеска» зависимостей С (у)' при переключении использовалась дроб¬
но-рациональная функция.
Иллюстрация к расчетам переходного процесса в ТТЛ-вентиле приведена на
рис. 4.14, е. Значительное увеличение выброса выходного напряжения при вклю¬
чении вентиля объясняется непосредственной емкостной .связью *(C2i) между
выходом и входом используемой макромодели. Совпадение результатов расче¬
та переходных процессов при включении получено удовлетворительное (умень¬
шение времени задержки при использовании макромодели составило до 10%
^од. При расчете времени выключения получено несколько большее отличие смо¬
делированных характеристик от исходных (рис. 4.14, е). Для повышения точно¬
сти макромодели можно оставить емкость в базе транзистора Т4/т. е. считать
этот узел полюсным. В случае применения макро модели для- расчета переход¬
ных процессов требуется на 46% меньше времени по сравнению с полной мо¬
делью. На рис. 4.14, ж приведены графики увеличения временных затрат в за¬
висимости от числа включенных в цепочку ТТЛ-вентилей для; полной модели й
с использованием макромоделей.
4.2.4. О построении аппроксимирующих зависимостей. В дан¬
ном разделе несколько раз упоминалось о построении функцио-
116
нальных зависимостей, аппроксимирующих ряд вычисленных или
измеренных значений. Аппроксимация, требуется практически всег¬
да при формировании- математических моделей объектов и, естест¬
венно, при решении задач .макромоделирования. Методы аппрок¬
симации функций также подробно изложены в ряде книг по чис¬
ленному анализу (см., например, [4.30—4.36]). Для построения
приближенных функций в рассмотренных задачах могут .быть при¬
менены стандартные вычислительные процедуры. В частности,
можно использовать формулы полиномиальной. интерполяции, в
качестве интерполяционных узлов выбрать найденные значения
функции. В большинстве случаев имеется априорная информация
о. качественном поведении аппроксимируемых функций, базирую¬
щаяся -на физических представлениях,- Применение методов нели¬
нейной интерполяции [4.30] позволяет уменьшить число парамет¬
ров аппроксимирующих функций п-ри сохранении хорошей точно¬
сти. Перспективным направлением является интерполяция сплай¬
нами [4.33, 4.34], наиболее распространенным вариантом которой
является кусочно-полиномиальная аппроксимация. Если исходная
зависимость имеет сложный вид и -необходимо .использовать пол¬
ностью формализованный подход, применение сплайнов оказыва¬
ется весьма успешным.
При интерполяции значения приближенных функций в узлах
приравнивают к известным табличным. Если аппроксимацию не¬
обходимо найти на большом интервале, то целеоообраз-нее прибли¬
жать 'функцию не по точкам, а .в среднем, минимизируя при этом
заданную норму погрешности Ф. Норма Ф может быть определе¬
на, .например, как
"э.
Ф=2М|(^)-Ф(&)]2, (4.28J
i=i
где g (t/i) — результат t-ro эксперимента; <р (у) — аппроксимирую¬
щая функция; рг — весовая функция; N3— числю экспериментов.
К таким способам построения приближенных функций относится
хорошо известный метод наименьших квадратов. В другом распро¬
страненном подходе решается задача чебышевского приближения.
В этом случае
0 = max|g(yi)—<P(«/i)|, i = N3. (4.29)
i
Характер кривых изменения полюсных емкостей при переключении ТТЛ-вен¬
тиля (рис. 4.14, д) удобно аппроксимировать дробно-рациональной функцией
<Р(!/) =Pn(y)AQmШ, где Рп(у) и Qm(y) — многочлены соответственно степе¬
ней пит. Дробно-рациональные функции использовались в качестве основных
в блоке аппроксимации программы формирования макромоделей. Степень поли¬
нома ограничивалась: n=^4, т^4. Норма (4.28) минимизировалась при
Для улучшения устойчивости вычислений в качестве фундаментальных функций
вместо у(к) (6=0, 1, п) использовались - многочлены Чебышева [4.31].
В качестве примера-окончательного вида найденных приближенных функ¬
ций приведем аппроксимации зависимостей /вх(пвх). (рис. 4.14,, в) и входной
Н8
емкости Сц(ивх). На интервале изменения ивх {0... 1,45 В] получена функция
/ех(^вх)‘
_ — 0,03 — 1,17 ивх + 2,11 п2вх — 1 >32 а3вх + 0,29 и*вх .
’ вх“ 0,027+0,7216,82и2вх +8,52к3вх—1,37 w4BX
Для входной емкости Сц аппроксимация «всплеска» функции
[1,225... 1,5 В] дала следующие результаты:
. . 8,6 + 25,5 ивх — 28 ц2Вх + 13,9 &8Вх — 25,5
Сц(«вх) = _ 31 >8 + 93,7 „в1_ юз «2В1 +50,5 «®вх — 9,3и4вх
Эти формулы получены с погрешностью соответственно 3 и 5%.
на интервале
104 пФ.
С увеличением числа полюсов макромодели сложность вычисле¬
ния возрастает. Задача в этом случае сводится к .мн-огомерной ап¬
проксимации, и ее формальное решение связано с последними до¬
стижениями в этой области вычислительной математики [4.35].
Практическое решение задачи значительно упрощается при. ис¬
пользовании физических представлений об исходной схеме. В этом
случае, как правило, удается понизить размерность аппроксима¬
ции.
Так, в рассмотренном примере нужно аппроксимировать функции двух ар¬
гументов (йвх, «вых). Из физических соображений понятно, что для переключа¬
тельной схемы аргумент иВх является определяющим для внешних характери¬
стик, Поэтому для приближения входных и переходных характеристик часто
практически достаточным является построение одномерных аппроксимаций за¬
висимостей от «вх для нескольких значений «вых, взятых в качестве параметров.
Использование физических представлений о схеме дает, как
правило, достаточные основания для определения набора значе¬
ний аргументов, при которых следует проводить эксперименты или
расчеты. Для формализованного определения стратегии выбора
координат испытаний в .мнопом.ерной области в ряде случаев мо¬
жет быть применен аппарат планирования .эксперимента [4.37,
4.38]. Для некоторых классов аппроксимирующих поверхностей
при этом можно сформулировать задачу минимизации эксперимен¬
тов по заданной погрешности.
Таким образом, изложенный .подход позволяет формирование
динамической макромодели свести к аналогичной задаче для ста¬
тического случая, что является его существенным достоинством.
Применение метода дозволяет также получить макромодели в
форме, удобной для использования в программах анализа слож¬
ных электронных схем с автоматическим формированием урав¬
нений модели. Метод может быть использован для формирования
макромоделей как фрагментов БИС, так и электронных схем вы¬
сокой степени сложности. Определенные трудности с полной фор¬
мализацией синтеза макромоделей (в частности, трудности много¬
мерной аппроксимации) в значительной мере могут- быть преодо¬
лены с помощью интерактивного режима. Построение аппрокси¬
мирующих поверхностей целесообразно организовать на мини¬
компьютерах с графическим выводом результатов на дисплей. Та-
-кая .техническая .реализация щает возможность разработчику при
послепроцеосорной обработке вычисленных массивов визуально
119
ИаблюДать аппроксимируемые поверхности и участвовать в выборе
методов аппроксимации.
Ориентация на .интерактивный режим позволяет рассчитывать
в большинстве случаев на решение задачи оперативного формиро¬
вания макромоделей. Такой подход во многом определяет воз¬
можность выбора структуры макромоделей. Задача автоматиче¬
ского выбора структуры, как уже отмечалось выше, в настоящее
время полностью формализованными методами не решается. Од¬
нако наличие (программ, реализующих рассмотренный метод позво¬
ляет в .интерактивном режиме для различных вариантов структу¬
ры оперативно определять параметры формируемых макромоде-
лей. Сочетание формалиаованного подхода с возможностью при¬
нятия решения разработчиком в интерактивном режиме создает
предпосылки успешного решения задач структурного синтеза .мак¬
ромодели н формирования макромоделей с заданной погреш¬
ностью.
4.3. Алгоритмы расчета БИС с применением моделей
разного уровня сложности
4.3.1. В предыдущих параграфах рассмотрены методы форми¬
рования макромоделей. Еще один важный аспект проблемы макро¬
моделирования связан с применением макромоделей. Разработка
принципов организации .программ и алгоритмов .машинного анали¬
за составляет содержание исследований в этой области. Если на¬
чальный этап успешного внедрения макромоделей в расчетах
заключался в максимальной ориентации на известные программы
анализа, то все более широкое применение их показало перспек¬
тивность изменения алгоритмического обеспечения для дальней¬
шего увеличения эффективности расчетов.
Разработка алгоритмов, учитывающих особенности применяе¬
мых макромоделей, представляет многоплановую задачу.
Практическое применение подтвердило эффективность алгоритмов, реализо¬
ванных в программах ускоренного моделирования МДП БИС: MILS [4.17],
MOTIS (4.39], MOTIS-C (4.40]. Программы оперируют моделями базовых фраг¬
ментов МДП БИС (макромоделями) и обеспечивают временной анализ схем
.большой размерности при невысоких требованиях к точности. В алгоритмах
используются исходные допущения для раздельного интегрирования уравнений
отдельных вентилей, по возможности совмещается численное интегрирование с
аналитическим решением уравнений вентилей (4.17]. Результатом их примёне-
ния является значительное сокращение временных затрат. Так, по данным ра¬
боты (4.40], применение программы MOTIS-C расчета МДП БИС позволяет в
среднем на два порядка уменьшить время моделирования.
Важным ‘направлением является разработка методов •алгорит¬
мического решения задачи машинного расчета с применением мо¬
делей разного уровня.сложности. Это направление перспективно в
связи с применением для расчетов иерархии макромоделей, отли¬
чающихся сложностью и точностью. Введение различных моделей
обеспечивает расширение возможностей при работе схемотехника
с программами, большую гибкость машинного анализа: и возмож¬
ность сокращения вычислительных затрат. ' ■
120
Можно указать два направления разработки алгоритмов, .обес¬
печивающих одновременное использование макромоделей фрагмен¬
тов БИС и их полных моделей при машинном анализе: анализи¬
руемая схема включает макромодели одних фрагментов БИС и
полные модели других; предполагается наличие моделей разных
уровней сложности (в том числе макромоделей) для одних и тех
же фрагментов. Алгоритмы в последнем случае должны обеспе¬
чить эффективность расчетов в результате рационального приме¬
нения таких моделей в процессе -вычислений.
Первое направление разработки алгоритмов рассмотрим на
примере логико-электрического моделирования БИС.
4.3.2. Предельным уровнем рассматриваемого диапазона мак¬
ромоделей цифровых фрагментов БИС является их логическая мо¬
дель. Поэтому принципиальным для первой выделенной группы
алгоритмов является вопрос о возможности алгоритмизации элек¬
трического и логического моделирования в рамках одного смешан¬
ного метода анализа. Целесообразность такого подхода объясняет¬
ся тем, что логический уровень анализа часто бывает достаточен
для описания цифровых фрагментов, а с вычислительной точки
зрения оказывается более эффективным,, чем электрический ана¬
лиз. Поэтому во многих .случаях одни наиболее ответственные
фрагменты БИС могут моделироваться обычными методами ана¬
лиза полных схем,-а остальные с привлечением аппарата логиче¬
ского моделирования. Применение аппарата логико-электрическо¬
го моделирования представляется .весьма перспективным для рас¬
чета как цифровых СБИС, так и БИС, имеющих на одном крис¬
талле аналоговые и цифровые каскады. Такой подход позволяет
практически осуществить расчет переходных процессов в таких
сложных для моделирования схемах, как аналого-цифровых пре¬
образователях. Наличие подобного алгоритмического аппарата соз¬
дает предпосылки для машинного расчета нового перспективного
класса монолитных фильтров — фильтров .с коммутируемыми кон¬
денсаторами.
Для разработки алгоритмов, которые позволяют осуществить
логико-электричеокое моделирование необходимо решить следую¬
щие задачи:
— выбрать базисные переменные для формирования совмест¬
ной .системы логических и 'Электрических уравнений;
— построить модели (макромодели) фрагментов, имеющие ло¬
гические выходные характеристики при непрерывных входных;
— построить модели элементов с непрерывными выходными ха¬
рактеристиками и пороговыми входными, т. е. схемные элементы,
управляемые булевыми функциями;
— найти способ решения полученных уравнений, т. е. опреде¬
лить алгоритмы интегрирования для смешанного анализа.
Комплекс перечисленных задач был решен, в частности, в работе {4.41]. Приве¬
дем кратко основные результаты.
„ В качестве метода описания наиболее удобным оказался модифицирован¬
ный метод узловых потенциалов ([4.42], в котором предусмотрено расширение
.121
базисных переменных за счёт введения в' их число токов ветвей. Ветвь, содер¬
жащая идеальный ключ й генератор напряжения • сдвига £0, включается в мат¬
рицы, формируемые модифицированным методом узловых потенциалов, сле¬
дующим образом:
1 “
«1
—1’
X
«у
=
JLf...-Lf...(l-Lf)-
I
(4.30)
где Is — ток через ключ; i и / — з&лы подключения ветви ключа; L — логиче¬
ская или пороговая функция, принимающая значения «1» (ключ «открыт») и
«0» (ключ «закрыт»),. *
■ Пороговая функция получается в результате преобразования непрерывной
•входной переменной щ в булеву переменную. Например, для логической макро¬
модели (рис. 4.15, б) инвертора на МДП-транзисторах (рис. 4.15, а) пороговая
функция Li определяется так:
Li^Q, если «гОпор,
Г 1 ’ (4.31)
Li — 1, если Ui «пор»
где «пор — пороговое напряжение. Таким образом, в данном случае Li есть
функция непрерывного входного щ и порогового «пор напряжений:
Lf = ф (tiz , «пор) ♦ (4*32)
Обратный переход от логического моделирования к электрическому осуще¬
ствляется введением схемотехнических элементов, управляемых булевыми* пере-
Рис. 4.15 Применение пороговых функций и элементов, управляемых булевыми
переменными, в логико-электрическом моделировании:
а — схема МДП-инвертора; б — макромодель МДП-инвертора *(Ег* — пороговая функция,
определяющая положение ключа; й JR0 — элементы, моделирующие выходную характери¬
стику транзистора Т); в — структурная схема БИС .при моделировании (х(£)непрерывные
вектор-функции, определяющие состояние, Ь —логичёские функции)
122
менными (ЭБП). Например, элементы матрицы проводимостей G могут быть
функциями булевых переменных
.+ LiGi + • -+bnGn,
где Li определяется (4.31) или является в свою очередь функцией других бу¬
левых переменных. Важно отметить, что при таком переходе сохраняются все.
законы теории цепей, а следовательно, и принципиальная возможность приме¬
нения методов их анализа. Приведенная на рис. 4.15, б макромодель является
примером- элемента, обеспечивающего связь логического и электрического моде¬
лирования. На рис. 4.15, в показана структура математической модели БИС при
использовании смешанного метода анализа на одном временном шаге моделиро¬
вания [4.41 J. Она состоит из привычной-для электрического моделирования си¬
стемы уравнений в матричном виде, блока булевых выражений для логического
моделирования, пороговых функций и ЭБП, обеспечивающих совместное ре?
шение разнородных уравнений. Применение пороговых функций и ЭБП умень¬
шает связность уравнений в , системе. Это позволяет, во-первых, организовать
вычисления с системами меньшего размера, во-вторых, эффективно использовать
принцип- тактового моделирования. В этом случае при вычислениях элемент
пропускается, если его входной сигнал или булевы управляющие переменные
не изменяются, т. е. легко реализуется принцип «скрытости».
Как уже указывалось, для временного моделирования могут быть исполь¬
зованы традиционные численные методы, в том числе, наиболее распространен-
-ные неявные методы интегрирования. Несмотря на простоту применения поро¬
говых функций и элементов, управляемых булевыми переменными, при форми¬
ровании • математической модели БИС для смешанного анализа следует ожи¬
дать затруднения при интегрировании. Наличие разрывных характеристик соз¬
дает предпосылки - для численной неустойчивости интегрирования. Этот вопрос
требует дальнейшего исследования. По рекомендациям авторов работы [4.41],
наилучшие результаты можно получить, используя обратный метод Эйлера.
Перечисленные алгоритмы были апробированы в программе ДИАНА [4.44],
позволяющей проводить смешанное логическое и электрическое моделирование.
Программа ориентирована на расчет переходных процессов в цифроаналоговых
схемах высокой сложности. По приведенным оценкам время моделирования с
помощью этой программы схемы, содержащей в аналоговой части 7 ключей и
в логической части 32 вентиля и 3 триггерных счетчика, примерно в 100 раз
меньше времени расчета с помощью традиционных программ электрического
анализа.
4.3.3. Перейдем к рассмотрению алгоритмического направле¬
ния, обеспечивающего вычисления при использовании моделей
фрагментов равного уровня сложности. Например, применение лю¬
бой из макромоделей, рассмотренных ib § 4.1, позволяет .получить
достаточную точность. Однако в ряде случае® желательным явля-
-ется ‘проведение анализа с заданной погрешностью, и вопрос о при¬
менимости -макромоделей 'при этом остается открытым.
Кроме того, в задачах проектирования часто требуется при рас¬
четах изменение параметров компонентов. В случае макромоде¬
лей такое изменение нельзя осуществить, так как их параметры,
■как правило, не совпадают с исходными параметрами компонен¬
тов. Такое -ограничение явилось одной из причин применения мак¬
ромоделей в первую очередь для расчета .электронных систем,
•включающих уже изготовленные типовые ИС. При проектирова¬
нии монолитных БИС это ограничение очень существенно, так как
•при расчетах необходимо -менять внутренние параметры фрагмен¬
тов БИС (.например, при оптимальном расчете БИС). Применение
макромоделей -в этом случае вызывает определенные затруднения,
которые отсутствуют при использовании методов анализа БИС с
’ 123
•«точными» моделями, в частности метода подсхем; Этим объясня¬
ется первоначальное разделение областей (применения метода под¬
схем и макромоделирования: макромодели (упрощенные модели)
использовались для оперативного анализа электронных систем, а
метод многополюсных подсхем (с «точными» моделями) при ма¬
шинном расчете БИС. Очевидны преимущества одновременного
использования обоих методов при моделировании сложных схем.
Можно указать несколько направлений моделирования БИС, где новые по¬
ложительные результаты достигаются благодаря совместному применению мето¬
да многополюсных подсхем и принципов макромоделирования:
— автоматическое формирование макромоделей с использованием метода
подсхем (см. § 4.2);.
— применение метода подсхем для машинного расчета сложных; электронных
систем, содержащих большое число каскадов, с использованием макромоделей
'отдельных каскадов;
— применение макромоделей при расчетах в качестве упрощенных или
«аппроксимирующих» моделей подсхем. Под «точной» моделью будем при этом
понимать полную математическую модель подсхемы.
Одновременное использование при .машинных расчетах мате¬
матических моделей разных уровней сложности, т. е. «упрощен¬
ных» (макромоделей) и «точных» (полных) моделей подсхем, име¬
ет преимущества. Действительно, такой способ •моделирования по¬
зволяет, контролируя погрешность'расчетов, получить результаты
■при наилучшем удовлетворении противоречивых требований- к
■точности и невысокой трудоемкости моделирования.
Кроме того, не возникает проблемы интерпретации результа¬
тов, сопутствующей во многих случаях макромоделям, и сохраня¬
ется возможность изменения параметров.
Так, например, при моделировании динамических режимов импульсных схем
расчет плоской вершины выходного импульса осуществляется с нужнб'и 'точ-
ностыо с помощью макромоделей. Для точного моделирования в области малых
времен (т. е. фронтов), возможно, более целесообразным является применение
полных моделей. Очевидно, что нет необходимости при расчете статических ре¬
жимов применять полные модели в ходе всего итерационного процесса, а бо¬
лее целесообразным является применение упрощенных моделей (макромоделей)
в промежуточных вычислениях.
Отмстим, 'Что применение моделей разных уровней сложности,
организованных по иерархическому принципу, представляется пер¬
спективным в .различных задачах моделирования сложных систем.
В частности, при машинном расчете ИС по аналогии с рассматри¬
ваемым случаем значительные вычислительные: преимущества мо¬
гут быть достигнуты при переходе в процессе моделирования от
сложных 'физико-топологических моделей активных компонентов
к их эквивалентным 'схемам (или упрощенным компонентным урав¬
нениям),- практически применяемым в программах анализа ИС.
В связи с различными требованиями к точности анализа и ре¬
сурсам машинного времени целесообразно использовать различ¬
ные макромодели электронных каскадов [4.4]. Очевидны преиму¬
щества-моделирования при одновременном использовании несколь¬
ких макромоделей из иерархического ряда. Однако в этом случае
■необходимо обеспечить возможность .формализованного перехода
124
с. одного уровня иерархии .на другой. Важно отметить, что в рас¬
сматриваемых задачах иерархия моделей должна удовлетворять
■требованиям автоматизации расчета электрических характеристик.
Следовательно, для реализации такого подхода необходимо ал¬
горитмическое обеспечение, позволяющее формализовать расчеты
с использованием в процессе вычислений математических моделей
схем, отличающихся по степени сложности. Для этих целей долж¬
ны применяться адаптивные алгоритмы, обеспечивающие в зави¬
симости от моделируемого режима автоматический переход к мо¬
делям равного уровня по 'критерию заданной .погрешности.
Рассмотрим возможные варианты организации вычислений при
использовании как «точных», так и «упрощенных» моделей для
расчета статических и динамических режимов. Эти вычислитель¬
ные схемы создают предпосылки для разработки машинных ме¬
тодов анализа схем, математические модели которых организова¬
ны по иерархическому принципу.
4.3.4. Моделирование статических режимов. При расчете ста:-
тичеоких режимов БИС методом подсхем (гл. 2) полная модель,
анализируемой схемы ’ применяется на каждом шаге .итерационно¬
го' .процесса. Очевидно, что при этом использование полных («точ-
’ных») моделей подсхем «далеко» от решения, вообще говоря, не
оправдано. При наличии макромоделей подсхем можно в этом слу¬
чае относительно быстро .получить предварительное решение боль¬
шой'системы трансцендентных уравнений. Окончательное («уточ¬
нённое») .решение можно получить методом подсхем. Уменьшение
размерности исходной задачи на начальном этапе расчета боль¬
ших систем существенно снижает суммарные вычислительные за¬
траты:; Однако при этом необходимы предварительные затраты
на формирование "макромоделей (п. 4.2.2). Такой подход наиболее
эффективен .при наличии однородных подсхем, что, как -правило,
имеет- Место' .в цифровых БИС. В связи с малым количеством мак-
ромеделей при этом требуются меньшие предварительные затраты
на 1Йх; формирование.
/’/Веделом процедура решения в этом случае включает следующие этапы:
—-‘формирование макромоделей по уравнениям подсхем (см. § 4.2) с ап¬
проксимацией' полюсных ‘ функций или их запоминанием в табличном виде;
г. решение системы, трансцендентных уравнений низкого порядка, вклю-
_чаю1цеД-лНа- каждом шаге' итерационного процесса автоматическое формирование
уравнений пр4'внешним характеристикам макромоделей I — g*CT (у);
'решение исходной полной системы трансцендентных уравнений методом
подсхем с'выбором в-качестве начального приближения итерационного процес¬
са у<°) решения, полученного на предыдущем этапе. • .
• .4.3.5. Моделирование динамических режимов. Алгоритм интег¬
рирования ОДУ с применением различных по сложности моделей.
Итак, пусть-полная'•математическая модель схемы f задана сис-
:темюй обыкновенных 'Дифференциальных уравнений (ОДУ)
f.(x,.x, t) = 0, (4.33)
.где;, х —вектор. переменных, характеризующих состояние схемы
(•например, вектор узловых, потенциалов). Упрощенная модель за¬
125
да.на -некоторой системой ОДУ, аппроксиМ)Ирующей основную сис-
тему (4.33) на отрезке (&+1)-го шага 'интегрирования [/<*>, Z(ft)4-:
.+#]:
Фй(Ь У. 0 = °> (4‘34>
где Н — ша.г интегрирования.
Рассмотрим сначала случай, когда размерности систем (4.33)
й (4.34) (т. е. векторов х и у) 'совпадают. Исходной предпосылкой
■считаем, что 'Интегрирование системы (4.34) в связи с меньшим
числом вычислительных операций требует по сравнению с интег¬
рированием системы (4.33) существенно меньших временных зат¬
рат. Задача состоит в разработке такого алгоритма совместного
интегрирования систем (4.33) и (4.34), который обеапечил бы час¬
тичную замену вычислительных операций систем (4.33) .операция¬
ми с упрощенной системой (4.34) и, как следствие, ускорение рас¬
чета в целом. 'Приведенный ниже 'алгоритм базируется на приме¬
нении неявных методов интегрирования системы (4.33). •
Традиционные разностные формулы используются для аппрок¬
симации (см., например, [В.13, В. 14]) интегрируемой системы не¬
зависимо от характера описываемых ею процессов. Введение бо¬
лее сложных аппроксимирующих выражений, в значительной сте¬
пени отражающих физику работы моделируемой системы, позво¬
ляет рассчитывать на ее лучшую аппроксимацию. При достижении
лучшей аппроксимации оказывается возможным значительна уве¬
личить шаг интегрирования основной системы при заданной по¬
грешности, что дает основания рассчитывать на уменьшение сум¬
марного числа вычислительных операций.
Если традиционное применение неявных методов интегрирова¬
ния приводит к совместному решению на каждом шаге основной
системы (4.33) и разностных уравнений, то по аналогии в рассмат¬
риваемом случае требуется решать на шаге совместно системы
’ (4.33) и (4.34). Вместо 'обычно применяемых простых прогнози¬
рующих формул предлагается использовать сложный прогноз, а в
качестве последнего — собственно процесс интегрирования аппрок¬
симирующей системы (4.34). Возникает вопрос: какой должна
быть формула коррекции на шаге интегрирования системы. (4.33)
в случае сложного прогноза, т. е. если прогнозируемые значения
переменных находятся ив системы (4.34)? Следующая лемма ут¬
верждает, что формула коррекции при выполнений определенных
условий сохраняет традиционный вид (т. е. остается такой же как
и при простом прогнозе)
Лемма. Пусть на й-м шаге интегрирования системы (4.33) найдены зна¬
чения xft и значение следующего шага Н. Пусть x(f) — истинное решение си¬
стемы (4.33). Представим его на отрезке («*), в виде суммы
х(0=~У(0 + «(0, (4.35)
1 В параграфе рассматриваются методы интегрирования первого порядка.
Однако предлагаемые алгоритмы никаких ограничений на порядок разностных
формул не накладывают, полученные результаты в полной мере - распространя-
_ются на методы интегрирования произвольного .’порядка, . '
.126
где-у (0 решение аппроксимирующей системы (4.34) на этом же отрезке, а
w(0 — погрешность аппроксимации. Система' (4.33) соответственно принимает
вид.
t(y + w, y + w, /)=0. (4.36)
Пусть параметры аппроксимирующей системы (4.34) выбраны так, чтобы
на k-м шаге значения переменных x<ft) и yW для систем (4.33), (4.34), а также
их производных xW и совпадали, т. е.
w( ?) = 0; w( ?) = 0 (4.37)
или, иначе, имеет место равенство
фй(х(А), х(Ч /(^) = 0. • •(4.38)
Исходя из условий (4.37),* определим формулы■ прогноза й коррекции при ин-
тегрйровании системы (4.36) по переменным w. В соответствий с формулами
дЛя неявных методов первого порядка i[2.20] получим, что прогнозируемое зна¬
чение w для (£+1)-го шага равно нулю. Действительно, в соответствии с (4.37)
•имеем ‘ .
w ( t{k) + = w ( t{k))'+ w ( = 0. ' (4.39)
. ’ Применение метода Ньютона для определения корректирующей поправки
Aw на.(£+1)-м шаге для системы (4.34) приводит с учетом (4.39) к уравнению
tXi^1 + F^)Aw= — f(y, у, t), (4.40)
где F^=5f/dx; Fx=df'/dx. Причем, как следует из (4.37),
Aw = w = x—у = Дх, (4.41)
-т. (4.40) является формулой коррекции при интегрировании системы (4.33),
если прогноз на (й+1)-м шаге у(/1к>+Н) найден из системы (4.34). Таким об¬
разом, сохраняется обычный для рассматриваемого класса методов вид коррек¬
тирующей формулы (см. ЦВ.13]), причем следует отметить, что этот результат
не зависит ни от вида <р, ни от способа интегрирования системы (4.34) и имеет
место при выполнении условий (4.37).
В целом алгоритм интегрирования системы (4.33) с применени¬
ем аппроксимирующих уравнений (4.34) включает на (£-}-1)-м ша¬
ге следующую последовательность вычислительных операций.
1. Исходя из .найденных на k-м. шаге значений переменных
х№> и x<fe) системы (4.33) выбирается аппроксимация точной моде¬
ли f системой (4.34) (определяются параметры аппроксимации
Фй в момент № в соответствии с условием (4.38)).
2. На временном отрезке интегрируется система
(4.34). Процесс интегрирования включает: прогноз; коррекцию пе¬
ременных у; выбор шага интегрирования. Здесь НЮ — шаг интег¬
рирования основной системы (4.33).
3. Найденные значения.у и у для точки /W-j-ZfW используются
в качестве прогноза для переменных х и х системы (4.33). Осу¬
ществляется коррекция интегрирующих переменных х основной
системы (4.33) по уравнению (4.40) и определяется значение сле¬
дующего шага Я(гн4)_
4. Пп. 1—3 повторяются до ..выполнения условия окончания ин¬
тегрирования.
127
Так как фактически неявная формула 'численного интегрирова¬
ния сохранена, остаются в силе все предпосылки, определяющие
Л-устойчив ость метода интегрирования [В.13, В.14]. Рассматри¬
ваемый подход, по существу, использует возможность изменения
в широких пределах шага интегрирования в зависимости от оцен¬
ки локальной погрешности.
В качестве примера рассмотрим аппроксимацию f линейной системой ОДУ
с постоянными коэффициентами
Ф (у> У. О = Fy (у (О — Х<А)) + Fz (у (0 — x(fe)) + F ( хвн (0 — х^) +
+ FXbh ( хвн (i) - ) = 0, t (4.42)
где матрицы производных вычислены в точке а хвн и хвн — значения
напряжений внешних источников.и их производных. При интегрировании такой
системы на отрезке корректирующая поправка ’Ду на каждом
z-м шаге определяется выражением
Д У = — [ Fx- ЙК1 4- F^]-1 фь (у’ у, /), (4.43)
где hi — шаг интегрирования системы (4.34).
Так как при этом, во-первых, используются постоянные матрицы производ¬
ных F* и Fx, найденные в точке во-вторых, для вычисления <р не тре¬
буется обращения к модели схемы, суммарные вычислительные затраты инте¬
грирования системы (4.42) с начальными условиями (4.37) значительно меньше
трудоемкости непосредственного интегрирования .системы (4.33).
В табл. 4.1 приведены количественные оценки процесса интегрирования не¬
явным методом 1-го порядка с применением полной модели на каждом шаге и
аппроксимирующих уравнений (4.42).
Таблица 4.1
Характеристики вычислительного
процесса
I
И
а
б
а
б
Число обращений к*«модели схемы
Число решений систем линейных .урав¬
412
64
78
61
нений
386
462
22
86
’Суммарные временные затраты, с
1516
612
264
176
Примечание. Расчет: I — временного отклика - широкополосного ВС-усилнтеля
(48 компонентов, 19 узлов) на два периода входного синусоидального сигнала амплитудой
0,2 мВ, соответствующей значительным нелинейным искажениям, II — временной характе¬
ристики ОУ (59 компонентов, 26 узлов); а — по полной модели схемы, б — с применением
в промежуточных вычислениях упрощенной модели. :
Таким образом, иопользование результатов интегрирования
приближенной системы в качестве сложного прогноза позволяет
увеличить шаг интегрирования основной системы, а благодаря
применению упрощенных аппроксимирующих уравнений для про¬
межуточных вычислений можно ожидать для большинства случа¬
ев значительного уменьшения в целом трудоемкости моделирова¬
ния динамических режимов. Отметим, что процесс моделирования
остается полностью формализованным, сохраняется возможность
автоматического выбора шага по заданной погрешности.
128
Обратим -внимание, что если в качестве использовать, на]
пример, аппроксимацию
(4.44)
(т. е. y=xft='const) на шаге .интегрирования основной системы,
то получим обычную процедуру для неявного метода 1-го ио-ряд-’
ка (см., .например,-[В. 13, В. 14]), включающую прогноз методом:!
Эйлера и -коррекцию с .применением метода Ньютона (4.40). Ина-)
че говоря, предлагаемый мето-д является обобщением известных j
методов, использующих простые формулы (прогноза. |lj
Случай разных размерностей точных и упрощенных м-
имеет место, -в частности, пр® совместном использовании для ин¬
тегрирования полных моделей подсхем и их 1макр.омоделей -в ка¬
честве упрощенных моделей. Пусть точная модель подсхемы зада¬
на .системой ОДУ
(4.45)
размерность которой N, а упрощенная модель (макромодель) за¬
дается-системой (4.-34) меньшей размерности v (-v<W). Исходный
вектор х полной системы (4.33) включает составляющие вектора
У -и z.
Если, например, макромодель представлена .многополюсником ,
(см. § 4.2), то у соответствует полюсным переменным, az — внут¬
ренним .переменным подсхемы. Разные размерности приводят kJ
определенным трудностям,' связанным с неоднозначностью опреде-);
ления .переменных при переходе к моделям другого уровня. При!
переходе от точной модели к упрощенной простейшим способом)
задания переменных аппроксимирующей системы я-вляется выде-!
ление соответствующих координат исходного вектора (например,!
полюсных .переменных). Проблематичным является обратный пе¬
реход при восстановлении переменных полной системы п-о вектору
аппроксимирующей системы. В этом случае по результатам рас¬
чета переменных у при интегрировании Системы (4.34) нужно
определить прогнозируемые значения z для исходной системы
(4.45).
Дополним упрощенную систему <р системой соотношений, раз-)
мерность которой (У—v) совпадает с размерностью вектора z: f
<р(у> у> 0=0;
0(z, z, у, у) = 0.
(4.46а) ]
(4.466)
Представление аппроксимирующих уравнений системой (4.46) по¬
зволяет сделать согласно лемме вывод о том, что .при выполнении
условий (4.37) сохраняется формула коррекции вида (4.40) для
полной системы переменных х=-[* ]’. Так как в систему (4.46а) i
переменные z не вх-одят, она .интегрируется 'независимо.
Возможны самые различные способы задания соотношений
(4.466), связывающих переменные х и у. Укажем два альтерна-
5—1(12 129!
тивнЫх .'Подхода. Первый — использование фйзйчёс'кйх соображе¬
ний для построения соотношений в .виде
2 = Ф1(У. У); z = i|>2(y, у) (4.47)
индивидуально для каждой макромоДелй.
Приведем в качестве примера возможный вариант таких соотношений для
рассмотренной ранее макромодели ТТЛ-вентиля (рис. 4.6), полная схема кото¬
рого представлена на рис. 4.4, а. Вектор у получается выделением переменных
из полного вектора узловых потенциалов, остальные переменные включаются
в вектор z:
У1 = У%= ит» Уз~и8> Уь-Щ} zi — uit Zz — Uit z3 = u3t = z3 = Uq.
Переменные z и их производные могут быть определены по у, например, сле¬
дующим .образом:
г/Вх = min(z/3, у4),
z2 = Лг Увх >
zi = Л1 Увх + Лз 22>
z3 = 'rk22,
г8= 1/2 (т]Б ух + т]6 у2),
Z4 = £Ип — ("И? У1 — Яв г6),
ZZ ~ ‘П 9 #ВХ>
Z1 ~ 41 Увх + Лз Z2>
Z3 = Лю г2*>
z6= 1/2(т]6г/1-1-11ву2);
*4= — Gwi + Пв 4)-
Могут быть, естественно, использованы любые компонентные соотношения,
больше отражающие физическую сторону, например
z4 = Вид — Iqq R& ехР [(#1' /т фу ],
где aN, 7Э0ГЗ , mqT — параметры модели транзистора ТЗ. Так как в начальной
точке интегрирования системы ср (у, у, t)= 0 значения векторов z и у, а также
их производных известны, легко вычисляется вектор коэффициентов q. По
окончании интегрирования аппроксимирующей системы этот же вектор исполь¬
зуется для определения прогнозируемого значения z(th+H) с помощью приве¬
денных соотношений.
При использовании неявных методов интегрирования от удач¬
ного выбора соотношений (4.47) зависит не окончательное зна¬
чение z на шаге, а лишь прогнозируемое. Это допускает определен¬
ный произвол в установлении соотношений. Обратим внимание,
что в приведенном примере т] фактически вектор коэффициентов
влияния переменных z по переменным у.
Для второго подхода, связанного с формализованным опреде¬
лением прогнозируемого значения, используются матрицы коэффи¬
циентов влияния для построения вычислительных схем. Пусть мо¬
дель подсхемы задана системой (4.45), а ее аппроксимация — ма¬
кромоделью (4.34). Применим рассмотренную ранее, для метода
подсхем технику вычисления коэффициентов влияния внутренних
переменных по {полюсным [у?--—; (2.24). Используем да¬
лее соотношение между приращениями производных
Lay я
130
Тогда прогнозируемое значение производных z можно определить
формулой
(;<*) +/7)-у (/<*>)]. (4.48)
Прогноз для переменных z в этом случае определяется как
z'(^)+^)=z(/w)+r^X+^
z (/<*) + Н) = г (№) + z (£<*> + И) Н =
= z(^))+z(fW)^+ [^-_L + _|£]
ИЛИ
z (t w + H) = Z n + z (tw) H +
1
H
dy J
(4.49)
Здесь прогнозируемое значение y(/W+7Z) и y(№+H) есть резуль¬
таты интегрирования системы (4.34). Отметим, что условия (4.37)
в этом случае выполняются автоматически.
С учетом сделанных замечаний алгоритм интегрирования ос¬
новной системы (4.45) включает на &-м шаге следующие этапы:
1) . уточнение параметров аппроксимирующей макромодели <р из
условия выполнения (4.46);
2) интегрирование уравнений макромодели на отрезке
[/(«,
3) выбор в качестве прогнозируемых на (й-Ы)-м шаге значе¬
ний переменных y(ffi+H) и y(ffi+H) результатов интегрирова¬
ния п. 2;
4) определение прогнозируемых значений внутренних перемен¬
ных полной системы z(t^+H) и с помощью формул
(4.48) и (4.49);
5) определение корректирующих поправок интегрируемых пе¬
ременных Ду (Ду) и Дг(Дг) полной системы. Одновременно вычи¬
сляются матрицы коэффициентов влияния dz/<3y и dz/dy;
6) вычисляется новое значение Н.
Далее п. 1—6 повторяются, при большой локальной ошибке
значение шага уменьшается.и приведенный алгоритм автоматиче¬
ски переходит в обычный алгоритм неявного интегрирования (на¬
пример, если y(W+/f) =y(7W), где Н — шаг интегрирования по
всем переменным полной системы). Отказ от перехода к макромо-
делям имеет место, например, если' Н оказывается меньше задан¬
ного. Такой критерий включает, в частности, и случай быстрого
изменения внутренних переменных z, когда переход к макромоде¬
лям нежелателен.
'5*
131
Очевидна возможность совмещения приведенного подхода с ме-
одом многополюсных подсхем. В общем же случае применение
лгоритма, в .котором используются упрощенные модели для прог-
оза, позволяет рассчитывать на малые временные затраты моде-
йрования больших схем, характерные для макромоделей, и высо-
ую точность,’ соответствующую методу подсхем, так как контроль
огрешности интегрирования в этом случае осуществляется по точ-
ой модели подсхемы. Приведенные в этом параграфе соображе-
ия можно использовать в качестве алгоритмических предпосылок
ля организации вычислений с иерархическим рядом моделей.
Заключение. Макромоделирование представляет собой перспек-
ивное направление не только для оперативного машинного иссле-
ования электронных систем, включающих типовые каскады, но и
ля расчета БИС.
Ведущим направлением макромоделирования фрагментов БИС
вляется формирование макромоделей по полным математическим
оделям фрагментов на компонентном уровне. Основной проблемой
этом случае остается автоматизация формирования макромоде-
зй. Рассмотренная методика представляет собой лишь один из
эзможных вариантов решения такой задачи. Результатом ее при-
енения являются макромодели, в том числе и динамические,
груктура которых позволяет использовать их в традиционных
зограммах анализа интегральных схем. Следует ожидать разви-
1Я подобных алгоритмов на базе других подходов, например ме-
>да агрегирования переменных. Алгоритмические трудности пол-
зй формализации процесса формирования макромоделей и же-
зние максимально использовать опыт и знания схемотехника в
[.ком процессе дают основания ожидать наилучших результатов
интерактивном режиме работы с вычислительными устройства-
1. Этим требованиям вполне удовлетворяет организация автома-
[зированного рабочего места схемотехника.
Еще одна проблема, непосредственно связанная с автоматиза-
гей формирования макромоделей, — разработка программно-уп-
(вляемой автоматизированной системы измерения параметров.
Среди других проблем макромоделирования, еще ожидающих
оего решения, можно отметить круг вопросов, связанных с- оцен-
ч-1 точности макромоделей и формированием макромоделей по за-
1нной погрешности. К этим же задачам близка проблема разра-
тки методов построения иерархического ряда макромоделей для
новных типов схем или фрагментов БИС, отличающихся слож-
стью и точностью. Наконец, следует обратить внимание на ре¬
зине проблем разработки новых алгоритмов анализа и программ
их основе, обеспечивающих эффективное применение макромо¬
лей, в частности, работу с иерархически организованными моде-
ми. В ©том плане перспективным направлением, является разра-
тка различных адаптивных вычислительных процедур, в том чис-
алгоритмов совместного использования метода подсхем и прин-
пов макромоделиррвания.
ава 5
химизация параметров больших интегральных схем
Особенности задач оптимизации БИС
Конечная цель схемотехнического проектирования — синтезиро-
ь схему, наилучшим образом удовлетворяющую заданным тех-
«ким требованиям. Для ее достижения следует решить две ос-
Lie задачи: выбрать принципиальную схему и определить оп¬
альные параметры компонентов. Решение-первой задачи тре-
• применения методов структурной оптимизации. , В связи с
лпими трудностями 'формализации такой задачи для нелиней-
схем практическое решение опирается на возможности техно-
III изготовления схем, на опыт и традиции схемотехников
и.
1адача параметрической оптимизации электронных схем фор-
1руется как задача математического программирования'^.16]
»кет быть решена с применением машинных методов. Задача за¬
жегся в определении значения вектора параметров р, мини¬
рующего целевую функцию Ф(р) при заданных ограничениях
систем уравнений вида (В.1) или (В.2), определяющих мате-
мескую модель схемы,
Р(р); г(р)<0; d!<p<d2,
р— вектор параметров компонентов (параметров оптимиза-
;Ф(р)—целевая функция, являющаяся количественной ха-
фистикой качества схемы; неравенство rfpJ^’O накладывает
шчение на выходные параметры схемы, определяемые техниче-
II требованиями к схеме; di, d2 — векторы, ограничивающие
£ть определения параметров оптимизации. Их значения опре-
»тся из конструктивных и технологических возможностей ре-
ации компонентов схемы.
азличные формулировки задач оптимизации схем и методы их
:ння приведены в работах '[В.2, В.16, В.18, В.19, 5.2—5.6, 5.19].
большинства методов оптимизации необходимо на каждом
I поиска вычислять значение целевой функции Ф(р) и ограни-
i г(р), а также градиенты этих функций дф (р) /др и дг/др.
ае говоря в процессе решения задачи оптимизации необходи-
шогократно решать задачу анализа схемы при различных’зна-
’® вектора параметров. Решение задачи оптимизации БИС
егследующие особенности.
•Математическая модель БИС, даже в случае- применения про-
: моделей компонентов, является системой дифференциальных
№ний высокого порядка (103... 104 уравнений). Многократное
ние такой системы для достижения оптимального набора па-
фов связано с очень большими затратами машинного вре-
133
2. Высокая размерность вектора параметров оптимизации р,
обусловленная наличием в БИС большого числа компонентов, па¬
раметры которых целесообразно менять. Количество таких пара¬
метров может достигать 103... 104. Решение задач такой размерно¬
сти традиционными методами поисковой оптимизации практически
невозможно на современных ЭВМ:
3. БИС характеризуется большим числом функциональных па¬
раметров. Все эти параметры должны входить либо в целевую
функцию, либо в ограничения Задачи оптимизации и, следователь¬
но, должны рассчитываться на каждом шаге поиска экстремума.
Это приводит к большим вычислительным-затратам и усложняет
программу расчета БИС.
Рассмотренные в гл. 1—3 .методы сокращения вычислительных
затрат при анализе БИС полностью не решают проблему, так как
машинное время одновариантного анализа многокомпонентных
схем с использованием этих методов исчисляется десятками ми¬
нут для ЭВМ с быстродействием 10®...106 опер./с. Кроме того,
эти методы никак не влияют на сокращение размерности вектора
параметров оптимизации. Следовательно, необходимо разработать
новые методы организации вычислений для оптимизации парамет¬
ров БИС. Основным направлением, открывающим перспективы
оптимального расчета больших систем, является иерархический
подход с применением декомпозиционных приемов [5.16, 5.17].
Отметим, что практические приложения теории иерархических си¬
стем ограничены, в основном, линейными системами с сепарабель¬
ными целевыми функциями. БИС описываются нелинейными мо¬
делями, а их функции качества не обязательно являются сепара¬
бельными.
Основная цель приводимых ниже вычислительных схем — све¬
сти задачу высокой размерности к последовательности задач мень¬
шей размерности, соответствующих отдельным фрагментам БИС.
При этом необходимо решить проблему определения локальных
целевых функций и ограничений для фрагментов.
Наиболее просто осуществляется декомпозиция сепарабельных
целевых функций [5.7—5.9, 5.17], например
м
ф(р)«2<₽ярл
где / — номер фрагмента схемы; М — количество фрагментов . в
БИС; р3-—вектор параметров оптимизации /-го фрагмента. Функ¬
ции cpj могут быть либо задержками сигнала в ’/-м фрагменте,
либо мощностью, потребляемой ,/-м фрагментом.
Один из возможных подходов к решению задач с сепарабель¬
ной целевой функцией предложен в работе [5.11]. Этот подход
основан на так называемых энергетических характеристиках базо¬
вых элементов схемы. Энергетической характеристикой называ¬
ется зависимость времени задержки от мощности, потребляемой
базовым элементам. Если допустить, что такие зависимости изве-
134
ctHbi, тб можно приближенно решить задачу оптимального (с
точки зрения быстродействия) распределения ресурсов мощности
по базовым элементам тракта БИС, состоящего из последова¬
тельно включенных базовых элементов. Основное ограничение та¬
кого подхода -заключается в самой необходимости получения энер¬
гетических характеристик. Фактически при этом предполагается,
что в схеме -базового элемента имеется только один параметр оп¬
тимизации, однозначно определяющий потребляемую мощность.
В определенной мере это справедливо для некоторых типов схем
(например, ЭСЛ-ключи), но в общем случае при наличии в схе¬
ме фрагмента нескольких параметров оптимизации, понятие
«энергетическая характеристика» становится неопределенным.
В качестве примера несепарабельной целевой функции можно
указать минимальное отклонение характеристики схемы от задан¬
ной, например заданной частотной характеристики для аналого¬
вых БИС (см. § 5.3).
5.2. Применение методов декомпозиции для оптимизации
цифровых БИС
5.2.1. Математические формулировки задач оптимизации быст¬
родействия цифровых БИС. Предположим, что схема БИС разде¬
лена на М фрагментов так, что анализ каждого фрагмента можно
проводить независимо. Для этого на внешние полюсы каждого
фрагмента необходимо подключить эквивалентные источники
входных сигналов и эквиваленты нагрузок. В качестве таких эк¬
вивалентов можно использовать либо входные (выходные) цепи
смежных фрагментов, либо электрические макромодели этих
фрагментов. Такая методика моделирования, как правило, прием¬
лема для цифровых схем, так как фрагменты цифровых схем
(ЭСЛ- и ТТЛ-вентили, триггеры и т. п.), во-первых, имеют высо¬
кое входное и низкое выходное сопротивление, и, во-вторых, об¬
ладают формирующими свойствами.
Вектор параметров оптимизации i-ro фрагмента обозначим
pi (ie[l : Л4]), размерность этого вектора Введем также век¬
тор p='[pTi, ..., ртг, .... Ртм]т. Область допустимых значений век¬
тора pf обозначим
(5.1)
где Eni—пгмерное евклидово пространство; du и d2i — задан¬
ные векторы, определяемые из конструктивных и технологических
соображений. Вектор выходных параметров i-ro фрагмента обо¬
значим yi. Компонентами этого вектора могут быть логические
уровни на выходах фрагмента, входные и выходные токи полю¬
сов фрагмента, времена формирования фронтов выходных импуль¬
сов и т. п.
При функционировании БИС каждый фрагмент может находить¬
ся в различных состояниях, в зависимости от комбинации сигналов
135
на его входах (и от его предыдущего состояния). Если таких(
стояний Ц, то средняя потребляемая мощность i-го фрагменту
^ = -7-
Li fA
(5
где Wu — Мощность, потребляемая фрагментом в l-м состоя
(Ze [1 :£<])').
Обозначим /и/ количество выходных полюсов i-го фрагмен
a Z01ij и — задержки на /-м выходе (je[l :mi]) Z-ro фрагл
та при переходах из сост. О в сост. Г и наоборот. Задержка р,
пространения /-го выходного сигнала равна
Введем понятия средней задержки фрагмента
(q
и максимальной задержки фрагмента
Тм(=тах{^}. (5.1
На выходные параметры фрагментов могут накладываться о
раничения. Обычно из соображений помехоустойчивости задаю
ся предельные значения лог. О и 1, нагрузочная способность
•коэффициент разветвления по входу определяют предельные зн
чения выходных и входных токов «внешних» фрагментов БИС
т. п. Эти ограничения запишем в виде
Уг&^г, /€=[1 : AfJ,
^ = {Уг|Уг—аг <0},
где а.{ — заданные векторы.
Обозначим также
0|={рге£"<|у{(р4)еУ,},
(5.
(5.
Сделаем следующее допущение (ниже это допущение ослабля
ся). Положим, что выходные параметры Z-ro фрагмента суще
1 Если известны вероятности пребывания фрагмента в каждом в
состояний при функционировании БИС, то в качестве средней потребляв
мощности целесообразно использовать
Гг ./■
:%:= ^JVil Wil.
136
венно зависят только от параметров оптимизации этого фрагмен¬
та:
У< = УИРг)- (5.8)
Такое допущен11е справедливо, если, например, входные полюсы
фрагментов имеют большое сопротивление, а выходные — малое.
Рассмотрим следующую задачу. Пусть БИС состоит из по¬
следовательной цепи фрагментов (рис. 5.1). Количественной оцен¬
кой задержки сигнала на /-м . выходе БИС может служить
Tj= S’ Tsi, где Ц — множество индексов фрагментов, по кото-
ieij ’
рым сигнал проходит от входов до /-го выхода.
Рис. 5.1. БИС с последовательной структурой фрагментов
Средняя задержка БИС определяется формулой
м
i=l
где а — неотрицательные целочисленные коэффициенты; т0 —
количество выходов БИС. Далее, будем считать заданной макси¬
мально допустимую среднюю мощность wq, потребляемую БИС.
Теперь задача оптимизации быстродействия БИС с последова¬
тельной структурой при сделанных выше допущениях формули¬
руется так:
м
т™Ус1ТМ,
peQi=i
(Al):
м
£ Wi (Pi)—™» <
1=1
где
Q == x ..• X X i,«X 62m* * - (5.10)
Рассмотрим пример постановки задачи (Al) для схемы, струк¬
тура которой приведена на рис. 5’2. Для этой схемы
Л=+тг2+Tsi,
А=Лт+^»з 4* Т&,
^'» = 1/2(2Ttl+Ta2+Ts3-jt-Tti+Tt6').
6—иг ; 137
•На логические уровни u^Bb№i и «<‘>выхг 1-, 2- и 3-го фрагментов
заданы ограничения
«<йи<О,ЗВ; «<>Ы)Х1.>2,7В.
На логические уровни .выходных фрагментов заданы более жест¬
кие требования:
“11,СО.21 В. З.оВ, / = (4,5}.
Токи через входные источники хь х2 и Хз в сост. О и 1 должны
удовлетворять условиям 7(°'вХ<<2-10~з мА; 10~? мА.
Средняя потребляемая мощность не. должна превышать 20 мВт.
Рис. 5.2. Пример структурной схемы БИС
Оптимизация то критерию Ts может приводить к тому, что
средние задержки на различных выходах схемы будут сильно от¬
личаться друг от друга. Если это нежелательно, то лучше исполь¬
зовать целевую функцию вида 7м=П1ах Г,, т. е. рассматривать
. , Ml^ol
задачу '
м
пйп.гпах .
рей
м
где
° (о, ед.
Сохранив • предположение (5.8), сформулируем теперь задачу
для. БИС с произвольной структурой. Рассмотрение начнем с
примера постановки задачи для схемы, приведенной на рис. 5.3.
Уёлбвия функционирования для этой схемы записываются следую¬
щим образом;
< Ti
maxfSj, S^+Tmu+Tmi <t2+7mi,
max {Si, S8}4-Tm64-7,M7 4-7’m8 < тз>
138
где Si = Tmi + 7’m2+7’m3+7’m5;._52—?mi + Tm2+TM4+TM5; n, тг.'тз —
заданные числа. Заданными являются также ограничения на логи¬
ческие уровни и и^вых всех 'фрагментов, на входные токи
7(0)вх и /(1)вх внешних фрагментов и максимально допустимая
мощность, потребляемая схемой от источников питания w0.
Рис. 5.3. БИС со сложной структурой
Требуется при перечисленных ограничениях минимизировать
функцию 7,M=niax{SI, S2}. В общем виде эта задача может
быть записана следующим образом:
м
min max V(ОцТмь
рей ielismj £
•Rft(7Mi,.... Тм,..., Тмм)<0> (АЗ),
м
(Р«)—< о,
j=i
где Rk — заданные функции от максимальных задержек фрагмен¬
тов ТМг (или от средних задержек Тн). Возможный вид этих
функций ясен из приведенного выше примера.
Перейдем к задачам с взаимным влиянием фрагментов. Рас-.
смотрим сначала случай, когда выходные параметры i-ro фраг¬
мента существенно зависят от параметров оптимизации элемен¬
тов, включенных во входные цепи (i+l)-ro фрагмента в БИС с
последовательной структурой. Исключим такие параметры опти¬
мизаций из векторов pi для всех ie[l : Af] и образуем из них но¬
вый вектор q. Размерность этого вектора обозначим nq,
а область допустимых значений Q:
Q = (qe£"«\q1 <q <q2},
где qi < 42 — заданные векторы.
6*
139
'Теперь: задана, аналогичная задаче (А1), .формулируется сле¬
дующим образом:
min
р. q
м
(Pi>
1=1
q);
У<(Рь q)e=rb р(еРй
M
(Pt, q)—^o<°-
i=l ’
qeQ,
(A4)
Аналогично можно '.переформулировать и задачи (А2) и (АЗ) .
Обратимся к .случаю, когда параметры входного сигнала сущест-.
венно влияют на выходной сигнал фрагмента. Обозначим v< —
вектор параметров входных импульсов • i-ro фрагмента. .Компонен¬
тами этого вектора могут являться начальные и амплитудные
вначения импульсов, длительности фронтов: и т- п.' Аналогичный
вектор введем для параметров выходных импульсов i-ro фраг¬
мента. Для БИС с последовательной" структурой должно выпол¬
няться равенство
(Pi) = vJ+i. '(5.11)
: ''Задача',' айаЛогичйая задайё (А1), формулируется' теперь так:
м. ....
Imin Ус,Тв{(рь Vj),
V, pgQ
МРъ V,)—vf+1=0, is[l:/W], , .(A5)
JU
Vi)—ayo<O,
/=i
где v= [vTi vTb .... vTM]T.
Для БИС с произвольной структурой равенство (5.11) заме¬
няется на ' ' - "у " "
: ■' м
u;i;(Pi, у<)^2в«у^ • • ’ <5-12)
гдё' В^-—'матрицы, состоящие.из единиц и нулей, причем каждая
строка этих матриц может содержать только одну единицу.
"Задачи .(А1у..(А5) не исчерпывают всего многообразия задач
оптимизаций .стоЛь. сложных, систем, какимй являются цифровые
БИС. Здесь' приведены ' некоторые .типичные задачи,'. решение, kq-
торых можно получить, используя методы декомпозиции.
5.2.2. Метод декомпозиции при решении простых задач опти¬
мизации быстродействия БИС. Задачи (АТ) й (А2), в которых
сепарабельность нарушается единственным...сжраницением на об-
щую потребляемую мощность БИС,' являются наиболее просты-
*ми из рассмотренных в п. 5.2.1. Задача
дующей задаче:
м
(Al) эквивалентна сле-
i min
р е Q, х
1=1
(5.13)
'где Х= [%i,..., Лг,..., Лм]т — вектор вспомогательных неизвестных.
Рассмотрим задачу оптимизации фрагмента:
minW (3.14)
«МР«)~ ki<0. ' .
Обозначим р*,(%г) решение задачи (5.14). Очевидно, что
v" м ' м . ' ■ ‘
т£\ 2 Л(ро=^п2с,7,«< t pW] ■
к(=1 к i=i
« •
.. .. . ...... . м
при Я,>'0, удовлетворяющих ограничению®о=О.
„ 4=1
Введем обозначение '• • '
<мм=мр;(М].
(5.15)
(5.16)
Теперь с учетом соотношения (5.15) задача (5.13) сводится к задаче
tnin
Л>0
(5.17)
£ ki—wa=о;
4=1
'Размерность задачи (5.17) равна числу фрагментов ..в схеме. М,
т. е., вообще говоря, много меньше, чем размерность исходной за¬
дачи (А1). '■ ■
Чтобы использовать эффективные методы решения .задачи (5.17), необхо¬
димо вычислить’производные : '
'dtyj (A.Q _ Г dTsi ( Pf ■) 1 dp(
d^i • L ^Pi J dKi
(5.18)
'Вычисление первого сомножителя, формулы _(5.18) не вызывает принципиальных
затруднений: это обычная функция ’программ оптимизации схем (В; 16, 5.5, 5.6,
<5.12]. ‘ п ; .. .
Теоретически вопрос о существовании производной рассмотрен в
;(5.10]. Приведем метод вычисления этой производной [5.-13], не* требующий-зна-
.141
м
2
4=1
Ci Фг (Ы
вия вторых производных d2TSi!dp2i. Опуская для простоты индекс i, рассмот¬
рим задачу, аналогичную задаче (5.14),
min ср (р),
р
Л(р. Х)^0, / е [1 : т} . (5.19)
где <р(р) и /Др, X)—скалярные функции, дважды непрерывно дифференцируе¬
мые по всем аргументам; X — скалярный параметр.
Пусть р* —■ решение задачи (5.19). Обозначим pi* решение следующей за¬
дачи:
min<p(p),
₽ f
fj(P, ^)<0, (5.20)
где Х]=ХН~ДХ, ДХ>0.
Производная dp*/dK, по определению, равна
dp* Pi—Р*
а X дя-*-ьо ДХ
Введем обозначение
/ (Р*, X) = {/ е [1: т] | fj (р*, X) - 0). (5.21)
Допустим, что при .достаточно малых ДХ справедливо
/(р;. *>•
Тогда при ДХ—>-+0 задача (5.‘20) эквивалентна следующей задаче линей¬
ного программирования:
min[<p(p*) + gTr ], Fr +ДХЬ = О, (5.22)
Г
где
<*ф(р») .
8 dp ’
Р_р^];Ь = р£р.,е/(р,ц.
Область допустимых значений вектора г в задаче (5.22) является неогра¬
ниченной, поэтому задача (5.22) может не иметь решения. Допустимыми реше¬
ниями этой задачи следует считать лишь те векторы г, которые удовлетворяют,
условию
lira |] г ||=0. (5.23)
ДЛ-+0
Условие (5.23) учтем вводя штрафной член ЛИ2, где НшЛ= + оо, в целевую
ДХ-*0
функцию задачи (5.22).
Получим задачу квадратичного программирования
min [ g’ 4-К || г ||®], (5.24)
Г
Рг4-ДХЬ = 0. (5.25).
Для решения этой задачи составим функцию Лагранжа
£(Г> g) = gtr + Kr’r+5t[Fr + AXb], (5.26)
где $т — вектор множителей Лагранжа
142
(5.27)
Необходимое условие стационарной точки- дает следующие соотношения:
“- = g + 2Kr + FTg = 0;
dL ‘
=Fr + Aib = °. (5.28)
, Так как матрица FFT невырожденная (см., например, (5.14]), то система ли-
•нейных уравнений (5.27), (5.28) имеет единственное решение
г* = - ^ [Е - R]g - FT [FFT I-1 b Ы, (5.29)
где R=F1?[FFT]”1F — матрица ортогонального проектирования на линейное мно¬
гообразие (5.25); Е — единичная матрица.
Р'1 —Р* г*
Вычисляя- lim ———= lim ,
АЛ—|-0 ДХ АЯ-я-о Дл
тельно.
^7- = FT[FFT]_1b.
и X
из формулы (5.29) получим оконча-
(5.30)
Любой вектор h из линейного много- ft/|)
образия (5.25) может быть представ¬
лен в виде h=p—s, где реЕп, а век¬
тор s принадлежит ортогональному
дополнению линейного многообразия
(5.25) до Еп, т. е. s=Rp, щ следова¬
тельно, h=(E—R]p (Е — единичная
(пХп)--матрица);
Нетрудно установить, что
hT(dp*/^X)=0, так как i[E—R]TFTX
X[FFT]“r==0. Таким образом, героме-
трический смысл вектора rfp*/dX со¬
стоит в том, что он является нор¬
малью к поверхности пересечения ак¬
тивных ограничений задачи (5.19) в
точке р* (рис. 5.4).
В частном, но практически важ¬
ном случае, когда ранг матрицы F
равен п, формула (5.30) упрощается:
rfp* 1
7Г=-р~1ь- (5-31)
Рис. 5.4. Геометрическая интерпретация
вектора dp*/rfX
При численных расчетах вместо множества /(р*, X) следует рассматривать
множество
h (Р*. А-) = (7 е [1: т] | | fj (р*. Л) | < 6},
где 6 — малая положительная константа. Так как производные от /\-(р*, X)
вычисляются при решении задачи оптимизации фрагмента (5.19), то матрица F
фактически известна, поэтому дополнительные затраты для вычисления
d$*ldX по (5.30) или (5.31) невелики.
Сформулируем теперь алгоритм решения задали (А1).
1.-Выбираем числа (ге[1 : Л1]), удовлетворяющие усло¬
вию ■ Б . Х(0)г=а;0. Пусть — Л(Л)< ••• Х<й)м]т —очередное
приближение.
143
2. При для всех фрагментов схемы решаем задачи
оптимизации (5.14). В точке решения Рг(%(й\) вычисляем произ¬
водные d^i/dKi.
3. Используя любой подходящий метод (например, метод про¬
екции градиента или метод множителей [4.24, 5.1-4, 5.15]), произ¬
водим очередной итерационный шаг решения задачи (5.17), т. е.
вычисляем вектор
4. Если выполнены необходимые условия экстремума задачи
(5.17), то решение заканчивается. В противном случае переходим
к п. 2. f
Достоинство алгоритма состоит в том, что вместо задачи оп-
Л1
тимизации размерности По= S tu нужно решить Mk* задач
1=1
размерности щ каждая и одну задачу размерности М. (Здесь k*—
количество этапов решения задачи (5.17).)
Аналогичный алгоритм можно построить и для решения задачи
(А2). Эта задача эквивалентна следующей:
м
min max V a>uTsi (pj),
p > о Je[i ;m<]
1 ■ (5.32)
(Pi)—< 0, ayo = O, ie[l :AfJ.
z=i
При peQ и 1, удовлетворяющем ограничению задачи (5.32),
справедливо соотношение
м м
min max V со,, 7^ (р4) = min max V <ог-уф£ (1г), (5.33)’
Me я >e[l:m0]^ Jl>0
гд'е функции фг(^г) определяются так же, как и при решении за¬
дачи (А1). Справедливость соотношения (5.33) вытекает из того
факта, что функция
Ф(?'«1> •••» Tsi, •••> Тем) =max S (HaTsi
/еП!>п0] i=i
является монотонно неубывающей по всем аргументам Tst.
Из соотношения (5.33), следует, что задача (5.32) эквивалент¬
на задаче с М неизвестными:
м
min max V (^), (5.34)
Х>0 /е[1:<п„]^
м
£V-a/o = O.
/=1
Алгоритмы решения дискретной минимаксной задачи (5,34)
можно найти в работах [В.16, 5.14, 5.20]. Отличие от алгоритма
решения задачи (А1) состоит в способе получения нового приб¬
лижения вектора и в способе проверки необходимых усло¬
вий минимума.
144
5.2.3. Использование «характеристик возможности» для опти¬
мизации цифровых БИС. Выше были введены функции
^(^)=г4г[р;.(хг)],
(5.35)
где TSi — среднее время задержки распространения сигнала в i-м
фрагменте схемы; —допустимая средняя мощность потребле¬
ния для i-ro фрагмента; р*4— вектор параметров фрагмента, яв¬
ляющийся решением задачи оптимизации (5.14).
Предположим, что нам известен аналитический вид функций
фг(1г) для всех фрагментов -БИС, тогда задачи оптимизации
БИС вида
minOph^), • • ф4(%4), • (\ц)Ь
(5.36)
И’о — О,
где Ф[фь ..., ф4, ..., фм]— монотонно возрастающая по всем ф4
функция, можно решать, не прибегая к расчету фрагментов схе¬
мы в процессе ее решения.
Вспомогательные задачи (5.17) и (5.34) задач (А1) и (А2)
имеют, в частности, вид задачи (5.36). В п. 5.2.2 было показано,
как при фиксированных значениях Х4 вычислить значения функ¬
ций фг(М и их производных dtyi/dhi. Так как функция ф4(Л4) яв¬
ляется функцией одной•переменной, то не вбзнйкает принципи¬
альных' трудностей для построения аналитических аппроксимаций
функции ф4(%{) на заданном отрезке [Ашш, Хтах]. Функцию
ф;(%г), аппроксимирующую на заданном отрезке [Лщщ, Хтах]
функцию фг(%г)> будем называть в дальнейшем характеристикой
возможности i-ro фрагмента.
Использование характеристик возможности для- оптимизации
БИС имеет очевидные преимущества перед методами, описанны¬
ми ’в п. 5.2.2. Во-первых, применение характеристик- воэможнос-
•ти позволяет отделить процесс решения -задачи оптимизации БИС
от процесса оптимизации фрагментов и построения функций
фг(?ъ<). Во-вторых, функции фг(%г) стандартных фрагментов БИС
можно использовать многократно • при . оптимизации различных
схем, содержащих типовые схемотехнические решения. Целесооб¬
разно организовать в системе схемотехнического проектирования
архив характеристик возможности фрагментов, пополняемый по
мере необходимости характеристиками новых фрагментов, и про¬
изводить оптимизацию БИС с использованием данных из этого
архива. Это делает решение задач оптимизации ЪИС практически
реальным даже на ЭВМ со средней производительностью.
Последовательность решения задачи оптимизации с использо¬
ванием характеристик возможности выглядит следующим обра¬
зом. -■ . ■_ - . : •
.: ,1. .Для ■ каждого фрагмента. БИС решаются задачи, оптимиза¬
ции (5.14) для некоторого набора значений из разумно. назна-
145
четного диапазона Дипп, Атах]. В оптимальных точках вычисля¬
ются производные .dtyi/dki.
2. По данным, полученным .на этапе 1, строятся характеристи¬
ки ВОЗМОЖНОСТИ ij)i(Ai).
3. После того как функции-фДА*) определены для всех фраг¬
ментов БИС, решается задача (5.36), где вместо функций ф<(Л$)
используются их. аналй'гичеокие аппроксимации фг(Хг). Результа¬
том решения этой задачи является оптимальное распределение
допустимой мощности too по фрагментам БИС — вектор X*.
4. Оптимальные значения параметров компонентов каждого
фрагмента определяются решением задач (5.14) при
Характеристики возможности можно использовать и при реше¬
нии задач более общего вида. Рассмотрим задачу оптимизации
фрагмента с целевой функцией TMi= max {/,,} (см. п. 5.2.1)
min ' (5.37)
е
№i(Pi)—0.
Как и ранее, введем .функцию
<5-38>
где p*i(Ai)—решение задачи (5.37).
. Метод вычисления производных dtyi/dki, рассмотренный в
п. 5.2.2, нельзя непосредственно применять в данном случае, так
как целевая функция задачи (5.37) имеет разрывы производной
dTMi (pi)/dpi. Однако, если ввести аппроксимацию
(5.39)
где с>0 —достаточно большое число, то возвратимся к случаю,
рассмотренному в п.5.2.2. Аппроксимация (5.39) основана на
том, что
= max
•7’6[1:тг]
Можно также показать, что при с->+оо решение задачи
1 т*
min Д- In Vect4(. (5.40)
Р.еЛс . £}
MPi)~ < о>
сходится к решению задачи (5.37), но при любом конечном це¬
левая функция задачи (5.40) является -непрерывно дифференци¬
руемой.-' • • • •
146
Применим теперь характеристики возможности для решения
задачи (АЗ). Покажем, что если вектор является решением за¬
дачи
м
min max V ФгЖ
Л>0
Кь’Сфь • • •, Фь • • •> фм) ^0,. : Кв], (5.41)
м
5pi—а>о=:О,
<=i
то вектор р*=-[р*т1, Р*тг, ...,’р.*тм]т (где p*i-p*i(X*i) — рё^
шение задачи (5.37) при Xi=X*i) является решением задачи (АЗ).
Действительно» заметим, что р* — допустимое решение зада¬
чи (АЗ). Далее, заменим задачу (АЗ) эквивалентной задачей:
м .
min ’ max V аиДмДр^,
pgg, i>o /e[b««J
Rh[TMlf • • •> Тмг, Гмм] <0, £е=[1 :АЙ], (5.42)
IM
XiCO, te[l :Af],^ wo=O;
Пусть p', V —решение задачи (5.42). Допустим, что р'^р* и
Х'#=Х*, т.. е. существует по крайней мере.один ном‘ер I, такой, что
p'i¥=p*i, т. е. вектор p'z не является решением задачи (5.37), и,
следовательно,
Тш (р'г) >'ф (^zi) •
м
Так как функция Ф(Тмь . •., TMi, • • •, Тмм) =max S а)цТЛц явля-
Р=1
ется- неубывающей- по всем TMi, то, учитывая (5.43), имеем
Ф[Гмт.(р,1)-> • • -, . ., ТммХр'м)] ^Ф[ф1 (Х'1), • •
. . ., ф{(Х/г), . . ., фм(Х,м)]. !
Но, так как вектор X* — решение задачи (5.41), то
Ф['Ф1(^',1)> • • •> фг(^>,<), • • •> 'фм(Х,м)] >Ф[“ф1 (X*i), • • •
. (%*<), . . ., фм(Х*м)]
и, следовательно-, вектор р' не является оптимальным решением
задачи- (5.42). Это противоречие и доказывает, справедливость ут¬
верждения.
•Поясним вышеизложенное примерами. На рис. 5.5 изображен
ТТЛ-вентиль с эквивалентной нагрузкой. Параметрами оптимиза¬
ции для этой схемы являются номинальные- сопппт»»"
сторов R1-,R2, R3. Задача (5.37) для этой схемы формулируется
следующим образом: •- .;
min max{/«, Z'°},
Сх-0Л<0, 2,4-И<» <0, ■.
Р = №» R„ R3]r, 0 <^<40,
где ^013д, /103д — задержки выходного сигнала при переходах из’
сост. 0 в 1 и из 1 в 0, соответственно; и(0)Вых, и(1)вых — напряжен,
ния на выходе в сост. 0 и 1; ау(0), — мощность, потребляемая
схемой от источника Е\ в сост. 0 и 1.
ВХ
Рис. 5.5. Схема ТТЛ-вентиля с нагрузкой
j
Л, мВт
Число
=гм(р*),
.нс
шагов
оптими¬
зации
расче¬
тов
схемы
1,25
11
25
19,61
2,50
11
24
11,61
3,75
9 ‘
20
8,10
5,00
< ' 5
14
6,26
6,25
12
28
5,43
Задача (5.43) решалась при нескольких значениях К с помо¬
щью программы оптимизации схем [1.32] (табл. 5.1). Характерис¬
тика возможности этой схемы приведена на рис. 5.6.
Рассмотрим теперь простой
пример оптимизации методом де-,
композиции, позволяющий наг¬
лядно показать решение задачи.
На рис. 5.7 показана схема, со¬
стоящая из двух параллельно
включенных -фрагментов. Требует¬
ся минимизировать функцию Т=
= max{Ti, Т2} при ограничении
на- общую мощность' w\ + w2<2'
Параметры фрагментов pi, р4
должны -быть неотрицательными.
Связь * между параметрами оптимизации й - выходными парамет¬
рами фрагментов задана' соотношениями • ‘ "
148 ‘
Г1=г:20—
72 = 20—2р2_8р2, tt»2=p3-|-.4/^
Для решения этой задачи введем вспомогательные переменные Xi
и Аг, удовлетворяющие условию
Рис. 5.6. Характеристика* воз
можности ТТЛ ^вентиля •
Рис. 5;7.. Схема, состоящая
из двух параллельно вклют
ченных фрагментов
Рассмотрим задачу оптимизации 1-го фрагмента
min р2),
Pi. Ра>0
2pi 4* Ра -С X,.
Геометрическое решение этой задачи показано на рис. 5.8. Анали¬
тически оно записывается в виде p*i(Xi)=O, p*2(Xi)=Xi.
Аналогично для задачи
min Т2(рз, р4),
Рз,.Р.>0
Р« + 4р4<Х2,
.имеем решение (рис. 5.9)
/W=x2I р:(х2)=о.
Функции -фг (Аг) принимают вид
t1(X1) = 20-4X2, ^(Х,) = 20-2X2.
Для решения задачи
min шах{г|>1(Х1), г|?2 (Х2)},
Л1»
Х14*Х2 = 2,
исключим ‘Хг с помощью соотношения (5.44) и сведем ее, к одно-»
мерной задаче без ограничений
. .. J 20.—4X2
min niaxl
ii>.o. . [12 + 8Х!—2XJ
(5.4511
Геометрическое решение этой задачи дано на рис. 5Л 0. Точное'
решение задачи (5.45): %*i=2I).-- ' - /'■ ‘ 7
Окончательно ' .1
А = 0, р2 = 2(/2-1), Р; = 2(2-У2), 4 = 0.
Даже из этого .простого примера видно, насколько существенно
использовании декомпозиционных ме-
упрощается решение при
ТОДОВ.
Рис. 5.8. Геометрическое ре¬
шение задачи оптимизации
1-го фрагмента
Ph
0
r Pi
Рис. 5.9. Геометрическое решение
задачи оптимизации 2-го фраг¬
мента . '
Ф
20
/2+ЙЛ/-2А/ '
10
0
1 ? 2
l f
Рис. 5.10. Геометриче-
‘ ское решение задачи
(5.45)
5.2.41 Решение задач.оптимизации БИС с
учётом взаимного влияния фрагментов* Рас¬
смотрим некоторые возможные подходы к
решению задач (А4) и (А5) . Вводя АЬмер-
ный вектор вспомогательных неизвестных/
преобразуем задачу (А4) к виду 1 ' /
м
min У^ТИ(Р«. q):
.1 •
У» (Pi. q) e , ргё P; Хг > 0,
Рассмотрим M. задач оптимизации фрагментов
minTiiCPi,’q). УгЕ Уо pysPj, W(Pi'» q)^i < O'. " :;!(5Л'7)'
₽ . ■. ■ ■■■ .. ■ < ■ ti • ■■■
Обозначим p*i (Xi, q) решение задачи (5.47)| и введем функции
T«(^i» q) = T,i[Pj(Xj, q)J. j(548)'
W:
I
(5.49)’
Задача (5.46) сводится к задаче с Л4+Лд неизвестными
' м
min 2^(*г» Q),
>->о,
.м
£^-^-а>о=0.
;=i
Для решения задачи (5.49) градиентными методами необхо¬
димо вычислять производные d^i/dXi и dyt/dq. Производные
dyifd'ki можно вычислять так же, как вычислялись производные
в п. 5.2.2. Однако для вычисления d^/dq нужно использо¬
вать другой метод, так как параметры q входят в целевую функ¬
цию задачи (5.47).
Опуская для простоты индекс I, рассмотрим следующую задачу:
niin<p(p, q),
р
/Др. q)<0, /е[1 :т],
(5.50):
где <р(р, q), /Др, q) —скалярные, дважды непрерывно дифферен¬
цируемые функции.-
Если р* — решение задачи (5.50), то, согласно теории Кунна—
Танкера [5.8, 5.14], имеем
Ф;т (Р*. q) + gTF;(p*. q) = 0,
МИР, q) = o.
р> > 0, je[l :т],
(5.51) :
(5.52) ;1
(5.53) .
где
„• — 3 Ф . . £ф]’.
р КР1’ ’ dpi* ’фпТ
F; =[|k], /G [-l .
р. — m-мерный вектор множителей Лагранжа.
Введем функцию
y(q) = ф(р*. q). (5.54)
Предполагая, что в некоторой окрестности' точки р функция p(q):
является непрерывной и непрерывно дифференцируемой, запишем
^=Ф7+Ф'Т1Р*. (5.55)!
dq - р dq
где
, _Г.д ф д ф д ф "1т
‘ ‘ ... ., . ■
Используя (5.51), перепишем (5.55):
ИДИ "ИДИ
a q 4 dq . «
В силу условия (5.52) векторы р, и f—[Л(Р*> q), .fj(p*, ЯК
fm(р*, q)]т можно представить в виде
i*=[i*b gI]T; f=[fb f2T]T,
где pi>0, fi=0; p2=0, f2<0.
Равенство fi(p*, q)=0 справедливо при любых достаточно ма¬
лых вариациях вектора q, так как p*=p*(q)—решение задачи
(5.50). Поэтому справедлива формула
dft(p*; q) _ dfj [ ’«Hi dp*_.o
dq dq ‘ dp dq
(5.57)
Учитывая, что рг=0, из (5.57) получим
(5.58)
Комбинируя (5.56) с (5.58), находим
(5.59)
Вектор множителей Лагранжа р можно
определить, используя
условия (5.51)—(5.53). . .
Равенство (5.51) перепишем в виде
iq>;T+gjF = O( (5.60)
где F=dfi(p*, q)/dp. Умножая справа равенство (5.60) на FT-,
получим
<p;TFT-b7r[FFT] = 0. (5.61)
Так как матрица FFT неособенная (см. [5.14, гл. 3]), то
pi = — <PpTFT[FFT]—1 . (5.62)
Теперь формула (5.59) приводится к окончательному виду
11(ч)=ф;т_(р'трТ[ррт^..2к; ■ (5.63)
dq д q
Пример. Пусть параметры Ts и w фрагмента схемы связаны с параметрами
(ръ Рг] и q следующими соотношениями: Ts=30—2pi—4p2z—q2', ay = 6-bpi+p22—
--Zpz+q. Рассмотрим' задачу •
iminTsfpi, 'Pz, q)., ■
p» p«*° (5.64)
«’(Pi. Pa. q) — ^<0.
решение которой достигается в граничной точке (рис. 5.11) pi*(%, ?)=0,
Р2*(Ъ ^)=‘1+ —р,
и функция у(%, q) имеет вид
у(Х, <7) =30-4(1 4-/7 +А,-?)2-?2. ’ (5.65)
Вычислим производную dyjdq, используя формулу (5.63). Имеем
‘<р';(р*)=-29, Ф;т(р*)=-2[1 4Р;] ; ;’
,152
_ ® + Pl + Р2 — ^Pi + Я — X J
dfi(p*) _Г01 _Г 1 .0
% Ы’ [1 2(Р;—1)
Рис. 5.11. Геометрическое
решение задачи (5.64)
FT[FFTJ”1
_ 1 Г 2(pg—0 o’]
_ 2(р*—i) L -i iJ;
’m.-to
dq
M
dq
2q+2 [1
[21;‘.][.]
1
2
а“-2’+^?Г"-2’+4[‘+ гт+т^]-
-Понятно, что в данном примере тот же результат можно получить, диффе¬
ренцируя по q правую часть (5.65).
Сформулируем теперь алгоритм решения задачи (А4).
1. Выбираем положительные числа Х/0) (ie[l : Af]), удовлёт-
м .
воряющие условию S Xi(O) = te’o- Пусть Х<4 р<4 q(fe) — очередное
1=1
приближение.
2. Решаем М задач оптимизации фрагментов вида (5,47) при
q=q<4 Вычисляем у;, ie[l :Af], и производные от этих
функций по Хг- и q по формулам (5.63).
3. Если необходимое условие стационарной точки задачи
(5.49) выполнено, то поиск заканчивается. В противном случае
переходим к этапу 4.
4. Используя любой подходящий метод решения задачи' (5.49),
корректируем значения X и q, т. е. получаем X(ft+1^ и q<ft+1) и пере¬
ходим к этапу 2.
В заключение рассмотрим один из возможных' подходов к
решению задачи (А5). Вводя вектор вспомогательных неизвест¬
ных X, преобразуем (А5) к следующей задаче-' г ' •••' :
' м '
Triin У CiTstlPi, Vj),
peQ, v,%>ogJ
“«(Pi. Vi)—vf+1=:Q, ..... ,:(5.66)
О’/(Po Vi)—Xf < 0, ie[l:Af],
153
м
^0 = 0.
i=l
Для решения задачи (5.66) применим метод множителей [5.21, 5.22],
т. е. задачу .(5.66) заменим эквивалентной задачей
м
max min Г [ct Tsi (pf, v,) + [uf (р„ vf)-vJ+1] +
ц ..peQ, v, x>o и I
к i=1 ' ) ‘
II ui (Pi» vi)—Vi+ill2},
JM
(Pji Vi)—^0, t€EE[l: AfJ, V^i—®o = O» (5.67)
£=i
где м—[mti, ..., цтг, ..., мтм]т— вектор множителей Лагранжа;
К>0 — константа. Введем обозначение
Ji (Pi. v, gi) = ct Tsi + pT [Ui—Vj+1.] + II ui—*i+i II2-
Обозначим также p*»[gi, Xi, v] решение следующей задачи оптими¬
зации фрагмента:
min/j (pj, v, м{),
it&i ■
wi (Pn Vj)—X{ <0, ' (5.68)
и введем функцию
fo(v, Mi, Xi) = Ji(p;, v, Mi)-
Теперь задача (5.67) сводится к задаче
м
max min У pjv, Mi, Ъ),
Ji v, Х>0
Л4
£хг—ауо = О.
i=i
Положим
(5.69)
(5.70)
е (м) = min У p,(v, Mi, М
при X, удовлетворяющем ограничению задачи :(5.70), и сформули¬
руем алгоритм решения задачи (А5) методом декомпозиции.
1. Выбираем числа Х/0), удовлетворяющие ограничению
м
2^)=®0, Полагаем |м<°)=0 .для всех 1е[1:М] и назначаем
•i»l
■начальное значение вектора v. Пусть получены'очередные приб¬
лижения X<fe),'v(ft), м(А)- - ' ' •
.154
• 2. При p.j—v—v<ft\ Xi=X<ft\ рёшаем M задач оптимизаций
фрагментов вида (5.68). Вычисляем значения функций и-их
производные по v и [это можно сделать так же., как описано
выше при решении задачи (А4) ].
3. Используя любой подходящий метод (например, метод про¬
екции градиента) для решения задачи
м
min V ₽г(у, ХД
v,x>oz=i
2Хг-®о:^О, (5.71)
i=l •
скорректируем значения X и v. Если решение задачи (5.71) по¬
лучено, то переходим к этапу 4, в противном случае при X=X(ft+1)
и v=v('t+1) переходим к этапу 2.
4: Если стационарная точка задачи тахе(ц) получена,' то.
и
процесс заканчивается. В противном случае корректируем вектор
Н по формуле [5.21]
fl(W) = ill(/) + /c[Ui-Vi+1], /е[1:Л4], (5.72)
и переходим к этапу 2.
Сложность решения задач (А4) и (А5) намного выше, чем за¬
дач (А1) — (АЗ). Для,.решения подобных ,задач с приемлемыми
вычислительными затратами, видимо, целесообразно, использо¬
вать аппроксимации функций Ti(q, Xi) и Pi(v, Xi). Построение та¬
ких аппроксимаций для типовых фрагментов цифровых БИС
позволит практически реализовать сформулированные алгоритмы.
По, мнению авторов, такой, подход является inepcne-ктивным. в оп¬
тимизации сложных цифровых схем. ' :,.;h -
5.3. Оптимальный расчет параметров БИС при иерархическом
представлении их математических моделей
Рассмотрим случай, когда непосредственное разбиение целе¬
вой функции ф(р) оказывается невозможным. Традиционные ме¬
тоды поиска экстремума, при решении задачи оптимизации схем
требуют вычисления на каждом шаге минимизации целевой функ¬
ции Ф и ее производных дФ/др. Высокая размерность вектора па¬
раметров оптимизаций р и необходимость обращения К полной
Математической модели приводят, как уже указывалось, к’ боль¬
шим. вычислительным затратам.
Для организации <• последовательной для . каждого фрагмента
БИС минимизации целевой функции оказывается целесообразным
применение- математической модели БИС в виде иерархии! под¬
схем-(гл? 2): система- • " ■ 1
f(y, р) = 0 "" (5;73)
155-
описывает работу всей схемы (в статическом режиме), а системы
gi(Zi. yvJ, Р;) = 0 (5.74)'
моделируют работу отдельных подсхем.
Задача оптимизации формулируется так: найти минимум це¬
левой'функции Ф(у, р) при ограничениях г(у, р)^'О для-систем-
уравнений (5.73) и (5.74)’.
Рассматриваемый ниже • алгоритм [2.24] позволяет организо¬
вать автономные вычислительные процессы для отдельных под-,
схем при оптимизации схемы i целом. Для вычисления целевой
функции в этом случае используется вариант метода подсхем с.-
учетом. изменения полюсных переменных (п. 2.2.2) и сама модель
в виде, представленном на рис. 2.4. Благодаря автономному-
представлению. моделей подсхем можно организовать поиск ми¬
нимума Ф по группе, переменных р* (параметрам компонентов от¬
дельных подсхем), не обращаясь при этом к математической мо¬
дели всей схемы. В цикле оптимизации по параметрам i-й подсхе¬
мы минимизируется функция
ф[улин+^5^ (УДР;)—У?)> Уг» р], (5.75);
при ограничениях
г [улин+^ (yv(Pi)-yv)» Уч» р] < 0, (5.76)
где у^ин и уч — компоненты вектора переменных состояния у си¬
стемы (5.73), соответствующего начальному значению вектора
Pi для. цикла оптимизации внутри одной подсхемы; уч (р) опре¬
деляется системой (2.16) (рис. 2,4), а 5улнн/3уч —из форму¬
лы (2.18).
Необходимые при поиске экстремума производные целевой
функции Ф и ограничений г определяются так:
<^Ф _ / д Ф д Удин I д Ф \ д Уу . д Ф , 77.У
dps’ Ддулин аУу dyv. J др. др. ’
dpt . \3улин ЗУу ^Уу/ dpt dpt •
Коэффициенты влияния (Зуу/Зрг и dzjdpi легко вычисляются по
окончании итерационного процесса решения системы (5.74) для
i-й подсхемы:
AL + + ±S_ = 0;;
dz a pi dyv a Pi a pi t (5.78).
д Алин Уу | д Iподсх д2 | д Лгодсх дУу | д Людсх __ g
ау^ арг az’ api ayv арг ар.
- 1- В общем случае в целевую функцию Ф и ограничения г могут входить
’Компоненты векторов Zf. Дополнительных трудностей решение задачи не- вызы¬
вает, и такой случай далее не рассматривается, чтобы избежать усложнения
записей.
1-56
Отметим, чта все-.матрицы коэффициентов при использовании
квазиньютоновоких методов решения системы (2.16) уже'извест-’
ны. ‘ "i:-- '
Перечислим' основные этапы оптимального расчета парамет¬
ров. БИС. (для статического- случая) при автономной организации
процессов. ' .
1. Для 'начального приближения вектора оптимизируемых па¬
раметров р° решаются системы. (5.73) и (5.74) методом подсхем,
в ■ автономном варианте. Вычисляется значение целевой, функции
Ф(у, Р(0)). Запоминается матрица проводимостей dt/dy.
■ 2. Фиксируется начальное приближение р" для цикла оптими¬
зации внутри- -i-й подсхемы (на 1-.м шаге для 1-й подсхемы в ка-
честве р принимается,!).*0)).
3. Решается расширенная система- (2.16), моделирующая вза¬
имодействие i-й’подсхемы с линейной частью -большой схемы. -
4. Вычисляются коэффициенты влияния dz/dpt и dyv /др{ из
уравнений (5.78) и соответствующие лим производные дФ/dpi и
dr/dpi по (5.77).
5. 'Осуществляется поиск минимума целевой функции (5.75)
при . ограничениях (5.76) для рассматриваемой подсхемы с выбо¬
ром шага Др^ .и повторением пп.-3,4'. (локальный цикл оптимиза¬
ции для i-й подсхемы). ■ .
‘ 6. Вычисляется значение dIU0RZS.ldyv , соответствующее р**){ и
корректируются значения блоков <5fv /dyv и- f в соответствии с
новыми значениями улин и у? .
7. Осуществляется переход к следующей подсхеме и повторя¬
ются пп. 2—6.
8. Для новых значений р*1) повторяются пп. 1—7. Найденные
и y(1)v являются начальными приближениями итерационных
процессов. Полный цикл оптимизации завершен.
■Таким образом'; предлагаемый метод позволяет заменить опти¬
мизацию большой системы последовательностью процессов опти¬
мального расчета подсистем, учитывая при этом изменения со¬
стояния всей системы. В связи с автономностью процесса миними¬
зации отдельных подсхем .суммарное число циклов анализа мо¬
жет значительно уменьшиться .по сравнению с полным анализом
схемы на каждом шаге минимизации, чем определяется эффектив-’
ность с вычислительной точки зрения предлагаемого метода.
Примером несепарабельной целевой функции является распространенный
для аналоговых схем критерий наилучшего совпадения заданной и рассчитан¬
ной характеристик, например
ф=2 чк (<ai) 1 - 1 Кзл(<0i) |]2’ (5-79)
1=1
,\Для поиска экстремума ..мргут ..быть использованы хорошо исследованные
методы поиска, учитывающие специфику оптимального расчета . электронных
схем (см., например, {5.1— 5.6]). Предполагаемый алгоритм не вносит никаких
дополнительных ограничений .на их применение.. В этих же . работах обсуждают¬
ся вопросы выбора целевой функции Ф и определения ограничений г.
-157
где сог— значения частот; N —выбранное'число'точек расчета ”йг. ч'астотном
диапазоне; К и 7(зд — соответственно, рассчитанное •-и .заданное (желаемое)
значения коэффициентов усиления. Так как коэффициент усиления зависит от
рабочей,точки, т. е. К=Л(у, со), функционал Ф фактически задан на множестве
решений уравнений статики у. ’ ’
В?качестве схемотехнической иллюстрации рассмотренного, подхода сфор¬
мулируем задачу оптимального расчета по критерию (5.79) для простейшего
примера трехкаскадного интегрального усилителя, с последовательно-последова¬
тельной обратной связью [5.23]. Обычно для усилителей такого класса интерес
■представляет увеличение частотного диапазона при обеспечении заданных огра¬
ничений на коэффициент усиления по напряжению. 1(и- Ограничения для задачи
•включают обычно требования к статическому режиму транзисторов:
«кэ j йкэ min > /==1^2, 3, (5.80)
Рис. 5.12. Широкополосный ин¬
тегральный усилитель "с последо¬
вательной обратной связью
обеспечивающие активный режим работы транзисторов^, и диапазон изменения
Параметров Pmin^^p^^pmax*
Если переменные оптимизации (например, сопротивления схемы) йлйяют
на статический режим, то каждый шаг оптимизации по критерию (5.79) вклю¬
чает статический расчет схемы и вычисление частотных характеристик.- Для вы¬
числения Ки в частотном диапазоне -требует¬
ся малосигнальная матрица .проводимостей»
включающая активную и реактивную со¬
ставляющие. Если оптимизируется слож¬
ная - схема, представленная набором под¬
схем, то .возможно-применение рассмотрен¬
ного подхода с автономными для подсхем
вычислениями. Статический расчёт осущест¬
вляется алгоритмом, изложенным в -и». 2*2.2.
Для расчета- в частотной «области могут
быть применены те же соотношения ct уче¬
том частотной зависимости' .матриц, произ¬
водных. Основное отличие — йеобхЬД'ймость
. ’хранения матрицы полюсных проводимо¬
стей df/dy для всех значений частот, при
которых вычисляются характеристики: Тог¬
да приведенные выше этапы оптимального
расчета ’параметров включают- в п. 3 при
моделировании взаимодействия Z-й подсхе¬
мы с остальной частью схемы: .. •
а) расчет статических режимов' по из¬
ложенной в П. 2.2.2 методике,
б)- модификацию’ блоков', малосигнальной матрицы проводимостей в соответ¬
ствии-с изменением статического .режима, ’
.в), расчет Ки. . ,
Пункты б и в повторяются на шаге оптимизации для всех частот. Таким
образом, обеспечивается оценка 'функцио’нала (5.79) при изменёнии параметров
подсхем^.’ • ~ " г * • • ’ ' •
Пусть схема на рис. 5.12 разбита на две подсхемы и.в качестве переменных
оптимизации выбраны сопротивления и /?3, т. е. параметры разных подсхем.
В соответствииJс используемыми’‘в параграфе' Обозначениями при разбиении
усилителя на подсхемы имеем * .
Р1 — ^1» Рз—*3-
В рассмотренной методике предполагается при. изменении переменной
моделирование только 1-й подсхемы, й'при изменёний\7?з 2-и подсхемы.
В соответствии с (5.75); вычисление целевой' (фу
ном -случае' сводится к опрёделен'Щ<5.-7<й- в точках •<
H-KijftH* для подсуём в'-' дан-
д&1-ИН:\. ~ < v
©(кт. е-.
158
для *1-й подсхемы-функция цели -имеет вид
|улин + [ У у (^i) — У у №)] | »
где — исходное значение оптимизируемого параметра, а уЛин — соответст¬
вующее ему статическое решение. Аналогично задается целевая функция Ф2. В
этом случае ограничения определяются в соответствии с (5.76):
для 2-й подсхемы
&3 min *3 шах» ^кэ i йкэ min > / = 1 ♦ 2, '3,
для 1-й подсхемы
R1 min -^1 R1 тах> ^кэ / ^кэ min» / = 1,2;
5нкэ ТЗ — —"
( yv (2?i) — yv (/?i) ) > пкэ min.
Заключение. При высокой размерности задачи оптимального
расчета параметров БИС требуется применение декомпозицион¬
ных методов. Рассмотрены два возможных подхода для практи¬
ческого решения этой сложной с вычислительной точки зрения
задачи. Первый заключается в формировании локальных целе¬
вых функций и ограничений для отдельных фрагментов БИС с
дальнейшей независимой оптимизацией каждого из них. Второй
подход связан с организацией автономных вычислительных про¬
цессов для отдельных фрагментов и предполагает использование
исходной глобальной целевой функции при иерархическом пред¬
ставлении модели БИС в целом. Результатом применения пред¬
ложенных подходов является значительное сокращение вычисли¬
тельных -затрат. Их применение перспективно также в связи с
■возможным применением многопроцессорных вычислительных си¬
стем. Алгоритмические предпосылки организации независимых
вычислительных процессов делают возможным в этом случае од¬
новременный параллельный поиск оптимальных параметров для
различных подсхем.
Список литературы
ВЛ. Калахаи Д. -А. Методы машинного расчета электронных схем: Пер. с
англ. — М.: Мир, 1970. — 344 с.
В.2. Анисимдв Б. В., Белов Б. И., Норенков И. П. Машинный расчет эле¬
ментов ЭВМ. — М.: Высшая школа, 1976. — 336 с.
В.З. Ильин В. Н. Машинное проектирование электронных схем. — М.г
Энергия,- 197*2. — 280 с.
В.4. Чахмахсазян Е. А., Бармаков Ю. Н., Гольденберг А. Э. Машинный
анализ интегральных схем. — М.: Сов. радио, 1974. — 268 с.
В,5. Сигорский В. ГК, Петренко А. И. Алгоритмы анализа электронных
схем. — М.: Сов. радио, 1976. — 608 с.
В.б. Белов .Б. И., Норенков И. П. Расчет электронных схем на. ЭЦВМ. —*
М.: Машиностроение, 1971. —.143 с.
<В.7.‘ Машинный расчет интегральных схем./Под ред. Д. Д. Герсковица.
Пер. е англ.—_М.: Мир, L971. -^.407 с.
гВ.Э. Глориозов Е. Л., Ссор ин В. Г., Сыпчук П. П. Введение в автоматиза¬
цию схемотехнического проектирования. --М.:- Сов. радио, Г976.’ — 224- с.
■•159
В.9. Calahan D. A. Computer aided' network design. — New .York: McGraw-
Hill Book Co., 1972. — 350 p.
В.1Ю. Нагорный Л. Я. Моделирование электронных цепей на ЦВМ. —
Киев: Техника, 1974. — 360 с.
В.11. Бахвалов Н. С. Численные методы математического анализа. — М.:
Наука, 1973. — 627 с. ’ * «...
В. 12. Ортега Дж.? Рейнболдт В. Итерационные методы решения нелиней¬
ных систем уравнений со многими неизвестными.. —• М.: Мир, 1975., — 558 -с.
В.13. Петренко А. И., Власов А. И., Тимченко А. П. Табличные ; методы
моделирования электронных схем на ЭЦВМ. — Киев: В ища школа, 1977. —
188 с. ’ t
В.14. Chua L. М., Lin Р. М. Computer aided analysis of electronic circuits:
Algorithms and computational techniques. — New Jersey: Prentice Hall, Inc.
1975. — 720 p.
ВД5. Ильин В. H. Основы автоматизации схемотехнического проектиро¬
вания. — М.: Энергия, 1979. — 390 с. , .
BJ16. Норенков И. П., Мулярчик С. Г., Иванов С. Р. Экстремальные зада¬
чи при схемотехническом проектировании в электронике. — Минск: Белорус,
гос. ун-т, 1976. — 240 с.
В.17. Батищев Д. И. Поисковые методы оптимизации. — М.:Сов, радио,
' 1975. — 215 с.
В. 18. Темеш Г., Калахан Д. Машинная< оптимизация .электрических це¬
пей. — ТИИЭР, 1967, т. .55, № .11, с. 65—98.
В Д-9. Ларин А. Г., Томашевский Д. И., Шумков Ю. М. и др. Машинная
оптимизация электронных узлов РЭА. — М.: Сов. радио, 1978. —- 192 с.
В.’2О. Тьюарсон Р. П. Разреженные матрицы. — М.: Мир, 1977; — .189 с.
В.’21. Дафф И. С. Обзор’ исследований -по разреженным матрицам. —
ТИИЭР, 1977, т. 6’5, № 4, с. 5—47. . .
1.1. Фаддеев Д. К-, Фаддеева В. Н; Вычислительные -методы линейной
алгебры. — М.: Физматгиз, 1969. — 734 с. ‘ •”•’/
1.2. Тинней У. Ф., Уокер Дж. Прямые решения квазиблочных уравнений
цепей оптимально - упорядоченным разложением-. на- треугольные сомножите¬
ли. — ТИИЭР, 4967, т. 55, № 1=1, с. 31—41..
1.3. Pooch V. W., Nieder A. A survey of indexing techniques for* sparse’mat¬
rices. — ACM Computer Surveys, il9’73, v. 5, №2, p. 109—1133.
1.4. Lee H.’ B. An implementation of gaussian elimination of sparse systems
■of-linear equations-. — In:, Proc.- Sparse Symp. IBM Watson.. Research 'Center.
Yorktown Heights, N. Y. 1969, ,p. 75—83. / ” ’ .
1.5. Erisman A. M., Spies G. Ё. Exploiting problem " characteristics in• the
sparse matrix approach to frequency domain analysis.- — IEEE Trans.,*- 1972,
v. CT-19, № 6, p. 571—584.
1.6. Director S. W. A survey of decomposition techniques for analysis and
design of electrical networks. — In: Proc. Conf, of Decomposition of. JL^arge
Scale Problems. Cambridge, 1972. — Amsterdam, The Nefherland, 1973.
1.7. Gustavson F. G., Liniger W. M., Willoughby R. A. Simbolic generation
of‘an optimal Grout algorithm for sparse systems-of linear equations.--r- J. Assoc.
Comput. Mach., 1970, v. 17, № 2, p. 87—109/ , ’ < . .
1.8. Егоров Ю. Б., Федынский A.1 В.»’Методы формирования, и решения
почти К-диагональных систем узловых уравнений. — • Изв. вузов- СССР..;Ра¬
диоэлектроника, 1977, т/20, № 6,-с. 104—1077 •- . .. .. - ’
1.9. Уилкинсон Дж. X. Алгебраическая проблема собственных значений. .—
М.:-. Наука, 1965. — 472 с; •• - •• .. • ... ”
. 1.10. Тихонов А. Н., Арсенин В. Я. Методы-решения-.’некорректных ..за¬
дач: — М.: Наука; 1974. — 223- с. v '• '* i *
1.11. Berry R. D. An optimal ordering of electronic Circuit, equations for ’a
sparse matrix solution. — IEEE' Trans., 1971, v. CT-18, №. 1,- p. 40—50.’
1.12. Hsieh H. Y. Ghausi M.. S. Оц.; optimal; pivoting algorithms . in-sparse
matrices. — IEEE Trans., 1972, v. CT-19, № 1, p. 93—96. . ’
• 1.13/ Hsieh H. Y. Pivoting?order. computation, method: for large ..-random- sparse
systems. — IEEE Trans., 1974, v. GAS-21, № 3, p.-'225—230. : -X.'
160
’■ 1/14. Hsieh H. Y., Chausi M. S. A probabilistic approach .to optimal pivoting
and prediction of fill-in random sparse matrices. — IEEE Trans., 1972, v. CT-19,.
№ 4; p. 329—336. • .' .
1.15. Markowitz H. M. The elimination form of the inverse and its application
to linear programming. — Management Sci., 1957, . v. 3, № 3, p._255—269.
1.16: Rose D. I. Triangulated graph and the elimination process. — J. Math,.
Anal. Appl., 1970, v. 32, p.-597—609.
1.17. Ogbuobiri E. C., Tinney W. F., Walker I. W. Sparsity directed decompo¬
sition for gaussian elimination on matrices. — IEEE Trans., 1970, v. PAS-89,.
№ 1, p. 141—150.
1.18. Cuthill E. I. Me Kee.. Reducing the bandwith of sparse symmetric mat¬
rices. — In: Proc. 24th National Conf. ACM Brandom Systems Press, Princeton,.
N. J., 1969, p. 157—172.
1.19. Sato N., Tinney W. F. Techniques for exploiting the sparsity of the
network-admittance matrix. — IEEE Trans., 196-3, v. PAS-82, № 9, p. 944—949.
1.20. Rosen R. Matrix bandwidth minimization. — In: Proc, ,23th National
Conf. ACM Brandom Systems Press, Princeton, N. J., 1969, p. 585—595.
1.21; Alway G. G., Martin D. W. An algorithm for reducing the bandwidth
of a matrix of symmetric configuration. — Computer J., 1965, v. 8, № 4, p. 264—
272.
1.22. Cheng K. Y. Minimizing the. bandwidth of. sparse symmetric matrices. —
Computing, 1973, v. 11, № 2, p. 103—110.
1.23. Gibbs N. E., Poole W. G., Stockmeyer P. K. An algorithm for reducing
the bandwidth and profile of sparse matrix. — SIAM J. Numer. Anal. 1976, v. 13r
Ke 3, p. 236—250.
1.24. Akyuz F. A., Utku S. An automatic node-relabeling scheme for bandwidth
minimization of stiffness matrices. — AIAA J., 1968, v. 6, № 8, p. 728—730.
'1.25. Самарский А. А. Теория разностных схем. — M.: Наука, 1977. —
653 с.
'1.26. Ильин В. Н., Фролкин В. Т. Цифровые схемы и устройства на МДП-
транзисторах. — М.: Энергия, 1975. — 129 с.
'1.27. Русаков С. Г., Шилин В. А. Алгоритмы машинного расчета характе¬
ристик ЙС на приборах с зарядовой связью. — Микроэлектроника, 1973,.
т. 2, № 5, с. 436—441.
1.28. Русаков С. Г. Машинный анализ динамических характеристик ин¬
тегральных сдвиговых регистров. — Автоматика и вычислительная техника,.
1974, № 4, с. 91.
1.29. Ильин В. Н. Автоматизация расчета однородных вычислительных
сред методом двухступенчатых подсхем. — Приборы и системы управления,
1975, № 3, с. 26—28.
•1.30. Русаков С. Г. Алгоритм формирования и решения систем уравнений
для моделирования электрических характеристик двумерных однородных
структур. —. В кн.: Однородные вычислительные . системы и среды, ч. 3. —
Киев: Наукова Думка, 1975, с. 201—203'.
1.31.Носов Ю. Р., Петросянц К. О., Шилин В. А. Математические модели:
элементов интегральной электроники. — М.: Сов. радио, 1976. — 304 с.
1.32.. Аврашков П. П., Беляков Ю. Н., Егоров Ю. Б., Курмаев Ф. А., Фе-
дынский А. В. Система автоматизации схемотехнического проектирования
САМРИС-2; — Электронная промышленность, 1979, № 4, с. 47—50.
,2Ji Сигорский В. П. Методы анализа электронных схем с многополюсны¬
ми элементами. — Киев: АН УССР, 1958. — 402 с.
2.2. Зелях Э. В. Основы общей теории линейных электрических схем. —
М.: Изд-во АН СССР, 1951. — 336 с.
2.3. Пухов Г. Е. Методы анализа и синтеза квазианалоговых электронных
цепей. — Киев: Наукова Думка, 1967. — 567 с.
2.4. Бондаренко В. М. Вопросы анализа нелинейных электрических цепей
и электрических цепей. — Киев: Наукова Думка, 1967. — .159 с.
2.5. Крон Г. Исследование сложных систем по частям — диакоптика. —
М.: Наука, 1972. — 542 с. .
2-6. Хэпп X.. Диакоптика и электрические цепи; — М.: Мир, 1974. —
п г» •
161
2.7. Баранов А. В. К’ основаниям метода Крона: Послесловие- редактора.
— В .книге ('2.5], с. 5'14—542. ’ ’
2.8. Меррей-Лассо М. А. Анализ линейных ИС на ЦВМ методом- многое
полюсных подсхем. — В «книге [В.7], с. 146—Г59.
2.9. Гурарий М. М., Ермак В. В., Зарудный Д. И., Русаков С. Г. Приме¬
нение метода многополюсных подсхем, в. программах анализа электрических
характеристик БИС. — Управляющие системы и машины, 1973, № 5, с. 55—58.
. 2:10. Бондаренко 'В. М., Пфенинг В. В. ’Использование метода подсхем
для анализа нелинейного режима электронных схем. — В кн.: Автоматизация
проектирования РЭА. — М.: МДНТП, 1973, с. 49—52.
2.11. Бахов В. А., Ильин В. Н., Фролкин В. Т. Алгоритм расчета нелиней¬
ных схем методом подсхем с использованием итераций по* Ньютону. — Изв:
вузов СССР. Радиоэлектроника, 1-974, т. 17, № 6, с. 5—1'5.
2.1'2. Петренко A. H.f Елизаренко Г. Н. Моделирование сложных схем на
ЦВМ. — Изв. вузов. СССР. Радиоэлектроника, 1973, т. 16, № 6, с. 6.8-^-75:
‘2.43. Петренко А. И., Елизаренко Г. И., Власов А. И. — Моделирование
электронных схем на ЦВМ. — Управляющие системы и машины, 1974, № 5,
с. 36—45. . •
2.14. Егоров Ю. Б., Беляков Ю. Н.- Расчет статического режима БИС ме¬
тодом кусочно-линейной аппроксимации. — Микроэлектроника/Под ред,-
А. А. Васенкова. —'М.: Сов. радио, 1’976, вып. 9, с. 1’57—473. •;
.2.15. Chen R. .Solving a class of large sparse, linear systems of equations by
partitioning. — In: Proc. 1973 IEEE Int. Symp. on .CT. — New’York, p. 223—227.
2.16. Toy К. Составление уравнений цепи с помощью методов разбие-*
ния. — ТИИЭР, 1067, т. 55, №’ 14, с. 263.
2.17 Панферов В. П. Об использовании метода диакоптики при анализе
электродных схем. — Электронная техника. Сер. 11. Комплексная микромй-.
ниатюризация, 1976, № 1, с. 78—82.
2.18. Нагорный Л. Я. Метод подсхем для расчета на ЦВМ электронных
цепей по матрице гибридных параметров. —Изв. вузов СССР. Радиоэлек¬
троника, 1975, т. 18, № 6, с. 60—67.
2.19. Chua L. О., Chen L. К. Diacoptics and generalized hibrid analysis. —
IEEE Trans., 1976, v. CAS-23, № 12, p. 694—705.
2.20. Брайтон Б., Густавсон Ф., Хэчтел Г. Новый эффективный алгоритм
решения алгебраических систем дифференцированных уравнений. — ТИИЭР,
=1972, т. 60, № 1, с. 1'36—1148.
2.21. Штеттер X. Анализ методов дискретизации для обыкновенных диф¬
ференциальных уравнений. — М.: Мир, 1978. — 460 с. .
2.22. Ермак В. В., Зарудный Д. И., Русаков С. Г., Соколова Н. И., Сып-
чук П. П. — Анализ электрических характеристик нелинейных БИС методом
многополюсных подсхем. — Электронная техника. Сер. 3. Микроэлектроника,
1977, № 1, с. 3-42.
•2.23. Гурарий М. М., Русаков С. Г. Машинный расчет сложных электрон¬
ных систем методом подсхем. — Изв. АН СССР Техническая кибернетика,
1977, № Г, с. 193-4197.
2.24. Гурарий М. М., Русаков С. Г. Метод оптимального расчета парамет¬
ров БИС при иерархическом представлении, их математических моделей. — Уп¬
равляющие системы й машины, 1976, № 4, с. 115—Г20.
2.25. Елизаренко Г. Н., Слипченко В. Г. Иерархические • способы организа¬
ции итераций в сложных нелинейных цепях. — Изв. вузов СССР. Радиоэлек¬
троника, 1977, т. 2-0, № 6, с. 1Ю7—|1Ч*1. • '
2.26. Wu F. F. Solution-of large scale networks by tearing. — IEEE Trans.,
1976, v. CAS-23, №*12, p. 708—713,
2.27. Rabbat N. B., Hsieh H. Y. A latent approach to large scale sparce net¬
works. — IEEE Trans., 1976, v. CAS-23, № 12, p. 745—752.
2.28. Ли H. В. Матричная фильтрация, как'средство численного интегриро¬
вания. — ТИИЭР, .1967, т. 55, № 11, с. 59—64. . ' . ”
12.29. Мультипроцессорные системы и’ параллельные вычисления/Под ред.
Ф. Г. Энслоу. — М.: Мир, 1976. — 383 с. ,
2.30. Липаев В. В. Раопределеййе р’есу=рсов в вычислительных системах. —
М.: Статистика, 1979. — 246 с. .
162*
2.31. Головкин Б. А. Параллельная обработка информации, программиро¬
вание, вычислительные. методы, вычйслительные системы. — Изв. АН СССР-
Техническая кибернетика, 1979, № 2, с. 116—llSjl. . ' ‘
•2.32. Танкелевич Р. Л. Моделирующие микропроцессорные системы. — М.:
Энергия, 1979. — 1-1210* с.
' 2.33. Pottle С., Wong Y. М. Nonlinear Circuit Simulation on a Parallel Micro¬
computer System. — In: Proc. 1976, IEEE Int. Symp. on Circuits and Systems. —
New York, 1976. . . .
2.34. Бененсон E. П., Витенберг И. M., Горская И. Е. Оценка числа мик¬
ропроцессоров в системе, предназначенной для решения дифференциальных
уравнений. — Электронная промышленность, 1978, № 10, с. 31—S7.
•2.36. Котарова И. Н., Шамаева О, Ю. Параллельный метод диакоптики
для решения сложных задач на распределенных вычислительных системах, -г-
Кибернетика/AH УССР, 1979, № .1, с. 1'12—119.
2.36. Цвиркун А. Д. Структура сложных систем. — М.: Сов. радио, 1975. —
199 с.
2.37. Kernigan В. W., Lin S. An efficient heuristics procedure for partitioning
graphs. — BSTJA 1970, v. 49, № 2, p. 291—307.
2.38. Горинштейн Л. Л. О разрезании графов. — Техническая кибернетика^
1969, № 1, с. 79—85.
2.39. Абрайтис Л. Б. Алгоритм для определения максимально связанных
наборов элементов. — Автоматика и вычислительная техника, 1970, № 5Г
с. 40—47.
2.40. Абрайтис Л. Б., Шейнаускас Р. И., Жилевичус Е. А. Автоматизация
проектирования ЭВМ. — М.: Сов. радио, 1978. — 269 с.
2.41. Теория и методы автоматизации проектирования вычислительных сц-
стем/Под ред. Бреуэра. — М.: Мир, 1977.*— 282 с.
2.42. Фридман А., Менон Н. Теория и проектирование переключательных
систем. — М: Мир, 1978. — 580 с.
■2.46. Щемелинин В. М. Задача оптимального представления графа электри¬
ческой схемы. —: Микроэлектроника/Под ред. А. А. Васенкова. — М.: Сов. ра¬
дио, 1976, вып. 9, с. 253—261.
2.44. Селютин В. А. Машинное конструирование электронных устройств. —
М.: Сов. радио, 1977. — 382 с.
•2.45. Методы разбиения схем РЭА на конструктивно законченные ча-
сти./К. К. Морозов, А. И. Мелихов, Л. С. Берштейн, В. Г. Одиноков, В. М. Ку-
рейчик. — М.: Сов. радио, 1978. — 133 с.
2.46. Sangiovanni—Vincentelly, Chen L. К, Chua L. О. An efficient heuristic
cluster algorithm for tearing larde-scale networks. — IEEE Trans., 1977,.
v. CAS-24, № 12, p. 709—717.
2.47. Базилевич P. П., Романишин Ю. M. Анализ радиоэлектронных цепей
методом оптимального свертывания подсхем. — Изв. вузов СССР. Радиоэлек¬
троника, 1977, т. 20, № 6, с. 52—56.
2.48. Русаков С. Г., Святский А. Б. Метод автоматического разбиения на
подсхемы для анализа электрических характеристик БИС. — Управляющие си¬
стемы и машины, 1975, № 3, с. 115—119.
2.49. Харари Ф. Теория графов. — М.: Мир, 1973. — 300 с.
3.1. Katzenelson J. An algorithm for solving nonlinear resistive networks. —
Bell Syst. Tech. J., 1965, v. 44, № 10, p. 1605—1620.
3.2. ‘ Fujisawa T., Kuh E. S. Some results on existence and uniqueness of
solutions of nonlinear networks. — IEEE Trans., 4971, v. CT-18, № 9, p. 501—506.
3.3. Fujisawa T., Kuh E. S. Piecewise linear theory of nonlinear networks. —
SIAM J. Appl. Math., 1972, v. 22, № 3, p. 307—328.
3.4. Kuh E. S., Hajj I.- Nonlinear circuits theory resistive networks. — Proc.
IEEE, 1971, v. 59, № 3, p. 340—355.
3.5. Chua L. O. Efficient computer algorithms for piecewiselinear analysis of
resistive nonlinear networks. — IEEE Trans., 1971, v. CT-18, № 1, p. 73—85.
3.6. Fujisawa T., Kuh E. S., Ohtsuki T. A sparce matrix method for analysis
of resistive nonlinear networks. — IEEE Trans., 1972, V. CT-79, № 6, p. 571—584.
3.7. Chien H. J., Kuh E. S. Solving piecewise—linear equations for resistive,
networks. — Circuit Theory and Applications, 1976, v. *4, p. 3—-24.
163
3.8. Баталов Б. В., Егоров Ю. Б.,’ Соколов'А. Г/Алгоритм расчета опти¬
мальных-параметров- фрагмента/БИС/ —' Мйкроэлектрбн-ика'/Под ред.' А. А. Ва¬
щенкова. — М.: «Сов. радио», 1976, вып. 9, с. 183—’197.
3.9. Егоров Ю. Б., Федынский А. В/Применение-мётод’а’ кусочно-линейной
аппроксимации для расчета интегральных схем. — Электронная техника. Сер. 3.
Микроэлектроника, 1978, № 6, с. 51—58. ’ . '
3.10. Аврашков П. П., Беляков Ю. Н., Егоров Ю. Б., Федынский А?-В.
Программное обеспечение автоматизированной системы моделирования и расчета
ИС. — Электронная промышленность,* 1977, № 2, с. 13-48.
3.11. Sandberg Т. W., Shichman Н. Numerical integration of systems of .stiff
■nonlinear differential Equations. — BSTJ, 1968, v. 47, № 4, p. 66—73.
4.1. Директор С., Рорер P. Введение -в теорию систем. — М.: Мир, 1974. —
-457 с. ‘ \ . .. '* ... *: Г
4.2. Маничев В. Б., Норенков И. П., Хартов В.'Я. Макромодели ’функцио¬
нальных узлов цифровых устройств. — В юн.: Машинные методы проектирова¬
ния электронных схем/МДНТП. — М., 1-975, с, 78—78.
4.-3. Норенков И. П., Маничев В. Б., Жук Д. М. Математическоё обеспече¬
ние задач- получения и использования м-акромодеЛей. — Изв.- вузов- СССР.- Ра-
’.диоэлектроника, 1976, т. 19, № 6, с. 118—119. •'
4.4. Белов Б. И., Хартов В. Я. Событийное моделирование процессов в пе¬
реключательных схемах*. — В* кн.: Машинные методы проектирования электрон-
•ных схем/МДНТП. — М-., 1975, с. ПО—1'ТЗ. ■ ‘ *
4.5. Эйкхофф П. Основы идентификации систем управления. — -М.:'Мир,
4975. —'683 с. • •
4.6. Сейдж Э. П., Мелса Дж. Л. Идентификация систем управления. —
-М: Мир, Т974.'—-246 с. ’ •
4.7. Растригин Л. А., Маджаров И. Ё. Введение-в идентификацию объектов
'управления. -— М.: Энергия, 1977. — 214; с.
4.8. Гроп Д. Методы идентификации систем. — М.: Мир, (1-979.,—' 302 с:
•4.9. Алексенко * А. Г/, Зуев И.'А. " Макромоделироваиие / ИС операционных
■усилителей. — Зарубежная радиоэлектроника, 1977, № 8, с. 22—Ж
4.10. Ruehli А. Е., Rabbat R. В., Hsieh Н. Y. Macromodelling an approach
тог analysing large-scale circuits; — CAD, 1978, v. 10, № 2; p. 121—4129.
4.11. Гринбаум Д. P., Миллер В. А. Модели цифровых ЙС для машинного
проектирования. — Электроника, 1973, № 25, 26; 1974, ’№ 2, 3.
4.12. Boyle S. R., Cohn В. М., Pederson D. О., Solomon J. Е. Macromodelling
of integrated . . circuit—operational amplifiers. — IEEE J., 1974, v. SC-9,* № 6,
p. 353—363.
4.13. Glezner N., Weisang C. Computer aided macromodelling of integrated
•circuits operational amplifiers. — In: Proc. 1976 Int.: Symp. Circuits and Systems.
— N. Y. April, -1976, p, 255—258.
4.14. Solomon J. E. The monolitic opamp: a tutorial study. -r- IEEE J., 1974,
•v. SG-9, № 6, p. 314—332.
4.15. Hsueh M. Y., Pederson D. O. An improved approach for •macromodelling
digital circuits. — In: Proc., 1977 IEEE Int. Symp. on Circuits and Systems,
Phoenix, Arizona, p. 696—699.
4.1'6. Butler E. M. Macromodels for switches and logic gates in circuit simu¬
lations.— In: Proc. 4977 IEEE Int. Symp. on Circuits and Systems, Phoenix,
.Arizona 1977, p.' 692—695.
4.17. Rabbat N. B., Ryan W. D., Hossiah S. Q. M. A. A computer modelling
•approach for LSI digital structures. — IEEE Trans., 1976, v. ED-22, № 8,
:p. 523—531. . — •
4.18. Getreu I. E., Haidwidjaja A. D., Brinch J. M. An integrated circuit com¬
parator macromodel. — IEEE J., 1976, v. SC-11, № 5, p. 826—833.
4.49. Колчин А. Ф., Чунаев В. С. Блочный метод моделирования: интеграль¬
ных схем ЭСЛ...—* Микроэлектроника, 1978,’т. 7, № 6, с. 495—5'01.
4.20. Treleaven D. Н., Trofimenkoff F, N. Modeling operational .amplifier for
••'computer-aided circuit analysis. — IEEE Trans., 1971, v. CT-18, № 1, pp. 205—
207. . *
464 ' i
' 4.21. Бауэр Дж., Шоу Г., Бэрен М. Программа автоматического моделиро¬
вания систем, содержащих большое количество цифровых ИС. — Электроника,
1.975, № 9, с. 43—48.
4:22. Сидоров А. С. Анализ переходных . процессов в быстродействующих
диодных и транзисторных переключателях тока. — Микроэлектроника, . 1978,
т. 7, № 1, с. 80—88.
4.23. Справочник по интегральным микросхемам/Под ред. Б. В. Тарабри-
на. — М.: Энергия, 1977, с. 385—375.
4.24. Химмельблау Д. М. Прикладное нелинейное программирование. — М.:
Мир, 1975. — 535 с. ,
4.25. Карманов В. Г. Математическое программирование. —. М.: .Наука,
1975. — 272 с. ;
4.26. Моисеев Н. Н., Иванилов Ю. П., Столярова Е. М. Методы Оптимиза¬
ции. — М.: Наука, 1978. — 351 с. * - :
4.27. Ланкастер П. Теория матриц. — М.: Мир, 1978. — 280 с.
4.28. Гурарий М. М., Русаков С. Г. Синтез макромоделей фрагментов БИС
методом возмущений. — Микроэлектроника, '1977, т. 6, № 5, с. 406т-40'9.
4.219. Скарлетт Дж. ТТЛ-интегральные схемы и их применение. — М.: Мир,
1974. — 287 с.
' 4.30. Калиткин Н. И. Численные методы. — М.: Наука, 1978. —- 5'12 с.. .
4.31. Ахиезер Н. И. Лекции по ‘ теорий аппроксимации. — М.: Гостехйздат,
1947. — 324- с. . ...
4.32. Тиман А. Ф. Теория приближения функций действительного перемен¬
ного. — М.: Физматгиз, 1960. — 624 с.
4.33. Лоран П. Ж. Аппроксимацйя и оптимизация. — М.: Мир, 1975; —
496 с. . ,
4.34. Алберг Дж., Нильсон Э., Уолш Дж. Теория сплайнов и ее» приложе¬
ния. — М.: Мир, 1977. — 316 с.
’4.35. Боуз Н. К. Успехи и проблемы теории многомерных систем. —
ТИИЭР, 1977, т. 6'5, № 6, с. 9-^29. ' ‘ '
4.36. Коллатц Л., Крабе В.’Теория-, приближений. — М.: Наука, 1978. —
271 с. • • .
4.37. Федоров В. В. Теория .оптимального эксперимента. — М.: Наука,
’‘1971. — 3112 с. ,
4.38. Седунов Е. В. О практическом применении несмещенных планов ре¬
грессионных экспериментов. — Заводская лаборатория,.. 1978, № 7, с. 839—845.
4.39. Chawla В. R’., Gummel Н.’ К., Kozak Р. MOTIS—an MOS timing simu¬
lator. — IEEE Trans., 1975, v. CAS-22, № 13, p. 901—909.
4.40. Fan S. P., Hsueh M. Y., Newton A. R. e. a‘. MOTIS-C: A new circuit
•simulator for MOS LSI circuits. — In:’ Proc. 1977 IEEE Int. Symp.- Circuits and
Systems., Phoenix, Arizona, April, 1977, p. 700—703.
4.41. Arnout G. De Man H. The use of threshold functions and boolen-cont-
•rolled elements for macromodelling of LSI circuits..— IEEE J., 1978, v. SC-13,
Л» 3, p. 326—332.
4.42. Ho C. W., Rueli A. E., Brennan P. A. The modified nodal approach to
network analysis. — IEEE Trans., 1975, v. CAS-22, № 6, p. 504—509.
5Л. Пашкеев С. Д., Минязов P. И., Могилевский В. Д. Машинные методы
оптимизации -в технике связи. — М.: Связь, 1976. — 272 с.
5.2. Дж. Гетчел Р. А. Методы оптимального -проектирования и синтеза пере¬
ключательных схем. — ТИИЭР, 1967, т. 55, № '-11, с. 99—МЗ.
5.3. Батищев Д. И. Математические методы оптимального расчета элек¬
тронных схем. — Изв. вузов. Радиоэлектроника, 1970, т. 13, № 6, с. 675—685.
5.4. Королев В. К. Об оптимизации параметров нелинейных электрических
цепей в динамическом режиме. — Изв. вузов. Радиоэлектроника, 1970, т. -13,
№ 6, с. 721—727.
5.5. Баталов Б. В., Казеинов Г. Г., Соколов А. Г., Петров В. М. О числен¬
ных методах оптимального проектирования переключательных схем. — Микро¬
электроника, 1974, т. 3, № 1, с. 32—39.
5.6. Баталов Б. В., Егоров Ю. Б., Соколов А. Г. Алгоритм расчета опти¬
мальных параметров фрагмента БИС. — Микроэлектроника/Под ред. А. А. Ва¬
щенкова. — М.: Сов. радио, 1976, вып. 9, с. 183-4197.
165
5.7. Cea Ж. Оптимизация: Теория и алгоритмы. —. М.: Мир, -1973. 244 с.
<5.8. Хедли Дж. Нелинейное и динамическое программирование. М.:’.Мир,
1967:’506 с.
5.9. Аоки М. Введение в методы оптимизации. —? М.: Наука, 1977. 344 с.
5*.'1О. Фиакко А., Мак—Кормик Т. Нелинейное программирование. Методы
последовательной безусловной минимизации. — М.: Мир, 1972, — 240 с.
5.11. Бугров Я. С., Валиев К. А., Родионов Ю. П., Сквира А‘. В. Оптимиза¬
ция: энергетических характеристик электронных схем по мощности и быстродей¬
ствию. — Микроэлектроника и полупроводниковые приборы/Под ред. А., Д. Ва-
сенкова' и Я. А. Федотова. — М.: Сов. радио, 1977, вып. 2, с. 26—39.
5.il2. Машерова Е. П., Мулярчик- С. Г. Алгоритм анализа чувствительности
динамических параметров функционалов нелинейных электронных схем к измене¬
ниям параметров компонентов. — В кн.: Машинные методы проектирования
электронных схем/МДНТП, М., 1975, с. 1-14—122.
5.13. Егоров Ю. Б. Редукция задачи оптимизации БИС к последовательно¬
сти задач оптимизации фрагментов. — Электронная техника. Сер. 3, 1978, •№ 4,
с. 46—54.
5.14. Пшеничный Б. Н., Данилин Ю. М. Численные методы в экстремаль¬
ных задачах. — М.: Наука, 1975. — 319 с.
-5.15. Поляк Б. Т. Методы минимизации при наличии ограничений. — Итоги
науки и техники. Сер. Математический анализ. — М.: ВИНИТИ, .1974, Т. 12,
с. 147—198.
=5.16. Месарович М., Мако Д., Такахара И. Теория иерархических много¬
уровневых систем. — М.: Мир, 1973.
5.17. Лэсдон Л. С. Оптимизация больших систем. — М.: Наука, 1975. —
.431 с.
5.18. Численные методы условной оптимизации/Под ред. Ф. Гилла и У. Мюр¬
рэя. — М.: Мир, 1977. — 290 с.
5.19. Казеинов Г. Г. Экстремальные задачи в проектировании полупровод¬
никовых интегральных схем. — Электронная промышленность, 1972, № 2,
с. 31—33.
5.20. Демьянов В. Ф., Малоземов В. Н. Введение в минимакс. — М.: Нау¬
ка, 1972. — 368 с.
• 5.21. Rockafellar R. Т. The multiplier method of Hestenes and Powell 'applied
to convex programming. — J. Optimiz Theory Appl., 1973, v. 12, № 6, p. 555—
562. -
5.22. Watanabe N., Matsubara M. An infeasible method of large-system opti¬
mization by direct coordination of subsystem inputs. — J. Optimiz. Theory Appl.
1978, v. 24, № 3, p. 437—448.
5.23. Гребен А. Б. Проектирование аналоговых интегральных схем. М.:
Энергия, 1976. — 274 с.
Оглавление
Стр..
Введение 3
Глава 1. Решение разреженных систем линейных уравнений . ... 10
.1.1. Основные алгоритмы решения систем линейных уравнений ... 10
1.2. Способы хранения разреженных матриц 13
.1.3. Методы организации программ решения -разреженных систем . . . 18 .
1.4. Упорядочивание систем уравнений 27
.1.5. Алгоритм расчета схем со структурой последовательного типа . . 38
Глава 2. Моделирование электрических характеристик БИС методом
многополюсных подсхем 42
j2.1. Формирование математических моделей БИС методом многополюсных
подсхем 42
-2.2. Организация независимых вычислительных процессов при моделирова¬
нии БИС 51
.2.3. Автоматизация разбиения БИС на подсхемы 62
Глава 3. Применение метода кусочно-линейной аппроксимации для рас¬
чета'биполярных ИС 70
-3.1. Кусочно-линейные модели биполярных элементов ■ . 71
-3.2. Расчет переходных процессов с использованием кусочно-линейных мо¬
делей 81
•3.3. Алгоритмы расчета статического режима 86
Глава 4. Применение принципов макромоделирования для анализа слож¬
ных электронных схем . - . . 94
-4.1. Общая характеристика методов макромоделирования ..... 96
-4.2. Синтез макромоделей фрагментов БИС по их полным математическим
моделям 109
4.3. Алгоритм^ расчета БИС с применением моделей разного уровня слож¬
ности о 120
Глава 5. Оптимизация параметров больших интегральных схем . . 133
6.1. Особенности задач оптимизации БИС 133
-5.2. Применение методов декомпозиции для оптимизации цифровых БИС 135
6.3. -Оптимальный расчет параметров БИС при иерархическом представле¬
нии их математических моделей 155
Список литературы 1*59’
Борис Васильевич Баталов
Юрий Борисович Егоров
Сергей Григорьевич Русаков
Основы математического моделирования
больших интегральных схем на ЭВМ
Редактор В. М. Ларионова
Художник В. Н. Давыдов
Художественный редактор Н. С. Шеин
Технический редактор Л. Л. Горшкова
Корректор Г. С. Власкина
ИБ № 112
Сдано в набор 21.08.81 г. Подписано в печать 19.11.81 г.
Т-28669 Формат 60x90/te Бумага типографская № 1 Гарнитура литературная
Печать высокая Усл. печ. л. 10,5 Усл. кр.-отт. 10,75 Уч.-иэд. л. 11,51 Тираж 6000 экз.
Изд. № 19550 Зак. № 112 Цена 60 к.
Издательство «Радио и связь». 101000 Москва, Главпочтамт, а/я 693
Типография издательства «Радио и связь» Госкомиздата СССР
101000 Москва, ул. Кирова, д. 40
60 к.
ИЗДАТЕЛЬСТВО "РАДИО И СВЯЗЬ"