Pull to refresh
115
10
Вадим Кузнецов @vv_kuznetsov

User

Send message

Ну так значительная часть кода в проекте существует с 2003 года. Тогда С++ и был в виде С с классами. Это не хорошо, и не плохо. И это open-source. Всё в ваших руках. Возьмите и перепишите на современном С++. Или доведите до ума вот этот проект: https://github.com/Caneda/Caneda Там настоящий С++, но проект мёртв.

Некоторые генераторы требуют установки начального напряжения на конденсаторах и моделирования с начальными условиям из-за особенностей алгоритмов SPICE. Также идеальные транзисторы использовать не рекомендуется. Лучше взять транзисторы из библиотеки. У меня заработало без начальных условий в таком виде:

Под портами я имею в виду 50-омные источники "power source"

Сообщения об ошибках у Ngspice, к сожалению, отбитые на всю голову. Отлаживать их очень тяжело. Но это претензии к разработчикам Ngspice.

Там дело не в compatibility mode. Обычно такая ошибка возникает, если количество портов в схеме не равно 2. Прочие количества портов не поддерживаются. Точно ли в настройках программы используется Ngspice версии 37 или выше? Работает ли пример examples/ngspice/s_param_wideband_amp.sch ? Если всё равно не работает, то просьба прислать багрепорт.

Это известная проблема: https://github.com/ra3xdh/qucs_s/issues/333 Причина здесь в том, что KiCAD из PPA криво собран. Если в системе установлен KiCAD из PPA, то он будет конфликтовать с пакетом ngspice из репозитория Ubuntu. При этом ngspice пользоваться становится невозможно, если установлен KiCAD из PPA. Поэтому зависимость ngspice я перевёл в recommended. Пакте ngspice-kicad для Qucs-S не годится, так как это SO-библиотека, а не сам симулятор. Если нужен одновременно KiCAD из PPA и ngspice, то требуется либо удалять ngspice-kicad, либо собирать ngspice из исходников и устанавливать в /opt. Ментейнеры пакета ngspice-kicad проинформированы о данной проблемы, но никакой реакции спустя полгода нет.

Багрепорт отправил письмом на мейл

Информация в чём было дело: использовался самосборный Ngspice и при сборке не была включена поддержка XSPICE расширений. Поэтому модели не работали. При сборке Ngspice вручную нужно задавать опцию --enable-xspice для configure

для багрепортов от не имющих гитхаб-аккунта нужна более надежная почта

Где бы такую найти. По-моему сейчас все бесплатные почтовые сервисы режут нестандартные вложения.

С ASCO надо самому разбираться. Пока использовать его не было необходимости. Знаю, что для него нужно сформировать нетлист особого вида, где указываются входные и выходные параметры для оптимизации. Далее оно выдаёт результат. Как работает алгоритм не могу точно сказать.

Ngspice поддерживает ASCO https://asco.sourceforge.net/ , при помощи которого реализуется оптимизация. Со стороны Qucs-S нужно добавить оптимизацию в графический интерфейс. Пока интерфейс для связки Ngspice+ASCO не реализована. В будущем планирую сделать, но не могу сказать когда точно. Сейчас сделать оптимизацию можно только экспортировав нетлист и запустив ASCO из командной строки. Для Qucsator оптимизация должна работать, для этого имеется специальный вид моделирования.

С ADS я раньше никогда не работал и особо не интересовался как он выглядит. Сейчас нашёл скриншоты и понял откуда разработчики оригинального Qucs взяли концепцию интерфейса.

Про то, как сделать свои библиотеки, скоро напишу статью. Может быть прояснит некоторые вопросы.

симуляция завершается сообщением от ngspice "Note: No compatibility mode selected!"

Само по себе это сообщение не является ошибкой. Оно только извещает, что режим совместимости не выставлен. Определить, что данному компоненту требуется режим совместимости Ngspice не может. Проблема со схемой в чём-то ещё. Если используется самосборный Ngspice, то он может быть неправильно собран. Просьба написать багрепорт со схемой, которая работает в Ngspice-36 и не работает в Ngspice-37.

