dwarning
924dc10368
get the right place for variable declaration
2023-05-27 10:41:29 +02:00
dwarning
a4f6a777c0
few cleanings to prevent compiler warnings
2023-05-27 10:41:21 +02:00
dwarning
5c32a3fb9c
prevent unitialized variables
2023-05-27 10:41:12 +02:00
Brian Taylor
6b85bcb805
Allocate compound gate connectors where needed.
2023-05-27 10:41:04 +02:00
Brian Taylor
de34a90bb4
Create correct translations of degenerate compound gates with $d_hi/$d_lo inputs.
2023-05-27 10:40:51 +02:00
Holger Vogt
a39052cd14
Make voltage ramp smooth around 0 and around end of ramp.
2023-05-27 10:40:42 +02:00
Holger Vogt
678a6582f6
A preliminary fix to reduce the amount of missing pulses considerably.
...
Probably not yet the final solution.
2023-05-27 10:40:32 +02:00
Holger Vogt
4231ad3f5f
Prevent reading from NULL when user input is something like .ic=v
2023-05-27 10:40:24 +02:00
dwarning
02109587ee
not to forget the overlap capacitances in AC
2023-05-27 10:40:08 +02:00
dwarning
56b5041266
selfheating only with rth>0
2023-05-27 10:39:48 +02:00
dwarning
2fff3e2bc0
use true vector size for memcpy
2023-05-27 10:39:39 +02:00
dwarning
de09636d1a
general update: fix temperature update, improve performance
2023-05-27 10:39:33 +02:00
dwarning
f33e899fda
white spaces
2023-05-27 10:39:25 +02:00
dwarning
d053fbda93
vbic: correct soa-check warning for C-S branch
2023-05-27 10:39:14 +02:00
Holger Vogt
797795e7c0
Shift all compatibility handlinmg from inpcom.c into its own source files
...
inpcompat.c and inpcompat.h
2023-05-27 10:39:05 +02:00
Brian Taylor
14a403e193
Use ~ on the input of a tristate buffer for INV3, and avoid creating an extra inverter. For ff/latch use ~ on set/reset and jkff clock inputs to avoid creating extra inverters.
2023-05-27 10:38:40 +02:00
dwarning
b5d5cfd543
vbic: selfheating switch selft has priority, but keep compatibility
2023-05-27 10:38:25 +02:00
Holger Vogt
d53acbed8e
Add noise capability to XSPICE code models
...
Coded according to acan., AC analysis
MIF_NOI is not yet supported by any code model, so
MIF_AC is used (code models behave like in ac mode,
they are noiseless.
2023-04-02 15:06:28 +02:00
Holger Vogt
3c41ab1190
Formatting with MSVC2022
2023-04-02 15:06:23 +02:00
Giles Atkinson
5aa48cab0b
Do not generate netlist lines that use non-existent libraries.
...
To support that, give global scope to function inp_pathresolve()
in inpcom.c. Update internal documentation (long comment).
2023-04-01 13:56:12 +02:00
Holger Vogt
8f8f7ff8ab
Command 'listing r': No extra formatting, truncation etc.
...
of netlist lines when printing to file or console.
2023-04-01 13:50:17 +02:00
Holger Vogt
95c4c0f587
Add inertial.h to the distributable headers
2023-03-25 15:36:15 +01:00
Holger Vogt
311ddeac0d
Prepare for ngspice-40
2023-03-24 22:27:12 +01:00
Holger Vogt
062785319a
When '.probe alli' is set, disable auto bridging and set a flag
2023-03-24 22:10:18 +01:00
Holger Vogt
ce38a768b5
typo
2023-03-24 22:10:12 +01:00
Holger Vogt
c30af55491
Add operating point information to SOA check,
...
using vbefwd, vbcfwd, and vsubfwd
Operating point heck is enabled by .options warn=2
2023-03-24 22:10:07 +01:00
Holger Vogt
443567dbaf
Add SOA-check for collector-substrate diode (model parameter bvsub)
2023-03-24 22:09:55 +01:00
Holger Vogt
ff77c583d7
Add model parameter selft, to switch on self-heating, default: off (selft=0)
2023-03-24 22:09:42 +01:00
Giles Atkinson
5197200fb3
Fix crash reported by Brian Taylor. If "source" is used after
...
analysis, the circuit is both deleted and destroyed. Beware of
double frees.
2023-03-22 14:30:18 +01:00
Giles Atkinson
98333ee89a
Fix a memory leak reported by Brian Taylor that was introduced
...
by commit 4d8e17487b .
2023-03-22 14:30:11 +01:00
Holger Vogt
82de3db8ad
VBIC: Add bvbe, bvbc, and bvce as redundant SOA parameters
2023-03-22 14:30:01 +01:00
Holger Vogt
f121c433a7
Check for buggy diode instance line, avoid crash
2023-03-22 14:29:48 +01:00
Holger Vogt
2ce18ab184
Add VDMOS default junction cap IRF540 IRF9540
2023-03-22 14:29:37 +01:00
Holger Vogt
2a647f8462
Set default VDMOS model parameters to resemble IRF540, 9540
2023-03-22 14:29:22 +01:00
Giles Atkinson
e25f8bd522
Add inertial delay to missed d_xnor and tidy blank lines in d_xor.
2023-03-22 14:29:03 +01:00
Giles Atkinson
cecce5163e
Inertial delay for remaining simple gates and buffers:
...
nand or xor open_c open_e, but not tristate.
2023-03-22 14:28:51 +01:00
Giles Atkinson
db38d4ad54
Correct timing of transitions to UNKNOWN.
2023-03-22 14:28:37 +01:00
Giles Atkinson
240a2b9406
Add missed file inertial.h.
2023-03-22 14:28:23 +01:00
Giles Atkinson
4623a04615
Interim version of inertial delay for tristate buffer.
...
This does not handle three-way or mixed transitions.
2023-03-22 14:28:15 +01:00
Giles Atkinson
e3b4df6a51
First group of digital code models with improved implementation
...
of inertial delay: buffer, inverter, and, nor. Also adds
utility function cm_is_inertial(().
2023-03-22 14:27:54 +01:00
Giles Atkinson
2643e3b17f
New code-model library functions cm_schedule_output() and cm_getvar().
...
To be used in the inertial delay code for digital code models.
2023-03-22 14:27:35 +01:00
Giles Atkinson
c1659a64c3
Change output event setup in evtload.c so that, when making an event call
...
to a code model, there is no longer a reference to the value of the event
at the head of the free list. That allows all such free lists (with the
same data type) to be combined, probably improving performance.
This is in preparation for full implementation of inertial delay for
digital nodes.
2023-03-22 14:27:19 +01:00
Giles Atkinson
2d0561f386
Allow string-valued parameters to XSPICE device models with no default.
...
The code model then sees the value NULL. Needed for the "family"
parameter on logic models, used by automatic bridge insertion.
2023-03-22 14:27:06 +01:00
Brian Taylor
8c69ada5b5
The logicexp example in the PSpice ref. manual has a name with a '+' character (LCN+4). Update lexer_scan.
2023-03-22 14:26:43 +01:00
Brian Taylor
40a540a2ff
Add inertial_delay=true to .model statements generated when U* instances in PSpice library subckts are translated to Xspice. Any other Xspice A* digital instances might have different inertial_delay settings in their models, so potentially there could be a mixture of delay types. For example, if a user wishes to model a DLYLINE using a d_buffer with inertial_delay=false and equal rise/fall delays.
2023-03-22 14:26:18 +01:00
Brian Taylor
164db58404
The intent now is to rely on a variable setting in .spiceinit to control the use of inertial delay XSPICE digital models. This will apply to U* instances in subcircuits which are translated to XSPICE.
2023-03-22 14:25:51 +01:00
Holger Vogt
86951501a7
Add eprvcd to the commands which set node names to lower case,
...
but not the file names after >
Does not work for manually entered eprvcd commands, where the user
has to provide lower case node names.
2023-03-19 15:24:27 +01:00
Holger Vogt
3632a6b4ae
We need to translate from degree to rad
2023-03-18 22:32:25 +01:00
Holger Vogt
2a6052517b
Fix prvious commit: allow access to all vector elements of cc
2023-03-18 22:32:19 +01:00
Holger Vogt
68156fa62c
Complex number handling other than MSVC
2023-03-18 22:32:07 +01:00
Holger Vogt
71571a1432
Add function atanh to .control section
2023-03-18 22:31:48 +01:00
Holger Vogt
3996d27b29
Make code a little more efficient
2023-03-18 22:31:33 +01:00
Holger Vogt
7af6c4a661
Re-enable single line parameter lists, separated by commas
2023-03-18 22:31:27 +01:00
dwarning
f34ff7e63c
Revert "implement typedpnjlim as optional limiter for verilog-a models"
...
This reverts commit f73d3b20a0 .
2023-03-18 22:31:04 +01:00
Holger Vogt
63d86f5af8
Prevent a crash in strchr
...
Reported by KiCad Sentry
2023-03-18 14:37:59 +01:00
Holger Vogt
e4202ea181
The tc for R, L, C may include an expression
...
like tc={expression} or tc={expression}, 1.3u or
tc={expression}, {expression2}
2023-03-18 14:37:53 +01:00
Holger Vogt
d8505f0069
Make error message more verbose by a hint to the line (fragment).
2023-03-18 14:37:47 +01:00
R. Timothy Edwards
c12296182c
The code in src/frontend/subckt.c has a fixed-size structure called table at the top with a size set to N_GLOBAL_NODES = 1005. If the number of items passed in formal and actual exceeds 1005, then ngspice exits immediately with an error.
...
This patch lets table be reallocated on the fly as needed to accommodate the number of subcircuit arguments, instead of being a fixed value.
2023-03-18 14:37:40 +01:00
Holger Vogt
e4601c16ee
Not a warning but an error, stopping the simulation
2023-03-18 14:37:33 +01:00
Holger Vogt
f32f3ac8cd
Improve previous commit: A bad .model line leads to a breakup
...
of the simulation.
2023-03-18 14:37:26 +01:00
Holger Vogt
c61acefef7
Prevent crash when a bad .model line is given, like
...
.model
.model xxx
2023-03-18 14:37:19 +01:00
Holger Vogt
247562c096
Update copyright notice
2023-03-18 14:37:08 +01:00
Holger Vogt
bcec3cb5e3
Updating links to ngspice web pages
2023-03-18 14:37:02 +01:00
Holger Vogt
4cc63494db
Improve error message
...
Typo
2023-03-18 14:36:55 +01:00
Brian Taylor
4111aaf110
When logicexp has a ugate timing model other than d0_gate, use its delays for an inverter or buffer.
2023-03-18 14:36:45 +01:00
Brian Taylor
a6b2773c90
For a ugate timing model, when tphlXX/tplhXX is not found, set the fall/rise delay to zero (1.0e-12).
2023-03-18 14:36:35 +01:00
Brian Taylor
0e5a5a62ac
74F550 and 74F551 have only fall delays on the inverters. Use the fall delay for both rise and fall.
2023-03-18 14:36:23 +01:00
Brian Taylor
3a76a1ef52
Prepare for inertial_delay model parameter.
2023-03-18 14:36:17 +01:00
Brian Taylor
4b30113f60
Check current_subckt is set when printing TRANS_OUT.
2023-03-18 14:36:00 +01:00
Giles Atkinson
ae6375c519
Prevent a crash when "portnum" is used in a voltage source without "z0".
2023-03-18 14:35:51 +01:00
Holger Vogt
8915d42241
Prevent crash during .probe p(...) when no subcircuits are given.
2023-03-18 14:35:33 +01:00
Holger Vogt
5ee7a0ad2d
prevent crash when defect .model line is given
...
(no model name or no model type)
2023-03-18 14:35:11 +01:00
Holger Vogt
d2fb3fb16b
Prevent memory leak.
...
Remove use controls.
Safeguard against NULL.
2023-03-18 14:34:57 +01:00
Giles Atkinson
79fcb5d4bd
Fix plotting bug reported by Robert Turnbull: ngspice-devel 2023-02-10.
2023-03-18 14:34:50 +01:00
Markus Mueller
0caf1aa815
(fix) CALC_OP during transient analysis in OSDI interface
2023-03-18 14:34:37 +01:00
Holger Vogt
d4ee9af2e6
We are developing towards ngspice-40
2023-03-18 14:34:27 +01:00
Giles Atkinson
2233e2f825
Fix Bug #624 - "Destroy All Fails with an Open Plot Window" for X11.
...
Move XftDrawDestroy() call to a point where the window still exists.
2023-03-18 14:34:20 +01:00
Holger Vogt
f83c89cce7
When path is NULL, we don't need to free it.
2023-03-18 14:33:59 +01:00
Holger Vogt
75f9451702
Fix bug 624 also for MS Windows
...
by moving DestroyGraph() from WM_CLOSE to RemoveWindow()
2023-03-18 14:33:51 +01:00
Markus Mueller
bd30bd4e85
fix memory leak more rigorously
2023-03-18 14:33:44 +01:00
Markus Mueller
d495333578
fix small memory leak in OSDI interface
2023-03-18 14:33:34 +01:00
Holger Vogt
da77fad749
In the very rare case of pPivot being NULL, prevent a crsh
...
by reordering the matrix.
2023-03-18 14:33:25 +01:00
Giles Atkinson
d9b52eb3e1
Fix a bug reported by Thomas Hoffmann in ngspice-users discussion,
...
2023-02-18. Incorrect tests were used to detect a crossing in the
first two data samples.
2023-03-18 14:33:13 +01:00
Giles Atkinson
06aa693852
A new fix for Bug #331 : "XSpice skips digital output point".
...
The problem was caused by removing an output queue from the "modified"
list when it had been modified by processing one of its events.
2023-03-18 14:33:02 +01:00
Giles Atkinson
7457a2684b
Revert "Fixes bug #331"
...
This reverts commit 6d9876229c , because
it was found to break examples/xspice/various/xspice_c3.cir
(see discussion in bug report for February 2023) and an alternative
fix is available.
2023-03-18 14:32:53 +01:00
Giles Atkinson
dbb5219dc7
Fix a crash reported by Thomas Hoffmann when using the "TARG AT=xxxx"
...
variant of "measure", General Form 1.
2023-03-18 14:32:46 +01:00
Brian Taylor
8dd16feee4
Use dstrings where fixed size char buffers should not have been used.
2023-03-18 14:32:31 +01:00
Brian Taylor
3365fd4309
Remove dead code.
2023-03-18 14:32:19 +01:00
Holger Vogt
50173ac617
Enable potential calls to tprint() for debugging
2023-03-18 14:32:04 +01:00
dwarning
845dfbd830
diode recombination current emission coefficient default to 2
2023-03-18 14:31:53 +01:00
dwarning
45e6d319f3
partly revert last commit: only real input vector get special scaling for dc component
2023-03-18 14:31:31 +01:00
dwarning
bccaee4821
correct fft dc scaling bug #620
2023-03-18 14:31:24 +01:00
dwarning
7ca305804d
ret variable only used for openMP enabled
2023-03-18 14:31:17 +01:00
Holger Vogt
9c6fe3f8e4
Definitely exclude A devices from power probing (and others with less than 2 pins).
2023-03-18 14:31:05 +01:00
Holger Vogt
5924ae2dfb
bug report 619 by Hanspeter Niederstrasser
...
remove double inclusion of stdlib.h
Correction of commit 9e432838c ("Patch by Robert Turnbull: remove warning messages", 2023-02-05)
2023-03-18 14:30:56 +01:00
Holger Vogt
5cb5d218c9
Remove the obsolete RETSIGTYPE, replace by void
2023-03-18 14:30:29 +01:00
Holger Vogt
ff9c98f597
Patch 112 by Robert Turnbull
...
Remove compiler warning.
2023-03-18 14:30:15 +01:00
Holger Vogt
3ff9643f49
Add a scale factor 'a' (atto, 1e-18)
2023-03-18 14:30:03 +01:00
holger
f9ed3fd080
Patch by Robert Turnbull: remove warning messages
2023-02-05 11:25:42 +01:00
Holger Vogt
4309bad14d
Set the recounter to 0 upon every exit from function inp_get_param_level
2023-02-03 18:50:55 +01:00