ADMS
ADMS is a public domain software 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.[1] ADMS can be used to turn Verilog-A compact models[2] into C code. ADMS interpreter parses a Verilog-AMS file to build a data tree.[3] 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.[4]
ADMS is used by the open source SPICE simulator NGSPICE[5] to support a number of compact models. Following models are supported by NGSPICE using ADMS:[6]
- MOS EKV (LEVEL=44)
- MOS PSP102 (LEVEL=45)
- BJT Mextram 504 (LEVEL=6)
- BJT Hicum0 (LEVEL=7)
- BJT Hicum2 (LEVEL=8)
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:
- V(..) <+ I(..) // does not work with NGSPICE
Instead, this needs to be represented as a conductance expression (and not impedance).
i.e. I(..) <+ V(..)
- I (..) probes do not work with NGSPICE
Some other language constructions need to be supported in the filter as well
- for loop,
- case statement.
Many language features are hard to support with ADMS filters
- laplace_transform,
- idt,
- switching branches.
Important aspects of code generation are close to impossible with ADMS
- dataflow analysis
- code optimisation,
and
- ADMS is extremely slow (which can be seen on slightly larger models).
References
- http://www.mos-ak.org/boeblingen/slides/P3_Sukharev_MOS-AK_Boeblingen.pdf
- Transistor model#Models for circuit design .28compact models.29
- "Archived copy". Archived from the original on 2013-09-28. Retrieved 2014-01-09.CS1 maint: archived copy as title (link)
- "Archived copy" (PDF). Archived from the original (PDF) on 2016-03-04. Retrieved 2015-04-27.CS1 maint: archived copy as title (link)
- http://ngspice.sourceforge.net/adms.html
- http://ngspice.sourceforge.net/admshowto.html
External links
- http://ekv.epfl.ch/files/content/sites/ekv/files/mos-ak/wroclaw/MOS-AK_LL.pdf
- http://sourceforge.net/projects/mot-adms/
- https://web.archive.org/web/20140109115034/http://www.techconnectworld.com/Microtech2012/pdf/WCM2012-MChan.pdf
- https://web.archive.org/web/20140109112615/http://i-mos.org/imos2/
- http://ngspice.sourceforge.net/admshowto.html