Commit Graph

7808 Commits

Author SHA1 Message Date
Holger Vogt 8f62dfbcf5 notice to enforce compiling and installing the code models 2021-08-03 15:57:33 +02:00
Holger Vogt ef5f3dbf2b Add a small chapter on ngspice as shared library. 2021-08-03 15:57:09 +02:00
Holger Vogt 26bbbbe75d compile script for shared ngspice library 2021-08-03 15:56:50 +02:00
Carsten Schoenert 48f2c2b875 configure.ac: Adding version string for LIB_NGSPICE_API
This isn't currently used but can be used in various places to
automatically provide the internal API version that is used.
Normally developers doesn't want to break the API by introducing a
version bump as this means the new library isn't backward compatible
any more.

E.g. the API version can be used to enhance the name of the library,
quite often libraries with an API version 0 don't add this version to
library name (like ngspice is doing this too right now).
2021-08-03 15:56:18 +02:00
Carsten Schoenert 61b5c0563b src/Makefile.am: Adopt used variables for lib versioning
A small adjustment so the configured ABI version from configure.ac will
get used for creating the libngspice library.
2021-08-03 15:56:02 +02:00
Carsten Schoenert fec1a9a9c8 libtool: Adding helping content for API versioning
Doing the libtool versioning right can be a bit tedious. Especially the
correct handling of the various versions for the libtool .so naming is
difficult to understand if this part isn't done often.

To improve the API versioning adding some helping text what the various
version number are intended for and how to handle these within the
life cycle and development of the Ngspice project.

