Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Разработка математического, алгоритмического и программного обеспечения для системы ускоренного схемотехнического моделирования БИС на транзисторном уровне Перминов Денис Владимирович

Разработка математического, алгоритмического и программного обеспечения для системы ускоренного схемотехнического моделирования БИС на транзисторном уровне
<
Разработка математического, алгоритмического и программного обеспечения для системы ускоренного схемотехнического моделирования БИС на транзисторном уровне Разработка математического, алгоритмического и программного обеспечения для системы ускоренного схемотехнического моделирования БИС на транзисторном уровне Разработка математического, алгоритмического и программного обеспечения для системы ускоренного схемотехнического моделирования БИС на транзисторном уровне Разработка математического, алгоритмического и программного обеспечения для системы ускоренного схемотехнического моделирования БИС на транзисторном уровне Разработка математического, алгоритмического и программного обеспечения для системы ускоренного схемотехнического моделирования БИС на транзисторном уровне Разработка математического, алгоритмического и программного обеспечения для системы ускоренного схемотехнического моделирования БИС на транзисторном уровне Разработка математического, алгоритмического и программного обеспечения для системы ускоренного схемотехнического моделирования БИС на транзисторном уровне Разработка математического, алгоритмического и программного обеспечения для системы ускоренного схемотехнического моделирования БИС на транзисторном уровне Разработка математического, алгоритмического и программного обеспечения для системы ускоренного схемотехнического моделирования БИС на транзисторном уровне
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Перминов Денис Владимирович. Разработка математического, алгоритмического и программного обеспечения для системы ускоренного схемотехнического моделирования БИС на транзисторном уровне : Дис. ... канд. техн. наук : 05.13.12 : Москва, 2004 140 c. РГБ ОД, 61:05-5/315

Содержание к диссертации

Введение

Глава 1 Автоматизация схемотехнического моделирования бис 12

1.1. Задачи схемотехнического проектирования бис 12

1.2. Численные методы расчета мм 22

1.3. Решение задачи коши для систем оду 24

1.4. Решение систем трансцендентных уравнений. 27

1.5. Решение систем лау 31

1.5.1. Точные методы 32

1.5.2. Учет разреженности матрицы якоби.. 33

1.6. Учет латентности при моделировании цифровых бис . 35

1.7. Выводы 42

Глава 2 Разработка итерационных методов решения линейных алгебраических уравнений в системах схемотехнического моделирования

2.1. Погрешность приближенного решения системы уравнений и обусловленность матриц. 45

2.2. Исследование особенностей использования итерационных методов при решении плохо обусловленных систем линейных уравнений 50

2.3. Разработка итерационных методов с использованием спектрально эквивалентных операторов 59

2.4. Исследование причин возникновения плохо обусловленных слау при схемотехническом моделировании бис. 62

2.5. Анализ источников возникновения «больших» проводимостей в бис 69^

2.6. Разработка структуры матрицы предопределителя для примеііения в методе спектрально эквивалентных операторов. 74

2.7. Разработка метода вычисления обратной матрицы на основе методов прогонки 76

2.8. Экспериментальная проверка разработанных алгоритмов. 80

2.9. Выводы 88

Глава 3 Разработка компонентов системы схемотехнического моделирования avocad .. 90!

3.1. Архитектура системы схемотехнического проектирования. 90

3.2. Разработка структуры данных схемотехнического редактора. 91

3.3. Разработка интерфейсов между исполнительными модулями системы . 102

3.4. Структура данных, используемая при расчете бис 105

3.5. Подсистема визуализации системы avocad. 109'

3.6. Выводы 113

Глава 4 Примеры практического использования системы схемотехнического моделирования avocad . 114

4.1, Пример расчетабис цифрового 10-ти разрядного счетчика. 114

4.2. Пример расчетабыстродействующего ацп 117

4.3. Сравнение разработанной системы avocad с другими системами схемотехнического проектирования бис 120

4.4. Выводы 121

Заключение ... 122

Литература 124

Приложение 134

Введение к работе

Актуальность темы: Состояние электронной компонентной базы отражает уровень технологического развития страны, аккумулируя самые передовые достижения естественных наук, стимулируя уровень развития фундаментальных, поисковых и прикладных исследований.

Источником успехов полупроводниковой

