Brian Taylor
266d944745
Remove unnecessary hierarchical level check.
2022-10-08 16:50:15 +02:00
Brian Taylor
bd00738a49
Fix memory leaks in ff/latch code.
2022-10-08 16:50:03 +02:00
Brian Taylor
e2652d813d
If ps_udevice_msgs >= 2, print complete line of unsupported PSpice instance. For debugging purposes.
2022-10-08 16:49:38 +02:00
Giles Atkinson
c704854b3c
Fix bug reported by Anant Devi in user discussion 22/9/22.
...
A function call, vi(v) was misparsed as the special token i(vsource)
for the current in a voltage source.
2022-10-08 16:49:02 +02:00
Giles Atkinson
d9952575dd
Correct the digital state resolution table, that was previously asymmetric.
...
An equivalent change is mentioned in the SPICE OPUS change history.
2022-10-08 16:48:20 +02:00
Giles Atkinson
372d9b2c87
Add bidirectional digital/analog bridge.
2022-10-08 16:48:11 +02:00
Giles Atkinson
e80b724460
Add two functions to the Code Model Library: cm_get_node_name()
...
makes circuit node names available to diagnostics, while
cm_probe_node() is needed for a bidirectional A/D bridge.
2022-10-08 16:47:50 +02:00
Giles Atkinson
8cc9d8522f
Fix bug #602 "Warning message trying to linearize a transient analysis vector"
...
by changing the way "ngspice -a" (autorun option) works. The inserted code
now checks whether a simulation has already run by examining $curplot
before forcing "run". Also at most one simulation is forced to run.
2022-10-08 16:47:30 +02:00
Giles Atkinson
06131d8107
Rewrite code with Visual Studio complaints.
2022-10-08 16:47:09 +02:00
Holger Vogt
56d07aab31
Transfer i(xx) to xxx#branch only when i is the first
...
character of the token or preceeded by a space.
2022-10-08 16:46:51 +02:00
Holger Vogt
92ba8ac88e
Just to notify that this might need a better solution
2022-10-08 16:46:18 +02:00
Holger Vogt
f832380dc9
FIXME: This is a hack to re-enable 'make check'
...
Do not print warning if in batch mode.
2022-10-08 16:46:01 +02:00
Holger Vogt
98763c0add
Note: ix: dc value used for op instead of transient time=0 value
...
Former warning message or note only issued when dc value and
value at transient time=0 differ.
2022-10-08 16:45:38 +02:00
Holger Vogt
7483f6224d
Note: vs: dc value used for op instead of transient time=0 value
...
Former warning message or note only issued when dc value and
value at transient time=0 differ.
2022-10-08 16:45:14 +02:00
Holger Vogt
6037450952
Warning message, when 'run' is called without job
...
(tran, op, ac etc.) is defined.
2022-10-08 16:44:48 +02:00
Holger Vogt
3af627db44
Change error messages to warning messages, because simulator moves on
...
and command is ignored.
Make messages more verbose (which command?).
2022-10-08 16:44:30 +02:00
Holger Vogt
1bcbe8e6d8
Don't send error message to stdout, but to stderr.
2022-10-08 16:44:01 +02:00
Holger Vogt
519ce44227
safeguard against circuit not being abvailable,
...
avoid crash
2022-10-08 16:43:41 +02:00
Holger Vogt
4713cf0bf7
add parameter description
2022-10-08 16:43:16 +02:00
Brian Taylor
e703bd9142
Add comment about ps_udevice_msgs variable. Set to 1 will print PSpice instance names and types which are not supported and are found when processing a subckt.
2022-10-07 13:48:37 +02:00
Brian Taylor
e9855be595
If variable ps_port_directions >= 2, also show the translated Xspice statements.
2022-10-07 13:48:05 +02:00
Holger Vogt
1d026475a2
pwlts: a pwl v/i source with time input, smoothing and limiting functions
2022-10-07 13:39:16 +02:00
Holger Vogt
0754ea7657
Make the Error message a Warning message,
...
because ngspice may move on
2022-10-07 13:38:20 +02:00
Holger Vogt
0af4932c6f
Prevent a crash if (due to input error) the node_table is not available.
2022-10-07 13:37:57 +02:00
Holger Vogt
43c5ffaae8
Add special savecurrents options:
...
options savecurrents_bsim3, savecurrents_bsim4, and savecurrents_mos1
will save all device currents as listed in chapts 31.6.1, .8 and .9
of the ngspice manual. Pure savecurrents will yield a subset of MOS1
currents, as seen before.
2022-10-07 13:24:12 +02:00
Holger Vogt
e6772f4e4e
Prevent crash in gettok() and similar functions by checking for NULL
...
input. Return NULL instead.
2022-10-07 13:23:25 +02:00
Holger Vogt
2126230b64
Prevent crashes when nodes or tables are not available,
...
e.g. due to missing input file.
2022-10-07 13:22:59 +02:00
Holger Vogt
037293c81e
Improved error message: more info on the bad set form
2022-10-07 13:22:43 +02:00
Giles Atkinson
a0357b3432
Remove search for "family" parameters on subcircuits in XSPICE
...
automatic bridging support as string-valued parameter support is
not yet intgrated.
2022-10-07 13:20:34 +02:00
Giles Atkinson
4115064fd5
Latest auto-bridge code from development branch.
2022-10-07 13:20:17 +02:00
Giles Atkinson
b1341c8e30
Insert XSPICE bridging devices automatically when an analogue node
...
has the same name as an XSPICE event node (including digital nodes).
The function Evtcheck_nodes() is replaced by a new version in its
own file.
2022-10-07 13:19:59 +02:00
Holger Vogt
07bb809158
Iterations for op or dc may start with arguments 0 for ln().
...
To cope with this, and potential overflow in exp function,
some limits have been added.
2022-10-07 13:19:22 +02:00
Holger Vogt
d39c60542d
Enable power measurement for W switch
2022-10-07 13:18:51 +02:00
Holger Vogt
79bb8edc90
Allow individual current measurements in switches or
...
linear dependent sources.
2022-10-07 13:18:15 +02:00
Holger Vogt
7e610c8487
.probe alli improved:
...
* Enable current mesurement for I source
* Look at only the first 2 nodes of S and W switches
and F and G controlled current sources, measure current
with = voltage source added to second node. So we get
I(Fx), I(Gx), I(Sx), and I(Wx).
2022-10-07 13:17:30 +02:00
Giles Atkinson
04445e42ea
Make FROM/TO work in TRIG/TARG and WHEN variants of .meas/meas command.
...
Discussion at
https://sourceforge.net/p/ngspice/discussion/133842/thread/973e152274/
2022-10-07 13:16:28 +02:00
Holger Vogt
a1dd1f5563
Check for tran at first when linearize is called.
2022-10-07 13:16:03 +02:00
Brian Taylor
3ca91aa1ac
Make a trivial change to support (n)and3a, (n)or3a, (n)xor3a types. These are not used in any of the Micro Cap libraries. Completes support for Pspice tristate gate types.
2022-10-07 13:15:45 +02:00
Brian Taylor
abd4af1ae6
Ignore IO models in a subckt. Setting variable ps_port_directions to a non-zero int prints the directions (IN, OUT, INOUT) of subckt ports.
2022-10-07 13:14:58 +02:00
Brian Taylor
2d9f86c742
Check for name collisions between nodes generated during translation from Pspice to Xspice and instance pin or subckt port names. These are reported as ERRRORs.
2022-10-07 13:14:35 +02:00
Holger Vogt
c8ed9590b7
Handle the case when control voltages on and off are equal.
...
Update the linear switch: add the limits to resistance ron, roff
Update the log switch: correct the resistance calculation for
von < voff
Add some examples for the pswitch.
2022-10-07 13:12:56 +02:00
Holger Vogt
b94ef139dd
Avoid an endless loop: Safeguard function
...
search_plain_identifier(char *str, const char *identifier)
against identifiers being an empty string.
2022-10-07 13:12:30 +02:00
Holger Vogt
5b0b328186
If a node name to be plotted ends by ':power', its type is set to POWER.
...
Thus 'settype power nodename(s)' in the examples is no longer necessary.
2022-10-07 13:12:04 +02:00
Holger Vogt
fc0bf595f2
Update to .probe command:
...
If no .save or save command given by the user, add '.save all' internally.
To do so, check for .save or save.
Update to the .probe p command (power measurement)
Add probe_int_ to internal nodes and instance names, where appropriate.
These nodes will be disregarded when setting up the plot structure.
2022-10-07 13:11:42 +02:00
Holger Vogt
3da97fa277
Handle .if ... .else ... .endif before .csparam is executed,
...
thus allowing parameter entry to .control section being dependent
on .if
2022-10-07 13:10:31 +02:00
Giles Atkinson
8038021369
Remove some dead code in the dec_bridge code model.
2022-10-07 13:09:36 +02:00
Giles Atkinson
88d5e723ed
Fix double free in XSPICE CALLBACK functions as desribed here:
...
https://sourceforge.net/p/ngspice/mailman/message/37677362/
and add missing CALLBACKs in models that use STATIC_VARs with
pointer values.
2022-10-07 13:09:15 +02:00
Giles Atkinson
10d3e1b754
Extend the output and partial derivatives of the output from the 2/3-D
...
table lookup models (XSPICE) continuously outside the defined
rectangle or cube, as it may help convergence and avoid ambiguity caused
by rounding at the boundaries. See bug #591 "Wrong 2D table model output".
The value is that of the nearest point in the region while the reported
derivative is ramped to zero outside the boundaries.
Also fixes incorrect output at the upper limit in each dimension.
2022-10-07 13:09:00 +02:00
Giles Atkinson
8ef2d8dec8
Fix memory leak by moving the state transition table to a STATIC_VAR
...
whose memory can be recovered by a call back. Also make cfunc.mod
less ugly.
2022-10-07 13:08:42 +02:00
Holger Vogt
0e885bc3a9
Function guess_type may yield the wrong type, because
...
it does not cover all of the the many, many options possible.
This commit fixes bug597, where [current] was interpreted as
capacitance.
2022-10-07 13:06:29 +02:00
Holger Vogt
7f65a68ad6
Improve (a little) the plotting of digital data with plot option digiplot:
...
Repair scaling on MS Windows:
Suppress y axis lettering and unit:
Allow or dis-allow grid.
2022-10-07 13:05:56 +02:00
Holger Vogt
9e290a3461
tabs to spaces
2022-10-07 13:05:30 +02:00
Holger Vogt
8a097c020e
Make error message more verbose: Instead of only "no such parameter on this device",
...
give name of bad parameter and respective line in netlist.
2022-10-07 13:05:10 +02:00
Holger Vogt
73ee9e452d
Prevent crash when ca or d are not defined. May happen when
...
.endc is missing.
2022-10-07 13:04:50 +02:00
Holger Vogt
b9014068e7
WinGUI: Add a button 'Stop' to stop a simulation in intercative
...
or control mode. ngspice enters interactive mode and waits for user
commands. Simulation result vectors are available up to the
(time) point of stopping. Simulation may continue by command
'resume', however now in interactive mode, a control flow stays
interrupted.
2022-10-07 13:04:25 +02:00
Holger Vogt
d1cbcb080c
Re-format cktdojob.c
2022-10-07 13:03:35 +02:00
Holger Vogt
9e1eac0613
Correct comment: Command circbyline is not involved,
...
we are sending the netlist as an array.
2022-10-07 13:03:18 +02:00
Holger Vogt
a597c6a295
Suppress I/O redirection for command 'circbyline'.
...
This enables sending commands like
circbyline btest testnode 0 v=((v(in1) - v(in2)) < 0.1 ? 0.111 : v(in1))
2022-10-07 13:02:39 +02:00
Holger Vogt
f073fb5c05
Consecutive tran and ac simulation may lead to gross errors
...
when TC or scale is used on the instance line of C and L.
Reason is the missing reset when CKTtemp is called once during each
simulation command. TC or scale is then applied again and again,
a reset is missing.
This patch adds a reset, i.e. the capacitance or inductance is
reset to its instance value in a call to *temp. It fixes bug#594.
Command 'alter' has been tested.
Resistance has not been tackled by this bug, because the line
here->RESconduct = here->RESm / (here->RESresist * factor * here->RESscale);
differs from
here->CAPcapac = here->CAPcapac * factor * here->CAPscale;
in that there is no accumulation of correction factors with here->RESconduct
2022-10-07 13:02:12 +02:00
Holger Vogt
c26e4c990a
Move evaluation of statistical functions inside of a B source
...
to after numparam expansion, thus allow parameters in functions agauss etc.
Replace gettok by new gettok_np to ignore characters ( ) ,
which may be left over after parameter expansion.
This fixes bug 593.
2022-10-07 13:01:33 +02:00
Holger Vogt
ab6e273a5e
Remove inner couple {...} from {{...}} only when instance is not
...
a behavioral source which will be translated to a B source.
2022-10-07 13:01:07 +02:00
Holger Vogt
1329942865
Add a new function char* gettok_np(char** s)
...
which finds a token, while scanning over (), like
they were white spaces. It also proceeds with s while
still finding (), (which gettok_noparens does not do).
2022-10-07 13:00:44 +02:00
Holger Vogt
d46b4030fb
Avoid jump in phase when crossing 90° boundaries.
...
Code similar to cx_cph in cmath1.c
2022-10-07 13:00:02 +02:00
Brian Taylor
b6db33f472
There needs to be 2 variants of d0_gff. One for d_dlatch, the other for d_srlatch.
2022-10-07 12:56:37 +02:00
Brian Taylor
a8f103eebc
Clean out dead code in model processing.
2022-10-07 12:56:14 +02:00
Brian Taylor
1a00a30f18
Add support for srff.
2022-10-07 12:55:59 +02:00
Brian Taylor
7f38ce4ebb
Remove debug code.
2022-10-07 12:55:42 +02:00
Brian Taylor
648218d5a8
Remove invalid check.
2022-10-07 12:55:25 +02:00
Brian Taylor
6a067378cb
Add optional debug code to check for name collisions. Connector nodes between gates now have a con_ prefix.
2022-10-07 12:55:06 +02:00
Brian Taylor
5b3862ebc7
Prevent multiple d_zero_inv99 models per subckt.
2022-10-07 12:54:54 +02:00
Brian Taylor
9361e9ae6c
Follow convention, use eq() macro. Show replacement cards when ngdebug=TRUE.
2022-10-07 12:54:32 +02:00
Brian Taylor
e38e1099b5
Create pin and port lists only when variable ps_pins_and_ports is set != 0.
2022-10-07 12:54:17 +02:00
Brian Taylor
ac9559db76
Remove optional:, params:, text: before generating a ports list.
2022-10-07 12:54:03 +02:00
Brian Taylor
528c50dc46
Retain the param: section after removing the optional: section from a Pspice subckt declaration.
2022-10-07 12:53:41 +02:00
Brian Taylor
5a50868264
Add more comments. Move incompatible input name checks to add_..._inout_timing_model() functions for dff, jkff, dltch.
2022-10-07 12:53:22 +02:00
Brian Taylor
e8dfd16cb2
Add counter test. Check for usage of $d_lo, $d_hi, $d_nc usage with dff, jkff, dltch which will not translate to Xspice.
2022-10-07 12:52:39 +02:00
Brian Taylor
ecf4ea8978
Get rid of -Wpedantic warnings.
2022-10-07 12:52:04 +02:00
Brian Taylor
4ce9add137
Remove debugging asserts.
2022-10-07 12:51:51 +02:00
Brian Taylor
bc8d67d5fa
Generate lists of subckt ports indicating direction (in, out, inout.)
2022-10-07 12:51:33 +02:00
Brian Taylor
1fb533a3d4
Stopped memory leak in continuation cards when removing old cards.
2022-10-07 12:51:18 +02:00
Brian Taylor
89c698d4ea
Slight cleanup. Some work ensuring that generated names do not collide may be necessary.
2022-10-07 12:51:03 +02:00
Brian Taylor
219ca23635
For debug tracing, list the cards before and after udevice replacements.
2022-10-07 12:50:51 +02:00
Brian Taylor
18e17cefdf
Add pullup/down. Skip spurious '*' line.
2022-10-07 12:50:30 +02:00
Brian Taylor
813c73966d
Add support for oa/oai compound gates.
2022-10-07 12:50:10 +02:00
Brian Taylor
7b5c780043
Fix a memory leak. Cleanup the code a bit. All-digital Pspice subckts with U* devices for most used gates/ff can be handled. More extensive test cases are necessary. Also, interfacing subckts with analog ports is not implemented.
2022-10-07 12:49:46 +02:00
Brian Taylor
96a1b528fd
Replace Pspice U* and .model cards with their Xspice equivalent statements. There are still memory leaks which will be plugged next. The .subckts have only digital ports, which will need to addressed for mixed A/D designs.
2022-10-07 12:49:29 +02:00
Brian Taylor
2c3c632349
Add translation of ao/aoi compound gates.
2022-10-07 12:49:06 +02:00
Brian Taylor
a2fd346b1a
Trial run at scanning cards for Pspice U* devices and models. #define INTEGRATE_UDEVICES to turn it on. No new cards are created yet, just lots of debugging info.
2022-10-07 12:48:51 +02:00
Brian Taylor
9bbcf20584
Add brief usage notes and makefile. asserts will need to be removed after integration is complete.
2022-10-07 12:48:36 +02:00
Brian Taylor
b367434c78
Add default zero delay models d0_gate, d0_eff, d0_gff, d0_tgate. Use tprintf.
2022-10-07 12:48:21 +02:00
Brian Taylor
620c15a981
Initial files for translating Pspice u.. instances and timing models into Xspice equivalents. Standard gates, tristate gates, dff, jkff, dlatch are supported. Compound gates and pullup/down are not done. Makefile and frontend/inpcom.c changes have not been finished. These modifications will be needed to complete integration.
2022-10-07 12:47:59 +02:00
Holger Vogt
564a3cb2f7
No error message when Optran returned 0
2022-10-07 12:40:49 +02:00
Holger Vogt
d3a436b7dd
re-format indmask.c
2022-10-07 12:39:49 +02:00
Holger Vogt
0387a95218
Add missing parameter retrival
2022-10-07 12:39:35 +02:00
Holger Vogt
b4a2c85b54
Asl Lundin's correction only when suitable modelparameters are given.
2022-10-07 12:39:10 +02:00
Holger Vogt
360b7dc7ed
Make warning message on missing init file more verbose.
2022-10-07 12:38:38 +02:00
Holger Vogt
f1d944e4c4
remove typo
2022-10-07 12:38:02 +02:00
Holger Vogt
f698ce6281
Write out the current in the old fashion
...
1 v1#branch current
when keep#branch is set in .spiceinit.
To make the raw file compatible with ICCAP.
2022-10-07 11:39:18 +02:00
Holger Vogt
879030bbd8
Add a warning when Lundin's correction factor is not
...
calculated because the geometries are too small (< 1um).
2022-10-07 11:37:55 +02:00
Holger Vogt
500d72f270
Add coil diameter dia to the inductor parameters.
...
dia (diameter) takes preference over csect (cross section)
2022-10-07 11:37:37 +02:00
Holger Vogt
79ef586fef
Add Lundin's geometry correction to the
...
inductance formula
2022-10-07 11:37:13 +02:00
Holger Vogt
4a96691b49
Fix a bug in the inductance formula.
2022-10-07 11:36:50 +02:00
Holger Vogt
6b83a57a18
Exit when executing the input fails,
...
if -o option (log file) is set and not in interactive mode.
Enables running the paranoia suite without hanging if
something goes wrong.
2022-10-07 11:36:31 +02:00
Holger Vogt
c76efd47ed
If the 'source' command fails, fall back to the input
...
only if in interactive mode. Otherwise exit.
2022-10-07 11:36:07 +02:00
Holger Vogt
b46dd5effd
Limit the number of messages 'Warning singular matrix: ...' to 6,
...
if not 'set ngdebug'
2022-10-07 11:35:38 +02:00
Holger Vogt
f7c5c93635
Make error message more verbose:
...
State explicitely when transient op has failed.
2022-10-07 11:35:11 +02:00
Holger Vogt
1e304c6e53
Prevent a crash when line is empty
2022-10-07 11:34:39 +02:00
Holger Vogt
e460b18f97
Allow 'nulltype', which returns NULL pointer.
...
Thus prevent a crash in cieq.
2022-10-07 11:34:25 +02:00
Holger Vogt
fc83328952
Rename the internal circuit nodes generated by .probe
...
to probe_int_xxx to make it probe specific.
Don't save these nodes.
2022-10-07 11:34:04 +02:00
Holger Vogt
9619b52180
Don't save the internal device node collCX, added
...
for a new quasi-saturation model of bjt
2022-10-07 11:33:46 +02:00
Holger Vogt
d93295136b
When plotting the phase, standard now is "Radiant".
...
Only with 'set units=degrees" we plot with unit Degree.
2022-10-07 11:33:24 +02:00
Holger Vogt
eb79e91175
This is a fix to bug report 589 by Bohdan Tkhir:
...
Remove only mfg=something, icrating=, vceo=, type=,
not any combination of text like net_type=... .
Restrict this removal to compatibility modes ps or lt.
2022-10-07 11:32:56 +02:00
Holger Vogt
a2beac6741
not only de-allocate the vector, but also remove it from the list.
...
This is to prevent a crash when after simulating with a buggy input like:
save all @q1[nonesense] (non-existing parameter) a command 'print all'
is given.
2022-10-07 11:32:30 +02:00
Giles Atkinson
aaa6798950
Fix bugs found while investigating Bug #585 (convergence failure only
...
on Linux). In dctran.c make it impossible for a transient simulation
to run far past its end time and fix an infinite loop attempting to remove
the automatically-inserted ending breakpoint. In outitf.c fix memory
corruption if the simulation does over-run (change suggested by Holger Vogt).
2022-10-07 11:32:02 +02:00
Holger Vogt
e5c162f126
dc sweep fails after transient sim:
...
keep MODEDCTRANCURVE as provided by commit
7d8236766 ("b3ld.c, b4ld.c, b3v32ld.c: enable capacitance calculation during dc sweep", 2012-10-03)
Instead exclude current integration when MODEDCTRANCURVE is selected.
Unify setting ChargeComputationNeeded in b4vdld.c,
make it as in other b4xxld.c.
2022-10-07 11:31:06 +02:00
Holger Vogt
838ad2b10c
Add multiplier flag 'm' to behavioral capacitor and inductor
2022-10-07 11:30:25 +02:00
Holger Vogt
4c8324f166
VIN 3 0 PULSE (-1 1 2NS 2NS 2NS 50 NS 100 NS) is now standard
...
(missing dc value).
So revert the warning message:
VIN 3 0 dc 0 PULSE (-1 1 2NS 2NS 2NS 50 NS 100 NS) yields
a note message (not a warning)
2022-10-07 11:29:53 +02:00
Holger Vogt
0faf386d45
We developing towards ngspice-38
...
The intermediate stage is named 37+
2022-06-23 08:33:01 +02:00
Holger Vogt
7e8e9ef001
Update copyright info to 2022
2022-05-14 16:32:01 +02:00
holger
6d3f92cec6
add new header spardefs.h to noinst_HEADERS
2022-05-12 17:35:16 +02:00
holger
cf15e904e2
add *.h to the source files
...
to allow 'make dist' distributing them
2022-05-12 17:24:26 +02:00
Holger Vogt
303cf0c92b
Prepare ngspice-37
2022-05-11 13:48:33 +02:00
Giles Atkinson
40c2419a43
Two memory leaks found interactively with valgrind with safe fixes.
2022-05-10 15:30:08 +02:00
Giles Atkinson
7511bef7d4
Fix memory leak found by valgrind/paranoia.
2022-05-10 15:29:59 +02:00
Giles Atkinson
8c7b7789d9
Suppress warning from gcc 10.2.1.
2022-05-10 15:29:43 +02:00
Giles Atkinson
daad3fb3c5
Fix memory leaks found by valgrind in the paranoia script.
2022-05-09 10:08:06 +02:00
Giles Atkinson
dbf4c16bc0
Fix XSPICE memory leaks found by valgrind.
2022-05-09 10:07:57 +02:00
Giles Atkinson
88481d4bfb
Further change for #578 "Crash while plotting single complex vector".
...
Move the check on vector lengths to ensure all cases are covered.
2022-05-09 10:07:33 +02:00
Holger Vogt
e80dad01fc
Fix bug 581, reported by Adam Denton
2022-05-09 10:07:20 +02:00
dwarning
67508eab37
more logical setup for absurd parameter input
2022-05-09 10:07:05 +02:00
dwarning
720f29851a
prevent crash for absurd parameter input
2022-05-09 10:06:55 +02:00
Holger Vogt
899cdbc281
Enable compiling the shared ngspice library with S-parameters enabled
2022-05-02 11:43:46 +02:00
Holger Vogt
cc285741f5
Don't use bitwise operators, but logic operators
2022-05-01 10:30:18 +02:00
Holger Vogt
ff3580d70f
Avoid circular redundant function declaration.
...
Include vsrcext.h only via vsrcdefs.h, so VSRCinstance is defined.
2022-05-01 10:30:12 +02:00
Holger Vogt
cb17062344
Remove unused (preliminary)
2022-05-01 10:30:02 +02:00
Holger Vogt
be4df00678
add some missing prototypes
2022-05-01 10:29:52 +02:00
Giles Atkinson
dc978a4193
Suppress warnings from function pointer casts seen with gcc 10.2.1.
2022-05-01 10:29:43 +02:00
dwarning
d4f64da671
simplification of hicum2 model switches selfheat and nqs
2022-05-01 10:29:31 +02:00
dwarning
3d4d9b01d0
#bug 580: prevent crash in case of hicum2 default parameter set
2022-05-01 10:29:23 +02:00
dwarning
4038dd3a7f
#bug 580: prevent crash in case of hicum2 default parameter set
2022-05-01 10:29:17 +02:00
Holger Vogt
0e46f6f8a1
remove numerous unsigned int vs. int warnings
...
by setting all variables to type int.
Remove redundant function declarations by remmoving some includes
in span.c and vsrcdefs.h
In tmalloc convert int to size_t
2022-05-01 10:29:08 +02:00
Holger Vogt
d805674a94
Set {} to remove compiler warning (VS)
2022-05-01 10:28:51 +02:00
dwarning
eaf67ac940
correct pnp type bipolar transistor current convention
2022-05-01 10:28:23 +02:00
Holger Vogt
3073d8c7d3
Fix a bug: remove excess ')'
2022-05-01 10:28:08 +02:00
Holger Vogt
8e80933cfa
If XSPICE is not selected, still send CKTspDump(ckt, freq, spPlot),
...
but without ipc (spPlot instead of undefined acPlot)
2022-04-29 07:29:33 +02:00
Holger Vogt
764a651b73
Add a note that wrs2p currently is limited to two ports only.
2022-04-29 07:29:24 +02:00
Holger Vogt
129893b399
S-parameters: Replace S11 by S_1_1 etc. to avoid ambiguity
...
when more than 10 ports are measured.
Update to S-parameter script and command wr2sp
2022-04-29 07:29:14 +02:00
Holger Vogt
67726f7f8b
Add new flags to command devhelp:
...
-type (show parameter types)
-flags (show parameter flags)
Patches provided by Mikolaj Wielgus
2022-04-28 09:29:02 +02:00
Giles Atkinson
41e48b954d
Rename a variable so that it does not clash with one in outer scope.
2022-04-26 10:37:28 +02:00
Holger Vogt
b6abcb0436
Searching for params: as plain identifier
2022-04-26 10:37:19 +02:00
Holger Vogt
6153f2c887
Remove the special handling of X... device names.
...
Subcircuit devices are saved with leading X in their names.
2022-04-26 10:37:03 +02:00
Giles Atkinson
519915202f
Fix Bug #577 "Zooming iplot drops vectors" and three crashes when
...
the iplot window is closed during simulation.
2022-04-26 10:36:55 +02:00
Holger Vogt
0be163d8d8
Search for "off" token in device instance lines not with
...
C standard fcn strstr, but with search_plain_identifier().
Thus allow model names that contain "off" (like offset)
2022-04-26 10:36:24 +02:00
Holger Vogt
08a12b5355
Add a function itoa10 and use it
...
instead of non-standard itoa.
2022-04-26 10:36:10 +02:00
Holger Vogt
d04445e085
When calculating power, we need to exclude thermal nodes
...
of devices like diodes (d) and MOS (m)
2022-04-26 10:35:56 +02:00
Holger Vogt
2fabc53f4f
Add flag 'power' to fcn setallvsources()
...
Add code to calculate the power dissipation in a device
(top level instances, including X (subcircuit) invocations).
2022-04-26 10:35:44 +02:00
Holger Vogt
a165556088
revert polarity of current mesurements:
...
current positive when flowing into device, e.g.
Ic, Ib of a positively biased npn.
Add current measurement for all nodes of a device,
e.g. .probe i(Q1) will measure Ic, Ib, Ie (and Is)
2022-04-26 10:35:29 +02:00
Giles Atkinson
b3fd63ea88
Fix numerous gcc warnings of duplicate declarations.
2022-04-26 10:34:52 +02:00
Giles Atkinson
39b837a405
Fix Bug #402 "Crash related to aliases". Do not return freed pointer.
2022-04-26 10:34:45 +02:00
Holger Vogt
16f619818e
Remove a conflict between the text variable substitution like
...
set text = "mytext"
set newtext = new.{$text}
echo $newtext
and the command circbyline, which may have to process strings
containing braces {...} without any change to the string.
Do not call cp_doglob() when command circbyline is executed.
2022-04-26 10:34:35 +02:00
Holger Vogt
b798076415
make comment more verbose
2022-04-26 10:34:21 +02:00
Holger Vogt
597bc9edd0
Remove a typo: runable --> runnable
2022-04-26 10:34:11 +02:00
Holger Vogt
287406459a
Make error message more verbose
2022-04-26 10:33:41 +02:00
Holger Vogt
2915f8e991
In case of resistor valuues r150 (r + integer number),
...
return 150
R2 n1 n2 r150
In case of r23mod return error = 1 and val = 0, so
r23mod may be read as a model, not an instance parameter
R3 n3 n4 r23mod
2022-04-26 10:33:31 +02:00
Giles Atkinson
9ac4dab81a
Fix two crashes caused by trying to plot after circuit parsing failed.
2022-04-26 10:32:47 +02:00
Giles Atkinson
c65155880c
Make "nogrid" plotting option work. The deleted code was in the original
...
commit, so the reason for it can not be traced.
2022-04-26 10:32:39 +02:00
Holger Vogt
26c50de68b
function deriv: This is just a preliminary fix: prevent a crash
...
when base > 0.
But when is base supposed to be > 0 ? More invetigation is needed.
2022-04-25 21:34:41 +02:00
Holger Vogt
321d53a4e9
Patch to avoid false reads and writes due to inconsitent
...
structs SPAN and NOISEAN.
Prevent using non-initialized variables.
2022-04-25 21:34:32 +02:00
Holger Vogt
61797c9317
Compile only when RFSPICE is selected in config.h
2022-04-25 21:33:37 +02:00
Holger Vogt
768e4870c6
Linking failed on openSUSE Linux gcc:
...
make the inline functions static to allow linking
2022-04-25 21:32:57 +02:00
Holger Vogt
32a707fd22
Provide access to the necessary structs like cplx
2022-04-25 21:32:43 +02:00
Holger Vogt
d961c7c91d
add missing noisesp.c
2022-04-25 21:32:10 +02:00
Holger Vogt
7c57c9adbd
Patch suggested by Alessio Cacchiatori at
...
https://sourceforge.net/p/ngspice/discussion/127605/thread/7a2655c86f/
2022-04-25 21:31:49 +02:00
Alessio Cacciatori
4ebf4901b9
S-parameters in ngspice
...
With this commit the patch provided by Alessio Cacchiatori the S-parameter is completed:
Noise simulation added with C matrix output
Y and Z matrix output enabled
To allow compiling with gcc, the dense.h inline functions have been put into denseinlines.h
2022-04-25 21:31:28 +02:00
Holger Vogt
b1e73370ed
We start not at 0, but use the mean value (given in PARAM2) as
...
start value
2022-04-25 21:31:00 +02:00
Vadim Kuznetsov
b73939e379
Patch allowing call to S parameter simulation also from .control section by using command 'sp'
2022-04-25 21:30:52 +02:00
Holger Vogt
99f2414caf
Prevent a segfault when the parameter to command 'repeat' is given,
...
but cannot be evaluetd to a number.
2022-04-25 21:30:27 +02:00
Holger Vogt
56a3771d9a
.probe: replace (all) by alli (we only measure all currents)
2022-04-25 21:29:39 +02:00
Holger Vogt
4cc6222230
Make function search_plain_identifier non-static
...
Declare info on the compatibility mode as a 'Note'.
2022-04-25 21:29:25 +02:00
Holger Vogt
696736b2b3
adding expressions in {} as pwl parameters
...
not complete, still requires caring about the FIXME above.
2022-04-25 21:28:52 +02:00
Holger Vogt
242a1d796a
Remove the "type" declaration from a .model line
2022-04-25 21:28:32 +02:00
Holger Vogt
a1eb0cc63d
If XSPICE is not selected, still send CKTspDump(ckt, freq, spPlot),
...
but without ipc (spPlot instead of undefined acPlot)
2022-04-25 21:28:16 +02:00
Holger Vogt
36868e0b0f
Use #ifdef XSPICE to exclude findvec_alle() if
...
XSPICE is not selected.
2022-04-25 21:28:03 +02:00
Holger Vogt
ed2d48756c
exclude 'type=xxx' from model declaration
2022-04-25 21:27:53 +02:00
dwarning
45d5d9a764
remove duplicate pointer allocation
2022-04-25 21:27:39 +02:00
Holger Vogt
246f9f5e9e
d_pwm: Add a hybrid oscillator (analg control in, digital out) with PWM
...
(pulse width modulation) capability, oscillation frequency is a parameter.
The model has been derived from the d_osc example.
2022-04-25 21:27:26 +02:00
Holger Vogt
f21255ef1b
Fix regression bug #579
...
Accept numbers to ac statement in voltage (current) sources
also given as parameters.
2022-02-22 20:39:20 +01:00
Holger Vogt
20d5919e59
Terminal setting to X11 fails in macOS, and is not required
...
on Linux.
Setting terminal here is redundant, so remove this setting.
2022-02-22 15:22:21 +01:00
Holger Vogt
12a93c9fe6
Update to plotting of event nodes:
...
Distance is now 1.5, scaling and cutouts are possible
(with some lack of precision).
Still missing: y axis labeling (no numbers, but node names).
2022-02-21 20:19:56 +01:00
Holger Vogt
342a16d6e1
Add a flag 'alle' (all event nodes) to the plot command (and maybe others).
...
All event nodes with length greater than 1 are translated to vectors
with a common scale (named step) and are assembled in a new plot
named 'digital'. They may be plotted or otherwise used in a
.control section.
2022-02-21 20:16:20 +01:00
Holger Vogt
0557bc60bf
Prevent crash if nsp is evaluated to 0
2022-02-21 16:56:16 +01:00
dwarning
20abe9ca38
white spaces
2022-02-20 14:55:10 +01:00
Holger Vogt
917dab9da7
new flag 'digitop' for the 'plot' command:
...
Plot digital (event nodes) vertically, separated by 0.1
The grid is adapted acordingly.
set xbrushwidth=3 will yield good results.
2022-02-19 17:25:57 +01:00
Holger Vogt
7130097710
Prevent crash when no simulation has been run and
...
asking for plotting an event node
2022-02-19 17:23:36 +01:00
Holger Vogt
954cc86e59
Add new or upgraded functions as of 01-09-22.
...
Add a function prototype for cmod.
Rename function conj to conju because conj
is already defined differently in complex.h
2022-02-17 15:49:53 +01:00
Holger Vogt
94a73ffef2
Add changes from 01-09-22, but without the extra extern calls,
...
which have led to a bunch of warnings when compiling with gcc.
2022-02-17 15:49:33 +01:00
Holger Vogt
e99638c89f
Remove int <--> unsigned int warning
2022-02-17 15:49:20 +01:00
Holger Vogt
4e1ae255f6
Inlude code into #ifdef RFSPICE ... #endif
...
to allow compiling without pre-processor flag RFSPICE.
2022-02-17 15:49:09 +01:00
Holger Vogt
de572d2cdf
Remove in <--> unsigned int mismatch
2022-02-17 15:48:52 +01:00
Holger Vogt
c2d279a1ef
Remove trailing spaces.
2022-02-17 15:48:31 +01:00