Commit Graph

5872 Commits

Author SHA1 Message Date
dwarning 280bea9d50 restructering thermal update by unified function
introduce diode series resistor thermal contribution

separate naming of mos and diode model parameter
2020-10-10 14:03:26 +02:00
dwarning 89cceb1560 BJT, alias NK for NKF beta rolloff parameter 2020-10-10 13:55:40 +02:00
Holger Vogt 16b225705f Add a check for 'windres' to configure.ac,
if Windows GUI or Console
2020-10-10 13:55:32 +02:00
Holger Vogt ef7f43a060 Move compiling the ICON from compile_mingw.sh to makefile.am
fixes bug no. #516
2020-10-10 13:55:11 +02:00
dwarning 43f10237b5 BJT unsetup delete coll nodes from inner to outer 2020-10-10 13:54:47 +02:00
Holger Vogt 4d062ecc92 fix a bug in the derivative 2020-10-10 13:54:39 +02:00
Holger Vogt 1f6c4d6338 Add a new code model pswitch, behaviour directly compatible
to PSPICE (rounded corner at cntl_on)
2020-10-10 13:53:47 +02:00
Holger Vogt fdc143ce16 Add a limit capability to the code model aswitch
Example switch-oscillators_inc.cir showed currents up to 3GA
2020-10-10 13:53:36 +02:00
Holger Vogt 4bcacb310d enable XSPICE %vnam in subcircuits.
The token following after %vnam has to be
tranlated as an instance during subcircuit expansion.
2020-10-10 13:53:10 +02:00
Holger Vogt 14ef4e74ec Add PSPICE compatible ISWITCH
Translates iswitch either to csw or to aswitch models
2020-10-10 13:53:02 +02:00
Holger Vogt 51cfedc054 Improved error message (name the device instance)
when ac simulation and current or power are requested
2020-10-10 13:52:43 +02:00
Holger Vogt 644d8d0a3f Error message where to find the missing parameter
(only if 'set ngdebug' is given).
2020-10-10 13:52:32 +02:00
Holger Vogt aa25ec7f7c Improve on commit d6aa22e5 from 09.09.2020
Warning message only when 'set ngdebug' and instance or model line vectors read in do not have enclosing parens.
Both vectors with or without enclosing parens are allowed.
2020-10-10 13:52:12 +02:00
dwarning b31a65afb9 BSIM4 change wnflag parameter to integer 2020-10-10 13:51:41 +02:00
dwarning 32b161854d BSIM4 add wnflag to latest bsim4 version 2020-10-10 13:51:27 +02:00
dwarning 5f7f54d961 cleaning prototypes 2020-10-10 12:30:40 +02:00
dwarning 5d999be998 rm redundant redeclaration 2020-10-10 12:30:22 +02:00
dwarning bdd1e2faf6 better place for prototype 2020-10-10 12:23:10 +02:00
dwarning 31a054f244 prevent few gcc warnings 2020-10-10 12:22:57 +02:00
Holger Vogt a3380903be Fix a bug in the comment of the file headers 2020-10-10 12:22:43 +02:00
Holger Vogt 1bcfe886f3 GPL instead of BSD 2020-10-10 12:22:27 +02:00
Holger Vogt 468769df16 Update on various licences for XSPICE code models 2020-10-10 12:22:12 +02:00
Holger Vogt 2335639848 License 3-clause BSD
Update to license information
2020-10-10 12:22:01 +02:00
Holger Vogt df0ffcfc2b XSPICE is Public Domain
Update to license info
2020-10-10 12:21:35 +02:00
Holger Vogt cc5369816b XSPICE is in the public domain.
Update to the license information.
2020-10-10 12:21:22 +02:00
Holger Vogt 617ed01a5b licensi info:
Public Domain

