ADMS
Automatic Device Model Synthesizer is public domain software used in the semiconductor industry to translate Verilog-A models into C-models which can be directly read by a number of SPICE simulators, including Spectre Circuit Simulator, Ngspice, and HSpice.
Overview
ADMS stands for Automatic Device Model Synthesizer. ADMS can be used to turn Verilog-A compact models into C code. ADMS interpreter parses a Verilog-AMS file to build a data tree. XML filters are applied on the tree to generate the output files.ADMS aims to reduce the effort of circuit simulator developers to integrate device models - at the same time, it provides the option to compact model developers to use the vendor-neutral language Verilog-A for model definition, improving robustness and maintainability.
ADMS is used by the open source SPICE simulator NGSPICE to support a number of compact models. Following models are supported by NGSPICE using ADMS:
- MOS EKV
- MOS PSP102
- BJT Mextram 504
- BJT Hicum0
- BJT Hicum2
Limitations
ADMS only parses a subset of Verilog-A, and not all statements are supported by all XML filters. Specifically, current controlled voltage sources are not supported in most filters targeting SPICE simulators:Instead, this needs to be represented as a conductance expression.
i.e. I <+ V
- I probes don't work with NGSPICE
Many language features are hard to support with ADMS filters
- laplace_transform,
- idt,
- switching branches.
and
- ADMS is extremely slow.