Обзор свободного ПО для моделирования радиоэлектронных устройств и новых возможностей симулятора электронных схем Qucs (Вадим Кузнецов)

Материал из 0x1.tv

Аннотация

Докладчик
Вадим Кузнецов

Приведён обзор программных средств с открытым исходным кодом, предназначенных для моделирования различных радиоэлектронных устройств. Кратко рассмотрены основные возможности следующего ПО: Ngspice, Qucs, XYCE, TkGate, Gnucap и openEMS.

Все данные проекты активны в настоящее время.

Приведён обзор новых возможностей САПР для моделирования электроники Qucs, добавленных в версиях 0.0.19 и 0.0.19S. Рассмотрены перспективы развития САПР Qucs и вопросы интеграции проектов Qucs, Ngspice и XYCE.

Автор статьи входит в команду разработчиков проекта Qucs.

Данная информация будет интересна инженерам-разработчикам электроники, планирующим переход на open-source ПО и ОС Linux.

Видео

on youtube

Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.

-->

Слайды

Обзор свободного ПО для моделирования радиоэлектронных устройств и новых возможностей симулятора электронных схем Qucs.pdf Обзор свободного ПО для моделирования радиоэлектронных устройств и новых возможностей симулятора электронных схем Qucs.pdf Обзор свободного ПО для моделирования радиоэлектронных устройств и новых возможностей симулятора электронных схем Qucs.pdf Обзор свободного ПО для моделирования радиоэлектронных устройств и новых возможностей симулятора электронных схем Qucs.pdf Обзор свободного ПО для моделирования радиоэлектронных устройств и новых возможностей симулятора электронных схем Qucs.pdf Обзор свободного ПО для моделирования радиоэлектронных устройств и новых возможностей симулятора электронных схем Qucs.pdf Обзор свободного ПО для моделирования радиоэлектронных устройств и новых возможностей симулятора электронных схем Qucs.pdf Обзор свободного ПО для моделирования радиоэлектронных устройств и новых возможностей симулятора электронных схем Qucs.pdf Обзор свободного ПО для моделирования радиоэлектронных устройств и новых возможностей симулятора электронных схем Qucs.pdf Обзор свободного ПО для моделирования радиоэлектронных устройств и новых возможностей симулятора электронных схем Qucs.pdf Обзор свободного ПО для моделирования радиоэлектронных устройств и новых возможностей симулятора электронных схем Qucs.pdf Обзор свободного ПО для моделирования радиоэлектронных устройств и новых возможностей симулятора электронных схем Qucs.pdf Обзор свободного ПО для моделирования радиоэлектронных устройств и новых возможностей симулятора электронных схем Qucs.pdf Обзор свободного ПО для моделирования радиоэлектронных устройств и новых возможностей симулятора электронных схем Qucs.pdf Обзор свободного ПО для моделирования радиоэлектронных устройств и новых возможностей симулятора электронных схем Qucs.pdf Обзор свободного ПО для моделирования радиоэлектронных устройств и новых возможностей симулятора электронных схем Qucs.pdf Обзор свободного ПО для моделирования радиоэлектронных устройств и новых возможностей симулятора электронных схем Qucs.pdf

Расширенные тезисы

Существует не так уж и много open-source САПР. САПР электроники (Electronic Design Automation --- EDA) являются исключением. Важной разновидностью данных САПР являются симуляторы электронных схем и электромагнитные симуляторы. За последнее время было сообществом было создано достаточно большое количество весьма достойных проектов. На сегодняшний день наиболее значимыми из них являются: Ngspice, Qucs, XYCE, TkGate и openEMS. Ниже приведён их краткий обзор.

Сначала рассмотрим симуляторы цифровых и аналоговых схем. На сегодняшний день индустриальным стандартом описания моделей и списков цепей для аналоговых схем является SPICE, разработанный в университете Беркли в 80-е годы прошлого века. Исходный код многих симуляторов основан на оригинальном коде Berkeley spice3f5. Для цифровых схем стандартом является поддержка языков описания аппаратуры VHDL и Verilog.

SPICE-совместимые симуляторы аналоговых схем

На сегодняшний день полную совместимость со SPICE имеют следующие open-source симуляторы:

Ngspice

Консольный симулятор аналоговых и цифроаналоговых схем. Позволяет производить моделирование на постоянном и переменном токе, анализ переходных процессов, шумовой анализ, анализ нелинейных искажений, Фурье-анализ. Имеет полную совместимость со SPICE-моделями и существующим библиотеками электронных компонентов. Разработка проекта начата более 10 лет назад. Совместим по видам моделирования с популярным коммерческим пакетом PSpice. Существует версия с поддержкой расчётов на GPU --- CUDAspice.

