Нгспайс
![]() | |
Оригинальный автор(ы) | Паоло Ненци и др. ал. [1] [а] |
---|---|
Разработчик(и) | Команда авторов Ngspice: Хольгер Фогт, Джайлз Аткинсон, Брайан Тейлор, Дитмар Предупреждение и др. |
Первоначальный выпуск | 1993 |
Стабильная версия | 42 [2] ![]() |
Репозиторий | исходная кузня |
Написано в | С |
Операционная система | Linux, Windows, macOS, BSD и другие. |
Платформа | PPC64 , IA-32 (i386), x86-64 [б] |
Размер | 7,6 МБ (Линукс) |
Доступно в | Английский |
Тип | Моделирование электронных схем |
Лицензия | Пункт BSD-3 |
Веб-сайт | нгспайс |
Нгспайс [3] [4] [5] представляет собой с открытым исходным кодом смешанного уровня и смешанного сигнала симулятор электронных схем . Он является преемником последней стабильной версии Berkeley SPICE версии 3f.5, выпущенной в 1993 году. Небольшая группа сопровождающих и сообщество пользователей вносят свой вклад в проект ngspice, предоставляя новые функции, улучшения и исправления ошибок.
Ngspice основан на трех с открытым исходным кодом бесплатного программного обеспечения пакетах : Spice3f5 , Xspice и Cider1b1 :
- СПАЙС [6] является источником большинства современных симуляторов электронных схем, его преемники широко используются в сообществе электроников.
- Xspice [7] это расширение Spice3, которое предоставляет дополнительные модели кода на языке C для поддержки аналогового поведенческого моделирования и совместного моделирования цифровых компонентов с помощью быстрого алгоритма, управляемого событиями.
- Сидр [8] добавляет в ngspice численный симулятор устройств. Он соединяет симулятор уровня схемы с симулятором устройства, чтобы обеспечить повышенную точность моделирования (за счет увеличения времени моделирования). Критические устройства можно описать с помощью их технологических параметров (числовых моделей), все остальные могут использовать оригинальные компактные модели ngspice. Это преемник CODECS. [9]
Обзор [ править ]
Типы анализа [ править ]
Ngspice реализует три класса анализа:
- Нелинейный анализ постоянного тока
- Нелинейный анализ переходных процессов
- Линейный анализ переменного тока
Анализ переходных процессов включает моделирование переходных шумов. Анализ переменного тока включает моделирование шума слабого сигнала, анализ полюс-ноль и передаточную функцию: [10]
- шума Анализ
- Малый сигнал-шум (переменный ток)
- Переходный шум
- Анализ рабочей точки — определяет рабочую точку постоянного тока цепи с закороченными индукторами и разомкнутыми конденсаторами.
- Анализ развертки рабочей точки — определяет значения выходных переменных при превышении одного или двух указанных независимых источников напряжения или тока.
- Анализ полюс-ноль (AC)
- Анализ искажений малых сигналов и анализ частотных характеристик (AC)
- Анализ чувствительности (постоянный/переменный ток)
- Анализ передаточной функции
- Переходный анализ
- Периодический анализ устойчивого состояния
- Анализ S-параметров
Модели устройств [ править ]
Ngspice реализует различные элементы схем, такие как резисторы , конденсаторы , катушки индуктивности (одиночные или взаимные), линии передачи и растущее число полупроводниковых устройств, таких как диоды , биполярные транзисторы , MOSFET (как объемные, так и SOI), MESFET , JFET и HFET .
Нетлисты [ править ]
Ngspice поддерживает параметрические списки соединений (т.е. списки соединений могут содержать параметры и выражения). Параметрические макромодели, совместимые с PSPICE , часто выпускаемые производителями, можно импортировать в симулятор «как есть». Доступны полиномиальные источники. Ngspice предоставляет внутренний язык сценариев для облегчения сложных потоков управления моделированием и оценкой.
Определение новых моделей [ править ]
Для моделирования схем со смешанными сигналами ngspice позволяет пользователям создавать определяемый пользователем файл определения узла (UDN) интерфейса новой модели устройства. Реализация узла создается и моделируется с использованием языка C с макросами, которые компилируются стандартными компиляторами C/C++.
Новые модели можно добавлять в симулятор, используя:
- Поведенческое моделирование: внутренние B-, E- и G-источники, а также устройства R, C и L позволяют моделировать с помощью математических выражений, управляемых напряжениями узлов, токами ветвей, параметрами и константами.
- Интерфейс модели кода Xspice: это интерфейс C-кода, который помогает процессу моделирования, упрощая доступ к внутренней структуре симулятора.
- Компактные модели Verilog-A: интерфейс OSDI для динамической загрузки OpenVAF . моделей Verilog-A, скомпилированных
- Модели, закодированные на языке C, в формате spice. Будучи проектом с открытым исходным кодом, Ngspice позволяет связывать новые модели с исходными кодами и компилировать их.
Развитие [ править ]
Ngspice можно скомпилировать в общую библиотеку (*.dll или *.so), которую можно легко интегрировать в вызывающую программу. Его интерфейс обеспечивает доступ ко всем параметрам моделирования, входным и выходным данным. tclspice , еще одна версия общей библиотеки, предлагает интерфейс для Tcl / Tk (программного обеспечения) для лучшей интеграции с таким программным обеспечением, как XCircuits .
Ngspice лицензируется по лицензии BSD-3-Clause . Эта разрешительная лицензия с открытым исходным кодом позволяет интегрировать его в качестве механизма моделирования в несколько — проприетарных или бесплатных/свободных — инструментов EDA, таких как KiCad , [11] [12] ОРЕЛ (программа) , [13] CoolSPICE , Altium и другие .
Ngspice имеет интерфейс ввода командной строки и предлагает возможности построения графиков. Графический интерфейс с открытым исходным кодом для ввода схем, моделирования и построения графиков предоставляется Qucs-S .
Последние достижения в области Ngspice были представлены на таких конференциях, как FOSDEM. [14] и ФСиК. [15]
См. также [ править ]
Примечания [ править ]
- ^ Над ngspice за все время работали более 67 участников.
- ^ Зависит от компилятора. См. компиляторы языка C, такие как GCC , clang или MS Visual C++, для конкретных ISA и поддерживаемых платформ.
Ссылки [ править ]
- ^ «Схемосимулятор Ngspice — Авторы» . ngspice.sourceforge.net . Проверено 26 мая 2022 г.
- ^ «Ngspice, симулятор схем Spice с открытым исходным кодом — НОВОСТИ» .
- ^ NGSPICE: последние достижения и планы на будущее, П. Ненци и др., MOS-AK, Бухарест, 2014 г., http://www.mos-ak.org/bucharest/
- ^ «Имитатор цепей NGSPICE» . archive.fosdem.org . Проверено 15 февраля 2024 г.
- ^ «ngspice, текущее состояние и будущие разработки» . archive.fosdem.org . Проверено 15 февраля 2024 г.
- ^ Анализ производительности и проблем сходимости при моделировании цепей, Т. Куорлз, докторская диссертация, Меморандум № UCB/ERL M89/42, Беркли, 1989, http://www.eecs.berkeley.edu/Pubs/TechRpts/1989/ERL -89-42.pdf
- ^ Моделирование на уровне кода в XSPICE, FL Cox ea, Труды Международного симпозиума IEEE по схемам и системам, 1992 (ISCAS 92), том. 2, стр. 871–874, 10–13 мая 1992 г.
- ^ Гейтс, Дэвид А. (июнь 1993 г.). «Проектно-ориентированное моделирование схем и устройств смешанного уровня — кандидатская диссертация» (PDF) . Калифорнийский университет в Беркли . Проверено 28 августа 2023 г.
- ^ КОДЕКС: симулятор схем и устройств смешанного уровня, К. Маярам, Меморандум № UCB/ERL M88/71, Беркли, 1988, http://www.eecs.berkeley.edu/Pubs/TechRpts/1988/ERL- 88-71.pdf
- ^ "ngspice/ngspice/[c4efe2]/АНАЛИЗЫ" . sourceforge.net . Проверено 26 мая 2022 г.
- ^ «Урок: как настроить ngspice и Eeschema для KiCad» . нгспайс . Проверено 18 июля 2019 г.
- ^ Интегрированное моделирование специй с помощью Kicad, Т. Влостовский, FOSDEM, Брюссель, 2017, https://archive.fosdem.org/2017/schedule/event/spice_kicad/
- ^ Моделирование SPICE, часть 1, С. Саттел, Поддержка и обучение Autodesk, 2017, https://www.autodesk.com/products/eagle/blog/spice-simulation-part-1/
- ^ «ngspice, текущее состояние и будущие разработки» . Европейская встреча разработчиков свободного и открытого программного обеспечения (FOSDEM) . Проверено 25 июня 2019 г.
- ^ «ngspice — симулятор схем смешанных сигналов с открытым исходным кодом» . Фонд свободного кремния (F-Si) . Проверено 25 июня 2019 г.