Commit Graph

7515 Commits

Author SHA1 Message Date
dwarning 8ce89a2b80 update version and improve veriloga compatibility 2020-12-22 17:56:19 +01:00
dwarning 46122bab52 extend veriloga compatibility for admsXml compiler 2020-12-22 17:56:19 +01:00
dwarning db1126c1bb update version and improve veriloga compatibility 2020-12-22 17:56:19 +01:00
dwarning 0155d0722b improve veriloga compatibility 2020-12-22 17:56:19 +01:00
Holger Vogt 5366f946eb Remove more compiler warnings 2020-12-22 17:56:19 +01:00
Holger Vogt 238f8d393a Suppress some compiler warnings 2020-12-22 17:56:19 +01:00
Holger Vogt 3c2f6585e0 Add some comment. 2020-12-22 17:56:19 +01:00
Holger Vogt e1eb851ec4 Add function rem_unused_mos_models()
Netlist is flat at this stage, all numbers expanded,
but not yet parsed into the circuit structure.
So again try to remove unused MOS models.
All binning models are still here when w or l have been
determined by an expression from within the PDK.
2020-12-22 17:56:18 +01:00
Holger Vogt 19fb3ec38f make some functions non-ststic to support function
rem_unused_mos_models() in inps.c
2020-12-22 17:56:18 +01:00
Holger Vogt 5ee6a98e4b Add a comment 2020-12-22 17:56:18 +01:00
Holger Vogt 043634b60e Jump over the HSPICE-specific key words 2020-12-22 17:56:18 +01:00
Holger Vogt 8c253524af With the new inp_deckcopy_ln treat the first line
in the deck equal to all other lines.
2020-12-22 17:56:18 +01:00
Holger Vogt 8b376b4581 Remove dot lines somewhat later. 2020-12-22 17:56:18 +01:00
Holger Vogt 777cfcf477 Reduce the memory requirements if there is a PDK with
a lot of binning models.
This is a hack and needs testing!
inpcom.c: If an x line, add w and l to the netlist card,
if available.
subckt.c: select a suitable model bin, discard the rest
for each subcircuit, depending on w and l from above.
inpgmod.c: less restrictive equal for real numbers,
allow both min and max boundaries (problem of equating
real numbers), when the selected device has w or l on
the boundary between two model bins.
2020-12-22 17:56:18 +01:00
Holger Vogt 06ce137741 Remove #ifdef XSPICE from ISRC_CURRENT definition 2020-12-22 17:56:18 +01:00
Holger Vogt cbf4305ff8 Remove the XSPICE dependency of the phase parameter for the
independent voltage source.
2020-12-22 17:56:18 +01:00
Holger Vogt 52f3bd7900 Remove the XSPICE dependency of the phase parameter for the
independent current source.
2020-12-22 17:56:18 +01:00
Holger Vogt fc6f41ae9b Remove the XSPICE limitation of flag "current" (here->ISRCcurrent) 2020-12-22 17:56:18 +01:00
Holger Vogt d6b4184625 typo 2020-12-22 17:56:18 +01:00
Holger Vogt 12ee985a68 Restrict #pragma warning to Visual Studio only. 2020-12-22 17:56:18 +01:00
Markus Mueller c7f732b098 fix hicum warnings 2020-12-22 17:56:18 +01:00
Holger Vogt 79d6f27d74 fix a typo 2020-12-22 17:56:18 +01:00
Holger Vogt f58b38a1ed suppress warning that is not relevant (we don't use floats) 2020-12-22 17:56:18 +01:00
Holger Vogt 9072f40b9a bug 535: re-enale tc1, tc2 even if tokens tc1 or tc2
may be part of other tokens as well.
2020-12-22 17:56:18 +01:00
Holger Vogt aee35e6ef3 No brackets around instance parameters dtemp, temp 2020-12-22 17:56:18 +01:00
Holger Vogt fe24a4135c spice2g6 poly(19 compat:
When counting token, count an expression {...} for the
gain as a single token, even if it contains spaces.
2020-12-22 17:56:18 +01:00
Holger Vogt ced7604fc4 fix comment 2020-12-22 17:56:18 +01:00
Holger Vogt ff3904e1ac re-enable 'external' as an instance parameter for current source. 2020-12-22 17:56:18 +01:00
Holger Vogt 14482ed784 include the duals/dual header into the VS2019 project file 2020-12-22 17:56:18 +01:00
Holger Vogt 03f9ac82b3 Relax the numerical precision a little bit when
comparing real valued time values.
Fixes bug no 536 reported by Victor Kuchynsky
2020-12-22 17:56:18 +01:00
dwarning cffd55363d prevent c++ compiler warning 2020-12-22 17:56:18 +01:00
Holger Vogt c43c6f6ca4 improve comment 2020-12-22 17:56:18 +01:00
Holger Vogt d24aa7134c E_constant Vconst 0 TABLE {Max(V(DP)-V(GN),0)}=((20,120))
Allow such strange construct, where a single pair x,y will
simplay return a constant y (120 in the above example).
This is used in external devices models and aknowledged
by other simulators.
2020-12-22 17:56:18 +01:00
Holger Vogt df913fb260 If T is below 1 uK, lets set it to 0 (avoid slightly negative values due to numerical issues) 2020-12-22 17:56:18 +01:00
dwarning c5b5ad67db only one place for version and copyright message 2020-12-22 17:56:18 +01:00
Holger Vogt 83fef9306f re-enable .end with leading spaces
a fix to bug #534
2020-12-22 17:56:18 +01:00
Holger Vogt 025a9fe599 Partially undo commit [ab778d] :
revert to aswitch as vswitch replacement
2020-12-22 17:56:18 +01:00
Holger Vogt 57487d2b0f clarify the contents of the circarray netlist 2020-12-22 17:56:18 +01:00
Holger Vogt 87751ad073 Make the ngSpice_Circ(char** circa) more robust:
Error message when .end card is missing
Reset if .end card is missing, to allow loading
a netlist again.
NULL as last element is no longer required, but .end card
(this has been implicitedly assumed).
Remove a bug that skippoed the last line (the .end card).
2020-12-22 17:56:18 +01:00
Holger Vogt fd79e4b5c4 Don't parse the B source instance parameters, thus prevent memory leaks. 2020-12-22 17:56:18 +01:00
Holger Vogt 2d34cbddf8 re-write and simplify the tc1, tc2 code for behavioral
R, L, C lines invoking the B source.
Enable parameterization of the TCs.
Create a tc string in an extra function, add this string
to the new R, L, C line.
2020-12-22 17:56:18 +01:00
Holger Vogt 089af45aea Removal of the "unsopported" folder.
It used to contain a unused sensitivity analysis that
has not been touched for the last 15 to 20 yeras.

We are not a museum. If somebody wants to reactivate
this code, of course it is available within the older
ngspice releases.
2020-12-22 17:56:18 +01:00
Holger Vogt 5a0d213fec When installing ngspice, do not install the headers
(all *.h), nor install dlmain.c and cmpp. Nearly all
users are not interested in creating code models, it is
not documated, and a much better way to create (and test)
code models is from within the ngspice sources (as is
documented in the manual).
2020-12-22 17:56:18 +01:00
Holger Vogt 1ef4115578 In a command 'meas tran teval when v(2)=1' the rhs
should be treated as a number '1', not as a vector v(1)
2020-12-22 17:56:18 +01:00
Holger Vogt 6055fda73d spaces 2020-12-22 17:56:18 +01:00
Holger Vogt e8ecb8ccfe When .nodeset or .ic was called with a non-existent node,
ngspice emitted a warning message, but then moved on,
inserting it as a new node with fcn INPtermInsert(). This
of course is totally wrong and leads to memory corruption.
Now there is a new fcn INPtermSearch(), which just checks
if the node is existent. If yes, it will get the value
according to the .ic statement, if not, a warning message
is emitted, and the non-existent node is simply ignored.
2020-12-22 17:56:18 +01:00
Holger Vogt f1350e09ed we are developing ngspice-33+ 2020-12-22 17:56:18 +01:00
Holger Vogt c9ec96a9d2 move the vbic scripts from contrib to vbic folder 2020-12-22 17:56:18 +01:00
Holger Vogt 68e14ad519 cross compile: -lshlwapi not hard-coded,
but via $(cmpp_LDADD)
Patch suggested by Érico Rolim
2020-12-22 17:56:18 +01:00
Holger Vogt 5c4af54be1 Windows.h -> windows.h 2020-12-22 17:56:18 +01:00