58 Commits (56d0c72924561ab13f79209e17c88c9e4b591e0e)

Author SHA1 Message Date
Brian Taylor 56d0c72924 Add port directions when logicexp or pindly are present. 3 years ago
Brian Taylor 9c9301eca8 Remove delay ifdefs. 3 years ago
Brian Taylor f674b64264 Remove dead code from previous commit. 3 years ago
Brian Taylor f570b04d6c For unspecified gate delays (logic and tristate gates), which PSpice would consider as zero, set the rise and fall delays to 1.e-12s (the minimum for Xspice). For dff, jkff, dlatch, and srlatch use the Xspice default 1.0ns for rise and fall delays. If the ngspice variable (ps_port_directions & 2) is true, write the translated subckt to stdout, with TRANS_OUT prefix, for debugging purposes. The user could edit and replace the translated subckt if desired. 3 years ago
Brian Taylor dcfe4e7134 ERROR messages should be printed to stderr. 3 years ago
Brian Taylor a76f8d5149 Fix some comments. 3 years ago
Brian Taylor 6117836d01 Ensure that amatch output is not binary data. 3 years ago
Brian Taylor 90ec717f3b Add variable ps_udevice_exit. If set non-zero, ngspice will exit if there is an error processing f_logicexp or f_pindly. 3 years ago
Brian Taylor 5e6452099e Return errors from f_logicexp and f_pindly without calling exit. 3 years ago
Brian Taylor 0805856fb7 Distinguish between set/reset delays when possible. 3 years ago
Brian Taylor 253df17949 Make it optional to use zl/zh/lz/hz delays for utgate. 3 years ago
Brian Taylor 4c457a3cd4 Avoid unnecessary calculations for utgate. 3 years ago
Brian Taylor a4b609fb6a For utgate timing models, if hl/lh are not present use zl/zh/lz/hz to give a more accurate tristate delay. 3 years ago
Brian Taylor 021982799e More conservative delay estimates for timing model type ugff. 3 years ago
Brian Taylor 11f6eace68 For dff/jkff, obtain more conservative estimates for clk_delay, set_delay and reset_delay. 3 years ago
Brian Taylor 47260e2eb8 Rewrite extract_model_param. 3 years ago
Brian Taylor 0924fbb7eb Modify the delay calculation for non-conforming timing model in .subckt CD4572UB. 3 years ago
Giles Atkinson 73e8fed0fc Fix warnings from gcc 10.2.1. 3 years ago
Brian Taylor 7ff8f3773f 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. 3 years ago
Brian Taylor b142be7fde 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. 3 years ago
Brian Taylor 4e76586b6b Reduce the delays of 'zero' delay gates to 1.0e-11. Add decoder test for logicexpr and pindly. 3 years ago
Brian Taylor 62aab3885d Move f_logicexp, f_pindly calls to u_process_instance. Use u_add_instance to copy gate instances and models to the replacement cards. 4 years ago
Brian Taylor a54aa4d1f7 Initial logicexp parser and gate generator. 4 years ago
Brian Taylor 4a904cdf18 Add drive 0/1 for $d_lo/$d_hi. 4 years ago
Brian Taylor 150839dd1a Remove VisualC compile warnings. 4 years ago
Holger Vogt 2547115eeb Prevent Visual Studio compiler warnings 4 years ago
Brian Taylor bd00738a49 Fix memory leaks in ff/latch code. 4 years ago
Brian Taylor e2652d813d If ps_udevice_msgs >= 2, print complete line of unsupported PSpice instance. For debugging purposes. 4 years ago
Brian Taylor e703bd9142 Add comment about ps_udevice_msgs variable. Set to 1 will print PSpice instance names and types which are not supported and are found when processing a subckt. 4 years ago
Brian Taylor e9855be595 If variable ps_port_directions >= 2, also show the translated Xspice statements. 4 years ago
Brian Taylor 3ca91aa1ac Make a trivial change to support (n)and3a, (n)or3a, (n)xor3a types. These are not used in any of the Micro Cap libraries. Completes support for Pspice tristate gate types. 4 years ago
Brian Taylor abd4af1ae6 Ignore IO models in a subckt. Setting variable ps_port_directions to a non-zero int prints the directions (IN, OUT, INOUT) of subckt ports. 4 years ago
Brian Taylor 2d9f86c742 Check for name collisions between nodes generated during translation from Pspice to Xspice and instance pin or subckt port names. These are reported as ERRRORs. 4 years ago
Brian Taylor b6db33f472 There needs to be 2 variants of d0_gff. One for d_dlatch, the other for d_srlatch. 4 years ago
Brian Taylor a8f103eebc Clean out dead code in model processing. 4 years ago
Brian Taylor 1a00a30f18 Add support for srff. 4 years ago
Brian Taylor 7f38ce4ebb Remove debug code. 4 years ago
Brian Taylor 648218d5a8 Remove invalid check. 4 years ago
Brian Taylor 6a067378cb Add optional debug code to check for name collisions. Connector nodes between gates now have a con_ prefix. 4 years ago
Brian Taylor 5b3862ebc7 Prevent multiple d_zero_inv99 models per subckt. 4 years ago
Brian Taylor 9361e9ae6c Follow convention, use eq() macro. Show replacement cards when ngdebug=TRUE. 4 years ago
Brian Taylor e38e1099b5 Create pin and port lists only when variable ps_pins_and_ports is set != 0. 4 years ago
Brian Taylor ac9559db76 Remove optional:, params:, text: before generating a ports list. 4 years ago
Brian Taylor 5a50868264 Add more comments. Move incompatible input name checks to add_..._inout_timing_model() functions for dff, jkff, dltch. 4 years ago
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. 4 years ago
Brian Taylor ecf4ea8978 Get rid of -Wpedantic warnings. 4 years ago
Brian Taylor 4ce9add137 Remove debugging asserts. 4 years ago
Brian Taylor bc8d67d5fa Generate lists of subckt ports indicating direction (in, out, inout.) 4 years ago
Brian Taylor 89c698d4ea Slight cleanup. Some work ensuring that generated names do not collide may be necessary. 4 years ago
Brian Taylor 18e17cefdf Add pullup/down. Skip spurious '*' line. 4 years ago