99 lines
3.5 KiB
Plaintext
99 lines
3.5 KiB
Plaintext
|
|
Internal Changes from 3e2
|
||
|
|
|
||
|
|
The device structure has changed: The state counter in all device
|
||
|
|
structures has been moved to correspond to GENstates in the
|
||
|
|
GENinstance structure.
|
||
|
|
|
||
|
|
Also, a new per-device-type function has been added: XXXunsetup,
|
||
|
|
which deallocates nodes and other resources created in the
|
||
|
|
XXXsetup function. ("XXX" is the device abbreviation.)
|
||
|
|
|
||
|
|
Internal Changes from 3d2
|
||
|
|
|
||
|
|
FILE NAMES:
|
||
|
|
|
||
|
|
Of the changes to spice3 between 3d2 and 3e1, the
|
||
|
|
the most obvious is the new filenames. All filesnames
|
||
|
|
have been converted to lowercase and are at most eight
|
||
|
|
characters plus an optional dot and three character extension.
|
||
|
|
This change was made to accomodate MS-DOS and other operating
|
||
|
|
systems which limit the maximum file name length.
|
||
|
|
|
||
|
|
|
||
|
|
ORGANIZATION
|
||
|
|
|
||
|
|
The top level directory contains the installation "readme" file
|
||
|
|
and a "makedefs" files used by the "build" command.
|
||
|
|
|
||
|
|
"src/" contains all of the C source code. This used to be named
|
||
|
|
"spice3" or "spice3d2" in previous releases.
|
||
|
|
|
||
|
|
"src/lib" is the library or "toolkit" portion of Spice3. Within
|
||
|
|
it are the following subdirectories:
|
||
|
|
|
||
|
|
ckt/ All of the analysis code.
|
||
|
|
ni/ Numerical algorithms (used by ckt routines).
|
||
|
|
sparse/ Sparse matrix package (used by ckt and ni).
|
||
|
|
misc/ Miscellaneous utility and portability routines.
|
||
|
|
dev/ All of the device specific code, with a subdir for
|
||
|
|
each device implementation.
|
||
|
|
|
||
|
|
inp/ Input parsing; could be much smaller.
|
||
|
|
|
||
|
|
fte/ The front end. Really bad.
|
||
|
|
cp/ More front end -- "C shell".
|
||
|
|
hlp/ The windowed help system.
|
||
|
|
|
||
|
|
mfb/ Terminal independant graphics package.
|
||
|
|
mfbpc/ MFB interface for the IBM PC.
|
||
|
|
|
||
|
|
|
||
|
|
"src/bin" contains the source for all executable programs (the
|
||
|
|
location for "main( )"). "main.c" is used by spice, nutmeg,
|
||
|
|
bspice, and cspice (the latter two for MS-DOS). The function
|
||
|
|
of "main.c" is altered by defining the pre-processor symbols
|
||
|
|
SIMULATOR (for either spice, bspice, or cspice), BATCH for
|
||
|
|
bspice, and BATCH and SPICE2 for cspice (no special defines
|
||
|
|
give nutmeg). Each variant of the simulator uses "conf.c" (or
|
||
|
|
"bconf.c" or "cconf.c", or "nconf.c" for nutmeg), which is
|
||
|
|
automatically generated from "config.c". "config.c" is a
|
||
|
|
template used to select devices and analyses. "tune.c"
|
||
|
|
("tunepc.c") contains the compiled in pathnames.
|
||
|
|
|
||
|
|
|
||
|
|
"examples/" contains several spice input files.
|
||
|
|
|
||
|
|
"lib/" contains standard data files for spice, such as the help
|
||
|
|
files and MFB capability files.
|
||
|
|
|
||
|
|
"man/" contains UNIX style manual pages (ala "man(1)").
|
||
|
|
|
||
|
|
"util/" contains utility scripts, such as "build" for running the
|
||
|
|
recursive "make" and "delall.bat" for deleting the distribution on
|
||
|
|
MS-DOS systems.
|
||
|
|
|
||
|
|
All "Makefile"s have been replaced with "makedefs" (and optionally
|
||
|
|
"depend" and "makeops"). "makedefs" is combined with other
|
||
|
|
make definition files with the "build" script.
|
||
|
|
|
||
|
|
SOURCE LEVEL CHANGES
|
||
|
|
|
||
|
|
(Added features are listed in the "README" file).
|
||
|
|
|
||
|
|
DEVICES: The interface to devices has, once again, changed.
|
||
|
|
The change is small from 3d2. Table size values in the device
|
||
|
|
information struction are now pointers to integers containing
|
||
|
|
the table sizes. Per-analyses functions have been surrounded
|
||
|
|
with "#ifdef AN_xx"/"#else"/"#endif" lines. Note that the
|
||
|
|
"itf.h" files are stored only in the "include/" subdirectory.
|
||
|
|
|
||
|
|
Adding devices to the master list is done in the file
|
||
|
|
"src/bin/config.c", instead of "FTE/SPIinit.c".
|
||
|
|
|
||
|
|
SPARSE MATRIX PACKAGE: the sparse matrix package in Spice3e1
|
||
|
|
and later is a more efficient implementation than in earlier releases.
|
||
|
|
The interface is the same.
|
||
|
|
|
||
|
|
|
||
|
|
|