File: README.md

package info (click to toggle)
adms 2.3.7-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,592 kB
  • sloc: xml: 7,167; perl: 4,866; ansic: 3,147; lex: 1,128; yacc: 691; sh: 323; makefile: 110
file content (206 lines) | stat: -rw-r--r-- 6,324 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206

[![Build Status](https://travis-ci.org/Qucs/ADMS.svg?branch=master)](https://travis-ci.org/Qucs/ADMS)
[![Build status](https://ci.appveyor.com/api/projects/status/r6k7oh37fuwujt32/branch/master?svg=true)](https://ci.appveyor.com/project/qucs/adms/branch/master)


# ADMS - An automatic device model synthesizer

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

## Platforms

ADMS is known to work on these platforms.

- GNU/Linux
- Darwin/OS X
- FreeBSD
- Windows


## Dependencies

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

### Maintainers Install and Packaging from Git

This section is relevant in case ADMS is compiled from the Git repository.

#### Compilation Using Autotools

Use the default commands to compile, generate files and install.

    sh bootstrap.sh
    ./configure
    make install

Autotools it currently used for creating release packages, the `adms-x.x.x.tar.gz` source code archive.

    sh bootstrap.sh
    ./configure
    make clean
    make dist

#### Compilation Using CMake

    mkdir cmake; cd cmake
    cmake .. -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.

### Users Install from Tarball

This section is relevant in case ADMS is compiled from a source code archive (`adms-x.x.x.tar.gz`).

#### Compilation Using Autotools

    tar xvfz adms-x.x.x.tar.gz
    cd adms-x.x.x
    ./configure --prefix=[/install/location/]
    make install

#### Compilation Using CMake

    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


#### Building an RPM

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


## Credits

See AUTHORS file.

## License

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 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 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
  In three shots:
    rm -rf auxconf && autoheader && mkdir auxconf && aclocal && libtoolize --force --ltdl -c
    touch ChangeLog && automake -a -c && autoconf
    ./configure
```