Brian Taylor
2213edca55
Merge branch 'pre-master' into bt_dev
2023-04-01 09:12:34 -07:00
Holger Vogt
4a95de5cd7
We are developing towards ngspice-41
2023-04-01 17:31:59 +02:00
Giles Atkinson
7f4eb1c7d8
Add examples of controlling auto-bridge behaviour
...
with the "vcc" and "family" parameters.
2023-04-01 13:56: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
6eeb48bb5a
Remove obsolete READMEs from distribution, add new and interesting ones
2023-03-27 15:52:19 +02:00
Holger Vogt
6060a2fb93
typos
2023-03-27 10:03:10 +02:00
Holger Vogt
95c4c0f587
Add inertial.h to the distributable headers
2023-03-25 15:36:15 +01:00
Holger Vogt
c4c77211e9
Prepare ngspice-40
2023-03-25 13:08:51 +01:00
Holger Vogt
806489860f
Prepare for ngspice-40
2023-03-24 23:47:10 +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
Brian Taylor
3378ecb6e2
Revert "Add a flag to indicate when U* devices are translated to Xspice. The flag is cleared in inp_spsource and set in u_instances. A call to were_devices_translated() has been added to the start of inp_probe, with a comment that the return value can be used for "probe alli" suppression. Code for suppression of alli is not included."
...
This reverts commit bc8d2605f9 .
2023-03-24 10:56:09 -07: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
Brian Taylor
bc8d2605f9
Add a flag to indicate when U* devices are translated to Xspice. The flag is cleared in inp_spsource and set in u_instances. A call to were_devices_translated() has been added to the start of inp_probe, with a comment that the return value can be used for "probe alli" suppression. Code for suppression of alli is not included.
2023-03-21 10:36:02 -07:00
Brian Taylor
e0a22f01f6
Merge branch 'pre-master' into bt_dev before adding U* transformation flag to disable probe alli.
2023-03-20 17:49:37 -07:00
Holger Vogt
acca48dd19
VBIC: Add bvbe, bvbc, and bvce as redundant SOA parameters
2023-03-20 21:34:02 +01:00
Holger Vogt
50a52a19cf
Check for buggy diode instance line, avoid crash
2023-03-20 21:32:24 +01:00
Holger Vogt
269524eaf7
Add VDMOS default junction cap IRF540 IRF9540
2023-03-20 12:34:31 +01:00
Holger Vogt
a7d04da023
Set default VDMOS model parameters to resemble IRF540, 9540
2023-03-20 09:46:58 +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
Giles Atkinson
d3ce882ce7
Add inertial delay to missed d_xnor and tidy blank lines in d_xor.
2023-03-19 14:36:19 +01:00
Giles Atkinson
f91b5d6637
Inertial delay for remaining simple gates and buffers:
...
nand or xor open_c open_e, but not tristate.
2023-03-19 14:36:14 +01:00
Giles Atkinson
393be43887
Correct timing of transitions to UNKNOWN.
2023-03-19 14:36:09 +01:00
Giles Atkinson
a1e42bd041
Add missed file inertial.h.
2023-03-19 14:36:04 +01:00
Giles Atkinson
6afdc33b21
Interim version of inertial delay for tristate buffer.
...
This does not handle three-way or mixed transitions.
2023-03-19 14:36:00 +01:00
Giles Atkinson
22f3690fa4
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-19 14:35:56 +01:00
Giles Atkinson
a9270aa312
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-19 14:35:52 +01:00
Giles Atkinson
4d8e17487b
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-19 14:35:42 +01:00