Georgia Tech Research Corporation
Atlanta, Georgia 30332
PROJECT A-8503
2020-10-10 12:21:10 +02:00
Holger Vogt a066c43378 Add wnflag as an instance parameter. 2020-10-10 12:20:47 +02:00
Holger Vogt b1dc7f77d1 Add .options wnflag = 0|1 to unselect|select
nf as a divisor for w/nf while model binning.
Enable reading wnflag from the instance line.
2020-10-10 12:20:27 +02:00
Holger Vogt 3a3b7d3cde Use W/nf for selecting binning model,
if compat mode Spectre is set by
set ngbehavior=spe
in .spiceinit
2020-10-10 12:20:11 +02:00
Holger Vogt 2f1d3df8c7 add a Spectre compatibility mode 2020-10-10 12:19:49 +02:00
Holger Vogt 990d87bf1c replace gettok by gettok_node to ignore parentheses when reading
a .model line in the altermod ... file ... command.
2020-10-10 12:19:32 +02:00
Holger Vogt 110a853ce5 Fix a bug when reading a list of type ( 2 4 6 ): If ')' was not
the last token, an error message was generated.
2020-10-10 12:19:23 +02:00
Holger Vogt 64e5e13c4e Bug no. #512: Set a breakpoint at delay time td to safely
catch the starting time point of the random numbers
2020-10-10 12:19:04 +02:00
dwarning 2b33ef8c58 VDMOS fix bypass label in diode section 2020-10-10 12:18:46 +02:00
dwarning 1ae131551b truncation error calculation for body diode charge 2020-10-10 12:18:23 +02:00
dwarning 56b8da7be6 white spaces 2020-10-10 12:18:07 +02:00
dwarning 797042e7e7 include power dissipation of drain resistance 2020-10-10 12:17:03 +02:00
dwarning 04a1a74c2e limit deltemp maximum stepsize 2020-10-10 12:16:34 +02:00
dwarning 3f4b24be89 VDMOS change name of some matrix entries to make life easier 2020-10-10 12:16:04 +02:00
dwarning 17497eddec VDMOS change thermal left and rigth side signs that mos and diode part follow same logic 2020-10-10 12:15:51 +02:00
dwarning 689d561c9e unify temperature limit routine for usage in self-heating model 2020-10-10 12:15:37 +02:00
dwarning 04656c4596 rearrange and white spaces 2020-10-10 12:15:14 +02:00
dwarning 7f5f8ac69f correct peripheral resistor current temperature dependency 2020-10-10 12:15:02 +02:00
dwarning 8a7fce8676 BJT prevent crash in qs model for insane parameter entry 2020-10-10 12:14:50 +02:00
dwarning c8fa54ce1c BJT Kull Quasi-Saturation model 2020-10-10 12:14:37 +02:00
dwarning d00fbd0c51 workaround for bug #511 to prevent copy model parameter M to device multiplier 2020-10-10 12:13:55 +02:00
dwarning aab54e8a55 add alternative temperature model for certain jfet parameter 2020-10-10 12:13:19 +02:00
Holger Vogt b0a790a463 proper size_t to int conversion 2020-10-10 12:12:59 +02:00
Holger Vogt 8ea8ddcc03 simplify the previous commit, single step warp if multibyte utf-8 character 2020-10-10 12:12:37 +02:00
Holger Vogt f911758e4b X11: re-enable writing text to a graph if libxft is used 2020-10-10 12:12:21 +02:00
Holger Vogt 445c6f2d32 fix a bug that occurs when xspice is not selected
missing function parameter has been introduced in previous commit
2020-10-10 12:11:41 +02:00
Holger Vogt 602baf68e6 spice2g6 allows to omit the poly(n) statement, if the
polynomial is one-dimensional (n==1).
For compatibility with the XSPIXE code, we have to add
poly(1) appropriately.
2020-10-10 12:11:14 +02:00
Holger Vogt 60dfe836f4 If ps is enabled, .dc TEMP -15 75 5 will have been
modified to .dc (TEMPER) -15 75 5.
So we repair it here with a preliminary fix.
2020-10-10 12:10:43 +02:00
Holger Vogt 1698004078 The tests of cmaths function will be done only on request,
with configure flag --enable-cmathtests
2020-10-10 12:09:52 +02:00
Holger Vogt ca27319213 no forcing lower-case letters for command 'cd' 2020-10-10 12:09:25 +02:00
Holger Vogt a0389bb547 In PS compatibility mode:
In subcircuit .subckt and X lines with 'params:' statement
replace comma separator by space. Do nothing if comma is inside of {}.
2020-08-20 15:49:32 +02:00
Holger Vogt 26a4a32b8b avoid some compiler warnings 'referencing a NULL pointer' 2020-08-20 15:49:05 +02:00
Holger Vogt 458411b2e1 more precise freeing the wordlist, depending on exit point 2020-08-20 15:48:45 +02:00
Holger Vogt e3aad7849c remove vceo= and icrating= from bjt model cards 2020-08-20 15:47:49 +02:00
Holger Vogt c69a4d6633 fix typo
Reported by Ferdy in bug report #506
2020-08-20 15:47:17 +02:00
Kevin Zheng efde6902a0 indentation 2020-08-20 15:46:44 +02:00
Holger Vogt 54d8c990c5 src/spicelib/analysis/dcpss.c
line endings Windows --> Linux
2020-08-20 15:44:04 +02:00
Holger Vogt 23ceaabf83 fix a memory leak
Reported in bug report 504 by Ferdy
2020-08-20 15:41:39 +02:00
Holger Vogt a04c909a23 Don't add copied scale vector as new vector, but as new scale vector,
thus preventing crash after pushing X11 'Hardcopy' twice or
pushing 'quit' after 'Hardcopy'.
Scale vector was deleted two times, then crashimg ngsoice.
2020-08-20 15:41:15 +02:00
Holger Vogt f9f8174cb8 enable debug output, taking into account that there may be two threads
accessing fcn SetAnalyse()
2020-08-20 15:40:16 +02:00
Holger Vogt c68940712d prevent writing beyond end of buffer 2020-08-20 15:39:55 +02:00
Holger Vogt ebb1e953fe Streamline the compatibility flag generation 2020-08-20 15:39:19 +02:00
Holger Vogt f03a32287f If 'set ngbehavior=ki' in .spiceinit or flag 'kicad' on the plot line:
Add " around vector names containing character /
Numerical ivision in plot line then requires spaces around /
2020-08-20 15:39:00 +02:00
Holger Vogt c112279555 new compatibility handling with struct compat newcompat:
simplify the compatibility handling, better readability
make it easily extendable
add new flag 'ki' for KiCad compatibility
2020-08-20 15:38:43 +02:00
Holger Vogt 9defcae963 Do not compile in fcn main() when shared ngspice is made 2020-08-20 15:38:29 +02:00
Holger Vogt 0caeaccdd3 fix typo 2020-08-20 15:38:18 +02:00
Kevin Zheng 068a1fee55 Fix indentation 2020-08-20 15:30:08 +02:00
caand 6907d17985 add missing get_sysmem() when no info available 2020-08-20 15:29:49 +02:00
Holger Vogt a406af26d6 bug fix 'extern int sh_vecinit()', not void
See patch #96, thanks to Balazs Kovacs
2020-08-20 15:29:42 +02:00
Holger Vogt ce69e8d70c Don't send the empty line to create_circbyline(),
it is not used anymore and may cause a crash
2020-08-20 15:29:21 +02:00
Holger Vogt c8c58b9f5b Print out the netlist sent to ngspice by caller via 'circbyline'
or ngSpice_Circ
2020-08-20 15:29:12 +02:00
Holger Vogt 71e65b75b0 Syntax check: If the first character in a netlist
or .control line is one of =[]?()&%$§\"!:, then ngspice
replaces it by '*' and issues a warning.
'set strict_errorhandling' will force ngspice existing.
2020-08-20 15:28:59 +02:00
Holger Vogt fe28feae4e Cut out part of each vector of the current tran plot,
from times cut-tstart to cut-tstop and copy these
into a new tran plot. A new scale vector 'time' will be
generated as well. Vectors that are shorter than the
new scale vector will not be copied.
2020-08-20 15:28:48 +02:00
Holger Vogt 71338c3271 replace 'noiseless' only if it is an unconnected token 2020-08-20 15:28:32 +02:00
Vogt 3fe4de5b7f enable special characters for cpl model names and parameters 2020-08-20 15:28:07 +02:00
Holger Vogt ba1945d685 enable flags xdelta, ydelta for gnuplot command 2020-08-20 15:27:46 +02:00
Holger Vogt a429e3fee8 Make the pwl parameter r adjustable by .param
if r == -1, no repetition done.
if r == 0, repeat forever.
if r == xx, repeat from time xx to last time point given.
If r is omitted, like r == -1 no rpetition done.
2020-08-20 15:27:01 +02:00
Holger Vogt 2c0729e8de Print also the bool value 'off'.
Do not abort ngspice when vector LIST cannot be printed,
just skip printing and continue.
2020-08-20 15:26:38 +02:00
Holger Vogt 8f4e512826 ust tmpstr instead of second strstr() 2020-08-20 15:26:30 +02:00
Holger Vogt e6fdf5f7e2 Make PPerror message more verbose:
give hint to buggy line segment
2020-08-20 15:26:10 +02:00
Holger Vogt 064bd39a2f Unify batch mode and control mode raw file output:
Voltage is always named as v(nodename)
2020-08-20 15:25:50 +02:00
Holger Vogt 527abee022 Do not print "Units" on a graph, if unknown type
or settype notype is given.
2020-08-20 15:25:00 +02:00
Holger Vogt e2f98b71ed enable node names with special characters like '/' 2020-08-20 15:24:39 +02:00
Kevin Zheng 797f08893a When NGSPICE performs a transient simulation with initial conditions, it
prints out an "Initial Transient Solution" and plots the first timestep.

