- Notifications
You must be signed in to change notification settings - Fork31
ADMS is a code generator for the Verilog-AMS language
License
Qucs/ADMS
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
ADMS is a code generator that converts electrical compact device models specifiedin high-level description language into ready-to-compile C code for the API of spicesimulators. Based on transformations specified in XML language, ADMS transformsVerilog-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
- GD modules to manually update documentation images
Installing dependencies on Linux Debian/Ubuntu:
sudo apt-get install build-essentialsudo apt-get install automake libtool gperf flex bisonsudo apt-get install libxml2 libxml2-devsudo apt-get install libxml-libxml-perlsudo apt-get install libgd-perl
This section is relevant in case ADMS is compiled from the Git repository.
Use the default commands to compile, generate files and install.
sh bootstrap.sh./configuremake install
Autotools it currently used for creating release packages, theadms-x.x.x.tar.gz
source code archive.
sh bootstrap.sh./configuremake cleanmake dist
mkdir cmake; cd cmakecmake .. -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
).
tar xvfz adms-x.x.x.tar.gzcd adms-x.x.x./configure --prefix=[/install/location/]make install
tar xvfz adms-x.x.x.tar.gzcd adms-x.x.xmkdir build; cd buildcmake .. -DCMAKE_INSTALL_PREFIX=[/install/location/]make install
Go through all the aclocal/automake/configure process to ensure you have all the dependencies installed.
Chances are you will need to install these packages: gcc-c++ flex bison libtool libtool-ltdl-devel
Then rename the ADSM directory to ADSM-2.3.0 and tar it to make ~/rpmbuild/SOURCES/ADMS-2.3.0.tar.gz
Then copy the spec file into your rpmbuild/SPECS directory
Then build with rpmbuild -ba SPECS/adms.spec
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 install3- 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 install4- 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 r29173@users.sourceforge.net (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 code5- 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 In three shots: rm -rf auxconf && autoheader && mkdir auxconf && aclocal && libtoolize --force --ltdl -c touch ChangeLog && automake -a -c && autoconf ./configure
About
ADMS is a code generator for the Verilog-AMS language