Commit Graph

7167 Commits

Author SHA1 Message Date
Holger Vogt 758a8d0d0a Remove more compiler warnings 2020-12-13 14:19:31 +01:00
Holger Vogt 9c4aa0b29d Suppress some compiler warnings 2020-12-13 13:51:31 +01:00
Holger Vogt 5c61d1d700 Add some comment. 2020-12-13 11:16:37 +01:00
Holger Vogt f2d819cf10 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-13 11:13:18 +01:00
Holger Vogt 09f8761684 make some functions non-ststic to support function
rem_unused_mos_models() in inps.c
2020-12-13 11:10:43 +01:00
Holger Vogt ad98a4856c Add a comment 2020-12-12 10:18:06 +01:00
Holger Vogt 103c752b18 Jump over the HSPICE-specific key words 2020-12-12 10:17:53 +01:00
Holger Vogt 7b338e6198 With the new inp_deckcopy_ln treat the first line
in the deck equal to all other lines.
2020-12-10 17:42:55 +01:00
Holger Vogt 262b0e5a88 Remove dot lines somewhat later. 2020-12-10 17:31:55 +01:00
Holger Vogt a596986aec 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-10 14:13:33 +01:00
Holger Vogt 54ae486bad Remove the XSPICE dependency of the phase parameter for the
independent voltage source.
2020-12-07 14:39:52 +01:00
Holger Vogt 541f6a3f09 Remove the XSPICE dependency of the phase parameter for the
independent current source.
2020-12-07 13:37:16 +01:00
Holger Vogt 70f63f3d25 Remove the XSPICE limitation of flag "current" (here->ISRCcurrent) 2020-12-07 13:14:55 +01:00
Holger Vogt a0ff586358 typo 2020-12-07 13:14:16 +01:00
Holger Vogt bdf73ba804 Restrict #pragma warning to Visual Studio only. 2020-12-06 16:48:55 +01:00
Markus Mueller e738df9e80 fix hicum warnings 2020-12-06 14:45:23 +01:00
Holger Vogt 109329195c fix a typo 2020-12-06 11:11:51 +01:00
Holger Vogt 9443836029 suppress warning that is not relevant (we don't use floats) 2020-12-06 11:04:25 +01:00
Holger Vogt 862988a569 bug 535: re-enale tc1, tc2 even if tokens tc1 or tc2
may be part of other tokens as well.
2020-12-06 10:42:23 +01:00
Holger Vogt 246253a924 No brackets around instance parameters dtemp, temp 2020-12-06 10:28:42 +01:00
Holger Vogt 9a6b1f8c95 spice2g6 poly(19 compat:
When counting token, count an expression {...} for the
gain as a single token, even if it contains spaces.
2020-12-04 17:29:24 +01:00
Holger Vogt 158fa00660 fix comment 2020-12-04 17:11:40 +01:00
Holger Vogt b8a1e11e0b re-enable 'external' as an instance parameter for current source. 2020-12-04 16:31:26 +01:00
Holger Vogt 42f3e4b332 include the duals/dual header into the VS2019 project file 2020-12-03 15:59:44 +01:00
Holger Vogt 9335aa10ea Relax the numerical precision a little bit when
comparing real valued time values.
Fixes bug no 536 reported by Victor Kuchynsky
2020-12-03 13:19:06 +01:00
Holger Vogt ffd440fdd5 Merge branch 'pre-master' of ssh://git.code.sf.net/p/ngspice/ngspice into pre-master 2020-12-01 13:27:39 +01:00
dwarning 7fa453bfeb prevent c++ compiler warning 2020-11-30 22:39:55 +01:00
Holger Vogt 3369f91e04 improve comment 2020-11-29 16:28:51 +01:00
Holger Vogt 8aa49a587d 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-11-27 10:24:25 +01:00
Holger Vogt 88e5d03955 If T is below 1 uK, lets set it to 0 (avoid slightly negative values due to numerical issues) 2020-11-27 10:19:15 +01:00
dwarning 8a86aa9b58 only one place for version and copyright message 2020-11-27 08:51:08 +01:00
Holger Vogt 0810f933e1 re-enable .end with leading spaces
a fix to bug #534
2020-11-25 09:37:23 +01:00
Holger Vogt 7f3f07d282 Partially undo commit [ab778d] :
revert to aswitch as vswitch replacement
2020-11-22 17:18:27 +01:00
Holger Vogt dcb05fd1b6 clarify the contents of the circarray netlist 2020-11-21 20:01:33 +01:00
Holger Vogt cb25d5d07c 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-11-21 13:58:57 +01:00
Holger Vogt 07506dcccb Don't parse the B source instance parameters, thus prevent memory leaks. 2020-11-20 22:05:31 +01:00
Holger Vogt 36311e5a55 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-11-19 13:40:55 +01:00
Holger Vogt 685e5444dc 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-11-19 11:26:40 +01:00
Holger Vogt 7a8c056427 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-11-18 16:41:58 +01:00
Holger Vogt b8e9fb75be 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-11-18 16:38:21 +01:00
Holger Vogt 708b5fb48a spaces 2020-11-18 16:36:27 +01:00
Holger Vogt 9b6e6584c6 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-11-17 18:50:22 +01:00
Holger Vogt 919d5cf4c3 we are developing ngspice-33+ 2020-11-16 16:55:36 +01:00
Holger Vogt 4b22f97a42 move the vbic scripts from contrib to vbic folder 2020-11-16 12:24:36 +01:00
Holger Vogt 1e58f05371 cross compile: -lshlwapi not hard-coded,
but via $(cmpp_LDADD)
Patch suggested by Érico Rolim
2020-11-14 17:32:53 +01:00
Holger Vogt 36d8338eef Windows.h -> windows.h 2020-11-14 17:30:57 +01:00
Holger Vogt ba9d4554e5 not used, superceeded by numparam code 2020-11-14 16:32:09 +01:00
Holger Vogt d399ba5ecd prevent a crash when e,g,f,h sources do not have enough paramaters. 2020-11-13 22:14:33 +01:00
dwarning 8afd608795 revert: HICUM2 rm unused macro M_PI 2020-11-13 20:13:49 +01:00
dwarning a400b08fa7 HICUM2 rm unused macro M_PI 2020-11-12 22:27:32 +01:00