Новий кандидат в релізи САПР Qucs-0.0.19 S-RC6



Qucs — багатоплатформовий (Linux, Windows, MacOS X) симулятор електронних схем із відкритим кодом. Про нього розповідають мої попередні статті на Хабре:

  • Qucs — open-source САПР для моделювання електронних схем habrahabr.ru/post/248005
  • Новини проекту Qucs: підготовка до релізу 0.0.19 habrahabr.ru/post/259193
  • Новини проекту Qucs: доступний кандидат в релізи з підтримкою моделювання схем в SPICE habrahabr.ru/post/263555


В даний час готуються до релізу паралельно дві версії Qucs:
  • Qucs — складання із звичайним набором функцій. Використовується тільки движок моделювання Qucsator
  • QucsS — збірка з можливістю використання SPICE (поддерживаеются движки Ngspice, XYCE, SpiceOpus як рушія моделювання за замовчуванням. Дані складання містять літеру «S», після номера версії. Для інженерів найбільший інтерес представляє Ngspice


Поки черговий реліз Qucs знову відкладено на невизначений термін, вийшов кандидат в релізи Qucs-0.0.19 S-RC6 з підтримкою SPICE. Цей реліз-кандидат значно відрізняється від всіх попередніх. Завантажити пакети для двох платформ (Windows і Linux) можна тут: github.com/ra3xdh/qucs/releases/tag/0.0.19S-rc6

Під катом буде розказано про нововведення в даному реліз-кандидата.



Установка

Linux



Процедура установки для Linux не змінилася. Потрібно збирати пакет з исходников. Потрібні компілятори і Qt4 для розробників. Потрібно зібрати окремо Qucs і движок моделювання Qucsator:
tar xvfz qucs-0.0.19S-rc6.tar.gz
cd qucs-0.0.19 S-rc6
cd qucs
./configure
make
make install
cd ../qucs-core 
./configure
make
make install


При цьому всі покладена в /usr/local, і якщо туди вже встановлена попередня версія Qucs, то вона перезапишется. Щоб встановити QucsS в інший каталог, потрібно змінити команду configure:
./configure --prefix=/some_qucs_location/


Якщо потрібно тільки SPICE, то можна зібрати тільки інтерфейс Qucs:
tar xvfz qucs-0.0.19S-rc6.tar.gz
cd qucs-0.0.19 S-rc6/qucs
./configure --prefix=/some-qucs-location/
make
make install


Ngspice слід встановити за допомогою пакетного менеджера. Він є у всіх сучасних дистрибутивах.

При першому запуску QucsS попросить вказати симулятор за замовчуванням.

Windows



Для Windows слід завантажити бінарний інсталятор. Спільно з QucsS рекомендується використовувати спеціальну збірку Ngspice, яку також можна завантажити зі сторінки релізу. Збірка Ngspice, скачана з офіційного сайту проект працювати буде, але не дозволяє писати логи, т. к. має відключається GUI.

Огляд нових функцій Qucs-0.0.19 S-RC6

Крім виправлення багів і синхронізації з кодової базою головного проекту, QucsS містить ряд дуже важливих нових функцій.

Установка симулятора за замовчуванням



Змінилася процедура запуску моделювання за допомогою SPICE-симулятора. Тепер можна призначити симулятор за замовчуванням, який буде запускатися кожен раз, коли користувач викликає моделювання (наприклад натиснувши F2). Використовувати спеціальний пункт меню Simulate with SPICE тепер не потрібно. Якщо вибрано один із SPICE-движків, то для роботи програми тепер не потрібно движок Qucsator і повна установка.

Симулятор за замовчуванням можна призначити або при першому запуску програми, або потім вибравши в головному меню Simulation->Select default simulator. Якщо вибрано один із SPICE-движків, то несумісні з ним компоненти та бібліотеки не показуються. Діалог установки симулятора за замовчуванням виглядає так:



Дефолтний симулятор слід вибрати у випадаючому списку у верхній частині вікна. Користувачам Windows потрібно також обов'язково вказати правильний шлях до виконуваних файлів симуляторів.

Розрахунок робочої точки за допомогою Ngspice



Реалізований розрахунок робочої точки за постійним струмом (після натискання F8) для SPICE-движків. Тепер якщо симулятором за замовчуванням призначений Ngspice, то він і буде розраховувати робочу точку. Результати розрахунку виглядають так:



Новий набір аналогових блоків XPSPICE



Компоненти XSPICE винесені в спеціальну бібліотеку Xanalogue. XSPICE дозволяє використовувати компоненти, що моделюють схему на рівні блоків. Нова бібліотека містить моделі підсилювачів, суматорів, перемножувачів, дільників, інтеграторів, обмежувачів і т. п. Ось як вони виглядають:



SPICE-директиви .MODEL і .INCLUDE



У доповненні до має набору SPICE-сумісних напівпровідникових компонентів додана можливість розміщення на схемі директив .MODEL і .INCLUDE, що дозволяє використовувати в схемі немодифіковані бібліотеки напівпровідникових компонентів. Директива .MODEL дозволяє послатися не бібліотеку, а директива .MODEL — порядково скопіювати SPICE-модель і впровадити її в схему. Схема змішувача на польових транзисторах ілюструє використання цієї директиви.



Моделі трансформаторів і сердечників



Додані компоненти, що дозволяють моделювати трансформатори і котушки з феромагнітним осердям. Є бібліотека Transformers, що містить трансформатори і бібліотека Cores з моделями сердечників (в основному сталеві сердечники). Даний функціонал доступний лише через Ngspice. На малюнку показана схема лампового УНЧ (на лампі 6П6С), яка ілюструє використання нових бібліотечних моделей трансформаторів і SPICE-моделей.



Створювати свої трансформатори можна застосовуючи комбінацію компонентів Icouple (обмотка) і Core (сердечник). Ідеальні трансформатори можна створити, використовуючи компонент «K coupling»



Створення нестандартних SPICE компонентів



Додано два компонента «SPICE generic device» і «XSPICE generic device». Вони дозволяють створювати новий нестандартний компонент, знаючи тільки число висновків і літеру, яка йому призначена SPICE. Це корисно якщо компонент вже доданий в движок, а графічний інтерфейс запізнюється. Особливо це стосується симулятора XYCE, де нові компоненти додаються в кожному релізі. На доданою схемою як нестандартний компонент оголошено звичайний польовий транзистор. Модель польового транзистора підключається за допомогою директиви .MODEL.



Підтримка моделей XSPICE CodeModel



Додана підтримка мови опису моделей аналогових компонентів XSPICE CodeModel (відомий з 1991 року). Він дозволяє створювати нові моделі і підключати їх до движка моделювання Ngspice без перекомпіляції. Детальніше про синтаксис CodeModel моделей можна прочитати в мануалі Ngspice і XSPICE. Підключити модель CodeModel можна використовуючи комбінацію компонентів «XSPICE generic device» (УГО компонента) і «XSPICE CodeModel» (вихідний текст моделі). На схемі можна бачити приклад використання таких моделей:



Модель CodeModel складається з пари файлів cfunc.mod (реалізація моделі) і ifspec.ifs (опис інтерфейсу). Ось так виглядає вихідний текст (файл cfunc.mod) CodeModel моделі підсилювача:

void cm_gain(ARGS) 
Mif_Complex_t ac_gain;

if(ANALYSIS != MIF_AC) {
OUTPUT(out) = PARAM(out_offset) + PARAM(gain) * 
( INPUT(in) + PARAM(in_offset));
PARTIAL(out,in) = PARAM(gain);
} else {
ac_gain.real = PARAM(gain);
ac_gain.imag= 0.0;
AC_GAIN(out,in) = ac_gain;
}
}


Підключення немодифікованих бібліотек зі SPICE-моделями



Доданий спеціальний компонент «SPICE Library device», який дозволяє використовувати SPICE-бібліотеки без їх модифікації і шарів сумісності. Можна використовувати один із шаблонів символів для компонента. Поки доступні тільки шаблони для ОП з 3 або 5 висновками. Досить вказати шлях до бібліотеки, назва компонента, шаблон символу і при необхідності параметри компонента. Схем ілюструє як можна таким чином підключити ОУ. Планується автоматизувати даний процес. В майбутньому SPICE бібліотеки будуть відображатися в менеджері бібліотек разом з нативними бібліотеками Qucs, і компоненти з них будуть доступними для вставки в схему. Також планується додати редактор бібліотек і символів за аналогією з PCAD Library Executive.



Висновок

Як саме буде далі розвиватися проект QucsS — невідомо. В даний час Qucs і QucsS досить сильно розійшлися. Я розглядаю різні варіанти. Можливо Qucs і QucsS в цьому році об'єднаються. Але не виключено і виділення QucsS в самостійний проект з іншою назвою вже в цьому році.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.