Режим совместимости можно выставить при помощи spiceinit https://github.com/ra3xdh/qucs_s/issues/25

в свойствах графиков по умолчанию установить "инженерный режим"

Да, рассматриваю, чтобы переключить на engineering notation по дефолту со следующего релиза.

Еще очень не хватает редактора символов для создания компонетов со сторонними билиотеками

Этот функционал не доделан, хотя планы на расширение есть https://github.com/ra3xdh/qucs_s/issues/147 Сейчас рекомендуется вместо SpiceLibComp использовать SpiceFile и оборачивать его в подсхему. Для подсхемы редактор УГО вызывается по F9

Бесплатный MicroCAP не просто так стал бесплатным. SpectrumSoft обанкротился, и программа стала abandonware. По этой причине из официального источника MicroCAP не скачать, так как у SpectrumSoft просрочен домен. MicroCAP к тому же только под Windows. В отличие от MicroCAP Qucs-S живое и кроссплатформенное. Моделирования S-параметров в MC нет и не будет, так как проект более не поддерживается. Моделирования МПЛ нет. Использовать в MicroCAP например модели от Google SkywaterPDK проблематично.

Этим микросхемам EEPROM уже сто лет в обед. По ним всё 1000 раз жёвано-пережёвано. Имеются даже готовые библиотеки под любой МК. В чём был смысл делать про это статью в 2023 году?

К этому примеру идёт пользовательская библиотека, которая находится в том же каталоге. Нужно указать пути к библиотечным компонентам, и всё откроется правильно.

Также мануалы по Qucs не подходят для Qucs-S. Правильный туториал здесь: https://ra3xdh.github.io/pdf/qucs_s_tutorial.pdf Или см. мою предыдущую статью на Хабре.

Какие именно примеры не работают? Недавно все примеры были перепроверены и обновлены. Там они рассортированы по каталогам. То, что находится в подкаталоге ngspice, работает с Ngspice. Остальное для других движков. Также, чтобы работало моделирование S-параметров требуется Ngspice >= 37.

Старый Qucs сейчас скорее мёртв. Последняя версия вышла в 2017 году, потом разработчик взялся за глубокий рефакторинг проекта, и в итоге всё заглохло. Оно до сих пор на Qt4, который EOL в 2015 году.

Qucs-S сейчас я спортировал на Qt5, переключил на движок Ngspice по умолчанию и поддерживаю в живом состоянии. Также стараюсь синхронизировать релизы с выходом новых версий Ngspice.

Про QucsStudio я знаю, но это проект с закрытыми исходниками. Один из основателей Qucs Michael Margraf по непонятной причине ушёл из проекта и начал пилить QucsStudio, закрыв исходники, что нарушает лицензию GPL, которая запрещает создавать производные продукты с закрытыми исходниками. В плане поддержки СВЧ компонентов кое-что ушло вперёд. Минус QucsStudio, то что оно только под Windows, хотя всё написано с применением кроссплатформенных тулкитов (Qt) и собирается MinGW. По непонятным причинам версия под Linux не выпускается. QucsStudio использует симулятор Qucsator, к которому не подходят SPICE модели без конвертации. Также там до сих пор Qt4. Ещё паковать KiCAD (версии 2008 года) и Octave (версии 3.6) в бинарный пакет QucsStudio по-моему спорная идея. Цифры в версии 4.3.1 здесь означают только то, что они отказались от нумерации версий 0.0.x раньше, чем Qucs-S.

Полевые транзисторы там КП307. BF245 и J310 тоже будут работать.

Если, увеличивать Rf до 4.7 кОм, то коэффициент усиления на симуляции увеличивается примерно до 15-20. В своё время пробовал проделывать это с данной схемой на макете и при большом усилении получил возбуд.

Information

Rating
518-th
Location
Калуга, Калужская обл., Россия
Registered
Activity