ngspice – свободный симулятор электронных схем общего назначения с открытым исходным кодом, обеспечивающий моделирование в режиме смешанных сигналов (mixed-signal) и на смешанном уровне (mixed-level).
ngspice является расширением Spice3f5, включившим в себя код проекта Cider, обеспечивающий моделирование на смешанном уровне, и проекта XSPICE, обеспечивающий моделирование смешанных сигналов. Также ngspice является мощной программой, используемой в разработке как интегральных схем, так и печатных плат для проверки целостности схемы и для анализа её поведения.
Дополнительные возможности ngspice
По сравнению с исходным проектом Spice3f5 ngspice получил возможность моделирования критических устройств в схеме, моделирования пользовательских нодов, отличных от тока, напряжения и логических уровней, а также симулирования аналоговых и цифровых цепей. Появилась возможность в дополнение к классическому интерфейсу командной строки использования графического интерфейса через язык TCL. Кроме того, были добавлены новые модели устройств, а также облегчена возможность добавления пользовательских аналоговых и цифровых моделей.
Симулятор на уровне устройств из проекта Cider обеспечивает дополнительные возможности для более точного моделирования схем с учётом моделирования критически важных элементов. Для моделирования элементов используются два симулятора: встроенный симулятор DCIM и интерфейс с внешним симулятором устройств GSS TCAD.
Встроенный симулятор DCIM использует язык описания устройств из проекта PISCES, разработанный в Станфордсим университетом, и классическое для SPICE описание схемы соединений.
ngspice использует комбинированный симулятор смешанных сигналов из проекта XSPICE. Фактически, он добавляет в симулятор цифровые ноды, характеризуемые логическим уровнем и мощностью сигнала.
Для добавления моделей цифровых устройств может использоваться либо написание модели на языке C либо использовать специально предусмотренный интерфейс для внедрения цифровых моделей, написанных на языке описания и моделирования аппаратуры Verilog
Интерфейс позволяет написание графических оболочек для более тесного взаимодействия с симулятором с помощью команд на языке TCL.
Ссылки