промышленности в первую очередь является сфера проектирования полупроводниковых изделий. Требования к качеству проектирования постоянно возрастают. Успешное применение КМОП-технологии для построения аналоговых, в том числе радиочастотных БИС позволило объединить на одном кристалле разнородные функции, которые ранее выполнялись различными ИС, расположенными на печатной плате. Одновременное увеличение количества транзисторов на кристалле и уменьшение их размеров привели к тому, что при моделировании цифровых элементов появилась необходимость учитывать аналоговые эффекты и при разработке даже цифровых БИС уже нельзя обойтись только логическим моделированием. Требуется детальный схемотехнический анализ на электрическом уровне. Традиционный подход к моделированию КМОП БИС основан на математическом моделировании с использованием различных моделей МОП транзисторов, формировании систем обыкновенных дифференциапьных уравнений, описывающих поведение БИС, и их решении численными методами.

Точность технических характеристик достигается выполнением работ на этапе схемотехнического проектирования. Важнейшим элементом этапа является схемотехническое моделирование. Схемотехническое моделирование выполняется в два этапа: до проектирования топологии и после него. Второй этап выполняется с учетом паразитных элементов схемы, полученных автоматически, с помощью программ экстракции, поставляемых в комплекте с системами проектирования. В зависимости от сложности проекта циклы схемотехнического

РОС Я." .«БАЛЬНАЯ *'-' '- 'ТЕМ

( !' С,),'.урГ

гооьрк

моделирования и проектирования топологии могут выполняться на разных уровнях иерархии проекта, чередуясь с этапами верификации топологии и коррекции электрической схемы. После выполнения последнего этапа верификации топологии изготавливается экспериментальный образец, который тестируется и проверяется на соответствие техническому заданию. При удовлетворительных результатах начинается серийное производство изделия. Бурный рост средств телекоммуникации, потребительской и автомобильной электроники привел к тому, что уже в настоящее время 25% всех проектируемых систем на кристалле являются аналого-цифровыми и их доля к 2006 году достигнет 70%. Логические схемы, память и аналоговые блоки, которые раньше располагались в отдельных микросхемах на печатной плате, теперь располагаются на одном кристалле. Верификация такой системы на кристалле имеющимися средствами моделирования стала крайне трудоемкой. По этой причине резко возросла актуальность точного схемотехнического (SPICE-подобного) моделирования для электронных схем больших размерностей, которое еще 5-Ю лет назад использовалось исключительно для моделирования аналоговых цепей или небольших фрагментов цифровых БИС.

Несмотря на интенсивные исследования, проводимые в данной области, ряд проблем остаются неразрешенными до настоящего времени. Одной из таких проблем остается проблема решения плохо обусловленных систем линейных алгебраических уравнений (СЛАУ), возникающих в процессе схемотехнического моделирования. Данная проблема особенно обострилась в последнее время, в связи с постоянным уменьшением размеров элементов БИС и, как следствие, необходимостью учитывать в процессе моделирования влияние паразитных компонентов на работу схемы.

Цель работы.

Целью диссертационной работы является разработка математического, алгоритмического и программного обеспечения

для существенного снижения временных затрат точного схемотехнического моделирования цифровых и цифро-аналоговых интегральных схем больших размерностей.

Для достижения поставленной цели необходимо решение следующих научно-технических задач.

  1. Исследовать причины большого разброса сингулярных чисел матрицы проводимостей в системах схемотехнического моделирования БИС;

  2. Провести анализ источников возникновения «плохой» обусловленности в системах схемотехнического моделирования БИС;

  3. Разработать итерационные методы для решения СЛАУ, не зависящие от степени их обусловленности;

4 Разработать систему ускоренного схемотехнического моделирования БИС на транзисторном уровне;

5. Провести практическую апробацию и сравнение разработанной системы схемотехнического моделирования БИС на транзисторном уровне с существующими аналогами. Научная новизна работы.

  1. Определены закономерности влияния конечной величины разрядной сетки ЭВМ и катастрофической потерей точности решения СЛАУ при превышении значения порога «большой» проводимостью;

  2. Разработаны рекомендации по стратегиям численного решения систем ОДУ, основанные на ограничении величины шага интегрирования, позволяющие избежать катастрофической потери точности в процессе решения;

  3. Разработаны формальные методы выбора эквивалентного оператора, основанные на включении максимальных значений проводимостей в матрицу предопределителя;

  4. Предложена структура матрицы предопределителя в виде ленточной матрицы, получаемой путем перенумерации уравнений исходной системы и отбрасывания не входящих в ленту элементов при решении СЛАУ методом спектрально эквивалентных операторов;

5. Разработан метод вычисления обратной матрицы на основе методов прогонки для пятидиагональной матрицы и для блочно-диагональной матрицы с различной размерностью блоков.

Практическая значимость работы. Результаты работы нашли применение при проектировании широкого класса цифровых и аналого-цифровых БИС. Предложенные алгоритмы используются в сочетании с другими средствами САПР БИС для сокращения сроков процесса проектирования.

Реализация результатов работы.

Результаты работы в виде системы схемотехнического моделирования внедрены в процесс проектирования БИС Гос. НИИ Физических проблем, ООО «Юник Ай Сиз», ООО «Кедах Електроник Инжиниринг», и в учебный процесс МГИЭТ и МВТУ им Баумана Использование разработанного программного обеспечения на предприятиях показывают высокую эффективность его применения в цикле проектирования аналоговых, цифровых и аналого-цифровых БИС.

Представляется к защите. ] Методика решения СЛАУ в системе схемотехнического моделирования, учитывающая наличие относительно больших проводимостей в матрице узловых проводимостей; 2. Рекомендации по стратегиям численного решения систем ОДУ, позволяющие избежать катастрофической потери точности в процессе решения; 1 Формальные методы выбора эквивалентного оператора, учитывающие специфические элементы матрицы системы линейных алгебраических уравнений;

  1. Структура матрицы предопределителя в виде ленточной матрицы при решении СЛАУ методом спектрально эквивалентных операторов;

  2. Метод вычисления обратной матрицы на основе методов прогонки для пятидиагональной матрицы и для блочно-диагональной матрицы с различной размерностью блоков;

