ADMS is a code generator that converts electrical compact device models specified in high-level description language into ready-to-compile C code for the API of spice simulators. Based on transformations specified in XML language, ADMS transforms Verilog-AMS code into other target languages.
This version is forked from the code previously available at: http://sourceforge.net/projects/mot-adms/files/adms-source/2.3/
The original SVN repo is no longer available.
This version is based on ADMS 2.3.0, the last version released by the original author in 2012.
Currently only a subset of the Verilog-AMS language is supported.
- Homepage (unmaintained): http://vacomp.noovela.com/
- Source code: http://sourceforge.net/projects/mot-adms/
ADMS is known to work on these platforms.
- GNU/Linux
- Darwin/OS X
- FreeBSD
- Windows
- C compiler (gcc, clang)
- Autotools (autoconf, automake,...) or CMake
- GNU Flex
- GNU Bison (tested with 2.5+)
- GNU Libtool
- Perl with XML::LibXml (only for maintainers)
- GD modules to manually update documentation images
 
Installing dependencies on Linux Debian/Ubuntu:
sudo apt-get install build-essential
sudo apt-get install automake libtool gperf flex bison
sudo apt-get install libxml2 libxml2-dev
sudo apt-get install libxml-libxml-perl
sudo apt-get install libgd-perl
This section is relevant in case ADMS is compiled from the Git repository.
The --enable-maintainer-mode makes sure the required files are generated (using Perl and LibXml).
sh bootstrap.sh
./configure --enable-maintainer-mode
make install
Autotools it currently used for creating release packages, the adms-x.x.x.tar.gz source code archive.
sh bootstrap.sh
./configure --enable-maintainer-mode
make clean
make dist
The -DUSE_MAINTAINER_MODE=ON makes sure the required files are generated (using Perl and LibXml).
mkdir cmake; cd cmake
cmake .. -DUSE_MAINTAINER_MODE=ON -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/install/location/
make install
Packaging is not yet supported with CMake. At the moment, only static libraries can be build with CMake.
This section is relevant in case ADMS is compiled from a source code archive (adms-x.x.x.tar.gz).
Users should be able to build without Perl (and the maintainer required modules XML::LibXml and GD).
tar xvfz adms-x.x.x.tar.gz
cd adms-x.x.x
./configure --prefix=[/install/location/]
make install
tar xvfz adms-x.x.x.tar.gz
cd adms-x.x.x
mkdir build; cd build
cmake .. -DCMAKE_INSTALL_PREFIX=[/install/location/]
make install
See AUTHORS file.
ADMS is under GPLv3. See COPYING file.
Original author's build instructions: (for posterity)
0- Prerequisites
    0- gnu make is required (do not use other native make)
1- Description
  ADMS is a code generator that converts electrical compact device models
  specified in high-level description language into ready-to-compile c code
  for the API of spice simulators.
2- Installation - Unix or Linux
    0- run: ./configure - see file INSTALLATION for more options
    1- run: gmake
    2- run: gmake install
  If the installation fails try:
    0- run: autoheader
    1- run: aclocal
    2- run: automake
    3- run: autoconf
    4- run: ./configure - see file INSTALLATION for more options
    5- run: gmake
    6- run: gmake install
    In two shots:
      autoheader && aclocal && automake && autoconf && ./configure
      gmake && gmake install
3- Installation - Windows with cygwin environment
    0- run: ./configure - see file INSTALLATION for more options
    1- run: gmake
    2- run: gmake install
  If the installation fails try:
    0- run: autoheader
    1- run: aclocal
    2- run: automake
    3- run: autoconf
    4- run: ./configure - see file INSTALLATION for more options
    5- run: gmake
    6- run: gmake install
    In two shots:
      autoheader && aclocal && automake && autoconf && ./configure
      gmake && gmake install
4- Installation windows (no cygwin environment)
  0- run:
       cl -DYY_NO_UNISTD_H -DPACKAGE_VERSION=\"msvc-229\" -DHAVE_CONFIG_H -DinsideElement -DinsidePreprocessor -DinsideVeriloga -I. -IadmsXml \
          admsXml/adms.c admsXml/preprocessorLex.c admsXml/preprocessorMain.c admsXml/preprocessorYacc.c admsXml/verilogaLex.c admsXml/verilogaYacc.c \
          admsXml/admsXml.c admsXml/admstpathYacc.c -o admsXml.exe
     If the installation fails send a message to [email protected]
     (note that there is NO strong support for windows compilers.)
5- Directory Structure
   adms
    - metaadms.dtd
      DTD of file adms.xml
    - adms.xml
      This file defines the data structure used by adms to save parsed hdl code.
    - auxconf
      set-up files created by automake -a -c
    - scripts:
      perl scripts
    - admsXml
      source code
5- For developers (using the cygwin environment)
  Here is how I create the compilation environment after checking out adms from
  the CVS repository:
  0- run: autoheader (create autom4te.cache/config-h.in from configure.in)
  1- run: mkdir auxconf (create directory auxconf)
  2- run: aclocal (create aclocal.m4 from configure.in)
  3- run: libtoolize --force --ltdl -c (create libltdl and config.guess, config.sub, ltmain.sh in auxconf)
  4- run: automake -a -c (create missing, mkinstalldirs, install-sh in auxconf and all Makefile.in)
  5- run: autoconf (create configure)
  6- run: ./configure --enable-maintainer-mode
  In three shots:
    rm -rf auxconf && autoheader && mkdir auxconf && aclocal && libtoolize --force --ltdl -c
    touch ChangeLog && automake -a -c && autoconf
    ./configure --enable-maintainer-mode