From dfd1cf014b55823241410741afda9a22f24624d6 Mon Sep 17 00:00:00 2001 From: pnenzi Date: Thu, 6 Dec 2001 16:33:02 +0000 Subject: [PATCH] Documentation updated --- AUTHORS | 2 +- DEVICES | 272 +++++++++++++++++++-------- FAQ | 558 ++++++++++++++++++++++++++++++++------------------------ README | 69 +++---- 4 files changed, 556 insertions(+), 345 deletions(-) diff --git a/AUTHORS b/AUTHORS index fa009f05e..58082e6c2 100644 --- a/AUTHORS +++ b/AUTHORS @@ -37,4 +37,4 @@ Michael Widlok , and many others... If you feel you should be on this list, write to -. +. diff --git a/DEVICES b/DEVICES index f3320bef4..a2cd4b2be 100644 --- a/DEVICES +++ b/DEVICES @@ -1,14 +1,14 @@ DEVICES -------------------------------------------------------------------------------- +--------------------------------------------------------------------------- -This file contains the status of devices available in ng-spice. This -file will be updated every time the device cospecific code is -altered/changed. +This file contains the status of devices available in ngspice. This file +will be updated every time the device pecific code is altered or changed. +This file it is useful in writing ngspice documentation. - ************************************** - ********** Linear devices ********** - ************************************** +*************************************************************************** +************************* Linear devices ******************************** +*************************************************************************** CAP - Capacitor Initial Release @@ -17,18 +17,18 @@ IND - Inductor Initial Release RES - Resistor - This is a modified version of the spice3 resistance model. This - model supports different ac and dc values (ac=...). This changes - are introduced by Serban Popescu. The "multiplicity factor" (m) - has been introduced. The "scale factor" has been introduced. + This is a modified version of the spice3 resistance model. This model + supports different ac and dc values (ac=...). These changes have been + introduced by Serban Popescu. The "multiplicity factor" (m) has been + introduced. The "scale factor" has been introduced. - *)Rework 11: The code has been modified to reflect spice parsing - standard. + *)Rework 11: The code has been modified to reflect spice parsing + standard. - - ************************************** - ******** Distributed elements ******** - ************************************** + +*************************************************************************** +********************* Distributed elements ******************************** +*************************************************************************** TRA - Transmission line Initial release @@ -40,9 +40,9 @@ URC - Uniform distributed RC line Initial release - ************************************** - ********** V/I Sources ********** - ************************************** +*************************************************************************** +**************************** V/I Sources ***************************** +*************************************************************************** ASRC - Arbitrary Source Initial Release @@ -66,9 +66,9 @@ VSRC - Independent Voltage Source Initial Release - ************************************** - ********* Switches ********** - ************************************** +*************************************************************************** +**************************** Switches **************************** +*************************************************************************** CSW - Current controlled switch Initial release @@ -77,25 +77,27 @@ SW - Voltage controlled switch Initial release - ************************************** - ********** Diodes ********** - ************************************** +*************************************************************************** +**************************** Diodes **************************** +*************************************************************************** DIO - Junction Diode Initial Release - ************************************** - *********** Bipolar Devices ********** - ************************************** +*************************************************************************** +************************* Bipolar Devices ************************* +*************************************************************************** BJT - Bipolar Junction Transistor Initial Relelase +BJT2 - Bipolar Junction Trasistor (Alan Gillespie) + On hold (not included) - ************************************** - ********** FET Devices ********** - ************************************** +*************************************************************************** +***************************** FET Devices *************************** +*************************************************************************** JFET - Junction Field Effect transistor Initial Release @@ -103,71 +105,158 @@ JFET - Junction Field Effect transistor JFET2 - Jfet PS model Initial release. TO BE TESTED - - ************************************** - ********* MES devices ********* - ************************************** +*************************************************************************** +*************************** HFET devices *************************** +*************************************************************************** + +HFET - HFET Level 1 + Initial release. + +HFET2 - HFET Level 2 + Initial release. + + +*************************************************************************** +*************************** MES devices *************************** +*************************************************************************** -MES - MESfet model +MES - MESfet model Initial release - + +MESA - MESA model + Initial release. TO BE TESTED - ************************************** - ********* MOS devices ********* - ************************************** +*************************************************************************** +**************************** MOS devices **************************** +*************************************************************************** MOS1 - Level 1 MOS model - Initial Release + Initial Release. + Ver: N/A + Class: M + Level: 1 + Status: TO BE TESTED MOS2 - Level 2 MOS model - Initial Release + Initial Release. + Ver: N/A + Class: M + Level: 2 + Status: TO BE TESTED MOS3 - Level 3 MOS model - Initial Release + Initial Release. + Ver: N/A + Class: M + Level: 3 + Status: TO BE TESTED MOS6 - Level 6 MOS model - Initial Release + Initial Release. + Ver: N/A + Class: M + Level: 6 + Status: TO BE TESTED + + +MOS9 - Level 9 MOS model + Initial Release. + Ver: N/A + Class: M + Level: 9 + Status: TO BE TESTED + BSIM1 - BSIM model level 1 - Initial Release + Initial Release. + Ver: N/A + Class: M + Level: 4 + Status: TO BE TESTED + BSIM2 - BSIM model level 2 - Initial Release + Initial Release. + Ver: N/A + Class: M + Level: 5 + Status: TO BE TESTED + BSIM3 - BSIM model level 3 - This is the BSIM3v3.2.2 model from Berkeley device group. You - can find some test netlists with results for this model at - http://www-device.eecs.berkeley.edu/~bsim3. + Initial Release. + Ver: 3.2.2 + Class: M + Level: 8 + Status: TO BE TESTED + + This is the BSIM3v3.2.2 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 BSIM3v1 - BSIM model level 3 - 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. Test netlists are available at the URL above. TO BE - TESTED AND IMPROVED. + Initial Release. + Ver: N/A + Class: M + Level: 49 + 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. + BSIM3v2 - BSIM model level 3 - This is the BSIM3v3.2 model. It is proved only for compatibility - with existing netlists and parameters files. As always, tests - are availabe on the Berkeley's device group site (at the above - URL). + Initial Relese. + Ver: 3.2 + Class: M + Level: 50 + Status: TO BE TESTED + + This is the BSIM3v3.2 model. It is included only for compatibility + with existing netlists and parameters files. As always, tests + are availabe on the Berkeley's device group site. + + Web site: + http://www-device.eecs.berkeley.edu/~bsim3 BSIM4 - BSIM model level 4 (0.18 um) - Initial Release. TO BE TESTED. - Updated to 4.21 YET UNTESTED. + Initial Release. + Ver: 4.2.1 (Updated in rewor 14) + Class: M + Level: 14 + Status: TO BE TESTED + + This is the BSIM4 device model from Berkeley Device Group. + Test are available on its web site. + + Web site: + http://www-device.eecs.berkeley.edu/~bsim3/bsim4.html + + *) Rework 14: Updated to 4.21 YET UNTESTED. - ************************************** - ********** SOI Devices ********* - ************************************** +*************************************************************************** +***************************** SOI Devices **************************** +*************************************************************************** BSIM3SOI_FD - SOI model (fully depleted devices) - Initial Release Ver: 2.1. TO BE TESTED. - FD model has been integrated as Level = 10 + Initial Release. + Ver: 2.1. + Class: M + Level: 11 + 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: + + Web site at: http://www-device.eecs.berkeley.edu/~bsimsoi *) rework-14: removed #ifndef NEWCONV code. @@ -175,21 +264,60 @@ BSIM3SOI_FD - SOI model (fully depleted devices) BSIM3SOI_PD - SOI model (partially depleted devices) - Initial Release Ver: 2.2.1. TO BE TESTED. - PD model has been integrated as Level = 9 + Initial Release. + Ver: 2.2.1 + Class: M + Level: 10 + 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: + + Web site at: http://www-device.eecs.berkeley.edu/~bsimsoi *) rework-14: removed #ifndef NEWCONV code. BSIM3SOI_DD - SOI Model (dynamic depletion model) - Initial Release Ver: 2.1. TO BE TESTED. - DD model has been integrated as level= 11 + Initial Release. + Ver: 2.1 + Class: M + Level: 12 + Status: TO BE TESTED. + There is a bsim3soidd directory under the test hierarchy. Test circuits come from bsim3soi - web site at: + + Web site at: http://www-device.eecs.berkeley.edu/~bsimsoi *) rework-14: removed #ifndef NEWCONV code. + +SOI3 - STAG SOI3 Model + Initial Release. + Ver: 2.6 + Class: M + Level: 62 + Status: TO BE TESTED + + Web site at: + http://www.micro.ecs.soton.ac.uk/stag/ + +*************************************************************************** +**************** Other devices not released as source code **************** +*************************************************************************** + +EKV - EKV model + Initial Release. + Ver: 2.6 + Class: M + Level: 44 + Status: TO BE TESTED + + Note: This model is not released in source code. + You have to obtain the source code from the address below. + + Web site at: + http://legwww.epfl.ch/ekv/ + \ No newline at end of file diff --git a/FAQ b/FAQ index ae7a008f0..589ce6547 100644 --- a/FAQ +++ b/FAQ @@ -1,299 +1,377 @@ - - - NG-Spice F.A.Q. - Frequently Asked Questions - (and Answers) - - Maintened by Daniele Foci - Last update: 29/08/1999 - - -CONTENTS - -1. INTRODUCTION AND GENERAL INFORMATION - 1.1 What is NG-Spice? - 1.2 Why resurrecting Berkeley's Spice? - 1.3 What is the project's goal? - 1.4 What you are going to do ? - 1.5 Legal issues - 1.6 What mailing lists exist for NG-Spice? - 1.7 Are the mailing lists archived anywhere? - 1.8 What newsgroups exist for NG-Spice? - 1.9 Where can I get a copy of NG-Spice? - 1.10 Where should I look on the World Wide Web for NG-Spice stuff? -2. DEVELOPMENT + Ngspice F.A.Q.Version 1.0 + Maintened by Paolo Nenzi + Last update: 05/12/2001 + + 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 Why resurrecting Berkeley's Spice? + 1.3 What is the project's goal? + 1.4 What you are going to do? + 1.5 Legal issues + 1.6 What mailing lists exist for ngspice? + 1.7 Are the mailing lists archived anywhere? + 1.8 What newsgroups exist for ngspice? + 1.9 Where can I get a copy of ngspice? + 1.10 Where should I look on the World Wide Web for ngspice stuff? + 1.11 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 ng-spice ? + 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. 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 + 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 NG-Spice? - - NG-spice is the name of a project and of a program in the project. Spice is - the famous circuit simulator developed by the CAD Group of the University - of California at Berkeley (UCB). The NG prefix has a lot of meanings: Next - Generation, New Good, etc. Choose or invent the one you prefer. The NG-spice - project aims to improve the capabilities of the Spice3 circuit simulator. - The heart of the project is the ng-spice program, a circuit simulator - derived from spice3f5. - -1.2 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. - On the more technical side, spice3 uses good numerical algorithms - ( most commercial implementations have only strengthened them), implements - most of the models for MOSFET submicron designs and has a powerful set of - analyses. On the more "social" side, spice3 it's well introduced in the - academic environment. - -1.3 What is the project's goal? - - The final goal of NG-spice project is to develop a reliable, fast and - friendly circuit simulator for mixed signal/mixed level simulation. - Easy isn't it ;-). - -1.4 What you are going to do? - - The NG-spice project is divided in two main overlapping phases. The first - phase is strictly pertinent to the spice3f5 code: during this phase the - original spice3f5 code will be "cleaned" and corrected and small improvements - made to it. In phase one the Autoconf interface will replace the Berkeley's - one and this will lead to a different structure of the sources. - The second phase is the development of improvements in the ngspice code - (the old spice3f5 code cleaned and corrected) and of some programs that will - interface with it, like a schematic editor and a waveform viewer. A list of - proposed improvements follows: - - 1) The framework (or Graphic User Interface): - Spice is (and should continue to be) a command line or a text tool, but - this makes very difficult to design large circuits. To overcome this - difficulty, a schematic entry tool and a waveform viewer tools are needed. - Nevertheless, there are other tools that can be useful: a parts database, - an editor which higlights the syntax, a symbol editor, etc. - Most of these program already exists in the open source world, so they - need only to be integrated in a common EDA environment. - - 2) Documentation: - Commercial simulators have very good manuals with tutorials, models - equations explained, example of use, suggestions, etc. This line of - development has the task of providing the final spice user with an ordered - and comprehensive set of information on the program and its features. - The documentation should be useful for the student as well as for the - circuit professional. - - 3) Improvements to the Spice code: - This is the hard part. The target of this direction is to make ngspice a - commercial grade simulator. This means improving it's speed, its - numerical strenght, include the latest models available and some other - important features: - - * Numerical Algorithms: - - More stable algorithms for integration (as Runge-Kutta Methods). - - Better convergence in Operating Point Calculation replacing the - Newton-Raphson algorithm, a modified version of Fixed-Point - Homotopy. - - * Devices: - - Behavioral device: enhance the B device of spice3 to accepts IF THEN - ELSE conditions, and digital keywords like DELAY, - HIGHV, LOWV, etc. to simulate simple digital - device. - - Dynamically Loadable Devices: reduce the memory occupied by the - simulator by using shared object code - for devices. Each device is a .so - library that is inserted only if the - circuit contains an element modeled by - the device. If we are simulating CMOS, - we do not need BJT or SOI (in most of - the situations). - - Code Level Modeling: let users write their devices in C and use - them in the simulator. - - Improving device: include additional parameters to some devices as - HDIF, LDIF, etc. - - * New types of analysis, oriented to circuits syntesis and optimization: - - Network analysis: given four nodes, extract z,y,s and the other - double bipole paramters. - - Monte Carlo analysis: statistical simulation based on device - tolerances. - - Worst Case analysis: find the worst case of operation of a given - circuit based on device tolerances. - - Parametric analysis: repeat an analysis when one or more parameters - assumes different values. - - * Faster handling of sparse matrices. - - * Possibility to mesure circuit pameters, like the delay between two - nodes, etc. - - * ... whatever else can be judged useful. - - -1.5 Legal issues - - [not written yet: GPL vs. Berkeley] - -1.6 What mailing lists exist for NG-Spice? - - Only one. Send an empty message to to - have information on subscription. - -1.7 Is the mailing lists archived anywhere? - - Yes, the list is archived. Send an empty message to - to have information on how to retrieve - old messages. - -1.8 What newsgroups exist for NG-Spice? + + ______________________________________________________________________ + + 11.. IINNTTRROODDUUCCTTIIOONN AANNDD GGEENNEERRAALL IINNFFOORRMMAATTIIOONN + + + + 11..11.. WWhhaatt iiss nnggssppiiccee?? + + Ngspice is the name of a project and of a program in the project. + Spice is the famous circuit simulator developed by the CAD Group of + the University of California at Berkeley (UCB). The NG prefix has a + lot of meanings: Next Generation, New Good, etc. Choose or invent the + one you prefer. The ngspice project aims to improve the capabilities + of the Spice3 circuit simulator. The heart of the project is the + ngspice program, a circuit simulator derived from spice3f5. + + + 11..22.. WWhhyy rreessuurrrreeccttiinngg BBeerrkkeelleeyy''ss SSppiiccee?? + + 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. On the more technical side, spice3 + uses good numerical algorithms (most commercial implementations have + only strengthened them), implements most of the models for MOSFET + submicron designs and has a powerful set of analyses. On the more + "social" side, spice3 it's well introduced in the academic + environment. + + + 11..33.. WWhhaatt iiss tthhee pprroojjeecctt''ss ggooaall?? + + + The final goal of ngspice project is to develop a reliable, fast and + friendly circuit simulator for mixed signal/mixed level simulation. + Easy isn't it? ;-). + + + 11..44.. WWhhaatt yyoouu aarree ggooiinngg ttoo ddoo?? + + + We are going to develop a circuit simulation program. The line of + development follows two parallel paths: + + 1. EEnnhhaanncceemmeennttss aanndd bbuugg--ffiixxiinngg ooff tthhee oorriiggiinnaall ssppiiccee33ff55 ccooddee.. + + 2. DDeevveellppppmmeenntt ooff aa nneeww GGPPLL''eedd ssiimmuullaattoorr.. + + The first phat will lead to a better spice3f5 and nothing more than + this, while the second one will bring us a new simulator, + compatible with its father but more expandable and presumably + faster and numerically stronger. + + There is another project in ngspice: the development of one or more + frontend to the new simulator. One of the key issues of our project is + to let users design the front end they want, using the widget set and + the language they prefer. For this reason ngspice differs a lot from + spice3f5: in ngspice there is a clear distinction between the front + end and the back end. In ngspice the front end takes care of the + interaction with the user. It is back-end's task to maintain the + object database, to exchange data with the simulator, etc. + + There are various improvements we are planning, some follows: + + 1. TThhee ffrraammeewwoorrkk ((oorr GGrraapphhiicc UUsseerr IInntteerrffaaccee)):: Spice is (and should + continue to be) a command line or a text tool, but this makes very + difficult to design large circuits. To overcome this difficulty, a + schematic entry tool and a waveform viewer tools are needed. + Nevertheless, there are other tools that can be useful: a parts + database, an editor which higlights the syntax, a symbol editor, + etc. Most of these program already exists in the open source world, + so they need only to be integrated in a common EDA environment. + + 2. DDooccuummeennttaattiioonn:: Commercial simulators have very good manuals with + tutorials, models equations explained, example of use, suggestions, + etc. This line of development has the task of providing the final + spice user with an ordered and comprehensive set of information on + the program and its features. The documentation should be useful + for the student as well as for the circuit professional. + + 3. IImmpprroovveemmeennttss ttoo tthhee SSppiiccee ccooddee:: This is the hard part. The target + of this direction is to make ngspice a commercial grade simulator. + This means improving it's speed, its numerical strenght, include + the latest models available and some other important features: + + +o Numerical Algorithms: + + +o More stable algorithms for integration (as Runge-Kutta + Methods (?) ). + + +o Better convergence in Operating Point Calculation adding a + modified version of Fixed-Point Homotopy to the Newton- + Raphson algorithm, + + +o Devices: + + +o Behavioral device: enhance the B device of spice3 to accepts + IF THEN ELSE conditions, and digital keywords like DELAY, + HIGHV, LOWV, etc. to simulate simple digital macromodels. + + +o Dynamically Loadable Devices: reduce the memory occupied by + the simulator by using shared object code for devices. Each + device is a .so library that is inserted only if the circuit + contains an element modeled by the device. If we are + simulating CMOS, we do not need BJT or SOI (in most of the + situations). + + +o Code Level Modeling: let users write their devices in C and + use them in the simulator. + + +o Improving device: include additional parameters to some + devices as HDIF, LDIF, etc. + + +o New types of analysis, oriented to circuits syntesis and + optimization: + + +o Network analysis: given four nodes, extract z,y,s and the + other double bipole paramters. + + +o Monte Carlo analysis: statistical simulation based on device + tolerances. + + +o Worst Case analysis: find the worst case of operation of a + given circuit based on device parameters tolerances. + + +o Parametric analysis: repeat an analysis when one or more + parameters assumes different values. + + +o Faster handling of sparse matrices. + + +o Possibility to mesure circuit pameters, like the delay between + two nodes, etc. + + +o Whatever else can be judged useful. + + + 11..55.. LLeeggaall iissssuueess + + The improved spice3f5 will be relased under the original Berkeley's + lincese. The new simulator will be released as GPL. Make ngspice a GPL + program, allow us to link a lot of good code laying on the net and + obviously contribute to the GPL community. + + + 11..66.. WWhhaatt mmaaiilliinngg lliissttss eexxiisstt ffoorr nnggssppiiccee?? + + There are three mailing lists dedicated to the ngspice project. Send + an empty message to the following addresses to get information on + subscription. + + + + + + + + + 11..77.. AArree tthhee mmaaiilliinngg lliissttss aarrcchhiivveedd aannyywwhheerree?? + + Yes, the list are archived. Look at the project's web site to access + archives. + + + 11..88.. WWhhaatt nneewwssggrroouuppss eexxiisstt ffoorr nnggssppiiccee?? None. Sorry. -1.9 Where can I get a copy of NG-Spice? - You can download NG-Spice from: - ftp://ieee.ing.uniroma1.it/pub/ng-spice/distribution/ + 11..99.. WWhheerree ccaann II ggeett aa ccooppyy ooff nnggssppiiccee?? + + You can download ngspice from: + + + + + 11..1100.. WWhheerree sshhoouulldd II llooookk oonn tthhee WWoorrlldd WWiiddee WWeebb ffoorr nnggssppiiccee ssttuuffff?? + + Look at the official NG-Spice Web Page + -1.10 Where should I look on the World Wide Web for NG-Spice stuff? - There is a WWW page for NG-Spice. The URL is: - http://geda.seul.org under the tools section. + 11..1111.. WWhheerree sshhoouulldd II llooookk oonn tthhee WWoorrlldd WWiiddee WWeebb ffoorr SSppiiccee ddooccuummeennttaa-- + ttiioonn?? + 50 Circuits analyzed with SPICE + -2. DEVELOPMENT + -2.1 What is the current version? - 0.3 (released on 30/08/1999) + 22.. DDEEVVEELLOOPPMMEENNTT -2.2 What are the latest features in the current release? - * New features: - - Autoconf interface. - - BSIM 3.2.2 Model. - - PS jfet Model (jfet level 2). - - Temperature and resistance sweeps. - - "spec" command for spectrum analysis. - * Bug fixes: - - Altermod command connected to the parser. - - Some memory leaks closed. - - Spice3f5 fixes available on the net. + 22..11.. WWhhaatt iiss tthhee ccuurrrreenntt vveerrssiioonn?? -2.3 What does it look like ? + rework-14 (released on 10/12/2001) + + + 22..22.. WWhhaatt aarree tthhee llaatteesstt ffeeaattuurreess iinn tthhee ccuurrrreenntt rreelleeaassee?? + + New features: + + +o New functions for vectors: vecmax (find max element in a vector), + vecmin (find minimum element in a vector), vecd (differentiate a + vector). + + +o BSIM 4 and support EKV models. + + Bug fixes: + + +o Some memory leaks closed. + + +o Error reporting more verbose + + + + 22..33.. WWhhaatt ddooeess iitt llooookk lliikkee?? This is a command line utility, no screenshots! -2.4 Who are the authors of ng-spice ? + + 22..44.. WWhhoo aarree tthhee aauutthhoorrss ooff nnggssppiiccee?? The development is open to anyone who wish to contribute. - People who contributed are: - - * Daniele Foci - * Paolo Nenzi - * Arno Peters - * Serban-Mihai Popescu - * Emmanuel Rouat - * Michael Widlok - - This list is surely incomplete (due to open development group), there are - many people who contributed with improvements, pieces of code, bux fixes, - etc. If you have contributed and do not appear, write to: - ng-spice@ieee.ing.uniroma1.it + + People who contributed are (in alphabetical order): + + +o Daniele Foci + + +o Paolo Nenzi + + +o Arno Peters + + +o Serban-Mihai Popescu + + +o Emmanuel Rouat + + +o Michael Widlok + + + This list is surely incomplete (due to open development group), there + are many people who contributed with improvements, pieces of code, bug + fixes, etc. If you have contributed and do not appear, write to: + + + and ask to be included. -2.5 How can I report a bug/request for a feature? - Write in the mailing list. + 22..55.. HHooww ccaann II rreeppoorrtt aa bbuugg//rreeqquueesstt ffoorr aa ffeeaattuurree?? + + Look at the projects summary page: ngspice summary page -2.6 How can I join the development? + 22..66.. HHooww ccaann II jjooiinn tthhee ddeevveellooppmmeenntt?? - 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 NG-Spice from our CVS. It might be that your feature - has already been implemented. - To access the anonymous CVS do the following: + 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 CVS. It might be that + your feature has already been implemented. - 1) Install cvs on your machine (version 1.9.x - 1.10.x are just fine). - 2) Set one of the following environment variables: - For bash: - export CVSROOT=:pserver:anonymous@ieee.ing.uniroma1.it:/var/services/cvsroot - For csh/tcsh: - setenv CVSROOT :pserver:anonymous@ieee.ing.uniroma1.it:/var/services/cvsroot - 3) Login to the cvs server by running: - $> cvs login - The password is 'guest' (without the quotes of course). You will only - have to do this once. - 4) Checkout the appropriate files executing the following commands: - $> mkdir somedirectory - $> cd somedirectory - $> cvs co ng-spice - 5) Wait for the cvs logout. + 33.. SSOOLLUUTTIIOONNSS TTOO CCOOMMMMOONN MMIISSCCEELLLLAANNEEOOUUSS PPRROOBBLLEEMMSS -3. SOLUTIONS TO COMMON MISCELLANEOUS PROBLEMS -3.1 What systems are supported? + + 33..11.. WWhhaatt ssyysstteemmss aarree ssuuppppoorrtteedd?? This is the updated list: - Hardware O.S. Compiler Functional? - ---------------- ------------------ -------------- ----------- - i386 Linux (RedHat) gcc yes - i386 Linux (Debian) gcc yes - i386 Linux (SuSE) gcc yes - IBM Risc 6000 AiX lcc no - SUN Solaris 7 gcc yes - SUN Solaris 7 SUN Workshop ? + Hardware O.S. Version Compiler Functional? + ---------------- ----------------------- -------------- ----------- + ???? HP-UX 10.10 gcc 2.95.2 yes + IBM Risc 6000 ??? lcc no + i386 Debian GNU/Linux 2.1 gcc 2.7.2 yes + i386 Red Hat Linux 5.2 gcc 2.7.2 yes + i386 SuSE Linux 6.0 gcc 2.7.2 yes + i386 Linux (SuSE) gcc yes + UltraSPARC Solaris 7 gcc yes + UltraSPARC Solaris 7 SUN Workshop ? + + -3.2 I get errors when I try to compile the source code, why? + MS-Dos, VMS and MacOS are no longer supported. + + + 33..22.. II ggeett eerrrroorrss wwhheenn II ttrryy ttoo ccoommppiillee tthhee ssoouurrccee ccooddee,, wwhhyy?? [not written yet] -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 NG-Spice, many problems are fixed - in the new versions. If you still can't find an answer, post your question - to the mailing list. + 33..33.. TThhiiss ddooccuummeenntt ddiiddnn''tt aannsswweerr mmyy qquueessttiioonn.. WWhheerree eellssee ccaann II llooookk + ffoorr aann aannsswweerr?? + + 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 list. + + + 44.. AADDMMIINNIISSTTRRAATTIIVVEE IINNFFOORRMMAATTIIOONN AANNDD AACCKKNNOOWWLLEEDDGGEEMMEENNTTSS + + + 44..11.. FFeeeeddbbaacckk + Send your comments about this F.A.Q. to: -4. ADMINISTRATIVE INFORMATION AND ACKNOWLEDGEMENTS + Paolo Nenzi . -4.1 Feedback + Send your comments about ngspice to: - Send your comments about this F.A.Q. to . - Send your comments about NG-Spice to . + Paolo Nenzi . -4.2 Formats in which this FAQ is available - This document is available only in ASCII format in the NG-Spice source + 44..22.. FFoorrmmaattss iinn wwhhiicchh tthhiiss FFAAQQ iiss aavvaaiillaabbllee + + This document is available only in ASCII format in the ngspice source package. -4.3 Authorship and acknowledgements + + 44..33.. AAuutthhoorrsshhiipp aanndd aacckknnoowwlleeddggeemmeennttss 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. + 44..44.. DDiissccllaaiimmeerr aanndd CCooppyyrriigghhtt + + 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/README b/README index 88cf887d5..75914fc24 100644 --- a/README +++ b/README @@ -1,32 +1,32 @@ README for NGSPICE ------------------ -This long message describes what NG-SPICE may become in the (near ?) +This long message describes what NGSPICE may become in the (near ?) future. I used a question mark because, as you will read, most of the -features of ng-spice are found on Hi-quality commercial products and +features of ngspice are found on Hi-quality commercial products and (which is the true reason) I have no idea on how can be implemented. ** Why resurrecting Berkeley's Spice ? -Berkeley's spice can be considered the father of most circuit simulator +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 is available in source code, and most of the electrical simulators inherited it's syntax. On the more technical side, spice3f4(5) uses good numerical algorithms (commercial implementations have only strengthened them), implements most of the models for MOSFET submicron designs and has a powerful set of -analyses. On the more "social" side: it's weel introduced in the +analyses. On the more "social" side: it's well introduced in the academic environment. -** What does NG-SPICE mean ? +** What does NGSPICE mean ? It stands for Next Generation Spice but that's not the official name of -the projest. This projects still lacks a name. NG-SPICE is a temporary +the projest. This projects still lacks a name. NGSPICE is a temporary name. -** What will NG-SPICE be ? +** What will NGSPICE be ? Berkeley's Spice lacks in three directions: @@ -51,53 +51,56 @@ Berkeley's Spice lacks in three directions: program and it's features. The documentation should be useful for the student as well as for the circuit professional. - * Improvements to the spice code: This is the hard part. Th target of - this direction is to make ng-spice a commercial grade simulator. This + * Improvements to the spice code: This is the hard part. The target of + this direction is to make ngspice a commercial grade simulator. This means improving it's speed, it's numerical robustness, include the latest models available and some other important features. I will describe some of them briefly: - Analyses - - Network analisys: given four nodes, extract z,y,s and the other - double bipole paramters. + Network analysis: given four nodes, extract z,y,s and the other + double bipole parameters. - Monte Carlo analisys: statistical simulation based on device - tolerances. + Monte Carlo analysis: statistical simulation based on device + parameters tolerances. - Worst Case analisys: find the worst case of operation of a given - circuit based on device tolerances. + Worst Case analysis: find the worst case of operation of a given + circuit based on device parameters tolerances. - Parametric analisys: repeat an analysis when one or more parameters + Parametric analysis: repeat an analysis when one or more parameters assumes different values. - Devices - Behavioral device: enhance the B device of spice3 to accepts IF THEN ELSE conditions, and digital keywords like DELAY, HIGHV. LOWV, etc to - simulate simple digital device. + simulate simple digital circuits. Dynamically loading of device: reduce the memory occupied by the - simulator by using shared object code for devices. Each device + simulator using shared object code for devices. Each device is a .so library that is inserted only if the circuit contains an element modeled by the device. If we are simulating CMOS, we do not need BJT or SOI (in most of the situations). Code Level Modeling: Let users write their devices in C and use them in the simulator. I have discovered a couple of standars - for doing this at the Sematech ftp site. + for doing this at the Sematech ftp site. Improving device: Include additional parameters to some devices: - HDIF, LDIF, etc. (Serban, can you explain better). + HDIF, LDIF, etc. - Numerical Algs - Integration: include (if necessary) more stable algorithms for - integration. Runge-Kutta Methods ? + integration. What about Runge-Kutta Methods ? + + How if we check LKC at every node as convergence test ? Linearization: Are there better algorithms for nonlinear equations the the Newton raphson ? - Sparse Matrix - - Faster handling of sparse matrices. + Faster handling of sparse matrices: new processors offers generous + caches and vectors operations. - Options - @@ -136,25 +139,27 @@ MAILING LISTS: There are three mailing lists dedicated to the development of ngspice. -ng-spice@ieee.ing.uniroma1.it: This list is the list for the users of the - ng-spice simulator. +ngspice-users@lists.sourceforge.net: This list is the list for the users of the + ngspice simulator. -ng-spice-devel@ieee.ing.uniroma1.it: ng-spice development issues. +ngspice-devel@lists.sourceforge.net: ngspice development issues. Developers and + "want to be" developers should + subscribe here. -ng-spice-frontends@ieee.ing.uniroma1.it: issues related to development of - frontends for ng-spice. +ngspice-frontend@list.sourceforge.net: issues related to development of + frontends for ngspice. To subscribe the list(s), send a message to: - - - + + + WEB SITE: -------- -This project is hosted on the IEEE Central & South Italy Section Server. -The home page is http://ieee.ing.uniroma1.it/ngspice +This project is hosted on Sourceforge. +The home page is http://ngspice.sourceforge.net Manu (emmanuel.rouat@wanadoo.fr) Paolo (p.nenzi@ieee.org)