Commit Graph

6648 Commits

Author SHA1 Message Date
Brian Taylor c7b7d14dd6 More conservative delay estimates for timing model type ugff. 2022-12-11 16:08:02 +01:00
Brian Taylor 2dc44d8079 For dff/jkff, obtain more conservative estimates for clk_delay, set_delay and reset_delay. 2022-12-11 16:07:33 +01:00
Holger Vogt d2833ac133 re-enable making old app nutmeg 2022-12-08 09:26:15 +01:00
Holger Vogt 23f72dd75c Repair the broken --enable-oldapps option 2022-12-07 14:35:11 +01:00
Holger Vogt 1b121307c8 Remove unused variable debarr.
Add another example.
2022-12-04 10:41:22 +01:00
Holger Vogt c8ba722117 Add a function ddt (derivative versus time) to the B-source funtion parser. 2022-12-04 10:41:06 +01:00
Brian Taylor 5238d6f18a Rewrite extract_model_param. 2022-12-04 10:39:47 +01:00
Brian Taylor a317639d23 Modify the delay calculation for non-conforming timing model in .subckt CD4572UB. 2022-12-04 10:39:40 +01:00
Holger Vogt ec0807bafd For monotonic plotting find out the majority of increasing or decreasing
x-axis values, add a warning to add 'retraceplot' to plot all if more than
10% of the values deviate from the majority.
2022-12-04 10:35:44 +01:00
Holger Vogt 012ec72b0d Prevent seg fault after strange input like
*no circuit
.save all
.probe alli
.op
.end
2022-12-01 23:17:11 +01:00
Pascal Kuthe 098ec89294 fix sigfault on older c compilers 2022-11-29 13:28:32 +01:00
Giles Atkinson 48b51907fa Prevent crash when cm_analog_set_temp_bkpt() is called during OPtran(). 2022-11-28 22:34:30 +01:00
Giles Atkinson b124749122 Fix warnings from gcc 10.2.1. 2022-11-28 22:34:23 +01:00
Brian Taylor 1a69765685 Added xor/xnor for logicexp timing models. 2022-11-28 22:33:05 +01:00
Brian Taylor 44c69f5bf5 Handle cases where logicexp has a timing model but no pindly. This is rare, only 22 tests from the digital libraries. Move digital examples, add missing .spiceint file. 2022-11-28 22:33:00 +01:00
Brian Taylor 63a937aa06 Add B-source note 2022-11-28 22:32:27 +01:00
Holger Vogt f7c038466b The 8th parameter on a voltage or current source now is 'number of pulses'.
Previous usage had been PHASE, introduced by XSPICE, which has
been redundant to DELAY. PHASE is again available when compatibility flag
xs has been set.
2022-11-24 14:46:54 +01:00
Holger Vogt d763b39ec3 Add a new compatibility mode xs (for XSPICE) 2022-11-24 14:43:16 +01:00
Holger Vogt f2be3d681d Allow resetting the limit for warning mesaages, when a new run is started. 2022-11-20 15:07:46 +01:00
Holger Vogt 8b85302da1 Replace obscure warning "singular matrix: check nodes mymode1 and mynode1" by
"singular matrix: check node mynode1", if both node names are equal.
2022-11-20 12:10:40 +01:00
Brian Taylor 2ec9e6a38e Add more debug instrumentation. 2022-11-18 14:41:25 +01:00
Brian Taylor b31b4759e6 Use tilde '~' inputs instead of creating inverters. 2022-11-18 14:41:08 +01:00
Holger Vogt ef86fcd6bd Remove mentioning line number 0, which has been incomprehensible. 2022-11-18 14:38:29 +01:00
Holger Vogt 8e5c76d8b3 Add error messages when controlled_exit is called:
No exit without message.
2022-11-16 11:37:35 +01:00
Pascal Kuthe ffe920117c calculate log frequency sweep such that start frequency and stop frequency are always exactly included 2022-11-14 11:34:49 +01:00
Pascal Kuthe c4247c4353 fix: allow hicum/l2 to compile with older c++ compilers 2022-11-14 10:25:03 +01:00
Holger Vogt 743f20d04b Add new functions for operators x**y or x^y
compatmode hs: x>0 pow(x, y), x<0 pow(x, round(y)), X=0 0
compatmode lt: x>0 pow(x, y), x<0 pow(x, y) if y is close to integer, else 0
2022-11-12 14:35:26 +01:00
Holger Vogt eff183f51e Add new functions for operators x**y or x^y
compatmode hs: x>0 pow(x, y), x<0 pow(x, round(y)), X=0 0
compatmode lt: x>0 pow(x, y), x<0 pow(x, y) if y is close to integer, else 0
2022-11-12 14:35:01 +01:00
Brian Taylor b147aa0c3a Add safety braces. 2022-11-11 14:13:36 +01:00
Brian Taylor e770d96151 Tidy up debug tracing code. 2022-11-11 14:13:28 +01:00
Brian Taylor cd72c7960b Fix memory leaks. 2022-11-11 14:13:22 +01:00
Brian Taylor b0e9874de8 Add more vectors to behavioral 283 circuit. Add tristate buffer circuit which shows glitches until inertial delays are implemented. 2022-11-11 14:13:03 +01:00
Brian Taylor a922f797d3 When the gen_tab has only one entry, do not call optimize_gen_tab, it is not necessary. 2022-11-11 14:12:54 +01:00
Brian Taylor 574737b7b6 Check that the bparse gen_tab optimization loop finishes when no more improvements occur. 2022-11-11 14:12:47 +01:00
Holger Vogt 539176bf15 remove unused 2022-11-11 13:41:10 +01:00
Holger Vogt d6650e66f0 To find the nearest integer, use nearbyint(). trunc() has delivered
only one-sided answers.
2022-11-11 13:21:21 +01:00
Holger Vogt 5adef0cf36 AlmostEqualUlps setting has been too strict: it failed in MINGW gcc.
3 --> 10
2022-11-11 11:50:53 +01:00
Holger Vogt 0d86539638 Trim trailing spaces 2022-11-09 15:11:13 +01:00
Holger Vogt f9039ea238 Don't allocate memory for control array at every time step
Use loc instead, setting it up once during INIT
2022-11-09 15:09:52 +01:00
Brian Taylor 104afe77cb Remove asserts, replace fixed size lexer_buf. 2022-11-07 14:47:57 +01:00
Brian Taylor d05689eed8 Add pindly tristate example. Cleanup error handling. 2022-11-07 14:47:36 +01:00
Brian Taylor f6386bda0c Remove most asserts. 2022-11-07 14:47:29 +01:00
Brian Taylor 1200092250 Add behavioral (LOGICEXP, PINDLY) test for 283 circuit. There are glitches in the simulation for some of the s* outputs. Probably due to not having inertial delays. And why not set 'zero' delays as close to zero as permitted by XSPICE. 2022-11-07 14:47:18 +01:00
Brian Taylor ab7634e72e Reduce the delays of 'zero' delay gates to 1.0e-11. Add decoder test for logicexpr and pindly. 2022-11-07 14:47:13 +01:00
Brian Taylor 77d56eb184 Fix a typo, add more comments. 2022-11-07 14:47:02 +01:00
Brian Taylor 7e4b10a9db Add support for TRISTATE: in PINDLY. 2022-11-07 14:46:53 +01:00
Brian Taylor 50e3c7eadd Fix potential memory leak, clean out debug code. 2022-11-07 14:46:48 +01:00
Brian Taylor 3bdb6ee151 Better estimates of rise/fall delays in PINDLYs with outputs separated by CASE. 2022-11-07 14:46:34 +01:00
Brian Taylor 5717b2b2fc Fix visualc compiler warnings. 2022-11-07 14:46:27 +01:00
Brian Taylor 629010b1cb Improve delay estimates for pindly output buffers. 2022-11-07 14:46:14 +01:00