Commit Graph

6505 Commits

Author SHA1 Message Date
Holger Vogt d57909eef1 Re-format cktdojob.c 2022-07-16 17:24:41 +02:00
Holger Vogt 6ee4db9af4 Correct comment: Command circbyline is not involved,
we are sending the netlist as an array.
2022-07-16 17:23:59 +02:00
Holger Vogt 8d91f44026 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-07-16 17:23:11 +02:00
Holger Vogt e3b13e0494 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-07-08 09:32:34 +02:00
Holger Vogt 72cfc681e5 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-07-06 18:54:34 +02:00
Holger Vogt 905b1eae8c Remove inner couple {...} from {{...}} only when instance is not
a behavioral source which will be translated to a B source.
2022-07-06 18:46:47 +02:00
Holger Vogt 86dedbd1f5 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-07-06 18:43:48 +02:00
Holger Vogt 474a1e47b8 Avoid jump in phase when crossing 90° boundaries.
Code similar to cx_cph in cmath1.c
2022-07-03 11:28:00 +02:00
Brian Taylor ec6938ed70 There needs to be 2 variants of d0_gff. One for d_dlatch, the other for d_srlatch. 2022-07-01 15:55:26 +02:00
Brian Taylor 6418fe75b7 Clean out dead code in model processing. 2022-07-01 15:55:15 +02:00
Brian Taylor 4c2152c74f Add support for srff. 2022-07-01 15:55:06 +02:00
Brian Taylor b64f684a62 Remove debug code. 2022-07-01 15:55:00 +02:00
Brian Taylor 4d9f834f5e Remove invalid check. 2022-07-01 15:54:45 +02:00
Brian Taylor ca26dc2585 Add optional debug code to check for name collisions. Connector nodes between gates now have a con_ prefix. 2022-07-01 15:54:35 +02:00
Brian Taylor 933b13d544 Prevent multiple d_zero_inv99 models per subckt. 2022-07-01 15:54:27 +02:00
Brian Taylor 5f9146b40a Follow convention, use eq() macro. Show replacement cards when ngdebug=TRUE. 2022-07-01 15:54:18 +02:00
Brian Taylor a7b6cb9af7 Create pin and port lists only when variable ps_pins_and_ports is set != 0. 2022-07-01 15:54:08 +02:00
Brian Taylor 01e988d604 Remove optional:, params:, text: before generating a ports list. 2022-07-01 15:53:56 +02:00
Brian Taylor 9b390c1ca9 Retain the param: section after removing the optional: section from a Pspice subckt declaration. 2022-07-01 15:53:47 +02:00
Brian Taylor 69ef28de4a Add more comments. Move incompatible input name checks to add_..._inout_timing_model() functions for dff, jkff, dltch. 2022-07-01 15:53:19 +02:00
Brian Taylor 3ca14e44ed 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-07-01 15:53:02 +02:00
Brian Taylor ff3a704710 Get rid of -Wpedantic warnings. 2022-07-01 15:52:39 +02:00
Brian Taylor 79625f10f5 Remove debugging asserts. 2022-07-01 15:52:14 +02:00
Brian Taylor 55a5c0cb0a Generate lists of subckt ports indicating direction (in, out, inout.) 2022-07-01 15:52:01 +02:00
Brian Taylor d41bff8373 Stopped memory leak in continuation cards when removing old cards. 2022-07-01 15:51:53 +02:00
Brian Taylor fff87ebb81 Slight cleanup. Some work ensuring that generated names do not collide may be necessary. 2022-07-01 15:51:37 +02:00
Brian Taylor 93d067775f For debug tracing, list the cards before and after udevice replacements. 2022-07-01 15:51:24 +02:00
Brian Taylor de2dc6f1d5 Add pullup/down. Skip spurious '*' line. 2022-07-01 15:51:12 +02:00
Brian Taylor 0513fb5c8f Add support for oa/oai compound gates. 2022-07-01 15:50:46 +02:00
Brian Taylor 63cec9668c 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-07-01 15:50:34 +02:00
Brian Taylor 701ed7beb0 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-07-01 15:50:22 +02:00
Brian Taylor e27881fe44 Add translation of ao/aoi compound gates. 2022-07-01 15:49:52 +02:00
Brian Taylor 4de648c8de 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-07-01 15:49:39 +02:00
Brian Taylor 4d52539765 Add brief usage notes and makefile. asserts will need to be removed after integration is complete. 2022-07-01 15:49:24 +02:00
Brian Taylor 3e86af3989 Add default zero delay models d0_gate, d0_eff, d0_gff, d0_tgate. Use tprintf. 2022-07-01 15:49:09 +02:00
Brian Taylor 5b332a1aba 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-07-01 15:48:43 +02:00
Holger Vogt 8ff547c5da No error message when Optran returned 0 2022-06-30 20:03:58 +02:00
Holger Vogt c9a864933b re-format indmask.c 2022-06-26 11:43:18 +02:00
Holger Vogt 8023402db8 Add missing parameter retrival 2022-06-26 11:40:10 +02:00
Holger Vogt a2d7c342dd Asl Lundin's correction only when suitable modelparameters are given. 2022-06-26 11:39:43 +02:00
Holger Vogt 5e60ef4644 Make warning message on missing init file more verbose. 2022-06-22 22:02:09 +02:00
Holger Vogt 5e1e2bb4b7 remove typo 2022-06-22 22:01:34 +02:00
Holger Vogt 33ec8dfc25 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-06-22 15:32:40 +02:00
Holger Vogt 7d2ea36fdf Add a warning when Lundin's correction factor is not
calculated because the geometries are too small (< 1um).
2022-06-22 15:31:17 +02:00
Holger Vogt 8d2a6c2405 Add coil diameter dia to the inductor parameters.
dia (diameter) takes preference over csect (cross section)
2022-06-22 13:26:57 +02:00
Holger Vogt 10d4b34ec5 Add Lundin's geometry correction to the
inductance formula
2022-06-22 12:59:37 +02:00
Holger Vogt 5f0035ca91 Fix a bug in the inductance formula. 2022-06-20 14:22:55 +02:00
Holger Vogt 6818b52a87 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-06-19 17:29:05 +02:00
Holger Vogt d02f2feee4 If the 'source' command fails, fall back to the input
only if in interactive mode. Otherwise exit.
2022-06-19 17:25:32 +02:00
Holger Vogt 1da6cc249e Limit the number of messages 'Warning singular matrix: ...' to 6,
if not 'set ngdebug'
2022-06-18 19:56:12 +02:00