Commit Graph

8052 Commits

Author SHA1 Message Date
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 de2280ca73 Examples for 74*568 behavioral subckts. 2022-11-28 22:32:53 +01:00
Brian Taylor 63a937aa06 Add B-source note 2022-11-28 22:32:27 +01:00
Holger Vogt 9fbf2acceb Move digital examples to new locations 2022-11-24 16:47:59 +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 fcc3191732 rename example file 2022-11-12 14:52:22 +01:00
Holger Vogt 0ea6dd8322 Examples moved to folder /various 2022-11-12 14:49:01 +01:00
Holger Vogt 7cf6b1f12b Examples for d_pwm and d_osc 2022-11-12 14:47:57 +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
Holger Vogt 94a0030fde Add logicexp.c to fftw and shared project files 2022-11-07 17:50:21 +01:00
Brian Taylor 104afe77cb Remove asserts, replace fixed size lexer_buf. 2022-11-07 14:47:57 +01:00
Brian Taylor f9236131ff Typo, 2 x1 subcircuits. 2022-11-07 14:47:46 +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
Brian Taylor 3eb0a089e5 Initial handling of PINDLY. Output buffers without rise/fall delay estimates. 2022-11-07 14:46:04 +01:00
Brian Taylor 9d239dc2f7 Move f_logicexp, f_pindly calls to u_process_instance. Use u_add_instance to copy gate instances and models to the replacement cards. 2022-11-07 14:45:57 +01:00