Holger Vogt
cb0e794907
Prevent buffer overflow, remove unused
3 years ago
Holger Vogt
de98e49956
Set brackets to remove gcc compiler warning
3 years ago
Giles Atkinson
ad02a7c47a
Remove duplicate definition of variable idp, as compiler may warn.
3 years ago
Holger Vogt
d173deea64
Activate callback, remove memory leak
3 years ago
Giles Atkinson
738881a014
Complete version of intertial delay for d_tristate. The State and
Strength members are treated independently and combined in the output.
3 years ago
Giles Atkinson
ee7250e11f
Fix a crash when trying to auto-bridge a real-valued event node
and improve an error message.
3 years ago
Holger Vogt
75ce3c95e3
eprvcd [-a] [-t timescale] node node ...
timescale is now given by minimum 1fs, maximum 1s.
3 years ago
Holger Vogt
7c0bbcd9b2
Remove vs2022 linker warning (ctx potentially uninitialized)
3 years ago
Holger Vogt
da3dda3269
replace exp10() by pow(10, ...),
exp10 not available in VS2022
3 years ago
Holger Vogt
dc5291fa91
fopen_with_path enable path search (directory of recent inputs or
NGSPICE_INPUT_DIR)
3 years ago
Giles Atkinson
4df2e69009
Fix Bug #629 - "XSPICE d_osc failures". The old code has been completely
replaced by a new design that is faster, more reliable and does not
usually insert analog breakpoints.
3 years ago
Giles Atkinson
4cc0ac846d
Add an option for parameters to the xfer code model to be provided
in a Touchstone-format file instead of as a model parameter.
The change to mif_inp2.c allows the "table" parameter to be omitted.
3 years ago
Giles Atkinson
84821a4cf5
Add support for including analog node changes in VCD file output,
and an option to explicitly set the VCD timestep. Correct the
output value for high-impedance nodes.
3 years ago
Giles Atkinson
576f218945
Fix the NAND and NOR variants of XSPICE code model multi_input_pwl
and add an example of its use with the E-source NAND variant.
3 years ago
Giles Atkinson
3a260fd4d9
Fix Bug 584 - "XSPICE dac_bridge model shows incorrect output timing."
Remove reliance on exact breakpoint timing and tidy code.
3 years ago
Giles Atkinson
e5a931e537
Improve commands for vector scales. "setscale" can now change
or clear the scale of an individual vector and "compose" can
explicitly create a vector from XSPICE event node history.
3 years ago
Giles Atkinson
d31568bd83
Add parsing and translation of the FREQ form of E-source devices,
integrated with the existing parsing of AND/NAND/OR/NOR forms (inpcom.c).
For the implementation, add a new analog XSPICE code model, xfer.
Add an example to examples/sp.
3 years ago
Giles Atkinson
eeb912228a
When creating a plot vector from XSPICE event history, add a
final point at the end of the vector, so that a plotted line
does not end at the last event, leaving an odd spike.
3 years ago
Giles Atkinson
9099a922fd
Apply a patch from Aleksey Morozov to fix a bug that he identified
and reproduced. It is the same as Bug #331 -
"XSpice skips digital output point" except that it applies to the
instance queue, not the event queue.
3 years ago
Holger Vogt
678a6582f6
A preliminary fix to reduce the amount of missing pulses considerably.
Probably not yet the final solution.
3 years ago
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).
3 years ago
Holger Vogt
062785319a
When '.probe alli' is set, disable auto bridging and set a flag
3 years ago
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.
3 years ago
Giles Atkinson
98333ee89a
Fix a memory leak reported by Brian Taylor that was introduced
by commit 4d8e17487b .
3 years ago
Giles Atkinson
e25f8bd522
Add inertial delay to missed d_xnor and tidy blank lines in d_xor.
3 years ago
Giles Atkinson
cecce5163e
Inertial delay for remaining simple gates and buffers:
nand or xor open_c open_e, but not tristate.
3 years ago
Giles Atkinson
db38d4ad54
Correct timing of transitions to UNKNOWN.
3 years ago
Giles Atkinson
4623a04615
Interim version of inertial delay for tristate buffer.
This does not handle three-way or mixed transitions.
3 years ago
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(().
3 years ago
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.
3 years ago
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.
3 years ago
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.
3 years ago
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.
3 years ago
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.
3 years ago
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)
3 years ago
Holger Vogt
3ff9643f49
Add a scale factor 'a' (atto, 1e-18)
3 years ago
holger
f9ed3fd080
Patch by Robert Turnbull: remove warning messages
3 years ago
Giles Atkinson
7ead974a5a
Prevent crash when cm_analog_set_temp_bkpt() is called during OPtran().
3 years ago
Giles Atkinson
73e8fed0fc
Fix warnings from gcc 10.2.1.
3 years ago
Holger Vogt
ba6ff75dab
Trim trailing spaces
3 years ago
Holger Vogt
f26c9146f5
Don't allocate memory for control array at every time step
Use loc instead, setting it up once during INIT
3 years ago
Holger Vogt
e47049f31a
Add STATIC_VAR_TABLE locdata
Add CALLBACK cm_d_pwm_callback
Reserve memory for x, y arrays only once during INIT
3 years ago
Holger Vogt
ed6f802948
Add a guard on parameter 'position', limit to
1e-9 to 0.999999999
FIXME: the given parameter limits from ifspec.ifs are not recognized.
3 years ago
Holger Vogt
2d8ea17d65
Update on author
3 years ago
Holger Vogt
61d23b99ff
Patch required to allow compiling at Fedora with -Werror=format-security
Provided by Mamoru Tasaka
3 years ago
Giles Atkinson
01c4a5dff2
Fix memory leak reported by Brian Taylor.
4 years ago
Holger Vogt
9166f202a6
Streamline the simple diode model.
4 years ago
Holger Vogt
ec6a902fb9
Fix a bug in simple diode, when ilimit is set, but not epsilon.
Make model more similar to LTSPICE
Add an example
4 years ago
Giles Atkinson
d9952575dd
Correct the digital state resolution table, that was previously asymmetric.
An equivalent change is mentioned in the SPICE OPUS change history.
4 years ago
Giles Atkinson
372d9b2c87
Add bidirectional digital/analog bridge.
4 years ago