SimOne – программа моделирования электронных схем
А.В. Прикота,
вед.
спец.,
A.C. Еремин,
к.ф.-м.н.,
вед. спец.,
А.В. Морозов,
нач.
сект.,
A.C. Перов,
инж.-прогр.,
prikota@spb.prosoft.ru,
ООО ЭРЕМЕКС, г. Санкт-Петербург
В статье описаны
возможности современного пакета моделирования электронных схем SimOne. Отмечены особенности алгоритмов
моделирования, продемонстрированы оригинальные виды анализа схем.
The article describes the features of modern electronic circuits simulation program SimOne. The peculiarities of modeling
algorithms are marked. Unique types of circuit analysis are demonstrated.
Моделирование электронных схем является неотъемлемой частью процесса разработки современных радиоэлектронных устройств. Программы-симуляторы
стали неотъемлемой частью современных систем схемотехнического проектирования и
незаменимыми помощниками инженеров-электронщиков.
Первым широко
известным симулятором электронных схем
является программа SPICE (Simulation Program
with Integrated Circuit Emphasis), разработанная в электронной исследовательской лаборатории
Калифорнийского Университета Беркли в
начале 70-х годов ХХ века.
Алгоритмы
SPICE-моделирования позволяют проводить расчет широкого класса аналоговых,
цифровых и цифро-аналоговых электрических схем, и стали фактически стандартом
моделирования. Подавляющее большинство современных коммерческих программ
схемотехнического моделирования используют именно эти
алгоритмы. SPICE и SPICE-подобные
программы обладают максимальной точностью и достоверностью. Это обусловлено
тем, что в них не используется никаких упрощений ни на этапе составления
моделей, ни на этапе решения системы уравнений цепи.
Авторским коллективом
компании “ЭРЕМЕКС” разработан современный пакет моделирования электронных схем
– SimOne [1]. SimOne
предоставляет все возможности для проведения быстрого, точного
и эффективного моделирования
электронных схем. Пользователю предлагаются как классические SPICE-алгоритмы,
так и оригинальные, использующие современные численные методы.
В пакете SimOne используются SPICE-модели
следующих электронных компонентов: резистор, конденсатор, индуктивность,
трансформатор, линия передачи, независимые и управляемые источники тока и
напряжения, управляемые переключатели, диоды, транзисторы.
В качестве моделей биполярных
транзисторов (NPN, PNP) используется модель Гуммель-Пуна. Для обычных полевых
транзисторов (NJFET, PJFET) – модель
Шихмана-Ходжеса. Для арсенид-галлиевых полевых транзисторов используются пять
различных моделей (GaAsFET LEVEL
= 1…5). Модель Грув- Хофмана для МОП-транзисторов.
В настоящее ведется
работа по включению новейших современных моделей транзисторов, таких как BSIM3,
BSIM4 – для МОП-транзисторов, EKV
– для биполярных транзисторов и проч.
Численное
моделирование электронных схем в SPICE включает в себя решение следующих
ключевых задач:
1.
Составление
системы уравнений электрической цепи на основе закона токов Кирхгофа (ЗТК).
2.
Решение системы нелинейных алгебраических
уравнений методом Ньютона-Рафсона.
3.
Решение
системы линейных алгебраических уравнений (СЛАУ), обычно, - с помощью LU-разложения.
4.
Определение
оптимальной величины шага расчета в численных методах интегрирования
(Гира,трапеций).
Основное процессорное
время при моделировании электронных схем тратится на решение системы линейных
уравнений и оценку нелинейных параметров транзисторов.
Решение системы
линейных уравнений является базовой
операцией при решении уравнений цепи. Скорость решения СЛАУ определяет
основные временные затраты на моделирование схемы. Как известно,
количество операций в LU-разложении
определяется как 2/3*n^3, где n
– размерность матрицы, т. е. время решения СЛАУ увеличивается кубически при
увеличении размерности системы. Характерной особенностью СЛАУ в SPICE-моделировании
является сильная разреженность матрицы системы. Число операций LU-разложения, как
правило, пропорционально квадрату размерности матрицы.
Квадратичное
возрастание времени решения СЛАУ приводит тому, что моделирование схем с большим
числом элементов (на практике - больше 20 000) становится
нецелесообразным.
Для моделирования
схем с бóльшим числом элементов применяются, так называемые, Fast-SPICE
технологии. Они используют упрощения в моделях элементов и допускают снижение
точности решения уравнений цепи. Это существенно повышает скорость
моделирования, позволяет увеличивать размерность схем, но часто приводит к существенному снижению достоверности
моделирования, которая является
определяющим фактором при разработке и верификации БИС и СБИС.
Таким образом,
актуальной проблемой является повышение скорости моделирования без снижения
точности.
Увеличение скорости
расчетов в SimOne достигается за счет
применения оригинальных программных технологий, современных численных алгоритмов
и использования параллельных вычислений.
Специфика задач
моделирования такова, что для получения искомых решений необходимо многократно
решать системы уравнений с близкими по значениям матрицами. Это факт учитывает программная
технология, не снижающая точности расчетов – кодовый матричный процессор. Кодовый
матричный процессор представляет собой высокоэффективную программную
реализацию основных матричных операций, необходимых для проведения типовых
расчетов, учитывающую характерную структуру матриц, способ их включения в
расчетные формулы, изменяемость элементов при пересчете и проч. Применение этой
технологии позволило в десятки раз ускорить SPICE-моделирование
схем в сравнении с обычными SPICE- программами.
Другой программной
технологией SimOne, позволившей существенно ускорить моделирование
является помощник симуляции. Помощник симуляции запоминает характерные особенности
моделируемой схемы во время запуска текущего вида анализа и использует эту
информацию при последующих запусках. Таким образом, его применение становится
особенно эффективным при проведении многовариантных видов анализа схем,
например, температурного или параметрического. Выигрыш в скорости проведения
этих расчетов схем в сравнении с
обычными SPICE-
программами тем больше, чем большую
размерность имеет моделируемая схема, и может
достигать нескольких сотен раз для больших схем.
Многие виды анализа
схем можно проводить с использованием параллельных вычислений. К ним относятся,
например, расчет передаточных функций по постоянному току, расчет частотных
характеристик цепи, нахождение нулей и полюсов малосигнальных передаточных
функций, проведение температурного и параметрического моделирования. Эти
возможности широко используются в SimOne. Так, в настройке каждой
симуляции пользователь имеет возможность указать максимальное количество
параллельных потоков расчета, на которые будет разбита текущая симуляция.
Использование параллельных вычислений и многоядерной архитектуры процессора
особенно эффективно при моделировании схем большой размерности либо при запусках многовариантных видов
анализа, требующих повышенного времени
расчета и выполняющихся независимо друг от друга.
В качестве современных
численных методов, использующихся в пакете SimOne, отметим оригинальный метод
интегрирования
дифференциально-алгебраических уравнений на основе семейства методов Розенброка. Как известно, при расчете переходных процессов применяются численные методы интегрирования
дифференциальных уравнений. В SPICE – это методы
трапеций и Гира – обычно второго порядка точности. Применяемый в SimOne метод имеет четвертый порядок
точности, что позволяет проводить интегрирование с существенно большим шагом
расчета при той же точности, (если шаг расчета ограничивается только
относительной погрешностью), либо считать значительно точнее (если шаг расчета
ограничивает пользователь). Таким образом, этот метод имеет повышенную точность
и устойчивость в сравнении с методами, применяемыми в обычном SPICE-моделировании.
В тоже время данный метод существенно лучше подходит для интегрирования больших
систем, т.к. при большом числе уравнений скорость получения решения на шаге
расчета у него будут существенно выше, чем у метода трапеций или Гира.
Таким образом, пакет SimOne, предоставляя
пользователю основные виды анализа схем, присущие SPICE-моделированию,
выполняет их существенно быстрее и точнее. Кроме того SimOne предлагает
дополнительный вид анализа схемы – Анализ Устойчивости. Анализ устойчивости
схемы позволяет определять, устойчива схема в текущей рабочей точке или нет,
оценивать запас этой устойчивости, выделять компоненты схемы, влияющие на ее
устойчивость, проводить исследование устойчивости при изменении рабочей
температуры или параметров моделей элементов.
Пакет SimOne включает в себя схемотехнический редактор (Capture),
решающий все основные задачи, связанные с вводом и редактированием схем, моделирующее
ядро – программный модуль, непосредственно проводящий моделирование, и
графический модуль визуализации результатов
моделирования, позволяющий проводить постпроцессорную обработку данных.
Схемный графический
редактор представляет собой современное многодокументное Windows-приложение,
отвечающее всем требованиям, предъявляемым к современным интерфейсам
пользователя. Основные возможности схемного редактора:
1. Размещение элементов схемы электрической принципиальной, прокладка цепей,
редактирование параметров элементов.
2. Задание наборов последовательно или параллельно соединенных двухполюсников,
а также каскадно соединённых транзисторов с одинаковыми параметрами как
одиночных элементов соответствующей кратности.
3. Изменение положения элементов на схеме (сдвиг, поворот) с сохранением
целостности цепей.
4. Поиск по схеме, как по именам элементов и цепей, так и по их параметрам.
5. Сохранение наборов параметров элементов как пользовательских моделей для
повторного использования.
6. Автоматическая раздвижка элементов и соединений при вставке новых
элементов или участков цепи на занятое место.
7. Создание и повторное
использование иерархических блоков – подсхем.
8. Задание параметров моделирования, запуск моделирования.
9. Отображение на схеме
результатов моделирование.
10. Наличие импорта и
экспорта схемы в формате SPICE.
11.
Библиотека
готовых SPICE-моделей электронных компонентов. Управление библиотекой
– добавление/удаление компонентов, изменение параметров моделей и проч.
Приведём краткую
характеристику видов моделирования, предлагающихся в SimOne:
1.
Анализ схемы по постоянному току (DC Analysis). Включает
в себя:
1.1 Расчет рабочей
точки схемы (Bias Point).
1.2. Расчет
передаточных функций по постоянному току (DC
Sweep). Производится при вариации источников напряжения и
тока, глобальных параметров, параметров моделей компонентов или температуры.
Режим по постоянному току вычисляется для каждого изменения.
1.3. Расчет
чувствительности.(DC Sensitivity).
Расчет чувствительности рабочей точки к изменению температуры, параметров сигналов,
моделей компонентов.
Для
решения систем нелинейных алгебраических уравнений, возникающих при расчете
режима по постоянному току, предлагается коллекция методов: метод Ньютона – Рафсона,
Damped Newton–Raphson, Gmin Stepping, Source
Stepping.
2. Частотный
анализ (AC Analysis).
2.1. Расчёт частотных характеристик
линеаризованной цепи в окрестности рабочей точки.
2.2.Расчёт спектральной
плотности шума. Расчет ведется на каждой частоте, выходной шум пересчитывается
к входным зажимам источника сигнала.
2.3.Расчет нулей и полюсов передаточных и других схемных
функций, в том числе их нулей и полюсов.
2.4.Расчеёт
чувствительностей нулей и полюсов передаточных функций к изменению температуры,
параметров сигналов, моделей компонентов.
3. Анализ переходных процессов
(Transient Analysis).
Расчёт переходных и
установившихся временных процессов на длительных интервалах времени при
воздействии сигналов произвольной формы.
4. Анализ
периодических режимов (PSS Analysis).
Расчет периодических режимов ведется с
помощью пристрелочного метода
Ньютона (Shooting Newton), при этом
используется
высокоэффективный подход - без явного
формирования матрицы чувствительности
(Matrix
Free Approach). В качестве метода
решения СЛАУ используется
итерационный метод пространств Крылова – Gmres.
5. Анализ устойчивости – Stability Analysis.
Для анализа
устойчивости схемы в окрестности рабочей точки пользователю предлагаются два
независимых способа: на основе расчета собственных частот схемы и на основе критерия
Михайлова. Результат анализа – вывод об устойчивости схемы, построение
годографа Михайлова, вывод таблицы собственных частот схемы. Пользователь также
имеет возможность построить график годографа Михайлова в заданном произвольном
диапазоне и принять решение об устойчивости схемы самостоятельно.
6.
Параметрический анализ (Parametric Sweep).
Выполняет многократные итерации выбранного
стандартного анализа, изменяя глобальные параметры, параметры
схемных элементов, параметры сигналов источников.
7.
Температурный анализ (Temperature Sweep).
Моделирование схемы при изменении
температуры – производится
запуск стандартных видов анализа для различных
значений рабочей температуры.
Во всех представленных
видах анализа схем применяются описанные выше оригинальные программные
технологии ускорения вычислений.
Графический модуль
визуализации результатов моделирования
позволяет пользователю построить графики интересующих переменных и функций от
них, произвести измерения характеристик построенных кривых, получить их
интегральные оценки.
В SimOne реализована возможность экспорта результатов
моделирования, а также расчетных матриц в математические пакеты Matlab
и Maple, Excel.
Пример исследования устойчивости схемы в SimOne
Проведём исследование
устойчивости схемы преселектора дециметровых волн, изображенной на рисунке 1. Данная
схема является устойчивой в рабочей точке в случае, когда номинал резистора R4
меньше значения 1,1КОм.
рис.1 Преселектор дециметровых волн
Если сопротивление резистора
R4 превышает это значение – схема неустойчива.
При запуске анализа
устойчивости программа сначала рассчитает рабочую точку схемы, линеаризует
схему в этой точке, а потом запустит проверку устойчивости схемы в окрестности
рабочей точки на основе метода Михайлова и расчета собственных частот схемы. В
результате пользователь получит сообщение в информационном окне об устойчивости
схемы, таблицу собственных частот, график годографа Михайлова в заданном в
настройках диапазоне и с заданным там же количеством расчетных точек. График годографа
строится в выбранном пользователем масштабе – линейном или нормированном
логарифмическом, в заданном в настройках диапазоне с указанным числом точек.
Результаты работы
модуля анализа устойчивости приведены на рис. 2 – в случае устойчивой
схемы и рис. 3,4 – для неустойчивой.
рис.2 Анализ устойчивости. Преселектор дециметровых
волн, Годограф Михайлова. R4=1КОм
рис.3 Анализ устойчивости. Преселектор дециметровых
волн, Таблица собственных частот схемы. R4=1.1КОм
рис.4 Анализ устойчивости. Преселектор дециметровых
волн, Годограф Михайлова. R4=1.1КОм
Устойчивость схемы
программой определяется автоматически. Отметим, что порядок исследуемой схемы,
т.е. количество собственных частот схемы равно 18-ти, т.е. относительно
невелико, и пользователь имеет возможность легко оценить устойчивость схемы сам
– визуально по графику. В случае больших схем
такая визуальная оценка уже затруднительна.
Литература
1. Эремекс.
Инновационный подход к проектированию электроники. Доступно по адресу http://www.eremex.ru/downloads/