Моделирование электрических схем linux

Qucs — open-source САПР для моделирования электронных схем

В настоящее время существует не так уж и много open-source САПР. Тем не менее, среди САПР для электроники (EDA) есть весьма достойные продукты. Этот пост будет посвящён моделировщику электронных схем с открытым исходным кодом Qucs. Qucs написан на С++ с использованием фреймворка Qt4. Qucs является кроссплатформенным и выпущен для ОС Linux, Windows и MacOS.

Разработку данной САПР начали в 2004 году немцы Michael Margraf и Stefan Jahn (в настоящее время не активны). Сейчас Qucs разрабатывается интернациональной командой, в которую вхожу и я. Руководителями проекта являются Frans Schreuder и Guilherme Torri. Под катом будет рассказано о ключевых возможностях нашего моделировщика схем, его преимуществах и недостатках по сравнению с аналогами.

Главное окно программы показано на скриншоте. Там смоделирован резонансный усилитель на полевом транзисторе и получены осциллограммы напряжения на входе и выходе и также АЧХ.

Как видно, интерфейс интуитивно понятен. Центральную часть окна занимает собственно моделируемая схема. Компоненты размещаются на схеме методом перетаскивания из левой части окна. Виды моделирования и уравнения также являются особыми компонентами. Более подробно принципы редактирования схем описаны в документации к программе.

Формат схемного файла Qucs основан на XML и к нему поставляется документация. Поэтому схема Qucs может быть легко сгенерирована сторонними программами. Это позволяет создавать ПО для синтеза схем, которое является расширением Qucs. Проприетарное ПО как правило использует бинарные форматы.

Перечислим основные компоненты, имеющиеся в Qucs:

  1. Пассивные RCL-компоненты
  2. Диоды
  3. Биполярные транзисторы
  4. Полевые транзисторы (JFET, MOSFET, MESFET и СВЧ-транзисторы)
  5. Идеальные ОУ
  6. Коаксиальные и микрополосковые линии
  7. Библиотечные компоненты: транзисторы, диоды и микросхемы
  8. Файловые компоненты: подсхемы, spice-подсхемы, компоненты Verilog

Библиотека компонентов использует собственный формат, основанный на XML. Но можно импортировать существующие библиотеки компонентов, основанные на Spice (приводятся в даташитах на электронные компоненты).

  1. Моделирование рабочей точки на постоянном токе
  2. Моделирование в частотной области на переменном токе
  3. Моделирование переходного процесса во временной области
  4. Моделирование S-параметров
  5. Параметрический анализ

Результаты моделирования можно экспортировать в Octave/Matlab и выполнить там постобработку данных.

Qucs основан на вновь разработанном движке схемотехнического моделирования. Отличительной особенностью этого движка является встроенная возможность моделирования S-параметров и КСВ, что важно для анализа ВЧ-схем. Qucs может пересчитывать S-параметры в Y- и Z-параметры.

На скриншотах показан пример моделирования S-параметров широкополосного усилителя высокой частоты.

Читайте также:  Linux get windows share

Итак, отличительной особенностью Qucs является возможность анализа комплексных частотных характеристик (КЧХ), построение графиков на комплексной плоскости и диаграмм Смита, анализ комплексных сопротивлений и S-параметров. Эти возможности отсутствуют в проприетарных системах MicroCAP и MultiSim, и здесь Qucs даже превосходит коммерческое ПО и позволяет получить недостижимые для симуляторов электронных схем, основанных на Spice результаты.

Недостатком Qucs является малое количество библиотечных компонентов. Но этот недостаток не является препятствием к использованию, так как Qucs совместим с форматом Spice в котором приводятся модели электронных компонентов в даташитах. Также моделировщик работает медленнее, чем аналогичные Spice-совместимые моделировщики (например MicroCAP (проприетарный) или Ngspice (open-source)).

В настоящее время мы работаем над возможностью предоставления пользователю выбора движка для моделирования схемы. Можно будет использовать встроенный движок Qucs, Ngspice (spice-совместимый консольный моделировщик, похожий на PSpice) или Xyce (моделировщик с поддержкой параллельных вычислений через OpenMPI )

