diff options
author | rahulp13 | 2020-03-03 05:31:58 +0530 |
---|---|---|
committer | rahulp13 | 2020-03-03 05:31:58 +0530 |
commit | dfc268e0863c913a1b8726cd54eea3b40caf7c67 (patch) | |
tree | 1cd82634684da5ae86b558d44756189e080545d4 /Windows/spice/doc | |
parent | fd62c52150c7d1f81da8060b2f5db6b94d174ccf (diff) | |
download | eSim-dfc268e0863c913a1b8726cd54eea3b40caf7c67.tar.gz eSim-dfc268e0863c913a1b8726cd54eea3b40caf7c67.tar.bz2 eSim-dfc268e0863c913a1b8726cd54eea3b40caf7c67.zip |
upgrade ngspice to v31
Diffstat (limited to 'Windows/spice/doc')
-rw-r--r-- | Windows/spice/doc/ANALYSES | 115 | ||||
-rw-r--r-- | Windows/spice/doc/AUTHORS | 76 | ||||
-rw-r--r-- | Windows/spice/doc/BUGS | 38 | ||||
-rw-r--r-- | Windows/spice/doc/COPYING | 613 | ||||
-rw-r--r-- | Windows/spice/doc/DEVICES | 854 | ||||
-rw-r--r-- | Windows/spice/doc/FAQ | 376 | ||||
-rw-r--r-- | Windows/spice/doc/INSTALL | 699 | ||||
-rw-r--r-- | Windows/spice/doc/NEWS | 578 | ||||
-rw-r--r-- | Windows/spice/doc/README | 54 | ||||
-rw-r--r-- | Windows/spice/doc/ngspice26-manual.pdf | bin | 2141771 -> 0 bytes |
10 files changed, 0 insertions, 3403 deletions
diff --git a/Windows/spice/doc/ANALYSES b/Windows/spice/doc/ANALYSES deleted file mode 100644 index 5b715be9..00000000 --- a/Windows/spice/doc/ANALYSES +++ /dev/null @@ -1,115 +0,0 @@ -12345678901234567890123456789012345678901234567890123456789012345678901234567890 - -ANALYSES -======== - -This file lists the analyses currently implemented into ngspice. - -Table of Contents - - 1 Noise analysis (NOISE) - 1.1 Small signal noise - 1.2 Transient noise - 2 Operating point analysis (OP) - 3 Operating point sweep Analysis (DC) - 4 Pole-zero analysis (PZ) - 5 Small-Signal distortion analysis (DISTO) - 6 Small Signal frequency response analysis (AC) - 7 Sensitivity analysis (SENS) - 8 Transfer function analysis (TF) - 9 Transient analysis (TRAN) - 10 Periodic steady state analysis (PSS, experimental feature) - - - -1 Noise analysis (NOISE) - - 1.1 Small signal noise - - The noise analysis does analysis device-generated noise for the given - circuit. When provided with an input source and an output port, the analysis - calculates the noise contributions of each device (and each noise generator - within the device) to the output port voltage. It also calculates the input - noise to the circuit, equivalent to the output noise referred to the - specified input source. This is done for every frequency point in a specified - range - the calculated value of the noise corresponds to the spectral density - of the circuit variable viewed as a stationary gaussian stochastic process. - - 1.2 Transient noise - - Time domain noise analysis during transient simulation is enabled by - providing voltage (and current) source options with white, 1/f and - random telegraph signal noise signals. - - -2 Operating point analysis (OP) - - The operating point analysis determines the dc operating point of the - circuit with inductors shorted and capacitors opened. - - -3 Operating point sweep Analysis (DC) - - The operating point sweep analysis determines the values of output - variables while one or two specified independent voltage or current source is - stepped over a user-specified range and the dc output variables are stored - for each sequential source value. Resistance and temperature sweep are - included. - - -4 Pole-zero analysis (PZ) - - The pole-zero analysis computes the poles and/or zeros in the small-signal - ac transfer function. The program first computes the dc operating point and - then determines the linearized, small-signal models for all the nonlinear - devices in the circuit. This circuit is then used to find the poles and zeros - of the transfer function. Unfortunately this code is (since its inception in - spice3) not free of bugs. - - -5 Small-Signal distortion analysis (DISTO) - - The distortion analysis computes steady-state harmonic and intermodulation - products for small input signal magnitudes. Not all devices are supported. - - -6 Small Signal frequency response analysis (AC) - - The ac small-signal computes the ac output variables as a function of - frequency. The program first computes the dc operating point of the circuit - and determines linearized, small-signal models for all of the nonlinear - devices in the circuit. The resultant linear circuit is then analyzed over a - user-specified range of frequencies. - - -7 Sensitivity analysis (SENS) - - Ngspice will calculate either the DC operating-point sensitivity or the AC - small-signal sensitivity of an output variable with respect to all circuit - variables, including model parameters. Spice calculates the difference in an - output variable (either a node voltage or a branch current) by perturbing - each parameter of each device independently. - - -8 Transfer function analysis (TF) - - The (small signal) transfer function analysis computes the dc small-signal - value of a transfer function (ratio of output variable to input source), - input resistance, and output resistance is also computed as a part of the dc - solution. - - -9 Transient analysis (TRAN) - - The transient analysis computes the transient output variables as a - function of time over a user-specified time interval. The initial conditions - are automatically determined by a dc analysis. All sources which are not time - dependent (for example, power supplies) are set to their dc value. - - -10 Periodic steady state analysis (PSS) - - The periodic steady state analysis computes solutions for oscillating - circuits. Currently only the autonomous case is implemented. - - diff --git a/Windows/spice/doc/AUTHORS b/Windows/spice/doc/AUTHORS deleted file mode 100644 index e13a65ad..00000000 --- a/Windows/spice/doc/AUTHORS +++ /dev/null @@ -1,76 +0,0 @@ -@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, -Cecil Aswell, -Giles C. Billingsley, -Phil Barker, -Steven Borley, -Krzysztof Blaszkowski, -Stuart Brorson, -Mansun Chan, -Wayne A. Christopher, -Al Davis, -Glao S. Dezai, -Jon Engelbert, -Daniele Foci, -Henrik Forstén, -Noah Friedman, -David A. Gates, -Alan Gillespie, -John Heidemann, -Jeffrey M. Hsu, -JianHui Huang, -S. Hwang, -Chris Inbody, -Gordon M. Jacobs, -Min-Chie Jeng, -Beorn Johnson, -Stefan Jones, -Kenneth H. Keller, -Francesco Lannutti, -Robert Larice, -Mathew Lew, -Robert Lindsell, -Weidong Liu, -Kartikeya Mayaram, -Richard D. McRoberts, -Manfred Metzger, -Wolfgang Muees, -Paolo Nenzi, -Gary W. Ng, -Hong June Park, -Arno Peters, -Stefano Perticaroli, -Serban-Mihai Popescu, -Georg Post, -Thomas L. Quarles, -Emmanuel Rouat, -Jean-Marc Routure, -Jaijeet S. Roychowdhury, -Lionel Sainte Cluque, -Takayasu Sakurai, -AMAKAWA Shuhei, -Kanwar Jit Singh, -Bill Swartz, -Hitoshi Tanaka, -Steve Tell, -Andrew Tuckey, -Andreas Unger, -Holger Vogt, -Dietmar Warning, -Michael Widlok, -Charles D.H. Williams, -Antony Wilson, -and many others... - -If someone helped in the development and has not been inserted in this list -then this omission was unintentional. If you feel you should be on this list -then please write to <ngspice-devel@@lists.sourceforge.net>. Do not be shy, we -would like to make a list as complete as possible. diff --git a/Windows/spice/doc/BUGS b/Windows/spice/doc/BUGS deleted file mode 100644 index b338848f..00000000 --- a/Windows/spice/doc/BUGS +++ /dev/null @@ -1,38 +0,0 @@ -This file contains a list of known but not yet fixed bugs in ngspice. -=========================================================================== - -How to submit a bug report: - -There are two methods to report a bug you have discovered in ngspice: - - * Bug tracker: This is the preferred method of reporting a bug. - Using the tracker on Sourceforge.net site will make your report - open by everyone and the chances of finding a fix will increase. - - * ngspice-devel list: If you are a member of this list, you can write - directly to the developers' list. Do not subscribe to the list only - for sending bug reports. - -Before sending a bug report please note: all information you send to the bug -tracking system or on the mailing lists is public. If you need to send -sensitive information, send them to a developer directly but still write non -sensitive data on the bug tracking system to keep track of bug history. - -* please refer to the sourceforge bug tracker at - http://sourceforge.net/p/ngspice/bugs/ - ------------------------------------------------------------------------------- -OPEN BUGS: ------------------------------------------------------------------------------- -* pole-zero analysis - - The pole-zero (.pz) analysis, which still uses the original spice3f5 - algorithms, does not give correct results for all tested input files. - The effort to correct that issue seems to be large. - - -* voltage (and current) controlled switches need better timing - - The controlled switches (SW, CSW), which still stem from the original - spice3f5 implementation, sometimes lead to wrong results when on and off - ramp times differ considerably. diff --git a/Windows/spice/doc/COPYING b/Windows/spice/doc/COPYING deleted file mode 100644 index e266da01..00000000 --- a/Windows/spice/doc/COPYING +++ /dev/null @@ -1,613 +0,0 @@ -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -Ngspice 26 -Copyright (c) 2014, -All rights reserved. - - -Foreword: -The name 'Spice' (Simulation Program with Integrated Circuit Emphasis) -was originally chosen at the University of California, Berkeley. The -original Berkeley code is covered under the modified BSD license and -thus sets the basis for all other code added. -As Spice is the basis of almost all circuit simulators, the major part of the -analogue and mixed signals simulation's code is designed to fit with it. -The *spices (generic name for its forks) are heterogeneous in many points due -to the work of researchers, electronic designers, software editors, etc. -The Ngspice team tries to collect work from the different sources and -contribute new functionalities. Thus, the material we manipulate is -heterogeneous in licenses. Keeping the licenses as is, but also keep it -compatible with the new BSD license, is the way to live with that diversity. - -Copyleft is a fundamental question in FOSS development. The choice of a -copylefted contribution, or a non copylefted contribution is an important -choice that should be respected. Ngspice branch as a whole will not be covered -by a specific license. The Ngspice team wants to encourage contributions to -ngspice. We let each new developer choose its position regarding copyleft, -as we respect the position of the former developers. In order to keep things -clear ngspice team proposes to follow the following guidelines: - - Each piece of code should be kept under its original contributor's license. - As for any project, modifications made in sources covered by a less - restrictive license can be covered by a more restrictive license than new BSD. - We do not encourage it. - - If you feel to add code in a file under a different license than the rest of - the file, please use comments to mark the boundaries of the modification, and - edit the comments at the beginning of the file with correct license and - copyright information. - - We encourage restrictive licenses to be chosen only for new functionalities, - written in distinct files, leading to distinct libraries that link depending - on a specific configure flag. - - We encourage non proliferation of licenses (e.g. choosing either LGPL or - new BSD). GPL is not suitable for code to be directly linked into ngspice, - but may be used in shared object libraries only. - -This heterogeneous license status requires some effort to keep track on licenses -applied. Please take care of knowing which license applies to the code you are -editing, or conveying and not to commit license infringements, especially to -GPL and LGPL which are quite restrictive. - -On 2007, July 17th spice 3f5 changed from its original license to the new BSD -license. (http://embedded.eecs.berkeley.edu/pubs/downloads/spice/index.htm) - -On 2008, December 1st, tclspice changes license from GPL to LGPLv2, in -accordance with Multigig Ltd, the copyright holder. - -The following table is just a reminder on license status, please don't rely -on it: - Author License Notes - -numparam Georg Post LGPL Applies to the code in - frontend/numparam -adms Laurent Lemaitre LGPL Applies to scripts in the - spicelib/dev/adms -tclspice Stefan Jones LGPL TCL integration -cider U. of California Old BSD Device level simulator -xspice Georgia Tech. Public D Mixed signals -spice U. of California New BSD Analog circuit simulation - - ----------------------------------- Cider ----------------------------------- - - RESEARCH SOFTWARE AGREEMENT - - This file specifies the terms under which the software and - documentation provided with this distribution are provided. - - Software is distributed as is, completely without warranty - or service support. The University of California and its employ- - ees are not liable for the condition or performance of the - software. - - The University does not warrant that it owns the copyright - or other proprietary rights to all software and documentation - provided under this agreement, notwithstanding any copyright - notice, and shall not be liable for any infringement of copyright - or proprietary rights brought by third parties against the reci- - pient of the software and documentation provided under this - agreement. - - THE UNIVERSITY OF CALIFORNIA HEREBY DISCLAIMS ALL IMPLIED - WARRANTIES, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS FOR A PARTICULAR PURPOSE. THE UNIVERSITY IS NOT - LIABLE FOR ANY DAMAGES INCURRED BY THE RECIPIENT IN USE OF THE - SOFTWARE AND DOCUMENTATION, INCLUDING DIRECT, INDIRECT, SPECIAL, - INCIDENTAL, OR CONSEQUENTIAL DAMAGES. - - The University of California grants the recipient the right - to modify, copy, and redistribute the software and documentation, - both within the recipient's organization and externally, subject - to the following restrictions: - - - (a) The recipient agrees not to charge for the University of - California code itself. The recipient may, however, charge - for additions, extensions, or support. - - (b) In any product based on the software, the recipient agrees - to acknowledge the research group that developed the - software. This acknowledgement shall appear in the product - documentation. - - (c) The recipient agrees to obey all U.S. Government restric- - tions governing redistribution or export of the software and - documentation. - - ----------------------------------- Spice3f5 -------------------------------- - -Copyright (c) 1985-1991 The Regents of the University of California. -All rights reserved. - -Permission is hereby granted, without written agreement and without license -or royalty fees, to use, copy, modify, and distribute this software and its -documentation for any purpose, provided that the above copyright notice and -the following two paragraphs appear in all copies of this software. - -IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES 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 OBLIGATION TO PROVIDE -MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - --------------------------------- Tclspice -------------------------------- - - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - ----------------------------------- Xspice -------------------------------- -THE SOFTWARE PROGRAMS BELOW ARE IN THE PUBLIC DOMAIN AND ARE PROVIDED FREE OF -ANY CHARGE. THE GEORGIA TECH RESEARCH CORPORATION, THE GEORGIA INSTITUTE OF -TECHNOLOGY, AND/OR OTHER PARTIES PROVIDE THIS SOFTWARE "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE -ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH THE USER. -SHOULD THE PROGRAM PROVE DEFECTIVE, THE USER ASSUMES THE ENTIRE COST OF ALL -NECESSARY SERVICING, REPAIR OR CORRECTION. IN NO EVENT WILL THE GEORGIA TECH -RESEARCH CORPORATION, THE GEORGIA INSTITUTE OF TECHNOLOGY, AND/OR OTHER PARTIES -PROVIDING THE PROGRAMS BELOW BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR -INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA -BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS). diff --git a/Windows/spice/doc/DEVICES b/Windows/spice/doc/DEVICES deleted file mode 100644 index 29c309e2..00000000 --- a/Windows/spice/doc/DEVICES +++ /dev/null @@ -1,854 +0,0 @@ -DEVICES -======= - -Table of contents - -1. Introduction -2. Linear Devices - 2.1 CAP - Linear capacitor - 2.2 IND - Linear inductor - 2.3 RES - Linear resistor -3. Distributed Elements - 3.1 CPL - Simple Coupled Multiconductor Lines (Kspice) - 3.2 LTRA - Lossy Transmission line - 3.3 TRA - Transmission line - 3.4 TXL - Simple Lossy Transmission Line (Kspice) - 3.5 URC - Uniform distributed RC line -4. Voltage and current sources - 4.1 ASRC - Arbitrary Source - 4.2 CCCS - Current Controlled Current Source - 4.3 CCVS - Current Controlled Voltage Source - 4.4 ISRC - Independent Current Source - 4.5 VCCS - Voltage Controlled Current Source - 4.6 VCVS - Voltage Controlled Voltage Source - 4.7 VSRC - Independent Voltage Source -5. Switches - 5.1 CSW - Current controlled switch - 5.2 SW - Voltage controlled switch -6. Diodes - 6.1 DIO - Junction Diode -7. Bipolar devices - 7.1 BJT - Bipolar Junction Transistor - 7.2 BJT2 - Bipolar Junction Transistor - 7.3 VBIC - Bipolar Junction Transistor -8. FET devices - 8.1 JFET - Junction Field Effect transistor -9. HFET Devices - 9.1 HFET1 - Heterostructure Field Effect Transistor Level 1 - 9.2 HFET2 - Heterostructure Field Effect Transistor Level 2 -10. MES devices - 10.1 MES - MESFET model - 10.2 MESA - MESFET model (MacSpice3f4) -11. MOS devices - 11.1 MOS1 - Level 1 MOS model - 11.2 MOS2 - Level 2 MOS model - 11.3 MOS3 - Level 3 MOS model - 11.4 MOS6 - Level 6 MOS model - 11.5 MOS9 - Level 9 MOS model - 11.6 BSIM1 - BSIM model level 1 - 11.7 BSIM2 - BSIM model level 2 - 11.8 BSIM3 - BSIM model level 3 vers. 0 - 11.9 BSIM3 - BSIM model level 3 vers. 1 - 11.10 BSIM3 - BSIM model level 3 vers. 2 - 11.11 BSIM3 - BSIM model level 3 vers. 3 - 11.12 BSIM4 - BSIM model level 4 - 11.13 HiSIM2 - Hiroshima-University STARC IGFET Model - 11.14 HiSIM_HV - Hiroshima-University STARC IGFET High Voltage Model -12. SOI devices - 12.1 BSIM3SOI_FD - SOI model (fully depleted devices) - 12.2 BSIM3SOI_DD - SOI Model (dynamic depletion model) - 12.3 BSIM3SOI_PD - SOI model (partially depleted devices) - 12.4 BSIMSOI - SOI model (partially/full depleted devices) - 12.5 SOI3 - STAG SOI3 Model -13. Verilog-A models - 13.1 EKV MOS model - 13.2 PSP MOS model - 13.3 HICUM0 Bipolar Model - 13.4 HICUM2 Bipolar Model - 13.5 Mextram Bipolar Model -14. XSPICE code models - - ------------------ - -1. Introduction - -This file contains the status of devices available in ngspice. This file -will be updated every time the device specific code is altered or changed to reflect the current status of this important part of the simulator - - -2. Linear Devices - - - 2.1 CAP - Linear capacitor - - Ver: N/A - Class: C - Level: 1 (and only) - Dir: devices/cap - Status: - - Enhancements over the original model: - - Parallel Multiplier - - Temperature difference from circuit temperature - - Preliminary technology scaling support - - Model capacitance - - Cj calculation based on relative dielectric constant - and insulator thickness - - - 2.2 IND - Linear Inductor - - Ver: N/A - Class: L - Level: 1 (and only) - Dir: devices/ind - Status: - - Enhancements over the original model: - - Parallel Multiplier - - Temperature difference from circuit temperature - - Preliminary technology scaling support - - Model inductance - - Inductance calculation for toroids or solenoids - on the model line. - - 2.3 RES - Linear resistor - - Ver: N/A - Class: R - Level: 1 (and only) - Dir: devices/res - Status: - - Enhancements over the original model: - - Parallel Multiplier - - Different value for ac analysis - - Temperature difference from circuit temperature - - Noiseless resistor - - Flicker noise - - Preliminary technology scaling support - - -3. Distributed elements - - - 3.1 CPL - Simple Coupled Multiconductor Lines (Kspice) - - Ver: N/A - Class: P - Level: 1 (and only) - Dir: devices/cpl - Status: - - This model comes from swec and kspice. It is not documented, if - you have kspice docs, can you write a short description - of its use ? - - - Does not implement parallel code switches - - Probably a lot of memory leaks - - Enhancements over the original model: - - - Better integrated into ngspice adding CPLask, CPLmAsk and - CPLunsetup functions - - 3.2 LTRA - Lossy Transmission line - - Ver: N/A - Class: O - Level: 1 (and only) - Dir: devices/ltra - Status: - - - Original spice model. - - Does not implement parallel code switches. - - 3.3 TRA - Transmission line - - Ver: N/A - Class: T - Level: 1 (and only) - Dir: devices/tra - Status: - - - Original spice model. - - Does not implement parallel code switches. - - 3.4 TXL - Simple Lossy Transmission Line (Kspice) - - Ver: N/A - Class: Y - Level: 1 (and only) - Dir: devices/txl - Status: - - This model comes from kspice. It is not documented, if - you have kspice docs, can you write a short description - of its use ? - - There is some code left out from compilation: - TXLaccept and TXLfindBr. Any ideas ? - - - Does not implement parallel code switches - - - 3.5 URC - Uniform distributed RC line - - Ver: N/A - Class: U - Level: 1 (and only) - Dir: devices/urc - Status: - - - Original spice model. - - Does not implement parallel code switches. - - -4. Voltage and current sources - - 4.1 ASRC - Arbitrary Source - - Ver: N/A - Class: B - Level: 1 (and only) - Dir: devices/asrc - Status: - - The arbitrary source code has been corrected with the patch - available on the Internet. There is still an issue to fix, the - current of current-controlled generators. - - 4.2 CCCS - Current Controlled Current Source - - Ver: N/A - Class: F - Level: 1 (and only) - Dir: devices/cccs - Status: - - - Original spice model. - - 4.3 CCVS - Current Controlled Voltage Source - - Ver: N/A - Class: H - Level: 1 (and only) - Dir: devices/ccvs - Status: - - - Original spice model. - - - 4.4 ISRC - Independent Current Source - - Ver: N/A - Class: I - Level: 1 (and only) - Dir: devices/isrc - Status: - - This is the original spice device improved by Alan Gillespie - with the following features: - - - Source ramping - - Check for non-monotonic series in PWL - - - 4.5 VCCS - Voltage Controlled Current Source - - Ver: N/A - Class: G - Level: 1 (and only) - Dir: devices/vccs - Status: - - - Original spice model. - - -4.6 VCVS - Voltage Controlled Voltage Source - - Ver: N/A - Class: E - Level: 1 (and only) - Dir: devices/vcvs - Status: - - - Original spice model. - - 4.7 VSRC - Independent Voltage Source - - Ver: N/A - Class: V - Level: 1 (and only) - Dir: devices/vsrc - Status: - - This is the original spice device improved by Alan Gillespie - with the following features: - - - Source ramping - - Check for non-monotonic series in PWL - - -5. Switches - - 5.1 CSW - Current controlled switch - - Ver: N/A - Class: W - Level: 1 (and only) - Dir: devices/csw - Status: - - - This model comes from Jon Engelbert. - - - 5.2 SW - Voltage controlled switch - - Ver: N/A - Class: S - Level: 1 (and only) - Dir: devices/sw - Status: - - - This model comes from Jon Engelbert. - - -6. Diodes - - 6.1 DIO - Junction Diode - - Ver: N/A - Class: D - Level: 1 (and only) - Dir: devices/dio - Status: - - Enhancements over the original model: - - Parallel Multiplier - - Temperature difference from circuit temperature - - Forward and reverse knee currents - - Periphery (sidewall) effects - - Temperature correction of some parameters - - -7. Bipolar devices - - 7.1 BJT - Bipolar Junction Transistor - - Ver: N/A - Class: Q - Level: 1 - Dir: devices/bjt - Status: - - Enhancements over the original model: - - Parallel Multiplier - - Temperature difference from circuit temperature - - Different area parameters for collector, base and emitter - - 7.2 BJT2 - Bipolar Junction Transistor - - Ver: N/A - Class: Q - Level: 2 - Dir: devices/bjt2 - Status: - - This is the BJT model written by Alan Gillespie to support lateral - devices. The model has been hacked by Dietmar Warning fixing some bugs - and adding some features (temp. dependency on resistors). - - Enhancements over the original model: - - Parallel Multiplier - - Temperature dependency on rc,rb,re - - Temperature difference from circuit temperature - - Different area parameters for collector, base and emitter - - 7.3 VBIC - Bipolar Junction Transistor - - Ver: N/A - Class: Q - Level: 4 & 9 - Dir: devices/vbic - Status: - - This is the Vertical Bipolar InterCompany model in version 1.2. The author - of VBIC is Colin McAndrew mcandrew@ieee.org. - Spice3 Implementation: Dietmar Warning DAnalyse GmbH - Web Site: http://www.designers-guide.com/VBIC/index.html - - Notes: This is the 4 terminals model, without excess phase and thermal - network. - - -8. FET devices - - 8.1 JFET - Junction Field Effect transistor - - Ver: N/A - Class: J - Level: 1 - Dir: devices/jfet - Status: - - This is the original spice JFET model. - - Enhancements over the original model: - - Alan Gillespie's modified diode model - - Parallel multiplier - - Instance temperature as difference for circuit temperature - - 8.2 JFET2 - Junction Field Effect Transistor (PS model) - - Ver: N/A - Class: J - Level: 2 - Dir: devices/jfet2 - Status: - - This is the Parker Skellern model for MESFETs. - - Web Site: http://www.elec.mq.edu.au/cnerf/psmodel.htm - - Enhancements over the original model: - - Parallel multiplier - - Instance temperature as difference for circuit temperature - - -9. HFET Devices - - Added code from macspice3f4 HFET1&2 and MESA model - Original note: - Added device calls for Mesfet models and HFET models - provided by Trond Ytterdal as of Nov 98 - - 9.1 HFET1 - Heterostructure Field Effect Transistor Level 1 - - Ver: N/A - Class: Z - Level: 5 - Dir: devices/hfet1 - Status: - - This is the Heterostructure Field Effect Transistor model from: - K. Lee, M. Shur, T. A. Fjeldly and T. Ytterdal - "Semiconductor Device Modeling in VLSI", - 1993, Prentice Hall, New Jersey - - Enhancements over the original model: - - Parallel multiplier - - Instance temperature as difference for circuit temperature - - Added pole-zero analysis - - - 9.2 HFET2 - Heterostructure Field Effect Transistor Level 2 - - Ver: N/A - Class: Z - Level: 6 - Dir: devices/hfet2 - Status: - - Simplified version of hfet1 - - Enhancements over the original model: - - Parallel multiplier - - Instance temperature as difference for circuit temperature - - Added pole-zero analysis - - -10. MES devices - - 10.1 MES - MESFET model - - Ver: N/A - Class: Z - Level: 1 - Dir: devices/mes - Status: - - This is the original spice3 MESFET model (Statz). - - Enhancements over the original model: - - Parallel multiplier - - Alan Gillespie junction diodes implementation - - - Added code from macspice3f4 HFET1&2 and MESA model - Original note: - Added device calls for Mesfet models and HFET models - provided by Trond Ytterdal as of Nov 98 - -10.2 MESA - MESFET model (MacSpice3f4) - - Ver: N/A - Class: Z - Level: 2,3,4 - Dir: devices/mesa - Status: - - This is a multilevel model. It contains code for mesa levels - 2,3 and 4 - - Enhancements over the original model: - - Parallel multiplier - - Instance temperature as difference from circuit temperature - - Added pole-zero analysis - - - -11. MOS devices - - 11.1 MOS1 - Level 1 MOS model - - Ver: N/A - Class: M - Level: 1 - Dir: devices/mos1 - Status: - - This is the so-called Schichman-Hodges model. - - Enhancements over the original model: - - Parallel multiplier - - Temperature difference from circuit temperature - - 11.2 MOS2 - Level 2 MOS model - - Ver: N/A - Class: M - Level: 2 - Dir: devices/mos2 - Status: - - This is the so-called Grove-Frohman model. - - Enhancements over the original model: - - Parallel multiplier - - Temperature difference from circuit temperature - - - 11.3 MOS3 - Level 3 MOS model - - Ver: N/A - Class: M - Level: 3 - Dir: devices/mos3 - Status: - - Enhancements over the original model: - - Parallel multiplier - - Temperature difference from circuit temperature - - - 11.4 MOS6 - Level 6 MOS model - - Ver: N/A - Class: M - Level: 6 - Dir: devices/mos6 - Status: - - Enhancements over the original model: - - Parallel multiplier - - Temperature difference from circuit temperature - - - 11.5 MOS9 - Level 9 MOS model - - Ver: N/A - Class: M - Level: 9 - Dir: devices/mos9 - Status: - - This is a slightly modified Level 3 MOSFET model. - (Whatever the implementer have had in mind.) - Not to confuse with Philips level 9. - Enhancements over the original model: - - Temperature difference from circuit temperature - - - 11.6 BSIM1 - BSIM model level 1 - - Ver: N/A - Class: M - Level: 4 - Dir: devices/bsim1 - Status: - - Enhancements over the original model: - - Parallel multiplier - - Noise analysis - - BUGS: - Distortion analysis probably does not - work with "parallel" devices. Equations - are too intricate to deal with. Any one - has ideas on the subject ? - - - 11.7 BSIM2 - BSIM model level 2 - - Ver: N/A - Class: M - Level: 5 - Dir: devices/bsim2 - Status: - - Enhancements over the original model: - - Parallel multiplier - - Noise analysis - - - 11.8 BSIM3v0 - BSIM model level 3 - - Ver: 3.0 - Class: M - Level: 8 & 49, version = 3.0 - Dir: devices/bsim3v0 - Status: TO BE TESTED AND IMPROVED - - - 11.9 BSIM3v1 - BSIM model level 3 - - Ver: 3.1 - Class: M - Level: 8 & 49, version = 3.1 - Dir: devices/bsim3v1 - Status: TO BE TESTED AND IMPROVED - - This is the BSIM3v3.1 model modified by Serban Popescu. - This is level 49 model. It is an implementation that supports - "HDIF" and "M" parameters. - - - 11.10 BSIM3 - BSIM model level 3 - - Ver: 3.2.4 - Class: M - Level: 8 & 49, version = 3.2.2, 3.2.3, 3.2.4 - Dir: devices/bsim3v32 (level 3.2.4) - Status: o.k. - - This is another BSIM3 model from Berkeley Device Group. - You can find some test netlists with results for this model - on its web site. - - Web site: http://www-device.eecs.berkeley.edu/~bsim3 - - Enhancements over the original model: - - Parallel Multiplier - - delvto, mulu0 instance parameter - - ACM Area Calculation Method - - Multirevision code (supports all 3v3.2 minor revisions) - - NodesetFix - - - 11.11 BSIM3 - BSIM model level 3 - - Ver: 3.3.0 - Class: M - Level: 8 & 49, version = 3.3.0 - Dir: devices/bsim3 (level 3.3.0) - Status: o.k. - - This is the actual BSIM3 model from Berkeley Device Group. - You can find some test netlists with results for this model - on its web site. - - Web site: http://www-device.eecs.berkeley.edu/~bsim3 - - Enhancements over the original model: - - Parallel Multiplier - - ACM Area Calculation Method - - Multirevision code (supports all 3v3.2 minor revisions) - - NodesetFix - - Support for Multi-core processors using OpenMP - - - 11.12 BSIM4 - BSIM model level 4 - - Ver: 4.2.0 - 4.6.5 - Class: M - Level: 14 & 54, version = 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6 - Dir: devices/bsim4 (level 4.6.5) - Status: o.k. - - This is the actual BSIM4 model from Berkeley Device Group. - Test are available on its web site. - - Web site: http://www-device.eecs.berkeley.edu/~bsim3/bsim4.html - - Enhancements over the original model: - - Parallel Multiplier - - NodesetFix - - Support for Multi-core processors using OpenMP - - - 11.13 HiSIM2 - Hiroshima-university STARC IGFET Model - - Ver: 2.7.0 - Class: M - Level: 61, 68 - Dir: devices/hisim2 - Status: TO BE TESTED. - - This is the HiSIM2 model available from Hiroshima University - (Ultra-Small Device Engineering Laboratory) - - Web site: http://home.hiroshima-u.ac.jp/usdl/HiSIM.html - - - 11.14 HiSIM_HV - Hiroshima-University STARC IGFET High Voltage Model - - Ver: 1.2.3 - Class: M - Level: 62, 73 - Dir: devices/hisimhv - Status: TO BE TESTED. - - This is the HiSIM_HV model available from Hiroshima University - (Ultra-Small Device Engineering Laboratory) - - Web site: http://home.hiroshima-u.ac.jp/usdl/HiSIM.html - - -12. SOI devices - - 12.1 BSIM3SOI_FD - SOI model (fully depleted devices) - - Ver: 2.1 - Class: M - Level: 55 - Dir: devices/bsim3soi_fd - Status: TO BE TESTED. - - FD model has been integrated. - There is a bsim3soifd directory under the test - hierarchy. Test circuits come from the bsim3soi - - Web site at: http://www-device.eecs.berkeley.edu/~bsimsoi - - - - 12.2 BSIM3SOI_DD - SOI Model (dynamic depletion model) - - Ver: 2.1 - Class: M - Level: 56 - Dir: devices/bsim3soi_dd - Status: TO BE TESTED. - - There is a bsim3soidd directory under the - test hierarchy. Test circuits come from bsim3soi - - Web site at: http://www-device.eecs.berkeley.edu/~bsimsoi - - - - 12.3 BSIM3SOI_PD - SOI model (partially depleted devices) - - Ver: 2.2.1 - Class: M - Level: 57 - Dir: devices/bsim3soi_pd - Status: TO BE TESTED. - - PD model has been integrated. There is a bsim3soipd directory - under the test hierarchy. Test circuits come from the bsim3soi - - Web site at: http://www-device.eecs.berkeley.edu/~bsimsoi - - - - 12.4 BSIMSOI - Berkeley SOI model (partially/full depleted devices) - - Ver: 4.3.1 - Class: M - Level: 10 & 58 - Dir: devices/bsim3soi - Status: o.k. - - This is the actual version from Berkeley. This version is - backward compatible with its previous versions BSIMSOI3.x. - Usable for partially/full depleted devices. - - Web site at: http://www-device.eecs.berkeley.edu/~bsimsoi - - Enhancements over the original model: - - Parallel Multiplier - - Support for Multi-core processors using OpenMP - - - - 12.5 SOI3 - STAG SOI3 Model - - Ver: 2.6 - Class: M - Level: 61 - Dir: devices/soi3 - Status: OBSOLETE - - - -13. Verilog-A models - - Configuring ngspice with ADMS (see Readme.adms) following - devices are available: - - 13.1 EKV MOS Model - - Ver: 2.6 - Level: 44 - Dir: devices/adms/ekv - Status: TO BE TESTED - - EKV version based on a contribution of Ivan Riis Nielsen 11/2006 - - Web site at: http://legwww.epfl.ch/ekv/ - (but EPFL is not publishing any usefull code) - - - 13.2 PSP MOS Model - - Ver: 102.1 - Level: 45 - Dir: devices/adms/psp102 - Status: TO BE TESTED - - Philips SimKit 2.5. - - - 13.3 HICUM0 Bipolar Model - - Ver: Level_0 Version_1.12 - Level: 7 - Dir: devices/adms/hicum0 - Status: TO BE TESTED - - A simplified version of HICUM Level2 model for BJT - Web site at: http://www.iee.et.tu-dresden.de/iee/eb/hic_new - - - 13.4 HICUM2 Bipolar Model - - Ver: Level_2 Version_2.22 - Level: 8 - Dir: devices/adms/hicum2 - Status: TO BE TESTED - - Web site at: http://www.iee.et.tu-dresden.de/iee/eb/hic_new/hic_start.html - - - 13.5 Mextram Bipolar Model - - Ver: 504.6.1 - Level: 6 - Dir: devices/adms/mextram - Status: TO BE TESTED - - Web site at: http://mextram.ewi.tudelft.nl/ and http://mextram.sourceforge.net/ - - 14. XSpice code models, see ngspice manual chapt. 12 diff --git a/Windows/spice/doc/FAQ b/Windows/spice/doc/FAQ deleted file mode 100644 index e137c93c..00000000 --- a/Windows/spice/doc/FAQ +++ /dev/null @@ -1,376 +0,0 @@ - Ngspice F.A.Q.Version 2.0 (ngspice 26 release) - Maintained by Paolo Nenzi, Holger Vogt - Last update: 02-01-2014 - - This document contains the Frequently Asked Questions (and Answers) - for ngspice project. - __________________________________________________________________________ - - Table of Contents - - - 1. INTRODUCTION AND GENERAL INFORMATION - 1.1 What is ngspice? - 1.2 What is sharedspice? - 1.3 What is tclspice ? - 1.4 Why resurrecting Berkeley's Spice? - 1.5 What is the project's goal? - 1.6 What you are going to do? - 1.7 Legal issues - 1.8 What mailing lists exist for ngspice? - 1.9 Are the mailing lists archived anywhere? - 1.10 What newsgroups exist for ngspice? - 1.11 Where can I get a copy of ngspice? - 1.12 Where should I look on the World Wide Web for ngspice stuff? - 1.13 Where should I look on the World Wide Web for Spice documentation? - - 2. DEVELOPMENT - 2.1 What is the current version? - 2.2 What are the latest features in the current release? - 2.3 What does it look like? - 2.4 Who are the authors of ngspice? - 2.5 How can I report a bug/request for a feature? - 2.6 How can I join the development? - - 3. SOLUTIONS TO COMMON MISCELLANEOUS PROBLEMS - 3.1 What systems are supported? - 3.2 I get errors when I try to compile the source code, why? - 3.3 This document didn't answer my question. Where else can I look for - an answer? - - 4. ADMINISTRATIVE INFORMATION AND ACKNOWLEDGEMENTS - 4.1 Feedback - 4.2 Formats in which this FAQ is available - 4.3 Authorship and acknowledgements - 4.4 Disclaimer and Copyright - - - ______________________________________________________________________ - - 1. INTRODUCTION AND GENERAL INFORMATION - - - - 1.1 What is ngspice ? - - Ngspice is a mixed-level/mixed-signal circuit simulator, based on three - open source software packages: Spice3f5, Cider1b1 and Xspice, and - including many bug fixes and enhancements: - - - Spice3 is a widely used circuit simulator. It was developed by the - University of California at Berkeley (UCB), by "a cast of thousand" - (as they say) initially under the guide of Donald O. Peterson. - - - Cider is a mixed-level simulator that already includes Spice3f5 and - adds a device simulator to it: DSIM. Cider couples the circuit level - simulator to the device simulator to provide greater simulation - accuracy (at the expense of greater simulation time). Critical - devices can be described with technology parameters (numerical - models) and non critical ones with the original spice's compact - models. - - - Xspice is an extension to Spice3 that provides code modeling support - and simulation of digital components through an embedded event - driven algorithm. - - The NG prefix has lot of meanings: Next Generation, New Good, etc. - Choose or invent the one you prefer. The heart of the project is the - ngspice program, with its tremendous advancements. - - - 1.2 What is sharedspice ? - - Sharedspice is an interface option to ngspice. It compiles the simulator - into a shared object (or dynamic link library), providing full control - of ngspice to any suitable controlling program (GUI, optimizer, - development system, etc., to be provided by the user). - - - 1.3 What is tclspice ? - - Tclspice is a another interface option of ngspice, providing a tcl/tk - interface to the user. Tclspice is both a batch and interactive simulator - and a building block for simulator applications. Analyses can be run - from a tcl script and vector plotted or post processed using tcl. A small - GUI may be built by the user to analyze a circuit or a set of circuits. - Tclspice is obtained compiling ngspice activating an additional option. - - - 1.4 Why resurrecting Berkeley's Spice? - - Berkeley's Spice can be considered the father of most circuit - simulators available today. It is an old but still good piece of - software, it may not be the fastest or the most reliable but it's - free, it's available in source code and most of the electrical - simulators inherited it's syntax. Spice3 is based on proven numerical - algorithms (most commercial implementations have only strengthened - them), implements most of the models for MOSFET submicron design - and has a powerful set of analyses. The readily availability of - its source code in the past made this simulator the de-facto standard. - - - 1.5 What is the project's goal? - - Ngspice is both a maintenance and enhancement project. It is a maintenance - project because it aims to provide the free EDA community the best spice3 - simulator available. This means fixing bugs, adding new features but always - in the spice3 framework. Achieving compatibility with commercial spice based - simulators and provide users the latest devices models are important goals - of the project. Improvements in the postprocessing (data handling - capabilities) and user interface are other goals. - - - 1.6 What you are going to do? - - An official roadmap for ngspice was never drawn. Contributions made by - developers drive ngspice development and the roadmap is built day by - day by developers writing on the lists. Ngspice development activity - can be summarized in 3 points: - - + Compatibility: Ngspice should be compatible with commercial products, - thus allowing people to use the netlist generated for such tools. As - most of the commercial simulators available tracked each other in netlist - language, this should not be an impossible task. The most important goal - here is to provide a reliable support for model libraries coming from - foundries. - - + Compact models: The interest in using ngspice is intimately connected - to the available models. To provide the latest models available for - active and passive devices is a fundamental goal of the project. In - this direction we are integrating ADMS model compiler into ngspice. - - + Documentation: Commercial simulators come with very good manuals - containing tutorials, description of models equations, example of - use, suggestions, etc. Spice came with little documentation. The - Spice3f manual, available on the Internet has been used as the basis - for the new manual. It will be constantly improved during ngspice - development and integrated with the documentation accompanying Xspice - and Cider. The ngspice manual today contains description of all - features ngspice is offering. It is however not a tutorial of ngspice - usage, but there are now several good ones available on the internet - (see http://ngspice.sourceforge.net/tutorials.html). - - - 1.7 Legal issues - - The ngspice base license is new BSD, as provided by UCB. For some parts - of the code other compatible licences apply. Please see file COPYING - for details. - - - 1.8 What mailing lists exist for ngspice? - - There are two general mailing lists dedicated to the ngspice project. - - Users mailing list: <ngspice-users@lists.sourceforge.net> - This list is for ngspice users. Examples, problems, bug reports - and general discussion on ngspice can be sent here. - - Developers mailing list: <ngspice-devel@lists.sourceforge.net> - The list is dedicated to ngspice development. Developers should - subscribe here, to follow the program development. May be used - to send patches, and technical discussion on ngspice. - - Send an empty message with Subject "help" to the following addresses - to get instructions. - - <ngspice-users-request@lists.sourceforge.net> - <ngspice-devel-request@lists.sourceforge.net> - - Send an empty message to the following address to Subscribe. - - <ngspice-users-join@lists.sourceforge.net> - <ngspice-devel-join@lists.sourceforge.net> - - Documentation about the user interface of - these mailing lists can be found at: - http://www.gnu.org/software/mailman/mailman-member - - - 1.9 Are the mailing lists archived anywhere ? - - Yes, the lists are archived. There are two places where to look for - archives. The project started on the IEEE Central and South Italy - web server and then moved to sourceforge. Sourceforge provides an - archiving service that cam be accessed via the summary page: - - http://sourceforge.net/p/ngspice/mailman/ - - - - 1.10 What newsgroups exist for ngspice? - - There is no ngspice specific newsgroup. Sourceforge offers additional - discussion groups for ngspice, please see - - http://sourceforge.net/p/ngspice/discussion/ - - ngspice threads may appear on newsgroups dedicated to circuit - simulation and electronic design. - - - 1.11 Where can I get a copy of ngspice? - - You can download ngspice from: - - http://sourceforge.net/projects/ngspice/files/ng-spice-rework/ - - - 1.12 Where should I look on the World Wide Web for ngspice stuff? - - Look at the official Ngpice Web Page: - - http://ngspice.sourceforge.net - - - 1.13 Where should I look on the World Wide Web for Spice documentation? - - There is a detailed ngspice manual available at: - http://ngspice.sourceforge.net/docs.html - - Others docs are assembled at: - http://ngspice.sourceforge.net/literature.html - - - - 2. DEVELOPMENT - - - 2.1. What is the current version? - - The latest version released is: - - * ngspice-26 (released on 04/01/2013) - - - 2.2. What are the latest features in the current release? - -- New features: - + add temperature coefficients for B source - + commands "mdump", "mrdump" to dump matrix to file - + allow `time', `temper', and `hertz' in expressions with behavioral R, L, C - + Enable ctrl-c to interrupt a simulation also for Windows GUI - + tests/bsim4: use the standard CMC model check - + implement exit code for command "quit" - + .nodeset all = value - + memristor code model in extradev - + new scalable diode model including tunnel component - + variable xtrtol may override the XSPICE reduction of trtol - + XSPICE example: delta-sigma converter - + XSPICE: new d_source model - + new option noopac - + bsim3: make additonal parameters accessible with @mxx[par] - + enable Mac OS X compilation - + option reseries = val - + commands "snsave", "snload" - + update hisim to version 2.7.0, new qa tests - + hisimhv update to version 1.2.3, new qa tests - + allow Ctrl-d to quit - + jfet model temperature extension, tcv and bex parameter - + speed up vector handling by hash table for vector address storage and retrieval - + update PSS code - - -- Bug fixes: - + many, many ... please see - http://ngspice.git.sourceforge.net/git/gitweb.cgi?p=ngspice/ngspice;a=shortlog;pg=0 - + remove memory leaks - + update tclspice for MS Windows - + adms3 removed due to licensing issues - + Many small bugs - - - - 2.3. What does it look like? - - Ngspice, as the original Spice3 (and Xspice and Cider) is a command - line simulator, but with a graphics output capability. - - - 2.4. Who are the authors of ngspice? - - The development is open to anyone who wish to contribute. If the - original Spice3 was made with the contribution of "a cast of - thousand", ngspice can only increase that number. An incomplete - list of contributor makes the "acknowledgements" page of the ngspice - manual. - - - 2.5. How can I report a bug/request for a feature? - - The ngspice summary page (hosted on Sourceforge) has bug-reporting, - feature-request and bugs trackers. You can use them or subscribe to - mailing lists and post there. The former is preferred since almost - it allows to track all necessary actions upon a bug. The web site at - http://ngspice.sourceforge.net/bugrep.html will give you more details. - - - 2.6. How can I join the development? - - To join the development just code the feature you want to add and send - your patch in the mailing list. Before you start coding check the - latest development release of ngspice from our git repository. - It might be that your feature has already been implemented. - - There is no bureaucracy here. - - - - 3. SOLUTIONS TO COMMON MISCELLANEOUS PROBLEMS - - - 3.1. What systems are supported? - - Ngspice is written in C, and uses some GNU extensions, then you need - a GNU C compiler and a UNIX environment to compile it. Ngspice can - be compiled under Windows using the mingw or cygwin environment as - well as MS Visual Studio. - - - 3.2. I get errors when I try to compile the source code, why? - - This is a one-million-euros question :). - - Write a mail to the user's list describing the problem and providing - information on the type of hardware, the flavour of operating system. - - - 3.3. This document didn't answer my question. Where else can I look - for an answer? - - Read old messages from the mailing list archive, search the web site - or read the docs. Upgrade to the latest version of ngspice, many - problems are fixed in the new versions. If you still can't find an - answer, post your question to the mailing lists. - - - - 4. ADMINISTRATIVE INFORMATION AND ACKNOWLEDGEMENTS - - - 4.1. Feedback - - Send your comments about this F.A.Q. to: - - Paolo Nenzi <p.nenzi@ieee.org>. - - Send your comments about ngspice to: - - Paolo Nenzi <p.nenzi@ieee.org>. - - - 4.2. Formats in which this FAQ is available - - This document is available only in ASCII format in the ngspice source - package. - - - 4.3. Authorship and acknowledgements - - Parts of the questions and answers are originate from Paolo Nenzi. - - - 4.4. Disclaimer and Copyright - - This document is provided as is. The information in it is not - warranted to be correct: you use it at your own risk. diff --git a/Windows/spice/doc/INSTALL b/Windows/spice/doc/INSTALL deleted file mode 100644 index 23c1f877..00000000 --- a/Windows/spice/doc/INSTALL +++ /dev/null @@ -1,699 +0,0 @@ -Ngspice installation instructions -================================= - -Table of contents - - 1 Ngspice installation (LINUX) - 1.1 Prerequisites - 1.2 Install from tarball (e.g. ngspice-26.tar.gz) - 1.3 Install from git repository - 1.4 Advanced Install - 1.4.1 Most useful options - 1.4.2 Options Specific to Using Ngspice - 1.4.3 Options Useful for Debugging Ngspice - 2 Compilers and Options - 3 Compiling For Multiple Architectures - 4 Installation Names - 5 Optional Features - 6 Specifying the System Type - 7 Sharing Defaults - 8 Operation Controls - 9 NGSPICE COMPILATION UNDER WINDOWS OS - 9.1 How to make ngspice with MINGW and MSYS - 9.2 make ngspice with MS Visual Studio 2008 - 9.3 make ngspice with pure CYGWIN - 9.4 ngspice console app with MINGW or CYGWIN - - -This file describes the procedures to install ngspice from sources. - - -1 Ngspice Installation (LINUX, maybe others) - ==================== - -1.1 Prerequisites - - Ngspice is written in C and thus a complete C compilation environment - is needed. Almost any LINUX offers a complete C development environment. - Ngspice is developed on GNU/Linux with gcc and GNU make. - - The following software must be installed in your system to compile ngspice: - bison, flex, and X11 headers and libs. - - If you want to compile the source from the git repository you need - additional software: autoconf, automake, libtool, texinfo, readline. - - The following software may be needed when enabling additional features: - editline, tcl/tk, adms - - Please have a look at the actual ngspice manual, downloadable at - http://ngspice.sourceforge.net/docs.html, which gives you much more - information on ngspice and its usage. - - -1.2 Install from tarball (e.g. ngspice-26.tar.gz) - - This covers installation from a release distribution (for example - ngspice-26.tar.gz, the so called tar ball). - - After downloading the tar ball to a local directory unpack it using: - - $ tar -zxvf ngspice-26.tar.gz - - Now change directories in to the top-level source directory (where this - INSTALL file can be found). - - You should be able to do: - - $ mkdir release - $ cd release - $ ../configure --with-x --with-readline=yes --disable-debug - $ make - $ sudo make install - - The default install directory for executables is /usr/local/bin. - - A simple ../configure might be sufficient for a basic ngspice, but the preferred - arguments to ../configure are - --with-x --with-readline=yes and --disable-debug - providing you with a comfortably working ngspice (see section 1.4 for details). - - See the section titled 'Advanced Install' for instructions about additional arguments - that can be passed to ../configure to customise the build and installation. - - Do not use the script ./autogen.sh, because it is not required for - compiling and installing ngspice from the tarball. - - A fully featured ngspice on LINUX may be obtained with the following commands: - $ mkdir release - $ cd release - $ ../configure --with-x --enable-xspice --disable-debug --enable-cider --with-readline=yes --enable-openmp - $ make 2>&1 | tee make.log - $ sudo make install - - To remove the executables and libraries from the install directory, you may call - $ sudo make uninstall - - -1.3 Install from the git repository - - This section describes how to install from source code taken directly - from the git repository. It is intended for those who want to use the most - recent enhancements of ngspice and for developers. For user install - instructions using source from a released distributions, please see the - sections titled 'Install from tarball' and 'Advanced Install'. - - Download ngspice sources from the git repository as described on the sourceforge project page - (see http://ngspice.sourceforge.net/download.html and click on the git link) - - Now change directories in to the top-level source directory (where this - INSTALL file can be found). - - The project uses the GNU build process. The compile output should go into a separate - directory, so to e.g. maintain separate debug and release versions. - - $ ./autogen.sh - $ mkdir debug - $ cd debug - $ ../configure --with-x --with-readline=yes - $ make - $ sudo make install - - See the section titled 'Advanced Install' for instructions about arguments - that can be passed to ./configure to customise the build and installation. - - Preferred arguments to ./configure to obtain a comfortably working ngspice may be - --with-readline=yes and --disable-debug (for a smaller and speed optimized - executable). - - A fully featured ngspice on LINUX may be obtained with the following commands: - $ ./autogen.sh --adms - $ mkdir release - $ cd release - $ ../configure --with-x --enable-xspice --disable-debug --enable-cider --with-readline=yes --enable-openmp --enable-adms - $ make 2>&1 | tee make.log - $ sudo make install - - If a problem is found with the build process, please submit a report to - the ngspice development team. Please provide information about your system - and any ./configure arguments you are using, together with any error - messages. Ideally you would have tried to fix the problem yourself first. - If you have fixed the problem then the development team will love to hear - from you. - - -1.4 Advanced Install - - Some extra options can be provided to './configure'. To get all available - options do: - - $ ./configure --help - - Some of these options are generic to the GNU build process that is used by - Ngspice, other are specific to Ngspice. - - The following sections provide some guidance and descriptions for many, - but not all, of these options. - - 1.4.1 Most useful options: - - --enable-adms - ADMS is an experimental model compiler that translates - Verilog-A compact models into C code that can be compiled into - ngspice. This is (as of ngspice-26) still experimental, some - features (e.g. noise) are missing. If you want to use it, please - refer to the ADMS section on ngspice web site. - - --enable-cider - Cider is a mixed-level simulator that couples Spice3 and DSIM - to simulate devices from their technological parameters. - - --enable-xspice - Enable XSpice enhancements, - A mixed signal simulator built upon spice3 with codemodel - dynamic loading support. See the ngspice manual for details. - - --with-readline=yes - Enable GNU readline support for the command line interface. - - --enable-openmp - Compile ngspice for multi-core processors. - Parallelization is done by OpenMP, for MOS models in BSIM3.3.0 - BSIM4.6.0 and and BSOI4 only. See the ngspice manual for details. - - --disable-debug - This option will remove the '-g' option passed to the compiler - and add -O2 optimisation (instead of default O0). - This speeds up simulating significantly, and is recommended for - normal use. - - -1.4.2 Options Specific to Using Ngspice - -Most of the options now following are not well maintained, are not tested or even maybe obsolete. - - --enable-capbypass - Bypass calculation of cbd/cbs in the mosfets if the vbs/vbd - voltages are unchanged. - - --enable-cluster - Clustering code for distributed simulation. This is a - contribution never tested. This code comes from TCLspice - implementation and is implemented for transient analysis only. - - --enable-expdevices - Enable experimental devices. This option is used by developers - to mask devices under development. Almost useless for users. - - --enable-experimental - This enables some experimental code. Specifically it enables: - * The ability to save and load snapshots: adds - interactive keywords 'savesnap' and 'loadsnap'. - - --enable-help - Force building nghelp. This is deprecated. - - --enable-ndev - Enable NDEV interface, (experimental, needs updating) - A TCP/IP interface to external device simulator such as GSS. - For more information, please visit the homepage of GSS at - http://gss-tcad.sourceforge.net - - --enable-newpred - Enable the NEWPRED symbol in the code. - - --enable-newtrunc - Enable the newtrunc option - - --enable-nodelimiting - Experimental damping scheme - - --enable-nobypass - Don't bypass recalculations of slowly changing variables - - --enable-predictor - Enable a predictor method for convergence - - --enable-sense2 - Use spice2 sensitivity analysis - - --enable-xgraph - Compile the Xgraph plotting program. - Xgraph is a plotting package for X11 and was once very popular. - - --with-editline=yes - Enables the use of the BSD editline library (libedit). - See http://www.thrysoee.dk/editline/ - - --with-tcl=tcldir - When configured with this option the tcl module - "tclspice" is compiled and installed instead of - plain ngspice. - - --with-ngshared - This option let you compile ngspice as a shared - library or dll, allowing an application controlling - ngspice. This option excludes using --with-x or - --with-wingui. Useful additional options are - --enable-xspice --enable-cider --enable-openmp. - No graphics inetrface is provided, this has to be - handled by the controlling application. - - -1.4.3 Options Useful for Debugging Ngspice - - --enable-ansi - Configure will try to find an option for your compiler so that - it expects ansi-C. - ---enable-asdebug - Debug sensitivity code *ASDEBUG*. - - --enable-blktmsdebug - Debug distortion code *BLOCKTIMES* - - --enable-checkergcc - Option for compilation with checkergcc. - - --enable-cpdebug - Enable ngspice shell code debug. - - --disable-debug - This option will remove the '-g' option passed to the compiler. - This speeds up compilation a *lot*, and is recommended for - normal use. - - --enable-ftedebug - Enable ngspice frontend debug. - - --enable-gc - Enable the Boehm-Weiser Conservative Garbage Collector. - - --enable-pzdebug - Debug pole/zero code. - - --enable-sensdebug - Debug sensitivity code *SENSDEBUG*. - - --enable-smltmsdebug - Debug distortion code *SMALLTIMES* - - --enable-smoketest - Enable smoketest compile. - - --enable-stepdebug - Turns on debugging of convergence stepping?? - - -2 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 - -3 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. - -4 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'. - - When installed on MinGW with MSYS alternative paths are not fully supported. - See 'How to make ngspice with MINGW and MSYS' below for details. - - -5 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. - -6 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. - -7 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. - -8 Operation Controls - ================== - - `configure' recognizes the following options to control how it - operates. - - `--cache-file=FILE' - Use and save the results of the tests in FILE instead of - `./config.cache'. Set FILE to `/dev/null' to disable caching, for - debugging `configure'. - - `--help' - Print a summary of the options to `configure', and exit. - - `--quiet' - `--silent' - `-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - - `--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - - `--version' - Print the version of Autoconf used to generate the `configure' - script, and exit. - - `configure' also accepts some other, not widely useful, options. - - - -9 NGSPICE COMPILATION UNDER WINDOWS OS - ==================================== - -9.1 How to make ngspice with MINGW and MSYS - - Creating ngspice with MINGW is a straight forward procedure, - if you have MSYS/MINGW installed properly. You will need some enhancements - to the standard install (FLEX and BISON have to be made available in MSYS). - Some links are given below which describe the procedures. - - Installing from the tarball, e.g. ngspice-26.tar.gz, is now simple: After - expanding, you may just run ./compile_min.sh from the ngspice-26 directory. - - The default installation location of ngspice is the Windows path - C:\spice. The install path can be altered by passing --prefix=NEWPATH - as an argument to ./configure during the build process. - - Put the install path you desire inside "", e.g. "D:/NewSpice". Be - careful to use forward slashes "/", not backward slashes "\" (something - still to be fixed). Then add --prefix="D:/NewSpice" as an argument to - ./configure in the normal way. - - The procedure of compiling a distribution (for example, a tarball from - the ngspice website), is as follows: - - $ cd ngspice-26 - $ mkdir release - $ cd release - $ ../configure --with-wingui ...and other options - $ make - $ make install - - The most useful options are: - --enable-xspice - --enable-cider - --disable-debug (-O2 optimization, no debug information) - - A fully featured ngspice on Windows may be obtained with the following commands: - $ ./autogen.sh --adms - $ mkdir release - $ cd release - $ ../configure --with-wingui --enable-cider --disable-debug --enable-openmp --enable-xspice --enable-adms - $ make install - - However, to compile code extracted from the git repository the procedure is - a little different. Firstly install git, e.g. from http://git-scm.com/download/win - To obtain ngspice, you may do the following: - - Open the git command window. Go to a directory of your choice, e.g. D:\Spice - $ cd /d/Spice - - Issue the command for downloading ngspice: - $ git clone git://ngspice.git.sourceforge.net/gitroot/ngspice/ngspice - - This will create directory /ngspice . - - Go to directory ngspice - $ cd /d/Spice/ngspice - Start compiling, e.g. by calling - $ ./autogen.sh --adms - $ ./compile_min.sh - - Update the ngspice files: - Go to directory ngspice - $ cd /d/Spice/ngspice - Issue command for update - $ git pull - - Instead of calling ./compile_min.sh, you may choose to issue - individual commands like: - $ cd ngspice - $ ./autogen.sh - $ mkdir release - $ cd release - $ ../configure --enable-maintainer-mode --with-wingui ...and other options - $ make - $ make install - - MINGW and MSYS can be downloaded from http://www.mingw.org/. The making of - ngspice and the code models *.cm for XSpice requires installation of BISON - and FLEX to MSYS. A typical installation was tested with: - - bison-2.0-MSYS.tar.gz - flex-2.5.4a-1-bin.zip - libiconv-1.9.2-1-bin.zip - libintl-0.14.4-bin.zip - - Bison 2.0 is now superseeded by newer releases (Bison 2.3, see - http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879) - - The last three are from - http://sourceforge.net/project/showfiles.php?group_id=23617. - - Installing from git needs more packages to MSYS in advance: - git, automake, autoconf, libtool - - You may also look at - http://www.mingw.org/wiki/HOWTO_Install_the_MinGW_GCC_Compiler_Suite - http://www.mingw.org/wiki/MSYS - http://www.mingw.org/wiki/HOWTO_Create_an_MSYS_Build_Environment. - - An alternative compiler setup is available at - http://tdm-gcc.tdragon.net/ - - -9.2 make ngspice with MS Visual Studio 2008 - - ngspice may be compiled with MS Visual Studio 2008 or 2010. - - CIDER and XSPICE are included, but the code models for XSPICE - (*.cm) are not (yet) made. You may however use the code models - created with MINGW (which in fact are dlls), as e.g. found in - the ngspice binary distribution our made as described in 9.1. - - There is currently no installation procedure provided, you may - however install the executable manually as described in the - installation tree below. - - The directory (visualc) with its files - vngspice.sln (project starter) and - vngspice.vcproj (project contents) - allows to compile and link ngspice with MS Visual Studio 2008. - Newer Visual Studio versions will translate the project files - into their compatible format (tested with MS Visual Studio 2010). - - /visualc/include contains a dedicated config.h file. It contains the - preprocessor definitions required to properly compile the code. - strings.h has been necessary during setting up the project. - - Install Microsoft Visual Studio 2008 C++ . The - MS VS 2008 C++ Express Edition (which is available at no cost from - http://www.microsoft.com/express/product/default.aspx) is adequate. - - Goto /ngspice/visualc. - - Start MS Visual Studio 2008 by double click onto vngspice.sln. - - After MS Visual Studio has opened up, select debug or release version - by checking 'Erstellen' , 'Konfigurations-Manager' 'Debug' or 'Release'. - - Start making ngspice (called vngspice.exe) by selecting 'Erstellen' and - 'vngspice neu erstellen'. - - Object files will be created and stored in visualc/debug or visualc/release. - The executable will be stored to visualc/debug/bin or visualc/release/bin. - - An installation tree (as provided with MINGW make install) and also used by - vngspice is (maybe created manually): - - C:\Spice\ - bin\ - ngspice.exe - nghelp.exe - ngmakeidx.exe - ngnutmeg.exe - cmpp.exe - lib\ - spice\ - analog.cm - digital.cm - spice2poly.cm - extradev.cm - extravt.cm - share\ - info\ - dir - ngspice.info - ngspice.info-1 - .. - ngspice.info-10 - man\ - man1\ - ngmultidec.1 - ngnutmeg.1 - ngsconvert.1 - ngspice.1 - ngspice\ - helpdir\ - ngspice.idx - ngspice.txt - scripts\ - ciderinit - devaxis - devload - setplot - spectrum - spinit - - If you intend to install vngspice into another directory, e.g. D:\MySpice, - you have to edit /visualc/include/config.h and alter the entries: - #define NGSPICEBINDIR "C:/Spice/bin" - #define NGSPICEDATADIR "C:/Spice/share/ngspice" - to - #define NGSPICEBINDIR "D:/MySpice/bin" - #define NGSPICEDATADIR "D:/MySpice/share/ngspice" - - If the code model files *.cm are not available, you will get warning messages, - but you may use ngspice in the normal way (of course without XSPICE extensions). - - - -9.3 make ngspice with pure CYGWIN - - If you don't have libdl.a you may need to link libcygwin.a - to libdl.a symbolically. - - for example: - - $ cd /lib - $ ln -s libcygwin.a libdl.a. - - The procedure of compiling is the same as Linux. - - -9.4 ngspice console app with MINGW or CYGWIN - - Omitting the configure flag --with-wingui will yield a console ngspice. - You then will not have any graphics interface. In CYGWIN you may add --with-x - for the X11 graphics (not available in mingw). A typical configure command - may look like - ./configure --enable-adms --enable-xspice --enable-cider --enable-openmp - --disable-debug CFLAGS=-m32 LDFLAGS=-m32 prefix=C:/Spice - tested with TDM mingw. - - - -10 NGSPICE COMPILATION UNDER MAC OS X - ================================== - -10.1 Use precompiled binary package - 1. Install an X11 interface (like Xquartz) - 2. Install the downloaded NGSPICE package - 3. Open a terminal window and start using NGSPICE - -10.2 Compile NGSPICE manually from a tarball - 1. Install an X11 interface (like Xquartz) - 2. Install MacPorts from http://www.macports.org - 3. Execute this command: - sudo port install bison flex ncurses xorg-libXaw - 4. Configure NGSPICE invoking "./configure". A complete set of feature is: - ./configure --enable-cider --enable-xspice --enable-openmp --enable-pss --enable-debug=no - 5. Compile NGSPICE invoking "make" - 6. Install NGSPICE invoking "make install" or "sudo make install" - -10.3 Compile NGSPICE manually from git - 1. Install an X11 interface (like Xquartz) - 2. Install MacPorts from http://www.macports.org - 3. Execute this command: - sudo port install automake autoconf libtool bison flex ncurses xorg-libXaw - 4. Execute this command: - ./autogen.sh or ./autogen.sh --adms (if you want to enable ADMS) - 5. Configure NGSPICE invoking "./configure". A complete set of feature is: - ./configure --enable-cider --enable-xspice --enable-openmp --enable-pss --enable-debug=no - ./configure --enable-adms --enable-cider --enable-xspice --enable-openmp --enable-pss --enable-debug=no (if you want to enable ADMS) - 6. Compile NGSPICE invoking "make" - 7. Install NGSPICE invoking "make install" or "sudo make install" diff --git a/Windows/spice/doc/NEWS b/Windows/spice/doc/NEWS deleted file mode 100644 index dcbf695a..00000000 --- a/Windows/spice/doc/NEWS +++ /dev/null @@ -1,578 +0,0 @@ -Ngspice-26, Jan 4th, 2014 -============ - -- New features: - + fft command may (optionally) use fftw3 library - + add nint() rounding function - + usage of 'temper' in behavioral devices - + check for soa (safe operating area) in several device models - + library processing rewritten completely to enhance ngspice - compatibility (.lib) - + include file processing rewritten to allow nesting and various - absolute and relative path names (.inc) - + asinh, acosh, atanh functions - + shared ngspice option added: ngspice optionally compiles as - a shared object or dynamic link library - + use a hash table to massively speed up parsing the netlist - + implement a very basic .if/.else block - + implement a signed power function `pwr' for controlled sources - + implement multiplier `m' in F, G source - + apply Area Calculation Method (ACM) to the bsim3v3.3 model - + implement `tc1', `tc2' instance parameters - -- Bug fixes: - + many, many ... please see - http://sourceforge.net/p/ngspice/ngspice/ci/master/tree/ - and check the 'history' button on the upper right. - + removed memory leaks - - -Ngspice-25, Jan 4th, 2013 -============ - -- New features: - + add temperature coefficients for B source - + commands "mdump", "mrdump" to dump matrix to file - + allow `time', `temper', and `hertz' in expressions with behavioral R, L, C - + Enable ctrl-c to interrupt a simulation also for Windows GUI - + tests/bsim4: use the standard CMC model qa check - + implement exit code for command "quit" - + .nodeset all = value - + memristor code model in extradev - + new scalable diode model including tunnel component - + variable xtrtol may override the XSPICE reduction of trtol - + XSPICE example: delta-sigma converter - + XSPICE: new d_source model - + new option noopac - + bsim3: make additonal parameters accessible with @mxx[par] - + enable Mac OS X compilation - + option reseries = val - + commands "snsave", "snload" - + update hisim to version 2.7.0, new qa tests - + hisimhv update to version 1.2.3, new qa tests - + allow Ctrl-d to quit - + jfet model temperature extension, tcv and bex parameter - + speed up vector handling by hash table for vector address storage and retrieval - + update PSS code - - -- Bug fixes: - + many, many ... please see - http://ngspice.git.sourceforge.net/git/gitweb.cgi?p=ngspice/ngspice;a=shortlog;pg=0 - + remove memory leaks - + update tclspice for MS Windows - + adms3 removed due to licensing issues - - -Ngspice-24, Jan 29th, 2012 -============ - -- New features: - + .csparam allows to tranfer a param into a vector in .control ... .endc - + functions floor and ceil - + syntax Gxxx n1 n2 TABLE {expression} = (x0, y0) (x1, y1) (x2, y2) - + syntax Gxxx n1 n2 value={equation} or Exxx n1 n2 value={equation} - + variable strict_errorhandling to exit ngspice with exit code 1 - if any error occurs during circuit parsing - + command altermod allows reading from file - + command "devhelp" to show available devices and describe device parameters - + command "inventory" to print the number of istances of each device. - + function cph(vec) delivers phase from a vector without jumps at +-PI - + enable 64 bit compilation in MS Visual Studio - + --adms3 flag to compile with (experimental) adms code - + still very experimental pss code - + command 'remcirc' to remove a circuit from the list - + command 'wrdata' aknowledges appendwrite and prints complex variables - + allow comment lines inside of command files - + path variable NGSPICE_INPUT - + 'Filesource' code model - -- Bug fixes: - + More on prototypes, type casts, reordering of functions, compiler warnings - + fix a numerical problem in the hisim2 and hisimhv models - + plot i(vdd) from a loaded rawfile - + fix the guard for device generated internal nodes (via CKTmkVolt()) - + reduce memory leaks for command 'reset' - + parameter processing for nested .subckt - + bsim4/b4noi.c: correct init the correlated noise slot in noiseDens and lnNdens vector - + Many small bugs - -Ngspice-23, June 5th, 2011 -============ - -- New features: - + Reduction of trtol to 1 only if 'A' devices in the circuit and xspice is enabled - + command wrs2p to write a s-parameter file using Touchstone vers. 1 format - + d_source d_state d_ram, test cases for those xspice codemodels - + transient noise simulation added to independent voltage and current sources - + Random telegraph noise added to independent voltage and current sources - + 'time = nnn' in stop command added - + random voltage generator option trrandom to independent voltage and current sources - + ngspice build possible in a separate directory (e.g. in ng-spice-rework/release) - + update FIND .. WHEN measurements - + diode & bjt temperature model update with tlev and tlevc - + merge bsim3v1a code with bsim3v0 and bsim3v1s code with bsim3v1 - + bjt2: removed - all GP extensions of this model are now in the bjt model - + HiSIM_HV model vers. 1.2.1 added - + bsim3v32: delvto and mulu0 as instance parameters - + Replace HiSIM1 by HiSIM_2.5.1_Release_20110407 - -- Bug fixes: - + More on prototypes, type casts, reordering of functions, compiler warnings - + allow models like 2N2904 or 2SK136 also in subcircuits - + fix sensitvity calculation (for the dc-2+.cir testcase) - + allow multiple call to setup w/ correct node collapsing - + Many small bugs - -Ngspice-22, Sept 26th, 2010 -============ - -- New features: - + OpenMP multicore support for BSIM3, BSIM4, and BSIMSOI4 - + reinstate {$var} expansion in interactive interpreter - + .TITLE line added - + update to 'spectrum' script - + par('expression') in .four, .plot, .print, .meas, .save commands - + command 'option' for use in spinit, .spiceinit, and in scripts - + adms procedure updated - + new random number generator, random functions sunif() and sgauss() - + ngspice manual updated - -- Bug fixes: - + Major code cleanup to reduce compiler/linker warnings: ansi function prototypes, - void/char pointers to named pointers, explicit type casts and many more - + Many small bugs - - -Ng-spice-rework-21, Jun3, 13th 2010 -============ - -- Updated Devices: BSIMSOI 4.3.1 - -- New features: - + Compatibility: C, L, R, devices and E, G sources with expressions - Variables HERTZ, TIME, TEMPER added - + E, G sources with pwl function - + New manual - + Plotting with Gnuplot, - + Writing wrdata for simple text table to file - + .measure improved - + transmission line models improved - -- Bug fixes: - + Many small bugs, memory leaks, memory overflows - -Ng-spice-rework-20, November, 16th 2009 -============ - -Ngspice release 20 is the second release of the simulator in 2009. - -- Fixes: model names starting with a number (1n4001) are now correctly parsed. - The .global command has been reinstated (it was previously disabled) and - error messages now display the corresponding line numberin the input deck. -- New Features: .measure command for transient, ac and dc analyses (still not - complete, e.g. DERIV is missing). -- Devices: Updated BISM4 model to revision 4.6.5. Added PWL (PieceWise Linear) - functionality for B (arbitrary generator) sources. - - -Ng-spice-rework-19, April, 23rd 2009 -============ - -Ngspice release 19 came early after release 18. It reveals an important work -in compile scripts, many bug fixes in memory management, interface, and work in device models. - -- Compile scripts: tclspice and ADMS compiling fixes. Architecture compiling - fixes for SunOS, MS Visual Studio, MINGW, Cygwin. -- Memory management: fixed memory leaks, modifies memory management for - MS Windows, integration of espice bugfixes and enhancements, bug fixes in - plots and cli interface. -- Rework of BSim models, integration of EPFL-EKV model V2.63, ADMS models - mextram, hicum0, hicum2. - - -Ng-spice-rework-18 -============ - -Rework-18 is introduces several new features into ngspice. This is a major -release that comes after more than three years. During the silent years -ngspice developers worked in CVS to stabilize and introduce new features -into the simulator. - -- Tclspice simulator library has been merged with ngspice. Now you can - compile ngapice or tclspice by asserting a configure switch. See README.tcl -- New options have been introduced: brief, listing, autostop and scale -- Support for .lib file has been introduced. This allows the use of - third party model libraries in ngspice. -- .measure statements: avg, integ, rms, max, min, delay, param -- .global statements t support for global nodes whose name is not expanded - when flattening the netlist. -- .func macros for inlining functions into netlists. -- Improved the numparam library to support fully parametrized netlists. -- BSIM model binning. -- new multi-input gate VCVS using XSPICE extensions. - - -Ng-spice-rework-17 -============ - -This is a bug fix release. Previous release tarball did not included -an include file necessary for compiling numparam library. - - -Ng-spice-rework-16 -============ - -Rework-16 comes out after almost one year of CVS development (from -15-fixedRC3). This release improves ngspice in three ways: - -- Bug fixing: most of the bugs that affected rework-15 have been fixed, - thus ngspice is more stable, especially the xspice extension, the - subcircuit (X devices) handling and the numparam library. - -- New features: netlist syntax has been expandend allowing for end-of-line - comments. A ".global" card has beed added to define global nodes, i.e. - nodes that are not expanded in subcircuits. It is possible to define TC - for resistors on the instance line. The editline library can be used - instead of readline (no more GPL license violation). - -- Porting: ngspice now works (with xspice extension) on Windows using - MINGW/MSYS. - - -Ng-spice-rework-15 -============ - -Rework-15 release is a giant leap forward for ngspice. It incorporates -many (read most) of the improvements implemented in tclspice during the -two years long "sleep" of ngspice and adds many others. The incomplete -list of new features incorporated are: - - - Xspice simulator (with codemodel dynamic loading support): - a mixed signal simulator built upon spice3. - - - Cider simulator: - a mixed level simulator built upon spice3. - - - Numparam library: - a library that allows for parameter substitution at netlist level. - - - Improved models: - Diode model includes periphery effects and high level of injection effects, - BJT and BJT2 enhanced. - BSIM3 now includes ACM. - BSIM4 implementation corrected. - - -New models: - VBIC (3 Terminals, no excess phase and thermal network), - HiSIM. - - - Frontend leaks closed. - Now frontend works as it should. - - - Many new example file. - - - Xgraph plotting program included. - - -Ng-spice-rework-14 -============ - -This is a major release in terms of bug-fixes. Some enhancements -have been included: BSIM4 model and support for EKV model. The -source code for the latter must be obtained from EKV web site -(see DEVICE for more info). To enable EKV support you have -to obtain the code first and then use the configure switch -"--enable-ekv". - -The spice code contains an option to debug frontend code, now -this is available in configure as "--enable-ftedebug". - - - -Ng-spice-rework-13 -============ - -This is a major release in terms of fixes and enhancements. -A garbage collector support has been added. If the configuration -script detects that you have installed GC (Bohem-Weiser conservative -garbage collector), it will use it. Some memory leaks have been -fixed too. - -Enhancements to the code comes from Alan's contribute code, a -description of improvements follows (extracted form Alan's mail): - -Output File Format Changes - - - (NOTE: Do not rely on this, we may revert to the old format - in the next release). - - Text mode .OP results even though "rawfile" written. - - Internal device nodes are not saved to "rawfile" (reduces - file size). Optionally, these internal nodes can be replaced - by device currents and saved. - - -DC Convergence Enhancements - - - "Source-Stepping" algorithm modified with a "Dynamic" step size. - After each successful step, the node voltages are saved, the - source-factor is increased by the step-factor, and the step-factor - is increased (for the next step). If the step fails, i.e. the - circuit does not converge, the source-factor is set to the value - from the previous successful step, the previously stored node - voltages are restored, the step-factor is reduced, the source - factor is increased by this smaller step-factor, and convergence - is attempted again. - - Same thing done for "Gmin-stepping" algorithm. - - "Gshunt" option added. This sets the "diagGmin" variable used in - the gmin-stepping algorithm to a non-zero value for the final - solution. (Normally this is set to zero for the final solution). - This helps for circuits with floating nodes (and for some others - too). - - The Gmin implementation across the substrate diodes of MOS1, MOS2, - MOS3, MOS6 and BSIM3 devices, and across BJT base-emitter and - base-collector diodes, was incorrect. Correcting this dramatically - improved DC convergence. (I think this also affects BSIM1 and 2 - but I haven't fixed them yet !) - - The gm, gmb and gds calculations in the MOS3 model were all wrong. - The device equations were fixed, leading to much improved - convergence. - - The Vcrit value used for diode voltage limiting was calculated - without taking into account the device area (and in some cases - without using the temperature corrected saturation current). - This could cause floating point overflows, especially in device - models designed to be scaled by a small area, e.g. 2u by 2u diodes - (area=4e-12). This is now fixed for Diode, BJT, MOS1, MOS2, and - MOS3 models. - - The diode voltage limiting was modified to add negative voltage - limiting. Negative diode voltages are now limited to 3*Vdp-10, - where Vdp is the voltage from the previous iteration. If Vdp is - positive, then the voltage is limited to -10V. This prevents some - more floating point overflows. (Actually, I'm still playing with - the best values for this). - - The Spice3 "fix" for the MOS3 gds discontinuity between the - linear and saturated regions only works if the VMAX parameter - is non-zero. A "tweak" has been added for the VMAX=0 case. - - -Transient Convergence Enhancements - - - Temperature correction of various diode capacitances was implemented - slightly incorrectly, leading to capacitance discontinuities in - simulations at temperatures other than nominal. This affected the - Diode and MOS3 models. - - A mistake in the implementation of the MOS3 source-bulk capacitance - model resulted in a charge storage discontinuity. This has been fixed. - - The level 2 MOSFET model seems to calculate Von and Vth values for - the threshold and subthreshold values respectively, but then uses - Vbin to calculate the Vdsat voltage used to find the drain current. - However, a jump statement uses Von to decide that the device is in - the "cutoff" region, which means that when this jump allows the - drain current to be calculated, Vdsat can already be well above - zero. This leads to a discontinuity of drain current with respect - to gate voltage. The code is now modified to use Vbin for the jump - decision. It looks like the code should actually use Vth as the - threshold voltage, but since other SPICE simulators follow the - original Berkeley code, this was left alone. - - -New Model Parameters - - - A device multiplier instance parameter "M" (i.e. M devices in - parallel) was added to the MOS1,2,3 and BSIM3 mosfet models. - - -Input Read-in and Checking - - - Numbers beginning with a + sign got the input routine confused. - Fixed now. - - Attempts to nodeset (or .IC) non-existent nodes are flagged with a - warning. - - PWL statements on Voltage or Current sources are now checked for - "non-increasing" time-points at the start of the simulation. - Previously each time-point was checked as it was reached during - the simulation, which could be very annoying if you made a mistake - which caused the simulation to fail after hours of run-time. - - A check which was performed at the end of each sub-circuit expansion - was moved to the top level. This check makes sure that all sub-circuits - have been defined, but in its original position, it meant that if a - sub-circuit included ANY .MODEL statements at all, then ALL the models - called in that sub-circuit must also be defined within that - sub-circuit. Now SPICE behaves as expected, i.e. a subcircuit may - define its own models, but may also use models defined at any level - above. - - -Miscellaneous Fixes/Enhancements - - - MOS devices reported only half of the Meyer capacitances, and did not - include overlap capacitances, when reporting to the .OP printout, or - when storing device capacitances to the "rawfile". - - The ideal switch devices had no time-step control to stop their - controlling voltages/currents overshooting the switching thresholds. - The time-step control has been modified to use the last two time - points to estimate if the next one will move the controlling - voltage/current past a switching threshold. If this looks likely, - then the time-step is reduced. - - The "rawfile" writing routines have been modified to print the - "reference value" to the console during the simulation. This lets - the user see exactly how far and how fast the simulation is - proceeding. - - .OP printout tidied up a lot to make the printout clearer. - - Analysis order changed to fix a "feature" where, if you ask for - a .OP and a .TRAN in the same simulation, the node voltages - printed out correspond to the .OP, but the device data was from - the last timepoint of the .TRAN - - -Etc. - - - There are other minor bug fixes, and changes to reduce compiler - warnings. There are probably some more significant fixes which - I've forgotten :-) - - -Ng-spice-rework-12 -============ -Arno did a great work this summer! -The pole-zero analysis has been corrected. The error was introduced -in an attempt to eliminate compiler warnings. The source has been -reworked and info file have been updated. As you may see, a new dir -called "spicelib" has been created, another step toward the separation -of the simulator from the frontend. - -Ng-spice-rework-11 -============ - -Resistor code (device) has been modified to conform to spice3 device -coding standard. -A new step function (U2) has been introduced. -Documentation updated. - -Ng-spice-rework-10 -============ - -Added BSIM4 model and closed a couple of serious bugs. Added DEVICES -file to distribution. This file contains the status of device models -in this simulator. Read it, this file can save you a lot of time. - -Ng-spice-rework-9 -============ - -Thanks to Arno Peters now all device models are dynamically loaded on -demand. They are linked as shared libraries. The next step is the -dlopen() one which will make possible to link devices without any -recompilation. - - - -Ng-spice-rework-8 -============ - -Applied Arno's patch. - -From his mail message: - -Hi Paolo, - -I have prepared a source cleaning patch. - -Features: - - + patches don't get polluted with differences between automatically - generated Makefile.am files. Usually these make up the biggest part - of the patches. This allows me to read the patch on the mailing - list instead of sifting through 90% redundant and irrelevant changes. - - + the shell script autogen.sh automatically regenerates the required - files if the user has automake, autoconf and libtool installed. - - + this feature is only valuable to developers, not to end users. - - -Usage of this patch, once incorporated: - - # create a working tree to work from - cp -a ng-spice-rework-x ng-spice - - [ Changes made to ng-spice ] - - # clean up all the automatically generated files - cd ng-spice; make maintainer-clean - - # extract the differences - diff -ruN ng-spice-rework-x ng-spice > my.patch - - [ Patch sent to ng-spice mailing list or you ] - - # incorporate changes into the tree - cd ng-spice-rework-x; patch -p1 < my.patch - - # update the automatically generated files - cd ng-spice-rework-x; sh autogen.sh - - - - -Ng-spice-rework-7 (22 Mar 2000) -============ - -Bug fix release - - - -Ng-spice-rework-6 (29 Jan 2000) -============ - -This porting includes: - -1) BSIM3V3.1 model as level 49. This is the version modified by Serban -Popescu which understands the M parameter and implements HDIF. - -2) BSIM3V3.2 model al Level 50. This is the standard Berkeley version. - -3) Now the resistor model can accepts two different values for DC and -AC resistance. - - - -Ng-spice-rework-5 and 5_2 (Jan 2000) -============ - -Internal development release, buggy and not working. - -Ng-spice-rework-4 (22/12/99) -============ - -This porting includes a new feature: - -1) dynamically loading of some device code as an experimental feature -for the future GPL simulator. Thanks to Arno Peters and Manu Rouat. - -2) Patched the following bug (thanks to Andrew Tuckey for having -supplied the patch). - - * Wsw (current controlled switch) in subckt, parsing bug. - * scale factor in arbitrary source. - * bug in noise analysis. - * save segmentation faults. - - diff --git a/Windows/spice/doc/README b/Windows/spice/doc/README deleted file mode 100644 index f5dfecc5..00000000 --- a/Windows/spice/doc/README +++ /dev/null @@ -1,54 +0,0 @@ -README for NGSPICE -================== - -Ngspice is a mixed-level/mixed-signal circuit simulator. Its code -is based on three open source software packages: Spice3f5, Cider1b1 -and Xspice. - -Spice3 does not need any introduction, is the most popular circuit -simulator. In over 30 years of its life Spice3 has become a de-facto -standard for simulating circuits. - -Cider couples Spice3f5 circuit level simulator to DSIM device simulator -to provide greater simulation accuracy of critical devices. DSIM -devices are described in terms of their structures and materials. - -Xspice is an extension to Spice3C1 that provides code modelling support -and simulation of digital components through an embedded event driven -algorithm. - -Ngspice is, anyway, much more than the simple sum of the packages -above, as many people contributed to the project with their experience, -their bug fixes and their improvements. If you are interested, browse -the site and discover what ngspice offers and what needs. If you think -you can help, join the development team. - -Ngspice is an ongoing project, growing everyday from users contributions, -suggestions and reports. What we will be able to do depends mostly on -user interests, contributions and feedback. - - -MAILING LISTS: -------------- - - There are two mailing lists dedicated to the use and development of ngspice. - - * ngspice-users@lists.sourceforge.net: - This list is the list for the users of the ngspice simulator. - - * ngspice-devel@lists.sourceforge.net: - ngspice development issues. Developers and "want to be" developers should - subscribe here. - - To subscribe the list(s), send a message to: - <ngspice-users-subscribe@lists.sourceforge.net> - <ngspice-devel-subscribe@lists.sourceforge.net> - - - -WEB SITEs: --------- - -This project is hosted on Sourceforge.net. -The home page is http://ngspice.sourceforge.net -The summary page is http://sourceforge.net/projects/ngspice diff --git a/Windows/spice/doc/ngspice26-manual.pdf b/Windows/spice/doc/ngspice26-manual.pdf Binary files differdeleted file mode 100644 index 4bd5b091..00000000 --- a/Windows/spice/doc/ngspice26-manual.pdf +++ /dev/null |