Движок моделирования Ngspice написан на С и использует исходный код spice3f5, написанный университетом Беркли. Ngspice имеет постпроцессор Ngnutmeg со встроенным скриптовым языком, позволяющим выполнять сложный анализ электронных схем. Лидерами проекта являются Francesco Lanutti и Paolo Nenzi.

xyce

Консольный кроссплатформенный SPICE-совместимый симулятор электронных схем. Xyce разрабатывается Сандийскими национальными лабораториями (США). Существуют для версии симулятора: с поддержкой параллельных вычислений через OpenMPI (XyceParallel) и без неё (XyceSerial).

Версия XyceParallel доступна только для Linux. Отличается от Ngspice тем, что не имеет постпроцессора и не содержит некоторых видов моделирования (шумовой анализ, анализ нелинейных искажений), но зато содержит дополнительный вид моделирования --- гармонический баланс. Симулятор написан на С++, с использованием набора библиотек функций линейной алгебры Trilinos, разработанного в Сандийских лабораториях.

Gnucap

Данный симулятор основан на движке моделирования, написанном с нуля. Пока не реализованы все виды моделирования и постпроцессор. Симулятор написан на C++. Сейчас проект разрабатывает Felix Salfelder.

Симуляторы цифровых схем

Среди симуляторов цифровых схем следует отметить TKGate. Это симулятор только цифровых схем на базе Verilog. Он работает только в ОС Linux. Симулятор написан на связке C и Tk/Tcl. Автором проекта является Jeffery P. Hansen (неактивен). Сейчас разработкой занимается наш соотечественник Андрей Скворцов. После шестилетнего перерыва в разработке в этом году вышел релиз TKGate-2.0.

Ключевые возможности симулятора следующие:

  • Интерактивное моделирование цифровых схем
  • Доступные типы компонентов: логические элементы, триггеры, регистры, счётчики, дешифраторы, мультиплексоры, ОЗУ, ПЗУ, АЛУ, ключи на МОП-транзисторе, имитаторы входных сигналов, светодиоды, семисегментыне индикаторы, шкалы, генераторы синхросигналов.
  • Использование пользовательских скриптов Verilog.

Код Verilog можно потом передавать из TkGate в САПР для синтеза ПЛИС.

Qucs --- post-SPICE симулятор аналоговых и цифровых схем

Теперь рассмотрим симуляторы несовместимые со SPICE. К этому классу относится популярный симулятор Qucs.

Qucs[1] является симулятором аналоговых и цифровых схем, основанном на вновь разработанном движке моделирования Qucsator. Qucs написан на C++, имеет свой GUI, основанный на Qt4. Лидером проекта является Guilherme Brondani Torri. Qucs поддерживает все базовые виды моделирования: анализ на постоянном и переменном токе, моделирование переходного процесса \cite{qucs_Kit3}. Отличительной особенность данного симулятора является расширенные функции для моделирования схем СВЧ-устройств: моделирование S-параметров, специальные модели СВЧ-компонентов и постпроцессор с расширенными функциями анализа комплексных сопротивлений в частотной области \cite{qucs_Kit8}. По возможностям анализа СВЧ-устройств Qucs приближается к таким проеприетарным аналогам как AWR MicrowaveOffice. Но симулятор Qucsator несовместим со SPICE и поддерживает SPICE только через слой совместимости, что значительно осложняет использование существующих библиотек моделей электронных компонентов. Несмотря на отличные характеристики движка Qucsator для моделирования СВЧ-схем в частотной, во временной области имеются многочисленные баги. Возможно моделирование цифровых схем с применением языков описания аппаратуры Verilog и VHDL.

\section{Электромагнитные симуляторы}

Единственным представителем класса open-source электромагнитных симуляторов является openEMS openEMS.

Он не имеет своего графического интерфейса, а встраивается в Octave или Matlab. Задание на моделирование является скриптом Octave или Matlab, а для просмотра результатов служит программа Paraview.

Электромагнитный симулятор предназначен для расчёта распределения электромагнитного поля в различных системах и имеет следующие возможности.

  • Расчёт электромагнитного поля (электродинамика) методом FDTD (метод конечных разностей во временной области)
  • Расчёт S-параметров электромагнитных систем
  • Расчёт электромагнитного поля в ближней и дальней зоне
  • Расчёт диаграмм направленности антенн
  • Визуализация результатов

Преимуществом openEMS является то, что он встраивается в Matlab/Octave, и следовательно мы имеем неограниченные возможности по параметризации моделей. Недостатком openEMS является повышенный порог вхождения. Требуется обязательное знание Matlab/Octave.

Qucs-0.0.19S --- новая версия Qucs с полной поддержкой SPICE

