ngspice/README.adms

96 lines
3.7 KiB
Plaintext

***************************************************************************
DISCLAIMER
adms is a code generator for the Verilog-AMS language.
Copyright (C) 2002-2012 Laurent Lemaitre <r29173@users.sourceforge.net>
Copyright (C) 2015-2016 Guilherme Brondani Torri <guitorri@gmail.com>
2012 Ryan Fox <ryan.fox@upverter.com>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***************************************************************************
Please refer to the ngspice adms web page at
http://ngspice.sourceforge.net/admshowto.html
for actual information on how to integrate Verilog A device models into
ngspice. Chapter 13 of the ngspice manual also gives some information.
The code generator source code is available at
https://github.com/Qucs/ADMS
admXml and admsCheck binaries for MS Windows are provided by
https://sourceforge.net/projects/mot-adms/
Some details on the adms integration of new models, though partially outdated,
are available for reference in README_OLD.adms.
AVAILABLE MODELS
EKV 2.6
HICUM0 1.12
HICUM2 2.24
MEXTRAM 504.12.1
BSIM-BULK 106.2.0
BSIMCMG 110.0.0
PSP 102.1
ENABLING ADMS
adms in ngspice allows to use modern device models (HICUM, MEXTRAM,
BSIM-BULK etc.) that are made available today written in Verilog-A.
ngspice requires C-coded models. adms translates the va-models to C-code.
To enable the adms option, you have to install adms. LINUX users may
download the source code, and make and install it in the usual way.
Windows users may either use CYGWIN or MSYS2. MS Visual Studio cannot
be used for adms. Binaries are available. For MSYS2 you may copy them
to C:\msys64\mingw64\bin (to create 64 bit ngspice).
The next step is to install the Verilog-a model files. Due to licensing
issues they are not part of the regular ngspice distribution. Download
ng-adms-va.tar.gz from
http://ngspice.sourceforge.net/experimental/ng-adms-va.tar.gz
and expand it into main ngspice directory.
You cannot use the models offered by the various development groups
directly. Our adms implementation still has some deficits, which have
to be compensated by tweaking the Verilog-A code of the models a bit.
The final step is the compilation of nspice including the Verilog-A models.
MS Windows MSYS2 users may simply call
./compile_min_adms.sh 64
to start compilation. LINUX or CYGWIN users may use a similar command
sequence to obtain the final executable.
Appendix
Licensing of va models.
Most of todays model development is funded by CMC. There is a requirement
placed by CMC to put a sentence like:
"The users agree not to charge for the University of California code
itself but may charge for additions, extensions, or support."
into the licensing statement for a model.
Unfortunately this is not compatible to FSF
(https://www.gnu.org/philosophy/selling.de.html) or Debian DFSG
(https://people.debian.org/~bap/dfsg-faq.html, 12i).
To allow free distribution of ngspice, these models are not put
into the main distribution, but are made available for download
and easy installation from our web site. In using these models,
you have to agree to the licensing clauses listed in the va files.