This is despite the fact that the first timestep is not meaningful when
initial conditions are applied. The first "real" output is available
only after the second transient timestep.

This patch suppresses "Initial Transient Solution" output and
plotting for the first timestep.
2020-08-20 15:24:28 +02:00
Holger Vogt da71726765 Do not print tansient initial conditions, if uic is selected.
This output at time 0 is 0 as well. Only the next time step
would be valid.
Do not save the time 0 values because they are 0.
2020-08-20 15:23:54 +02:00
Holger Vogt a459d37548 remove unused 2020-08-20 15:23:31 +02:00
Holger Vogt 6b0104849e Add statistics: load, subckt expansion, and parse times 2020-08-20 15:23:19 +02:00
Carsten Schoenert 5a0ed18907 Small fixup for misspelled words 2020-08-20 15:22:48 +02:00
holger 569bc228fd If code completetion is deselected, don't add keywords or key commands.
To prevent a crash in shared ngspice
2020-08-20 15:22:36 +02:00
holger 061e48253b definitely exclude command completion in shared ngspice 2020-08-20 15:22:26 +02:00
Holger Vogt 8c4394839d remove unused code that is now in CKTncDump() 2020-08-20 15:22:17 +02:00
Holger Vogt 18c532e74b improve comments 2020-08-20 15:22:07 +02:00
Holger Vogt 0cf6b89eb3 during removing the plot 'const', also delete the hash table 2020-08-20 15:21:49 +02:00
Holger Vogt f83bbb0d0f delete 'myvec' upon 'quit' 2020-08-20 15:21:29 +02:00
Holger Vogt 8be33bb361 clear all variables upon 'quit' 2020-08-20 15:21:12 +02:00