Los subcircuitos en la mayoría de los simuladores de especias no están "programados". Son simplemente una descripción de un montón de componentes y modelos predefinidos que se agrupan y se pueden pegar en un circuito una o varias veces.
Verilog-A modelos se pueden importar en la mayoría de los simuladores de especias comerciales (Specter, HSpice, SmartSpice). AFAIK solo hay una alternativa gratuita:
ADMS permite convertir modelos de Verilog-A a código C / C ++, que posteriormente pueden compilarse junto con ngSpice. Sin embargo, el proyecto ADMS no parece haber tenido ninguna actividad desde 2016.
Si solo LTSpice es una opción (por cualquier motivo), entonces lo mejor es recrear las ecuaciones del modelo usando Modelado de comportamiento . Espero que esto sea bastante tedioso.
Otra alternativa es el proyecto de código abierto Spice # que todavía se está desarrollando y manteniendo (de los cuales soy el autor). En lugar de ngSpice es:
- Completamente orientado a objetos.
- Una biblioteca en lugar de un ejecutable independiente.
Puede crear modelos personalizados para él en proyectos de C # separados, sin la necesidad de volver a compilar todo el proyecto (como ngSpice). También hay un analizador disponible para ayudar con el proceso de migración de otros simuladores. Además, dadas las similitudes entre C # y C / C ++, puede ser factible usar ADMS para generar primero el código C / C ++, y trabajar desde allí para hacerlo compatible con Spice #. Esta es también la forma en que la mayoría de los modelos originales de Spice se implementaron en la biblioteca central.