forked from wrcad/xictools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
100 lines (74 loc) · 4.02 KB
/
README
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
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.6.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.
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.
------------------------------------------------------------------------
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.