You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
rlar 451f88c5e1 swallow type conversion warnings 15 years ago
..
cm rename `IGNORE()' --> `NG_IGNORE()' 16 years ago
cmpp rename variable private --> mif_private 15 years ago
enh change the type of a bunch of variables from `int' to `size_t' 16 years ago
evt function pointer invocation, (*p)(...) ---> p(...) 15 years ago
examples whitespace cleanup, \r\n -> \n 16 years ago
icm swallow type conversion warnings 15 years ago
idn rename `IGNORE()' --> `NG_IGNORE()' 16 years ago
ipc explicit casting double -> int etc. 15 years ago
mif tiny rewrite, round to nearest integer and reset errno for strtol() 15 years ago
.cvsignore Added .cvsignore files 21 years ago
Makefile.am rework the xspice/icm Makefile for build in a separate directory 15 years ago
README Codemodel support update. 23 years ago
xspice.c rename `IGNORE()' --> `NG_IGNORE()' 16 years ago

README

Spice Opus / XSpice code model support.
--------------------------------------

Use configure the flag --enable-xspice to compile xspice support in,
when you run the ./configure script.
This creates a new command, "codemodel", which you can
use to load a codemodel.

The command codemodel attempts to load all the codemodels specified in the
arguments, eg
"ngspice 1 ->codemodel /usr/lib/spice/analog.cm /usr/lib/spice/spice2poly.cm"

( note: the codemodel path must begin with ./ or / to work )

The codemodels are automatically compiled and then installed in
${prefix}/lib/spice/ when spice is installed.

To create your own codemodels:

* Unpack the tclspice source and compile as normal.

* cd src/xspice/icm

* make the directory structure for the new library:
Create the nested library_name and module_name directories and copy the
source code to the module_name directories

src/xspice/icm/ <library_name> /
modpath.lst udnpath.lst
<module_name> /
files:
cfunc.mod ifspec.ifs ( for a device )
or
udnfunc.c ( or a user defined node )

* For each library create the files modpath.lst and udnpath.lst, which
contain a list of the user devices and nodes respectivily, in the location
shown above.

* Edit src/xspice/icm/makedefs.in and alter the CMDIRS line to include
your library directory.

* Run make in the src/xspice/icm directory. ( the makefile does the rest )

The codemodel can be then found in
src/xspice/icm/<library_name>/<library_name>.cm

Stefan Jones
20020219
Edited 20030831

-----------------------------------------
SPICE2 POLY codemodel support.

SPICE2 POLY attributes are now available for controlled sources.

To use POLY attributes, configure and install ( make install-tcl )
tclspice/ngspice with the --enable-xspice flag set as described above.

After compilation of ngspice edit
${prefix}/share/tclspice/scripts/spinit or
${prefix}/share/ngspice/scripts/spinit
( depending if you included tcl support or not )

and uncomment the
"* codemodel /usr/lib/spice/spice2poly.cm"
line and edit as required. ( the path to spice2poly.cm may be wrong )
( alternativily create a ~/.spiceinit file with the above codemodel line )

Then read in your SPICE netlist. SPICE 2 POLY attributes in
controlled sources will be translated into .models invoking the
spice2poly codemodel. You should be able to run ngspice and simulate
in the usual way!

Please direct questions/comments/complaints to mailto:sdb@cloud9.net.

6.22.2003 -- SDB.

Edited on 20030831 by Stefan Jones