adms
Folders and files
Name | Name | 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.