Skip to content

Latest commit

 

History

History
 
 

adms

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This package was created from the ADMS-release-2.3.6 distribution. 
Previiously, a special ADMS distribution was available from Whiteley
Research for use with WRspice.  Several cnanges were made, as well as
general clean-up.  These changes are listed below.

More recently, these changes have been folded into the original ADMS
development branch, which is now being maintained and developed by the
Qucs simulator people.  The package builds and works nicely, and has
replaced the Whiteley Research source-code release going forward.

ADMS is available from github:

https://github.com/Qucs/ADMS.git
https://github.com/Qucs/ADMS/archive/release-2.3.x.tar.gz

However, there were some changes made when building this package:

1)  We use the original default constants.vams and disciplines.vams
    files from Allocera.  For some reason, these were replaced in the
    distribution by sub-standard GNU-licensed versions.  Apparently
    there was worry about the Allocera copyright of the originals. 
    These are freely redistributable so there should be no problem,
    and users certainly don't want to be building GNU-constrained code
    into their modules.  The non-Allocera constants.vams lacks quite a
    number of constant definitions, such as M_PI_4, which prevent some
    of my models from building.

2)  I added some scant documentation found on the web, such as the
    author's original web site.

3)  We build the admsXml program using our own build system, that
    avoids libtool (and libraries) and autostuff and is compatible
    with our Windows build environment.  This has no visibility to the
    user.  The executable is statically linked.

4)  We now supply all of the generated files, rather than regenerating
    during the build process.  This means that the builder does not
    need perl, flex, bison.  Before, All was well for bison 2.7
    (CentOS 7) and later, however bison-2.4.1, as found in CentOS 6,
    failed, and the build would presumably fail on earlier Linux
    distribs as well.  This isn't good, so we skip the generation, and
    supply c files and headers that were generated with CentOS 7.  The
    Makefile is now configured with maintenance mode off.  Advanced
    users can turn this on in adms_wr/admsXml/Makefile.

--------------------------------------------------------------------------
Instructions for adding auto-generated dependencies.
a.  In the Makefile, change the "REGEN = no" line to "REGEN = yes".
b.  rm -rf adms_wr
c.  run make (no arguments).  The admsXml binary should build with
    no errors.  Make sure that all is well before continuing.
d.  cd generated
    ./regen
    This will copy the generated files into the generated directory,
    for future use.
e.  Change the Makefile back to "REGEN = no".
f.  You probably want to check in changes if this is under git.
--------------------------------------------------------------------------

5)  We also have to supply a modified mkelements.pl (in ./files) that
    has this modification in two places:

    #if defined(Win32)
    goes to
    #if defined(Win32) && defined(WITH_DLLS)

    We do not set WITH_DLLS, avoiding symbol name redefinitions from
    dllimport/dllexport attributes otherwise hard-coded into Win32
    builds.  This is necessary to build statically-linked code.
    Did the same modification to the source files admsPreprocessor.h
    and admsVeriloga.h, also in ./files.

2.3.63:  07/25/2018
    Minor tweaks to differentiate package name (xictools_adms) from
    executable name (admsXml) in printed output. Updated printed help
    info, in part to indicate that there can be no space between -D
    and NAME, it must apear as -DNAME.

2.3.62:  11/10/2017
    Modified verilogaYacc.y.in so that array endpoints are tk_integer
    instead or tk_number.  Arrays are now supported in WRspice.

2.3.70;  12/30/2021
    Modified verilogaYacc.y.in so that nested tri-conditionals are
    accepted (for bsimcmg-111).  The ADMS source was updated to
    2.3.7 from the Qucs project on github.com.

------------------------------------------------------------------------
Changes from original adms-2.3.0, also see the ChangeLog in the
distribution.

All my changes will be marked with my initials:  "SRW".  Search for
this to find changes.

3/20/2014

PreprocessorLex.l, verilogaLex.l
String recognition now supports embedded \" as literal quote.

3/7/2014

The preprocessorLex.l was modified so that forms like I(<x>) map to
I(x,x).  Previously, this would give a syntax error.

3/6/2014

Fix preprocessorLex.l to avoid spurious fatal lex error from an
included file whose last line contains only white space.

2/21/2014

The preprocessorYacc.y file was not present in the original
distribution.  This was imported from the "replacement" distribution.

The preprocessorLex.l and preprocessorYacc.y files were tweaked to
fix problems encountered parsing the bsim6.va file from UC Berkeley.
See notes in those files.