6. Система ускоренного схемотехнического моделирования цифровых и аналого-цифровых БИС.

Апробация результатов работы.

Результаты диссертационной работы докладывались и обсуждались на следующих конференциях:

V Всероссийская межвузовская научно-техническая
конференция студентов и аспирантов, Москва, Зеленоград, 20-22
апреля 1998 г.

VI Всероссийская межвузовская научно-техническая
конференция студентов и аспирантов, Москва, Зеленоград, 19-21
апреля 1999г.

VII Всероссийская межвузовская научно-техническая
конференция студентов и аспирантов, Москва, Зеленоград, 17,18
апреля 2000г.

  1. Всероссийская межвузовская научно-техническая конференция студентов и аспирантов, Москва, Зеленоград, 17,18 апреля 2002г.

  2. Всероссийская межвузовская научно-техническая конференция студентов и аспирантов, Москва, Зеленоград, 23,24 апреля 2003 г.

  3. Всероссийская межвузовская научно-техническая конференция студентов и аспирантов, Москва, Зеленоград, 23,24 апреля 2004г.

Публикации.

Основные результаты диссертационной работы опубликованы в девяти печатных работах.

Объем и структура работы.

Учет латентности при моделировании цифровых бис

Примером поведения: схемы, соответствующей случаю 2, может служить инвертор, у которого при линейном изменении входного напряжения выходной сигнал изменяется существенно нелинейным: образом. На передаточной характеристике инвертора можно выделить две области {/„, и Ulout) , в которых выходной: сигнал не зависит от входного и остается неизменным при любой вариации входного сигнала, не выводящей входной сигнал за пределы областей Ulp или и пр. В дальнейшем узлы этого типа называются квазилатентными. Особенностью квази-латентных узлов является их способность становиться. активными при изменении соответствующих уи из состояния: ytJ=0 в состоянии ук; 0.

Такое изменение проводимостеи может происходить только при перерасчете матрицы узловых проводимостей : то есть на каждой итерации метода Ньютона,

Отсюда можно сформулировать алгоритм моделирования электронных схем с учетом латентности на уровне систем нелинейных дифференциальных уравнений. Для каждого шага интегрирования необходимо проделать следующую последовательность действий: Так как матрица узловых проводимостеи Y в уравнении (1.30) оказывается сильно разреженной, то для его реализации весьма эффективным оказывается использование аппарата разреженных матриц.

С алгоритмической точки зрения для реализации выражения (1.30) процедура, просмотра только активных узлов, оказывается более эффективной, чем процедура пропускания., уравнения, для. соответствующих- латентных узлов. Рассмотрим подробнее процедуру формирования списка активных узлов. Для электронных схем, описываемых асимптотически устойчивыми системами нелинейных дифференциальных уравнений, расчет статического режима автоматически приводит всю схему в латентное состояние. Активными узлы становятся только в результате внешних воздействий, причем информацию о связности можно получать из структуры матрицы узловых проводимостей. Обновление информации в списках активных узлов необходимо производить после каждой итерации по Ньютону.

