SkillAgentSearch skills...

Spice3f5

Add cmake to spice3f5 for build in linux or windows. SPICE is a general-purpose circuit simulator with several built-in semiconductor device models. SPICE was developed at the Electronics Research Laboratory of the University of California, Berkeley.

Install / Use

/learn @hedhyw/Spice3f5
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Spice3 (no nutmeg, etc)

Changes

  • Add os_linux port;
  • Add cmake build process manager;
  • Fix some code for ANSI-C.

Requirement

  • build-essential;
  • cmake;
  • libx11-dev;
  • libxaw7-dev;
  • libxt-dev.

Tested on computer with Ubuntu 17.10 and 4.13.0-32-generic kernel.

# apt install build-essential cmake libx11-dev libxaw7-dev libxt-dev

For build, run:

$ cd FOLDER_WITH_SPICE3F5
$ FOLDER_WITH_SPICE3F5/util/build.sh

Output will be in the build folder. Spice3: build/src/bin/spice3

For install, run:

$ cd FOLDER_WITH_SPICE3F5
$ FOLDER_WITH_SPICE3F5/util/install.sh

Notes

For additional information see notes/*, lib/helpdir* and man/*.

Old readme

								July, 1993

	Spice3f4

---------- New features in Spice3f.4

With this release, the University of California will no longer
be providing technical support for Spice3, and no plans have been made
for providing support any time in the future.  Some work on Spice3 will
continue (notably the BSIM-3 model and perhaps other device models).

The following is a list of new features and fixes from the previous
release of Spice3, 3f.3 (note that 3f.4 is a "last minute" release with
only a few new changes):
	Initial conditions specified across voltage sources is now handled
	"alter" command accepts expressions, new syntax is either:
		alter dev param = expr
		alter @dev[param] = expr
	"altermod" command for altering model parameters (was "alter")
	minor bug fixes

The following is a list of new features and fixes from the previous
major release of Spice3 (3f.2) and the previous release (3f.3) (note
that 3f.3 is primarily a bug-fix release over 3f.2):
	Added non-linear controlled source functions "u(x)" and "uramp(x)"
	Fixes to AC sensitivity calculation
	Fixes to initial conditions code
	Fixed spurious error messages when running multiple anaylses in
		batch mode
	Fixed plotting (again)
	Fixed "available memory" calculation
	Fixed default scale to be log for analysis done by decade/octave
		(ac, disto, noise); use plot option "linear" to override
	Fixed asciiplot
	Fixed problem causing BSIM models to not be found
	Removed "spiced" (a remote-spice daemon for BSD unix); added an
		rspice command which uses "rsh" instead.
	Online help info is now identicle to the "Spice3f User's Manual"
	Fixed numerous and various parsing errors
	"TF" analysis output is now identified as "TF" data, not "DC" data
	Complex numbers and Real vectors are now printed by the
		"show"/"showmod" commands
	Fixes to help MacIntosh port
	Port for DEC Alpha running OSF/1
	Misc. changes to improve portability

Additional features since release 3e.2 are:
	AC and DC Sensitivity.
	MOS3 discontinuity fix ("kappa").
	Added a new JFET fitting parameter.
	Minor initial conditions fix.
	Rewritten or fixed "show" and "trace" commands.
	New interactive commands "showmod" and "alter".
	Minor bug-fixes to the Pole-Zero analysis.
	Miscellaneous bug fixes in the front end.


----------  Systems supported

Spice3f.4 has been compiled and and run under the following operating systems:
	OSF 1, DEC Alpha
	Ultrix 4, RISC or VAX
	SunOS 4, Sun3 or Sun4

The following systems have been successfully tested either in the past or
by someone outside of UC Berkeley.
	MS-DOS on the IBM PC, using MicroSoft C 5.1 or later
	AIX V3, RS/6000
	HP-UX 8.0, 9000/700
	Dynix 3.0, Sequent Symmetry or Balance (does _not_ take advantage of
		parallelism)
	HP-UX 7.0, 9000/300
	Irix 3.2, SGI Personal Iris
	NeXT 2.0
	Apple MacIntosh, Using Think C

Other systems may require a small amount of porting effort.  Note that
the 'gcc' C compiler was used successfully to compile Spice3f.4.

Due to the heavy use of floating point math operations, Spice3 on the
PC requires a math co-processor.  Also, on the PC, SVGA displays are
_not_ supported.  Only CGA, EGA, and VGA displays are supported (via
the MicroSoft graphics library) at this time.

A 68020 or better processor and a math co-processor is required for
the MacIntosh.

Systems using the X11 Window System (generally any "workstation" class
of system) must have the MIT Athena Widget Set  available ("libXaw.a"
and possiblely "libXmu.a").  These are frequently not distributed or
distributed as "usupported software" by commercial workstation
vendors.

---------- Unloading Spice3 from disk or tape

The Unix distribution comes on 1/2" 9-track tape, 8mm tape, or DEC TK50 tape
in "tar" format.  The MS-DOS distribution comes on several 3.5" floppy
diskettes (both high and low density) in the standard MS-DOS format.
The contents of both distributions are identical, including filenames,
except for the additional files on the MS-DOS disks used for automatic
unloading.

The source code and associated data files for spice3f.4 require over 6MB,
and up to an additional 22MB may be required to compile under Unix (for a
DEC RISC workstation with the compiler option '-g').  For MS-DOS using
MicroSoft C 5.1 or later, nearly 8MB (beyond the 6MB for the source) is
required.

UNIX:  The UNIX distribution of Spice3f.4 comes in "tar" format.  To
	extract Spice3f.4 first create the directory that you wish to
	hold the distribution and "cd" into that directory.  Then
	execute the command "tar x" (after mounting the tape).  Note
	that some sites may require that you explicitly indicate the
	tape drive name when using the "tar" command; this is done with
	the 'f' flag, for example "tar xf /dev/rmt0h".

MS-DOS:  Spice3f.4 comes on MS-DOS format 3.5" disks.  To extract the
	distribution onto a hard disk, create the directory on the hard
	disk that you wish to hold the source code.  "cd" into that
	directory on the hard disk.  For each of the distributed disks,
	IN ORDER, insert the disk into the drive (we'll assume drive
	"B:" here), and enter "B:UNLOAD B:".  This will use the script
	"unload.bat" to extract the source files off of the disk and
	into the current directory or a subdirectory of the current
	directory.  You might see the error "File not found ????????.???",
	that is normal.

Converting the MS-DOS format disks to UNIX:  The MS-DOS format is not
	directly readable by UNIX systems.  One publically available
	tool for doing this is known as "mtools" (search popular
	ftp sites), but this is not the only method.  Note: In MS-DOS,
	text file lines end with "^M^J", where under UNIX lines end only
	with "^J".  Also, execute permission needs to be set on all
	files in the "util/" subdirectory when moving to UNIX.

MAC:  Spice3 is not distributed in a format for the Apple MacIntosh.  You
	must determine how to transfer the files to a Mac from the media that
	you have.

---------- Compiling Spice3f.4 under UNIX

	To build Spice3f.4 on a Unix system follow the steps below.
	For additional notes on internal changes and porting issues,
	please inspect the subdirectory "notes".

	First you must edit the file "conf/defaults" and change the
	listed parameters to reflect the standard organization of
	software at your site.  A description of each parameter is
	included in this file.

	Second, for each type of system at your site, you must provide
	a file in the same subdirectory ("conf/") which contains
	exceptions to the previously edited "defaults" file; note that
	even if you are supporting one type of system with no
	exceptions this is still necessary.  Several files are supplied for
	the system types that have been tested with this distribution,
	including "mips" (for DECstations), "sun4", "sequent", "irix",
	"hpux", and "rs6000".

	Note that some of these per-system definition files have
	special definitions which are required for the given system and
	which do not appear in the "defaults" file.

	Note also that successful compiling does not depend on the
	particular names given to these 'exception' or 'system
	definition' files.  For example, the "mips" configuration file
	could have been named "decstation"; this name is used for
	generating unique directory names such that different systems
	to not use the same area for the compile process (more detail
	are listed in the "defaults" file).

	Finally, it is possible to combine additional files

	After the defaults file has been edited and a system-dependent
	file created or modified, run the command "util/build system"
	from the directory above the "util" subdirectory; for "system"
	you must substitute the name of the system-dependent file that
	you created or modified in the previous step.  Spice3 will then
	be built via recursive "make" commands (it may take a several
	seconds to get going on some systems).  The total time can be
	as little as 20 minutes or as long as four hours depending on
	the speed and load of your system.  Compiling across NFS will
	slow down compiling significantly.

	If you have trouble using the "build" script, try "build -help"
	for infomation on debugging options.  Some system combinations
	may require listing more than one system name on the "build" line,
	for example "build hpux hp300" to build on an HP 9000/300 as
	opposed to a HP 9000/700.  When the build script has successfully
	completed, see the section below on Installing Spice3.
---------- Additional Notes on Compiling Spice3f.4 under UNIX

	NOTE: Some systems have a problem with directory names containing
	a "-" in either the full source directory name or the full directory
	name of any program used in compiling.  This may show up as an
	unexpected or unreasonable error message.  Avoid directory names
	with a "-" (this is an old bug in the "make" command, which has
	propagated to many vendors before being fixed).

	NOTE: On some systems, the "build" scripts seems sluggish.  This
	may be caused by a long "$PATH", with many entries before "/bin"
	and "/usr/bin"; you may be able to speed up the script by trimming
	your "$PATH" before running the build script.

	NOTE (SunOS):  There is small bug somewhere in one version of the
	Sun-supplied X11 libraries.  This bug results in the following
	routines being undefined in the "lin
View on GitHub
GitHub Stars43
CategoryEducation
Updated19d ago
Forks13

Languages

C

Security Score

80/100

Audited on Mar 9, 2026

No findings