Выпуск #6/2012
А.Прикота
Схемотехническое моделирование в SimOne. Высокая скорость, высокая точность
Схемотехническое моделирование в SimOne. Высокая скорость, высокая точность
Просмотры: 4304
Моделирование электронных схем – неотъемлемая часть процесса разработки радиоэлектронной аппаратуры. Широко применяемые для расчета электронных схем SPICE-алгоритмы точны, но скорость их работы мала для схем большой размерности. Программа компании "Эремекс" SimOne позволяет моделировать электронные схемы с использованием как классических SPICE-алгоритмов, так и оригинальных программных технологий и современных численных методов, существенно повышающих скорость вычислений при сохранении высокой точности моделирования.
Программы-симуляторы входят в состав всех современных систем схемотехнического проектирования. Они стали незаменимыми помощниками для инженеров-электронщиков. Первый широко известный симулятор электронных схем – программа SPICE (Simulation Program with Integrated Circuit Emphasis), разработанная в электронной исследовательской лаборатории Калифорнийского университета Беркли в начале 1970-х годов, стала де-факто стандартом моделирования электронных схем. SPICE и подобные программы обладают максимальной точностью и достоверностью моделирования. Они позволяют проводить расчет различных аналоговых, цифровых и цифроаналоговых электрических схем.
Численное моделирование электронных схем в SPICE состоит из нескольких ключевых задач:
составление системы уравнений электрической цепи на основе закона токов Кирхгофа (ЗТК);
решение системы нелинейных алгебраических уравнений методом Ньютона-Рафсона;
решение системы линейных алгебраических уравнений (СЛАУ), обычно с помощью LU-разложения;
численное интегрирование дифференциальных уравнений (методы Гира, трапеций).
Решение СЛАУ – это базовая операция при решении уравнений цепи, временные затраты на которое определяют основные затраты на все моделирование и обычно растут пропорционально квадрату размерности схемы. Это приводит к тому, что моделирование схем с большим числом SPICE-элементов (на практике – больше 20 тыс.) становится нецелесообразным.
Для моделирования схем с большим числом элементов применяются Fast-SPICE-технологии. Они используют упрощения в моделях элементов и допускают снижение точности решения уравнений цепи. Это существенно повышает скорость моделирования, позволяет увеличивать размерность схем, однако часто приводит к снижению достоверности моделирования. Таким образом, повышение скорости моделирования без снижения точности стало актуальной проблемой.
В настоящее время компания "Эремекс" проводит тестирование собственной программы SimOne (доступна по адресу http://eda.eremex.ru/downloads/). SimOne – это современный высокоэффективный пакет схемотехнического моделирования, использующий как классические SPICE-алгоритмы, так и оригинальные, основанные на современных численных методах.
В сравнении с классическими SPICE-симуляторами при одинаковой точности расчетов SimOne обладает большим преимуществом в скорости моделирования. Это достигается за счет применения оригинальных программных технологий, современных численных алгоритмов и технологии параллельных вычислений.
Специфика задач моделирования такова, что для получения искомых решений необходимо многократно решать системы уравнений с близкими по значениям матрицами. Это учитывает программная технология, получившая название "кодовый матричный процессор". Она обеспечивает высокоэффективную реализацию основных матричных операций, необходимых для проведения типовых расчетов, учитывающих характерную структуру матриц, способ их включения в расчетные формулы, изменяемость элементов при пересчете и т.д. Применение этой технологии позволило в десятки раз ускорить SPICE-моделирование схем по сравнению с классическими SPICE-программами.
Другая оригинальная программная технология SimOne, которая позволяет существенно ускорить моделирование, – помощник симуляции. Она запоминает характерные особенности моделируемой схемы во время запуска текущего вида анализа и использует эту информацию при последующих запусках. Таким образом, эта технология особенно эффективна при проведении многовариантных видов анализа схем, например, температурного или параметрического. Выигрыш в скорости проведения расчетов схем с помощником симуляции (по сравнению с классическими SPICE-программами) тем больше, чем большую размерность имеет моделируемая схема, и может достигать нескольких сотен раз для больших схем.
Многие виды анализа схем можно проводить с использованием параллельных вычислений. К ним относятся, например, расчет функций передачи по постоянному току, частотных характеристик цепи, нахождение нулей и полюсов передаточных функций, проведение температурного и параметрического моделирования. Эти возможности широко представлены в SimOne. Так, в настройке каждой симуляции пользователь может указать максимальное количество параллельных потоков расчета, на которые будет разбита текущая симуляция. Параллельные вычисления и многоядерная архитектура процессора особенно эффективны при моделировании схем большой размерности либо при запусках многовариантных видов анализа, требующих повышенного времени расчета и выполняющихся независимо друг от друга.
В качестве примера использования современных численных методов в пакете SimOne приведем метод интегрирования дифференциально-алгебраических уравнений на основе семейства методов Розенброка. Как известно, при расчете переходных процессов применяются численные методы интегрирования дифференциальных уравнений. В SPICE – это методы трапеций и Гира, обычно второго порядка точности. Применяемый в SimOne метод имеет четвертый порядок точности, что позволяет проводить интегрирование с существенно бóльшим шагом расчета при той же точности (если шаг расчета ограничивается только относительной погрешностью) либо считать значительно точнее (если шаг расчета ограничивает пользователь). Другими словами, этот метод имеет повышенную точность и устойчивость по сравнению с методами, применяемыми в обычном SPICE-моделировании. В то же время данный метод гораздо лучше подходит для интегрирования больших систем, так как при большом числе уравнений скорость получения решения на одном шаге расчета у него будет значительно выше, чем у методов трапеций или Гира.
Таким образом, пакет SimOne, предоставляя пользователю основные виды SPICE-анализа схем, выполняет их быстрее и точнее. Кроме этого, SimOne предлагает дополнительный вид анализа схемы – анализ устойчивости. Он позволяет определять, устойчива схема в текущей рабочей точке или нет, оценивать запас этой устойчивости, выделять компоненты схемы, влияющие на ее устойчивость и проводить исследование устойчивости при изменении рабочей температуры или параметров моделей элементов.
Пакет SimOne (рис.1) включает в себя:
библиотеку моделей схемных компонентов;
иерархический схемотехнический редактор;
графический модуль визуализации результатов моделирования;
постпроцессор.
Библиотека моделей компонентов содержит как встроенные SPICE-модели компонентов (SPICE-примитивы), так и обширную (более 30 тыс. шт.) базу готовых моделей реальных схемных компонентов. Реализована также возможность работы с тестовыми SPICE-библиотеками (файлы .lib) и графическими макромоделями.
SimOne поддерживает SPICE-примитивы моделей резистора, конденсатора, индуктивности и взаимоиндукции, трансформатора, линии передачи, независимых и управляемых источников тока и напряжения, управляемых переключателей, диодов, биполярных транзисторов (модель Гуммель-Пуна), полевых транзисторов (модель Шихмана-Ходжеса), арсенид-галлиевых полевых (GaAsFET LEVEL = 1…5) и МОП-транзисторов (модель Грув-Хофмана). Ведется работа по включению в SimOne моделей МОП-транзисторов (BSIM3, BSIM4) и биполярных (EKV), а также других новых и современных компонентов.
Схемный графический редактор представляет собой многодокументное Windows-приложение и позволяет:
размещать элементы принципиальной электрической схемы;
редактировать параметры элементов;
изменять положение элементов на схеме (сдвиг, поворот) с сохранением целостности цепей;
прокладывать и именовать цепи;
создавать и использовать в собственных библиотеках графические и тестовые подсхемы;
управлять параметрами моделирования;
отображать на схеме результаты моделирования;
импортировать и экспортировать схемы, заданные в SPICE-формате;
управлять библиотекой компонентов – добавление/удаление компонентов, изменение параметров моделей и многое другое.
В SimOne доступны следующие виды анализа схем.
Расчет статического режима схем по постоянному току (DC Analysis) включает в себя расчет рабочей точки схемы и определение передаточных функций по постоянному току. Для решения нелинейных алгебраических уравнений предлагается набор методов: Ньютона–Рафсона, Damped Newton–Raphson, Gmin Stepping, Source Stepping.
Частотный анализ (AC Analysis) выполняет расчет и построение частотных характеристик схемы, в том числе амплитудно-фазовой.
Анализ переходных процессов (Transient Analysis) производится на заданных интервалах времени при воздействии сигналов произвольной формы.
Анализ установившихся периодических режимов (PSS Analysis) ведется с помощью пристрелочного метода Ньютона (Shooting Newton), при этом используется высокоэффективный подход без явного формирования матрицы чувствительности (Matrix Free Approach). В качестве метода решения СЛАУ используется итерационный метод пространств Крылова–Gmres.
Анализ устойчивости схемы (Stability Analysis). В окрестности рабочей точки пользователю предлагаются два независимых способа: на основе расчета собственных частот схемы и на основе критерия Михайлова. Результат анализа – вывод об устойчивости схемы, построение годографа Михайлова, вывод таблицы собственных частот схемы. Пользователь также имеет возможность построить график годографа Михайлова в заданном произвольном диапазоне и принять решение об устойчивости схемы самостоятельно.
Температурный анализ схемы (TEMP) – это моделирование поведения схемы при изменении рабочей температуры.
Параметрический анализ схемы (PARAM) – это моделирование поведения схемы при изменении параметров сигналов, моделей схемных компонентов.
Графический модуль визуализации и обработки результатов моделирования позволяет пользователю:
строить графики интересующих переменных и функций от них;
использовать функции курсоров для оценки параметров кривых;
производить измерения и их пересчет при последующих запусках моделирования характеристик построенных кривых;
получать спектральные характеристики кривых на основе быстрого преобразования Фурье.
В SimOne реализована возможность экспорта уравнений цепи в численном и символьном видах, а также результатов моделирования в Matlab, Maple и Excel.
Пример исследования устойчивости схем в SimOne. Проведем исследование устойчивости схемы преселектора дециметровых волн, изображенной на рис.2. Данная схема устойчива в рабочей точке при номинале резистора R1 меньше 1,1 кОм. При превышении этого значения схема становится неустойчивой.
При запуске анализа устойчивости программа сначала рассчитывает рабочую точку схемы, линеаризует схему в этой точке, а после запускает проверку устойчивости схемы в окрестности рабочей точки на основе метода годографа Михайлова и расчета собственных частот схемы. По результатам расчетов выводятся сообщение об устойчивости схемы, таблица собственных частот, график годографа Михайлова в выбранном пользователем масштабе, в заданном в настройках диапазоне и с заданным там же количеством расчетных точек. Результаты работы модуля приведены на рис.3 (для устойчивой схемы) и на рис.4, 5 (для неустойчивой).
Устойчивость схемы определяется автоматически. Отметим, что порядок исследуемой схемы, т.е. количество собственных частот схемы, относительно невелико (18), и пользователь имеет возможность легко оценить этот параметр визуально, по графику. В случае больших схем такая визуальная оценка затруднительна.
Еще один пример расчета устойчивости схемы – осциллятор (рис.6). Результаты исследования его устойчивости при варьировании сопротивления R1 приведены на рис.7, 8. На них видно, что осциллятор начинает возбуждаться при значениях сопротивления R1>30 Ом. ●
Численное моделирование электронных схем в SPICE состоит из нескольких ключевых задач:
составление системы уравнений электрической цепи на основе закона токов Кирхгофа (ЗТК);
решение системы нелинейных алгебраических уравнений методом Ньютона-Рафсона;
решение системы линейных алгебраических уравнений (СЛАУ), обычно с помощью LU-разложения;
численное интегрирование дифференциальных уравнений (методы Гира, трапеций).
Решение СЛАУ – это базовая операция при решении уравнений цепи, временные затраты на которое определяют основные затраты на все моделирование и обычно растут пропорционально квадрату размерности схемы. Это приводит к тому, что моделирование схем с большим числом SPICE-элементов (на практике – больше 20 тыс.) становится нецелесообразным.
Для моделирования схем с большим числом элементов применяются Fast-SPICE-технологии. Они используют упрощения в моделях элементов и допускают снижение точности решения уравнений цепи. Это существенно повышает скорость моделирования, позволяет увеличивать размерность схем, однако часто приводит к снижению достоверности моделирования. Таким образом, повышение скорости моделирования без снижения точности стало актуальной проблемой.
В настоящее время компания "Эремекс" проводит тестирование собственной программы SimOne (доступна по адресу http://eda.eremex.ru/downloads/). SimOne – это современный высокоэффективный пакет схемотехнического моделирования, использующий как классические SPICE-алгоритмы, так и оригинальные, основанные на современных численных методах.
В сравнении с классическими SPICE-симуляторами при одинаковой точности расчетов SimOne обладает большим преимуществом в скорости моделирования. Это достигается за счет применения оригинальных программных технологий, современных численных алгоритмов и технологии параллельных вычислений.
Специфика задач моделирования такова, что для получения искомых решений необходимо многократно решать системы уравнений с близкими по значениям матрицами. Это учитывает программная технология, получившая название "кодовый матричный процессор". Она обеспечивает высокоэффективную реализацию основных матричных операций, необходимых для проведения типовых расчетов, учитывающих характерную структуру матриц, способ их включения в расчетные формулы, изменяемость элементов при пересчете и т.д. Применение этой технологии позволило в десятки раз ускорить SPICE-моделирование схем по сравнению с классическими SPICE-программами.
Другая оригинальная программная технология SimOne, которая позволяет существенно ускорить моделирование, – помощник симуляции. Она запоминает характерные особенности моделируемой схемы во время запуска текущего вида анализа и использует эту информацию при последующих запусках. Таким образом, эта технология особенно эффективна при проведении многовариантных видов анализа схем, например, температурного или параметрического. Выигрыш в скорости проведения расчетов схем с помощником симуляции (по сравнению с классическими SPICE-программами) тем больше, чем большую размерность имеет моделируемая схема, и может достигать нескольких сотен раз для больших схем.
Многие виды анализа схем можно проводить с использованием параллельных вычислений. К ним относятся, например, расчет функций передачи по постоянному току, частотных характеристик цепи, нахождение нулей и полюсов передаточных функций, проведение температурного и параметрического моделирования. Эти возможности широко представлены в SimOne. Так, в настройке каждой симуляции пользователь может указать максимальное количество параллельных потоков расчета, на которые будет разбита текущая симуляция. Параллельные вычисления и многоядерная архитектура процессора особенно эффективны при моделировании схем большой размерности либо при запусках многовариантных видов анализа, требующих повышенного времени расчета и выполняющихся независимо друг от друга.
В качестве примера использования современных численных методов в пакете SimOne приведем метод интегрирования дифференциально-алгебраических уравнений на основе семейства методов Розенброка. Как известно, при расчете переходных процессов применяются численные методы интегрирования дифференциальных уравнений. В SPICE – это методы трапеций и Гира, обычно второго порядка точности. Применяемый в SimOne метод имеет четвертый порядок точности, что позволяет проводить интегрирование с существенно бóльшим шагом расчета при той же точности (если шаг расчета ограничивается только относительной погрешностью) либо считать значительно точнее (если шаг расчета ограничивает пользователь). Другими словами, этот метод имеет повышенную точность и устойчивость по сравнению с методами, применяемыми в обычном SPICE-моделировании. В то же время данный метод гораздо лучше подходит для интегрирования больших систем, так как при большом числе уравнений скорость получения решения на одном шаге расчета у него будет значительно выше, чем у методов трапеций или Гира.
Таким образом, пакет SimOne, предоставляя пользователю основные виды SPICE-анализа схем, выполняет их быстрее и точнее. Кроме этого, SimOne предлагает дополнительный вид анализа схемы – анализ устойчивости. Он позволяет определять, устойчива схема в текущей рабочей точке или нет, оценивать запас этой устойчивости, выделять компоненты схемы, влияющие на ее устойчивость и проводить исследование устойчивости при изменении рабочей температуры или параметров моделей элементов.
Пакет SimOne (рис.1) включает в себя:
библиотеку моделей схемных компонентов;
иерархический схемотехнический редактор;
графический модуль визуализации результатов моделирования;
постпроцессор.
Библиотека моделей компонентов содержит как встроенные SPICE-модели компонентов (SPICE-примитивы), так и обширную (более 30 тыс. шт.) базу готовых моделей реальных схемных компонентов. Реализована также возможность работы с тестовыми SPICE-библиотеками (файлы .lib) и графическими макромоделями.
SimOne поддерживает SPICE-примитивы моделей резистора, конденсатора, индуктивности и взаимоиндукции, трансформатора, линии передачи, независимых и управляемых источников тока и напряжения, управляемых переключателей, диодов, биполярных транзисторов (модель Гуммель-Пуна), полевых транзисторов (модель Шихмана-Ходжеса), арсенид-галлиевых полевых (GaAsFET LEVEL = 1…5) и МОП-транзисторов (модель Грув-Хофмана). Ведется работа по включению в SimOne моделей МОП-транзисторов (BSIM3, BSIM4) и биполярных (EKV), а также других новых и современных компонентов.
Схемный графический редактор представляет собой многодокументное Windows-приложение и позволяет:
размещать элементы принципиальной электрической схемы;
редактировать параметры элементов;
изменять положение элементов на схеме (сдвиг, поворот) с сохранением целостности цепей;
прокладывать и именовать цепи;
создавать и использовать в собственных библиотеках графические и тестовые подсхемы;
управлять параметрами моделирования;
отображать на схеме результаты моделирования;
импортировать и экспортировать схемы, заданные в SPICE-формате;
управлять библиотекой компонентов – добавление/удаление компонентов, изменение параметров моделей и многое другое.
В SimOne доступны следующие виды анализа схем.
Расчет статического режима схем по постоянному току (DC Analysis) включает в себя расчет рабочей точки схемы и определение передаточных функций по постоянному току. Для решения нелинейных алгебраических уравнений предлагается набор методов: Ньютона–Рафсона, Damped Newton–Raphson, Gmin Stepping, Source Stepping.
Частотный анализ (AC Analysis) выполняет расчет и построение частотных характеристик схемы, в том числе амплитудно-фазовой.
Анализ переходных процессов (Transient Analysis) производится на заданных интервалах времени при воздействии сигналов произвольной формы.
Анализ установившихся периодических режимов (PSS Analysis) ведется с помощью пристрелочного метода Ньютона (Shooting Newton), при этом используется высокоэффективный подход без явного формирования матрицы чувствительности (Matrix Free Approach). В качестве метода решения СЛАУ используется итерационный метод пространств Крылова–Gmres.
Анализ устойчивости схемы (Stability Analysis). В окрестности рабочей точки пользователю предлагаются два независимых способа: на основе расчета собственных частот схемы и на основе критерия Михайлова. Результат анализа – вывод об устойчивости схемы, построение годографа Михайлова, вывод таблицы собственных частот схемы. Пользователь также имеет возможность построить график годографа Михайлова в заданном произвольном диапазоне и принять решение об устойчивости схемы самостоятельно.
Температурный анализ схемы (TEMP) – это моделирование поведения схемы при изменении рабочей температуры.
Параметрический анализ схемы (PARAM) – это моделирование поведения схемы при изменении параметров сигналов, моделей схемных компонентов.
Графический модуль визуализации и обработки результатов моделирования позволяет пользователю:
строить графики интересующих переменных и функций от них;
использовать функции курсоров для оценки параметров кривых;
производить измерения и их пересчет при последующих запусках моделирования характеристик построенных кривых;
получать спектральные характеристики кривых на основе быстрого преобразования Фурье.
В SimOne реализована возможность экспорта уравнений цепи в численном и символьном видах, а также результатов моделирования в Matlab, Maple и Excel.
Пример исследования устойчивости схем в SimOne. Проведем исследование устойчивости схемы преселектора дециметровых волн, изображенной на рис.2. Данная схема устойчива в рабочей точке при номинале резистора R1 меньше 1,1 кОм. При превышении этого значения схема становится неустойчивой.
При запуске анализа устойчивости программа сначала рассчитывает рабочую точку схемы, линеаризует схему в этой точке, а после запускает проверку устойчивости схемы в окрестности рабочей точки на основе метода годографа Михайлова и расчета собственных частот схемы. По результатам расчетов выводятся сообщение об устойчивости схемы, таблица собственных частот, график годографа Михайлова в выбранном пользователем масштабе, в заданном в настройках диапазоне и с заданным там же количеством расчетных точек. Результаты работы модуля приведены на рис.3 (для устойчивой схемы) и на рис.4, 5 (для неустойчивой).
Устойчивость схемы определяется автоматически. Отметим, что порядок исследуемой схемы, т.е. количество собственных частот схемы, относительно невелико (18), и пользователь имеет возможность легко оценить этот параметр визуально, по графику. В случае больших схем такая визуальная оценка затруднительна.
Еще один пример расчета устойчивости схемы – осциллятор (рис.6). Результаты исследования его устойчивости при варьировании сопротивления R1 приведены на рис.7, 8. На них видно, что осциллятор начинает возбуждаться при значениях сопротивления R1>30 Ом. ●
Отзывы читателей