Использование итераций Якоби (уравнение (1.33)) показывает принципиальную возможность учета латентности на более низком уровне, чем ранее разработанные методы, и является хорошим инструментом для анализа проблем латентности. Реально система (1.30) с учетом её формирования только для активных и квази-латентных узлов может быть решена любым из итерационных методов, таких как метод Гаусса-Зейделя, метод последовательной: верхней релаксации, метод сопряженных градиентов. и их модификации.. К сожалению, все перечисленные методы испытывают сильную зависимость от спектральных характеристик матрицы У в уравнении (1.30) и могут быть практически использованы только для слабо и средне жестких систем. Для жестких систем приходится прибегать к методам работы с плохо обусловленными матрицами.

Поскольку не накладывается никаких ограничений на вид анализируемых схем, то предложенная схема вычислений пригодна для расчета аналоговых и аналогово-цифровых электронных схем. Класс аналоговых схем можно рассматривать как предельный случай описания релаксационных схем, в которых множество латентных узлов пусто,. а класс аналогово-цифровых- электронных схем-характеризуется тем, что все описания аналоговых фрагментов схемы попадут в списки активных узлов [53].

В данной главе рассмотрен ряд вопросов, связанных с построением и анализом; математических моделей интегральных схем на этапе схемотехнического моделирования. На основании выше изложенного можно сделать следующие выводы: 1. Опыт показывает что, безошибочное проектирование: БИС невозможно без применения схемотехнического моделирования на транзисторном уровне. 2. Большинство существующих методов схемотехнического моделирования БИС на транзисторном уровне не позволяют проводить такой анализ из-за его чрезмерной вычислительной сложности.. 3. Методы учета латентности приводят к необходимости разбиения исходной системы на ряд подсистем и, в принципе, позволяют решить задачу схемотехнического моделирования БИС на транзисторном уровне с использованием итерационных методов решения СЛАУ. 4. Использование существующих современных итерационных методов решения СЛАУ невозможно при высоких степенях ее обусловленности.

Разработка итерационных методов с использованием спектрально эквивалентных операторов

Примером успешного использования спектрально эквивалентных операторов может служить приведенный в [64] метод с использованием стандартной матрицы. Все рассмотренные теоретические оценки_ для. описанных, выше методов остаются не практичными. Это означает, что перед началом процесса решения СЛАУ мы не сможем прогнозировать ни количества итераций, необходимых для решения, ни точности, с которой будет получено требуемое решение. Как отмечалось в разделе 2.1, величина обусловленности матрицы определяется выражением Анализ этого выражения показывает, что большие значения обусловленности матрицы А могут возникать либо при малых значениях тіпЛ,А, либо при больших значениях тахХ,д. Для первого случая разработаны методы решения СЛАУ, основанные на регуляризации: по А.Н. Тихонову с экстраполяцией по Ричардсону, описанные выше в разделе 2.2. Однако в настоящее время недостаточно разработаны методы решения СЛАУ, плохая обусловленность которых вызывается большими значениями тахЯ,А .. В этом разделе рассмотрим причины, приводящие к появлению больших значений maxjXAj матрицы А и их влияние на процесс решения СЛАУ с этой матрицей. Рассмотрим вначале влияние ошибок округления при проведении математических вычислений на ЭВМ и влияния больших слагаемых или сомножителей на эти вычисления. Появление таких ошибок связано: с тем, что действительные числа аппроксимируются конечными машинными представлениями. В настоящее время на большинстве ЭВМ действительные числа представляются числами с плавающей точкой. Множество таких чисел характеризуется тремя параметрами: точностью t и интервалом показателей: [L, U] . На современных компьютерах: с процессорами типа Intel точность может быть двух видов: обычной и удвоенной. Для обычной точности; интервал показателей [-38,38], а для удвоенной. [-308,308]..

Множество чисел с плавающей запятой является конечным и неравномерным. Это приводит к тому, что некоторые действительные числа не представляются в конечной машинной сетке. Например, число 0.1, часто используемое в различных вычислительных алгоритмах. При многократном сложении (умножении и т.д.) таких чисел будет происходить накопление ошибок округления, что может привести к неправильному результату. В случае если действительные числа точно представляются числами с плавающей запятой, их сумма может: не быть таковой.

