ADMS

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.

## Contents

* 1 Overview
* 2 Limitations
* 3 References
* 4 External links
* 5 See also

## 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

1. ↑ Sergey Sukharev (24 March 2006). "New enhancements in ADMS and Spectre CMI XML scripts". http://www.mos-ak.org/boeblingen/slides/P3_Sukharev_MOS-AK_Boeblingen.pdf.
2. ↑ Transistor model
3. ↑ "Tutorial". Archived from the original on 2013-09-28. https://web.archive.org/web/20130928004517/http://vacomp.noovela.com/tutorials.html. Retrieved 2014-01-09.
4. ↑ "Compact device modeling using Verilog-AMS and ADMS". Archived from the original on 2016-03-04. https://web.archive.org/web/20160304060335/http://www.ite.waw.pl/etij/pdf/35-03p.pdf. Retrieved 2015-04-27.
5. ↑ "Ngspice circuit simulator - adms". http://ngspice.sourceforge.net/adms.html.
6. ↑ "Ngspice circuit simulator - adms and ngspice HOWTO". https://ngspice.sourceforge.io/admshowto.html. Retrieved 9 April 2023.

## External links

* EKV MOSFET Model
* adms
* https://web.archive.org/web/20140109115034/http://www.techconnectworld.com/Microtech2012/pdf/WCM2012-MChan.pdf
* Home | i-MOS
* Ngspice circuit simulator - adms and ngspice HOWTO

## See also

* Verilog-A
* SPICE

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/ADMS. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:ADMS&oldid=3059343"