Qucs имеет интуитивно понятный интерфейс и развитую подсистему визуализации результатов. Но Qucs использует свой собственный формат списка цепей и моделей, несовместимый со SPICE. Это сильно осложняет использование существующих библиотек моделей полупроводниковых компонентов, распространяемых производителями. Слой совместимости со SPICE имеет многочисленные ограничения. Также ядро моделирования Qucs имеет многочисленные баги (зависание и крах симулятора) при моделировании во временной области, не позволяющие моделировать ключевые схемы и силовую электронику.

Ngspice, напротив, полностью совместим со стандартом SPICE и не имеет проблем при моделировании во временной области. Но Ngspice не имеет GUI и собственной системы визуализации. Поэтому возникает задача объединить Qucs и Ngspice так, чтобы можно было схему Qucs моделировать в Ngspice и использовать Qucs для визуализации результатов.

Данную задачу решает набор патчей spice4qucs[2]

который в 2014-2015 году разработали я и Mike Brinson (London Metropolitan University). Spice4qucs позволяет моделировать схемы Qucs с использованием внешних консольных симуляторов Ngspice и XYCE. С нашим набором патчей Qucs может служить интерфейсом для Ngspice.

Исходный код находится в главном репозитории Qucs в ветке

rebase_spice4qucs
http://github.com/Qucs/qucs/tree/rebase_spice4qucs

Итак, spice4qucs выполняет следующие функции:

  • Преобразует схему Qucs в SPICE-netlist
  • Запускает сторонний симулятор
  • Преобразует вывод от симулятора в XML-формат данных Qucs

Spice4qucs не принят в upstream проекта Qucs. Поэтому было принято решение выпустить параллельно два релиза Qucs:

Qucs-0.0.19
Без spice4qucs. Используется только ядро моделирования Qucsator.
Qucs-0.0.19S
С интегрированной функцией моделирования схем при помощи Ngspice и XYCE

Версия Qucs-0.0.19S позволяет решать следующие задачи, недоступные базовой версии Qucs-0.0.19:

  • Spice4qucs позволяет моделировать схемы, недоступные дефолтному симулятору Qucsator. Прежде всего это силовая электроника, ключевые схемы, схемы на полупроводниковых приборах, работающих с заходом в режим отсечки, и схемы с большим количеством компонентов.
  • Добавлено множество SPICE-совместимых компонентов и видов моделирования. Они расположены в группах: Spice components, Spice sections, и Spice

simulations. Подробнее о них написано в документации. Все эти компоненты не будут работать с дефолтным симулятором Qucsator. Они реализуют задание параметров, начальных условий и команды построцессора в стиле Ngspice. Также добавлены модели полупроводниковых компонентов с полным описанием модели в формате SPICE. Это позволяет просто копировать модель из существующих библиотек, минуя конвертеры.

  • В библиотеках теперь разрешено включение SPICE-нетлиста. Он напрямую передаётся SPICE-совместимому симулятору, минуя конвертации.

Таким образом Qucs-0.0.19S может быть использован в промышленности инженерами-разработчиками электронной техники не только для моделирование СВЧ-устройств, но и любой другой электроники и составить конкуренцию симуляторам MicroCAP и Multisim.

Заключение

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

Примечания и отзывы

  1. Brinson M. E., Jahn S. Qucs: A GPL software package for circuit simulation, compact device modelling and circuit macromodelling from DC to RF and beyond // International Journal of Numerical Modelling (IJNM): Electronic Networks, Devices and Fields. 2008. — September. Vol. 22, no. 4. Pp. 297 – 319.
    • Brinson M., Kuznetsov V. Qucs equation-defined and Verilog-A RF device models for harmonic balance circuit simulation, in Mixed Design
    of Integrated Circuits & Systems (MIXDES), 2015 22nd International Conference, vol., no., pp.192-197, 25-27 June 2015
    • M. Brinson, R. Crozier, V. Kuznetsov, C. Novak, B. Roucaries, F.Schreuder, G. B. Torri. Qucs: improvements and new directions in the GPL compact device modelling and circuit simulation tool., MOS-AK Workshop, Grenoble, March, 2015 http://www.mos-ak.org/grenoble_2015/presentations/T4_Brinson_MOS-AK_Grenoble_2015.pdf
    • M. Brinson, R. Crozier, V. Kuznetsov, C. Novak, B. Roucaries, F. Schreuder, G. B. Torri. Qucs: An introduction to the new simulation and compact device modelling features implemented in release 0.0.19/0.0.19Src2 of the popular GPL circuit simulator., MOS-AK Workshop, Graz,
    September, 2015 http://www.mos-ak.org/graz_2015/presentations/T_5_Brinson_MOS-AK_Graz_2015.pdf

Plays:437   Comments:0