Как было показано в работе [27], какими бы малыми ни были ошибки округления, возникающие при выполнении арифметических операций, их: появление существенно меняет математические свойства самих операций. Точные операции умножения и сложения являются: коммутативными,, ассоциативными и связаны между собой законом, дистрибутивности. Операции умножения и. сложения на ЭВМ уже не являются таковыми. Рассмотрим пример нарушения закона коммутативности на примере сложения двух чисел Yi+Y2/ причем Y2 Yi. При вычислении суммы двух чисел порядки выравниваются, после чего мантиссы складываются. При выравнивании порядков значащие числа мантиссы меньшего числа сдвигаются вправо, при этом разряды слева дополняются нулями. Конечность разрядной сетки приводит к тому, что при выравнивании порядков может произойти катастрофическая потеря значащих цифр. То есть при сложении двух чисел, разница в порядках которых составляет длину разрядной сетки и более, будет получен неверный результат. На рис. 2.1 показана мантисса меньшего числа до, и после выравнивания порядка. После завершения операции выравнивания порядка это число обращается в нуль. Следовательно, можно сделать вывод, что коммутативный закон нарушается, так как оказывается, что Yi+Y2 = Yi.

Для лучшего понимания процессов, которые происходят при реальных вычислениях, иногда оказывается полезным рассмотреть вычислительный процесс на каком либо примере, в котором особенности рассматриваемых процессов проявляются наиболее понятным способом. Так, для рассмотрения проблем устойчивости методов интегрирования, весьма полезной оказалось так называемое «тестовое дифференциальное уравнение», на примере которой строятся области устойчивости различных численных методов интегрирования, в качестве такого рода «тестовой схемы», порождающей плохо обусловленную систему линейных алгебраических уравнений, может быть предложена резистивная схема, показанная на рис. 2.2.

Разработка метода вычисления обратной матрицы на основе методов прогонки

