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
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).References
{{reflistExternal 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.htmlSee also
* Verilog-A * SPICE Electronic design automation software Public-domain software