This article needs to be updated. Please help update this article to reflect recent events or newly available information. (June 2024) |
Automatic Device Model Synthesizer (ADMS) 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 (LEVEL=44)
- MOS PSP102 (LEVEL=45)
- BJT Mextram 504 (LEVEL=6)
- BJT Hicum0 (LEVEL=7)
- BJT Hicum2 (LEVEL=8)
Limitations
This section does not cite any sources. Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "ADMS" – news · newspapers · books · scholar · JSTOR (June 2024) (Learn how and when to remove this message) |
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).
See also
References
- Sergey Sukharev (24 March 2006). "New enhancements in ADMS and Spectre CMI XML scripts" (PDF). mos-ak.org. Retrieved 9 April 2023.
- Transistor model#Models for circuit design .28compact models.29
- "Tutorial". Archived from the original on 28 September 2013. Retrieved 9 January 2014.
- "Compact device modeling using Verilog-AMS and ADMS" (PDF). Archived from the original (PDF) on 4 March 2016. Retrieved 27 April 2015.
- "Ngspice circuit simulator - adms".
- "Ngspice circuit simulator - adms and ngspice HOWTO". ngspice.sourceforge.io. Retrieved 9 April 2023.
External links
- EKV MOSFET Model: Industry Standard Model for Analog/RF IC (2007)
- adms (download)
- A Platform for Compact Model Sharing! (A project started in 2011)
- The i-MOS Project: An Open Platform for Device Modeling and Circuit Simulation (archived 2014)