В настоящее время схемотехнические редакторы должны выполнять следующие основные функции. Во-первых, являться графическими редакторами, т.е. позволять вводить и редактировать графическую информацию с учетом всех современных требований к этому процессу. И, во-вторых, осуществлять преобразование графической информации во внутреннюю структуру данных, необходимую и достаточную для компонента моделирования. Причем часть действий по преобразованию графической информации происходит собственно во время: рисования схемы пользователем. Это необходимо для того, чтобы на ранней стадии осуществлять контроль ошибок и ускорияь процесс преобразования в дальнейшем. В различных схемотехнических редакторах выбираются разные стратегии работы. Одни осуществляют минимальные преобразования во время рисования, что позволяет максимально ускорить этот процесс. Другие, наоборот, пытаются сделать как можно больше преобразований, чтобы затем быстро перейти к моделированию. В первом случае количество структур данных, которые. необходимо обновлять в процессе рисования, минимально, а во втором случае максимально. На сегодняшний день все редакторы поддерживают создание соединений, различных "горячих точек" элементов между собой сразу во время рисования. Это позволяет пользователю уже при рисовании узнавать есть или нет соединение между элементами, а также облегчает преобразование информации при запуске на моделирование. Также необходимо: отметить, что при размещении и перемещении различных элементов на чертеже, графические редакторы могут выполнять различные автоматические действия, облегчающие работу пользователя. К: таким действиям относятся автоматические соединения; и разбиения проводников или шин при размещении элементов, а также автопостроения при перемещении элементов. Часто работа происходит сразу с большим количеством элементов. Это может происходить в следующих случаях: при перемещении части схемы, вставке ранее скопированной части схемы или при размещении элемента при уже достаточном. их количестве. Во всех этих случаях базовой операцией является добавление одного элемента в базу данных. Во время этой операции происходит координатное сравнение "горячих точек" элемента со всеми,. ЛЛгорячими. точками" уже существующих элементов. Поэтому,, чем больше элементов уже размещено на чертеже, тем больше времени будет уходить на размещение нового элемента. При- обычном подходе к: обработке не очень больших объемов информации (массивы в. 500-1000 элементов) из-за большого количества действий над элементами на современных компьютерах возникают, затрудняющие работу, задержки. На сегодняшний день в существующих программах эти вопросы разработаны, недостаточно. Например, в распространенном схемотехническом редакторе OrCAD при перемещении порядка 200-300 элементов, при наличии 500-600 элементов, возникает примерно 2-3 секундная задержка на персональном компьютере Pentium 3 SOOMhz. На том же компьютере в схемотехническом редакторе HSpice перемещение элементов происходит быстро, но снятие выделения С- элементов после: перемещения происходит примерно за 5-10 секунд.. Схемотехнический редактор Tanner работает также как HSpice. Несмотря на разное поведение этих программ, можно сделать вывод, что их базы данных, которые они поддерживают во время рисования, похожи, просто их обновление происходит в разные моменты времени, но, по сути, проблема решена не до конца.- Поэтому при разработке структуры данных собственного схемотехнического редактора необходимо было применить, метод ускорения обработки информации. При автоматическом создании различных соединений необходимо проводить поиск среди уже существующих элементов и специальных узлов. И если соединение с исходными координатами уже существует, то его надо модифицировать, а если нет, то создать новое. Методом ускорения стало поддержание дополнительных отсортированных по координате X и Y массивов элементов и специальных узлов. Как показали тесты при поиске элементов и точек специальных узлов достаточно применять простой в реализации метод деления отрезка пополам для достаточного быстродействия программы. Причем время, которое уходит на поддержание отсортированных массивов, мало, по сравнению со временем, которое высвобождается при быстром поиске. В современных графических редакторах также существует проблема отзывчивости пользовательского интерфейса. Эта проблема возникает тогда, когда элементов уже достаточно много и в результате какого-либо действия: запускается операция перерисовки. Таким действием, например, может быть перемещение окна в зону видимости,, скролирование чертежа, изменение масштаба и т.д. Пока идет операция перерисовки, у пользователя нет возможности выполнять различные команды. В разработанном редакторе эта проблема была решена следующим образом. Операция перерисовки была вынесена в отдельный поток выполнения, тогда как пользовательский интерфейс остался в своем потоке выполнения. Необходимо отметить, что поддержка многозадачности осуществляется на уровне процессора, поэтому при правильной установке приоритетов потоков, можно получить почти моментальный отклик на действия пользователя. В различных схемотехнических редакторах, таких как OrCAD и Tanner такой метод не применяется, по всей видимости, из-за трудностей реализации и необходимости обеспечения синхронизации двух потоков. В разработанном схемотехническом редакторе эти проблемы, были разрешены. Несколько рассмотренных моментов, связанных с графической частью схемотехнического редактора, влияют на общее удобство работы при рисовании схемы. И так как разработчик тратит достаточное время на рисование и редактирование схемы, то эти моменты также являются важными вместе с процессом. преобразования схемы, моделирования и выводом результатов расчета.

Рассмотрим подробнее задачу преобразования; графической информации. Основной проблемой1 преобразования является обратная увязка полученной после преобразования структуры и графического изображения. Это необходимо для того,, чтобы обеспечить возможность графического указания места, в котором необходимо отобразить результаты расчета. Из всех приведенных выше схемотехнических редакторов, только OrCAD предоставляет такую возможность, причем только частично. В нем- разрешено графически указывать цепи верхнего уровня иерархии: и цепи ниже по иерархии, напрямую связанные с верхним уровнем. И, соответственно, нельзя графически, указать отображать внутреннюю цепь ниже по иерархии. По всей видимости, так сделано потому, что на полную увязку структуры и графического изображения уходит значительное время.,

Разработка интерфейсов между исполнительными модулями системы