Basically libtool uses 'current', 'revision' and 'age' to version a
library.
Here a short outline how to do the libtool versioning:

 Only bug fixing did happen, no new symbols were added, the new library
 provide the exact amount and behaviour of the existing symbols.

 --> Increase the 'revision' by 1 (c:r+1:a)

 New symbols were added, the behaviour of the existing symbols doesn't
 have changed.

 --> Increase the 'age' by 1, set 'revision' to 0 (c:r=0,a+1)

 Existing symbols behave now different or existing symbols were removed.

 --> Increase 'current' by 1, set 'revison' to 0, set 'age' to 0 (c+1,r=0,a=0)
 !!!Note!!!
 The ABI version is also affected by this (needs a bump too, the library
 isn't backward compatible any more.
2021-08-03 15:55:38 +02:00
Holger Vogt 4258fe94b5 Add library versioning according to
https://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html#Libtool-versioning
Add package versioning with m4 macros
2021-08-03 15:55:16 +02:00
Holger Vogt 6aac403ab0 XSPICE delay: add some more safeguards 2021-08-03 15:53:42 +02:00
Holger Vogt 05624bedd3 move examples file to prpoer xspice folder 2021-08-03 15:53:11 +02:00
Holger Vogt 5603c8cae7 Write some output to file with raw file or table format. 2021-07-23 14:54:25 +02:00
Holger Vogt ce1ddd8623 Circuit (ring oscillator) with various current and voltage measurements
inside and outside of subcircuits
2021-07-23 14:43:20 +02:00
Holger Vogt 9ae6a76a05 Prepare ngspice-35 2021-07-22 20:38:24 +02:00
Holger Vogt 4feb43e067 Prepare ngspice-35 2021-07-22 20:38:08 +02:00
Holger Vogt 4dbd8b7f9a Preliminary fix for the 'interpolate' function.
Interpolation of 1D vectors is o.k. now,
multi-dimensional vectors are not (yet) supported.
2021-07-22 20:37:57 +02:00
Holger Vogt 1977128380 Prevent crash when CIDER diode models are used.
There is no third node in NUMD or NUMD2, so don't set
GENnode(fast)[i]. This patch fixes a bug introduced in
4895a4b5a ("Diode model with selfheating option", 2021-04-11)
2021-07-20 14:24:43 +02:00
Holger Vogt 1a9ea82b97 new file name (transfer characteristics inside) 2021-07-18 12:03:37 +02:00
Holger Vogt c7cd07e2e0 Update to psp model files and examples
NMOS, PMOS, inverter, ring oscillator
2021-07-18 11:57:51 +02:00
Holger Vogt 9cc9c56cad Don't write past '\0', fixes a bug in commit
1c5e0d11d ("If there is a XSPICE code model .model line with
file input, keep quotes and case for the file path.", 2021-07-15)
2021-07-18 11:19:51 +02:00
Holger Vogt b7473a33a0 Check for double '{', replace the inner '{', '}' by '(', ')'
in .subckt or .model (which both may stem from external sources)
2021-07-18 10:29:16 +02:00
Holger Vogt 85b07e35bf Fixes bug 483
prevent crash when surface mobility (surfmob) has been
selected in 2D simulation.
The patch is provided by Brian Taylor (see
https://sourceforge.net/p/ngspice/mailman/ngspice-devel/thread/e6e921a3-677c-f513-7410-df8568c4bdad%40comcast.net/#msg37318450
)
2021-07-16 10:53:07 +02:00
Holger Vogt 1c5e0d11dd If there is a XSPICE code model .model line
with file input, keep quotes and case for the file path.
2021-07-16 10:52:54 +02:00
Holger Vogt 15a3ed87c0 Enable the m parameter in E, G, B, R behavioral source/devices 2021-07-16 10:52:21 +02:00
Holger Vogt 973a60b898 re-enable making the old help system for Linux/Cygwin
by --enable-help --enable-oldapps
2021-07-08 15:34:41 +02:00
Holger Vogt d34d1e7c7c Get immediate response into text window,
when requesting information on coordinates.
2021-07-07 19:50:50 +02:00
Holger Vogt 182a4d3f5f WinGUI: Push any remaining error message into text window
before emitting interactive error message window and exit.
2021-07-07 19:50:37 +02:00
Holger Vogt ae72677cc2 Remove a false read when curr_line has
already been invalidated.
2021-07-05 19:43:25 +02:00
Holger Vogt 0f25c25c7e Remove a memory leak
Make inp_rem_levels non-static
and use it to remove 'root' after it has been used.
2021-07-05 19:42:14 +02:00
Holger Vogt 54cbfb4138 Nodedamping: Make difference independent of the sign
of the difference
2021-07-05 14:32:57 +02:00
Holger Vogt c74321e0f5 JFET2: Add a link to literature 2021-07-05 14:32:47 +02:00
Holger Vogt 93ddc7a3eb Enhancement for E source with table, convert to B source with pwl:
Add G source
Allow 'table' also being part of a parameter name like 'table_something'
2021-07-05 14:32:34 +02:00
dwarning 0ece04cdc8 Add channel type determination belong nmos/pmos model parameter 2021-07-05 14:32:14 +02:00
Holger Vogt ba9834b1dc Standard clang compiler does not support OpenMP
Homebrew clang needs to investigted further
2021-07-05 14:31:58 +02:00
Holger Vogt fe158341ba Don't show message for every iteration 2021-07-05 14:31:47 +02:00
Holger Vogt c38b8e3615 Fix a bug in the 'dc' progress report 2021-07-05 14:31:32 +02:00
Holger Vogt 8eeb924460 CIDER: Enable printing either binary or ascii data output to file.
Patch provided by Brian Taylor, see
(https://sourceforge.net/p/ngspice/mailman/message/37309841/)
2021-07-05 14:31:21 +02:00
Holger Vogt 9bb401d9cd Add a 'qsort' dummy according to current compiler standards.
Detected during the very rare condition of not finding a 'qsort'
during the ./configure step.
2021-07-05 14:31:08 +02:00
Holger Vogt 1d7e54d741 Enable including 'readline' from a non standard location.
--with-readline=<location> may be given instead of --with-readline=yes
This is required when on macOS readline is installed from Homebrew.
Standard Xcode readline in macOS is not compatible with ngspice.
If --with-readline=yes is given, there is no change of behaviour
compared with previous releases.
2021-07-05 14:30:52 +02:00
Holger Vogt 76eac5aa0f Make error message more verbode 2021-07-05 14:30:35 +02:00
Holger Vogt a4be66b9b0 Prevent crash if there is bad syntax in h, g, e, or f line 2021-07-05 14:30:26 +02:00
Holger Vogt 31fbf910af Crash when trying to delete root and netlist:
Revert the order of deletion: Firstly the root, then the netlist.
2021-07-05 14:30:08 +02:00
Holger Vogt 858689d206 Make syntax check for nesting of .subckt ... .ends more verbose:
Try to find out where .subckt/.ends may be doubled, or missing.
2021-07-05 14:29:50 +02:00
Holger Vogt 52b5e218c7 Add '\f' to characters to be replace by '+'
during the syntax check of an netlist input file.
2021-07-05 14:29:35 +02:00
Holger Vogt c061747f19 Add evaluating and using temp and dtemp
as ASRC instance parameters.
2021-07-05 14:29:10 +02:00
Holger Vogt ddcc6f6097 add a comment: we should use TNOM, but not a fixed 300.15.
TNOM still has to be added to the ASRC parameters.
2021-07-05 14:28:51 +02:00
Holger Vogt dcde7b590e Don't put brackets around dtemp and temp, when they denote
instance parameters and thus are on the left hand side of '='
2021-07-05 14:28:39 +02:00
Holger Vogt 945786fba7 Make PTcheck more verbose:
Send error message containing failed expression
2021-07-05 14:28:19 +02:00
Holger Vogt 7e01b800f0 add the parameter name to error message of missing or bad parameter 2021-07-05 14:28:07 +02:00
Holger Vogt 7eb791fe00 No parse tree submitted to IFeval:
Prevent segfault and emit error message
2021-07-05 14:27:46 +02:00
Holger Vogt 19abc83312 Make the choice of last commit mor obvious 2021-07-05 14:27:23 +02:00
Holger Vogt 87a9d87f7d Replace identifier by func not only after '=', but also '{'
Extension to commit
61e48f984 ("Start replacing identifiers by func only after the first '='", 2021-06-18)
2021-07-05 14:26:57 +02:00