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
3d1e560828
Add configure flag --enable-shortcheck to enable a shortened make check
...
Only BSIM3 and BSIM4 are tested, when selected.
2022-10-07 13:00:30 +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
Holger Vogt
9b056c0c2f
enable compiling with VS 2019
2022-10-07 12:57:04 +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
112e47d0d3
This test is equivalent to examples/xspice/xspice_c3.cir and uses Pspice subckts for the divider and nand gate.
2022-10-07 12:53:03 +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
f7c519f149
All-digital U* device examples. No a/d or d/a interfaces on the subcircuits.
2022-10-07 12:52:20 +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
d8119aaca4
Don't set interactive mode
2022-10-07 12:40:07 +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