После проверки схемы редактор подготавливает структуру данных, которая "понятна" моделирующему компоненту. Эта структура данных состоит из списка цепей и списка схемотехнических элементов. В свою очередь элемент списка цепей - это структура данных, которая состоит из имени цепи и списка, подходящих к этой цепи элементов. А элемент списка схемотехнических элементов -это структура данных, которая состоит из имени схемотехнического элемента, списка подходящих к нему цепей, списка индивидуальных параметров и списка групповых параметров. Эта структура изображена на рис. 3.8. В первую очередь, использование предложенного способа хранения информации стало возможным благодаря развитию технического обеспечения, а именно удешевлению оперативной памяти. Объем оперативной памяти на современных компьютерах за последние 10 лет вырос в три раза. С другой стороны, использование такой структуры не ведет к двухкратному увеличению расходуемой памяти; ведь эти описания фактически хранят одну и ту же информацию. Основным достоинством предлагаемой структуры является возможность быстро получать доступ к элементам, подсоединенным к известной заранее цепи, а также к цепям, подсоединенным к соответствующим выводам известного заранее элемента. Кроме этого, она способна быстро заполняться из каждого рассмотренного класса описаний и обеспечивает быструю трансляцию в любой:из этих классов. структуре проекта создан список цепей проекта, в структуре данных схемы также создан список цепей схемы. Каждая цепь в списке цепей схемы является списком, элементами которого являются специальные узлы, и на первом месте этого списка содержится указатель на структуру - заголовок цепи. Структура заголовка содержит следующие поля: поле, идентифицирующее заголовок цепи, номер чертежа в схеме, уникальный номер цепи во всем списке цепей, размер цепи - количество специальных узлов, число, которое обозначает какой по счету раз текущая цепь включается в общий массив цепей, массив номеров цепей в развернутом описании цепей, длина иерархического пути, имя цепи с глобальным узлом, указатель на родительский заголовок цепи, имя цепи, если есть, информация о шине и указатель на родительскую схему. Цепи могут находиться в списке цепей схемы или в списке цепей проекта. Также цепь может быть шинной цепью. В зависимости от этого в заголовке цепи инициализируется та или иная информация.

Подцепи в списке цепей проекта являются модифицированными копиями цепей из списка цепей схемы. Они называются дочерними цепями. В заголовке таких цепей инициализируется поле, которое обозначает, какой по счету, раз текущая цепь включается в общий массив цепей. В дальнейшем эта информация вместе с уникальным номером цепи используется для обратной увязки списка цепей проекта с графической информацией, о которой речь шла выше. На основе списка цепей проекта и информации в специальных узлах создается список цепей и- список элементов "понятный" компоненту моделирования.

Подсистема визуализации позволяет отображать результаты расчета в пределах одного окна в различных режимах. Как было сказано выше, она предоставляет схемотехническому редактору интерфейс, который позволяет выполнять следующие функции: создание главного окна с графиками; уничтожение главного, окна с графиками; отмена уничтожения; сброс всех установок; сохранение настроек; загрузка ранее сохраненных настроек; начало моделирования; извещение о начале новой ветки графика; добавление новой точки в графики во время моделирования; окончание моделирования; изменение имени элемента точки просмотра; изменение информации, соответствующей элементу точке просмотра; добавление новой точки просмотра; удаление точки просмотра. Для того, чтобы описать структуры информации подсистемы визуализации, определим некоторые понятия. Отрезок - массив пар точек (X,Y). Ветка графика -набор отрезков. График - набор веток. Главное окно в подсистеме визуализации разбито на прямоугольные области, в которые выводятся графики. Эти области далее будем называть окнами. Набор окон с одной осью X будем называть синхронизированным окном. Одно окно может быть использовано для вывода графиков, смаштабированных по разным осям У. Окно с одной осью Y будем называть подокном. В подсистеме визуализации проекту соответствует следующая основная информация: массив массивов точек по массиву на каждую ветку графика, граничные значения моделирования, массив структур, описывающих точки просмотра, массив оконных представлений, массив синхронизированных окон, ссылка на активное окно, массив выбранных графиков. Синхронизированное окно содержит: коэффициент преобразования точек по X, массив значений, выводимых по сетке и массив окон. Структура данных окна состоит из массива подокон и переменных, описывающих графическое представление окна. Подокно содержит: коэффициент преобразования точек по Y, массив значений, выводимых по сетке и массив графиков. Пример описанной структуры представлен на рис. 3.11. В данной главе рассмотрены вопросы, связанные с разработкой системы схемотехнического моделирования AVOCAD. Подробно описаны основные ее компоненты и их структуры данных. На основании проделанной в данной главе работы можно сделать следующие выводы: 1. Предложенная система схемотехнического проектирования позволяет удобно и быстро графически вводить схему электрическую принципиальную. 2.Разработанная структура данных схемотехнического редактора позволяет быстро преобразовывать графическую информацию в структуры данных для модуля расчета. 3. Предложенные интерфейсы взаимодействия между компонентами позволяют организовать расчет схемы с минимальными задержками на обработку результатов расчета. 4. Разработанная система схемотехнического проектирования AVOCAD позволяет вводить, редактировать и моделировать схемы электрические принципиальные больших размерностей.

Похожие диссертации на Разработка математического, алгоритмического и программного обеспечения для системы ускоренного схемотехнического моделирования БИС на транзисторном уровне