Commit 791bb514 authored by Carsten Schoenert's avatar Carsten Schoenert

Import Upstream version 15

parents

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

ANALYSES
-----------------------------------------------------------------
This file lists the analyses currently implemented into ngspice.
AC : Small-signal frequency response analysis
DC : DC-sweep analysis
+ Added resistance sweep as in spice 2.
* Note: It is possible to perform a generic parametric sweep ?
DISTO : Small signal distorsion analysis
NOISE : Noise analysis
OP : Operating point analysis
PZ : Pole-Zero analysis
SENS : Sensitivity analysis
TF : Transfer function analysis
TRAN : Transient analysis
@c This file will be processed with texinfo.
Spice was originally written at The University of California at Berkeley (USA).
Since then, there have been many people working on the software, most of them
releasing patches to the original code through the Internet.
The following people have contributed in some way:
Vera Albrecht <albrecht@@danalyse.de>,
Cecil Aswell <aswell@@netcom.com>,
Stuart Brorson <sdb@@cloud9.net>,
Giles C. Billingsley,
Mansun Chan,
Wayne A. Christopher,
Al Davis <aldavis@@ieee.org>,
Glao S. Dezai <dezai@@hotbot.com>,
Jon Engelbert <jon@@beigebag.com>,
Daniele Foci <d.foci@@ieee.ing.uniroma1.it>,
Noah Friedman <friedman@@prep.ai.mit.edu>,
Alan Gillespie <Alan.Gillespie@@analog.com>,
David A. Gates,
JianHui Huang,
Jeffrey M. Hsu,
S. Hwang,86
Chris Inbody <cinbody@@cowtown.net>,
Gordon M. Jacobs,
Min-Chie Jeng,
Stefan Jones <stefan.jones@@multigig.com>,
Beorn Johnson <beorn@@eecs.berkeley.edu>,
Kenneth H. Keller,
Mathew Lew,
Robert Lindsell <robertl@@research.canon.com.au>,
Weidong Liu,
Kartikeya Mayaram,
Richard D. McRoberts <rdm@@csn.net>,
Manfred Metzger <ManfredMetzger@@gmx.de>,
Paolo Nenzi <pnenzi@@ieee.org>,
Gary W. Ng,
Hong June Park,
Arno Peters <A.W.Peters@@ieee.org>,
Serban-Mihai Popescu <serbanp@@ix.netcom.com>,
Thomas L. Quarles,
Emmanuel Rouat <emmanuel.rouat@@wanadoo.fr>,
Jean-Marc Routure <routoure@@greyc.ismra.fr>,
Jaijeet S. Roychowdhury,
Takayasu Sakurai,
AMAKAWA Shuhei <sa264@@cam.ac.uk>,
Kanwar Jit Singh,
Steve Tell <tell@@cs.unc.edu>
Andrew Tuckey <Tuckey@@ieee.org>,
Charles D.H. Williams <C.D.H.Williams@@exeter.ac.uk>,
Holger Vogt <holger.vogt@@uni-duisburg.de>,
Dietmar Warning <warning@@danalyse.de>,
Michael Widlok <widlok@@uci.agh.edu.pl>,
Antony Wilson <wilsona@@earthlink.net>,
and many others...
Quite a long list, isn't it ?
Well, if someone helped in the development and has
not been inserted in this list, it is entirely my (Paolo Nenzi) fault.
If you feel you should be on this list, write to <pnenzi@@ieee.org>.
Do not be shy, I would like to make a list as complete as possible.
This file contais a list of known but not yet fixed bugs in ngspice.
===========================================================================
Rework15fixed:
* define/let commands:
the following code causes a segmentation fault:
ngspice 1 -> define max(x,y) ( x gt y ) * x + ( x le y ) * y
ngspice 2 -> let z = max(2,3)
vec_free: Internal Error: not in plot
Segmentation fault (core dumped)
The problem seems caused by the attempt to free an already freed
memory area in free_pnode and free_vec functions.
---------------------------------------------------------------------------
* output redirection:
ngspice 1 -> print v(1) > data.txt
This syntax does not work anymore (it worked in rework-14). If you
want to use output redirection you have to remove spaces around ">":
ngspice 1 -> print v(1)>data.txt
---------------------------------------------------------------------------
* return value:
When ngspice is called in batch mode it returns 1 even if the simulations
are run. The problem arise when there is a .control section but no
.print, .plot or .fourier lines. Ngspice outputs:
Note: No ".plot", ".print", or ".fourier" lines; no simulations run
and exits returning 1.
Workaround: add -r <dummyfile> to the command line to avoid this.
(The original copyright for Spice3f5.)
Copyright (C) 1996 The Regents of the University of California.
All Rights Reserved.
Permission to use, copy, modify, and distribute this software and its
documentation for educational, research and non-profit purposes,
without fee, and without a written agreement is hereby granted,
provided that the above copyright notice, this paragraph and the
following three paragraphs appear in all copies.
This software program and documentation are copyrighted by The Regents
of the University of California. The software program and
documentation are supplied "as is", without any accompanying services
from The Regents. The Regents does not warrant that the operation of
the program will be uninterrupted or error-free. The end-user
understands that the program was developed for research purposes and
is advised not to rely exclusively on the program for any reason.
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY
FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND
ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE UNIVERSITY OF
CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS"
BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE
MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Basic Installation
==================
The autoconf support is still very crude and needs work, but basically
you should be able to do:
./configure
make
make install
(default install dir is /usr/local/bin)
You can use some extra options to 'configure'
--disable-debug : this option will remove the '-g' option passed to the
compiler (speeds up compilation a *lot*)
--enable-ansi : configure will try to find an option for your compiler so
that it expects ansi-C
Do a './configure --help' to get all available options.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. You can give `configure'
initial values for variables by setting them in the environment. Using
a Bourne-compatible shell, you can do that on the command line like
this:
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
Or on systems that have the `env' program, you can do it like this:
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not supports the `VPATH'
variable, you have to compile the package for one architecture at a time
in the source code directory. After you have installed the package for
one architecture, use `make distclean' before reconfiguring for another
architecture.
Installation Names
==================
By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PATH', the package will use
PATH as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=PATH' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Specifying the System Type
==========================
There may be some features `configure' can not figure out
automatically, but needs to determine by the type of host the package
will run on. Usually `configure' can figure that out, but if it prints
a message saying it can not guess the host type, give it the
`--host=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name with three fields:
CPU-COMPANY-SYSTEM
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the host type.
If you are building compiler tools for cross-compiling, you can also
use the `--target=TYPE' option to select the type of system they will
produce code for and the `--build=TYPE' option to select the type of
system on which you are compiling the package.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Operation Controls
==================
`configure' recognizes the following options to control how it
operates.
`--cache<