Теперь рассмотрим перечень нововведений в недавнем релизе Qucs 0.0.18 перспективных направлений в разработке Qucs:

  1. Улучшена совместимость с Verilog
  2. Продолжается портирование интерфейса на Qt4
  3. Реализован список недавних открытых документов в главном меню.
  4. Реализован экспорт графиков, схем в растровые и векторные форматы: PNG, JPEG, PDF, EPS, SVG, PDF+LaTeX. Эта функция полезна при подготовке статей и отчётов, содержащих результаты моделирования
  5. Возможность открытия документа схемы из будущей версии программы.
  6. Исправлены баги, связанные с зависанием моделировщика при определённых условиях.
  7. Ведётся разработка системы синтеза активных фильтров для Qucs (ожидается в версии 0.0.19)
  8. Ведётся разработка сопряжения с прочими open-source движками для моделирования электронных схем (Ngspice, Xyce, Gnucap). В последующих версиях будет добавлена возможность выбора движка для моделирования схемы.

Можно заключить, что несмотря на свои недостатки Qucs представляет собой весьма достойную альтернативу проприетарным САПР для моделирования электронных схем.

Источник

Моделирование электронных схем

Circuit Diagram — программа для создания (рисования) принципиальных схем и последующего сохранения их в формате PNG или SVG.

EAGLE Layout Editor

Приложение для разработки и проектирования печатных монтажных плат, широко используемых как в радиоэлектронике, так и в компьютерной технике.

EasyEDA

Oблачная платформа для рисования и симуляции схем, разводки печатных плат и прочее.

gEDA

gEDA — это набор инструментов для разработки электронных схем.
Состоит из программы схемотехнического моделирования, генератора таблиц соединений, модуля проверки символов, и ряда утилит.

Gneural Network

В рамках проекта Gneural Network развивается система моделирования работы нейронной сети, подходящая для решения задач машинного обучения.

gschem

gschem – программа для разработки принципиальных схем электротехнических устройств — редактор схем (Schematic capture), разработки Ales Hvezda.

KiCad

Приложение для разработки электрических схем и печатных плат.

Meterbridge

Визуализаторы сигнала воспроизводящие облик аналоговых измерителей уровня.

Qucs

Qucs (Quite Universal Circuit Simulator — Целиком Универсальный Симулятор Цепей) — программа для симулирования всех видов электрических цепей с графическим QT интерфейсом.

Читайте также:  Impdp as sysdba linux

TkGate

TkGate — это управляемая событиями программа моделирования электронных схем с графическим редактором, основанным на TCL/Tk. Поддерживает широкий диапазон простейших электронных компонентов, также определенные пользователем модули для многоуровневой разработки.

Что почитать?

Источник

Qucs-S: Qucs with SPICE

You can run Qucs-S on all Linux platforms using AppImage without building it from source. AppImage already includes Qt4 libraries and you don’t need to install them explicitly. Simple make AppImage executable and run it from console or your file manager. Please note that AppImage doesn’t include Ngspice and you need to install them using system package manager.

Binary packages

  • The DEB and RPM packages for Qucs-S are prepared with openSUSE build service. Check the package for your distribution here Then click on distribution icon and find the installation instructions. You may need to install ngspice manually.
  • Arch and Manjaro users may install Qucs-S from AUR
  • The packages for AltLinux are available from Sysyphus repository here

Building from source

  • Install all necessary dependencies: Qt, C++ compilers, etc.
  • Install desired simulation backends: Ngspice, XYCE, SpiceOpus. You can use all these backends together or only one of them. Install basic Qucs (0.0.18 or newer) if Qucsator is needed.
  • Download and unpack tarball
  • Use CMake to compile.
  • Invoke make and make install

tar xvfz qucs-s-0.0.21.tar.gz
cd qucs-s-0.0.21
mkdir builddir
cd builddir
cmake ..
make
make install

The last command make install should be executed from root user. It will install Qucs-S into default prefix /usr/local/. Use -DCMAKE_INSTALL_PREFIX=. to override the default locationNo additional configure options are needed now.

Slackware SlackBuild

  1. Clone this repository:
    git clone https://github.com/ra3xdh/QucsS.SlackBuild
  2. Run SlackBuild as root:
    cd QucsS.S.SlackBuild
    ./qucs-S.SlackBuild
  3. Install txz package with installpkg command

FreeBSD

    Execute the following command to install port:

Windows

  • qucs_s_win64_0_0_24.zip 64-bit (x86_64) portable Windows version;
  • qucs_s_win32_0_0_24.zip 32-bit (i686) portable Windows version;

Important note for Ngspice on Windows: Install package strictly to the C:\SPICE64 location. Otherwise XSPICE model will not work! If you are getting strange errors with Ngspice on Windows and cannot simulate even simple circuit, please check that Ngspice is installed strictly in C:\SPICE64.

Usage

Linux

Run qucs-s from the the command line or launch Qucs-S icon in your desktop environment menu after the installation. You will need to select default simulation backend at the first run. You can change it later in the application settings.

Windows

For portable package run the qucs-s.exe binary to launch application. You may create a desktop shortcut for it.

Читайте также:  Intel gma x4500 linux

Authors

Contribution guide

Steps to contribute

Source code of the Qucs-S is hosted at the Github in the following repository: https://github.com/ra3xdh/qucs_s. You need to clone this repository if you wish to contribute.

git clone -b current https://github.com/ra3xdh/qucs_s
cd qucs_s
git checkout -b your_feature
Use CMake to compile Qucs-S. After you make changes, prepare a pull request to Qucs-S repository.

Branching model

  • master is release candidate for the next Qucs-S release. This branch provides side-by-side installation of Qucs and Qucs-S. Main application executable is named to qucs-s. Only CMake is supported.
  • current is development branch. Use this branch to target patches. It uses traditional Qucs build system. There may exist some experimental branches forked form this branch. I merge current into master time to time.

Release tarball is obtained from master with some Bash script. I distribute only Qucs-GUI and some utilities with Qucs-S package.

My changes only concentrated on GUI side, and you need to rebuild GUI only to test Qucs-S. You may take Qucsator from usual Qucs installation.

Build instruction (development branches)

For qucs-s-stable you need to set WITH_SPICE cmake key. Autotools will not work. Perform the following commnads to build all: git clone https://github.com/ra3xdh/qucs_s/
cd qucs_s
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/some_path
make

Then install and launch qucs-s executable. (to top. )

Documentation

  • Main documentation page at readthedocs.io
  • Presentation at the Spring MOS-AK 2016 at Lausanne
  • Presentation at the Spring MOS-AK 2017 at Lausanne
  • Presentation at the MIXDES2017 conference: Part 1 and Part 2

Publications

  1. Brinson, M. E., and Kuznetsov, V. (2016) A new approach to compact semiconductor device modelling with Qucs Verilog-A analogue module synthesis. Int. J. Numer. Model., 29: 1070-1088. (BibTeX)
  2. D. Tomaszewski, G. Głuszko, M. Brinson, V. Kuznetsov and W. Grabinski, «FOSS as an efficient tool for extraction of MOSFET compact model parameters,» 2016 MIXDES — 23rd International Conference Mixed Design of Integrated Circuits and Systems, Lodz, 2016, pp. 68-73. (BibTeX)
  3. M. Brinson and V. Kuznetsov, «Qucs-0.0.19S: A new open-source circuit simulator and its application for hardware design,» 2016 International Siberian Conference on Control and Communications (SIBCON), Moscow, 2016, pp. 1-5. (BibTeX)
  4. M. Brinson and V. Kuznetsov, «Improvements in Qucs-S equation-defined modelling of semiconductor devices and IC’s,» 2017 MIXDES — 24th International Conference «Mixed Design of Integrated Circuits and Systems, Bydgoszcz, 2017, pp. 137-142. (BibTeX)
  5. M. Brinson and V. Kuznetsov, «Extended behavioural device modelling and circuit simulation with Qucs-S» International Journal of Electronics, 2017, pp.1 — 14 (BibTeX)

Источник

Оцените статью
Adblock
detector