****************************************************************************** ********************* IBIS GOLDEN PARSER BUG REPORT FORM ********************* ****************************************************************************** INSTRUCTIONS To report a bug in the IBIS golden parser. Please fill out the top part of the following form and send the complete form to ibischk-bug@vhdl.org. A list of reported bugs will be maintained on vhdl.org. ****************************************************************************** PARSER VERSION NUMBER: Found in IBISCHK3 V3.2.9 PLATFORM (SPARC, HP700, PC, etc.): Sun Ultra 10 OS AND VERSION: Unix Sun Solaris 5. REPORTED BY: Arpad Muranyi, Intel Corp. DATE: August 27, 2002 DESCRIPTION OF BUG: Extreme Non-Monotonic I-V Table Causes Waveform End Point Test to Fail INSERT IBIS FILE DEMONSTRATING THE BUG: |************************************************************************** | [IBIS Ver] 2.1 [File name] bug73.ibs [File rev] 0.00 [Date] 07/03/02 [Source] From silicon level SPICE model at Intel Corporation. [Notes] The following information corresponds to NoNAME chip. [Disclaimer] This information is for demonstrating an IBIS checker bug only. [Copyright] Copyright 2002, Intel Corporation, All Rights Reserved. | |************************************************************************** | [Component] HOOK [Manufacturer] NoName Corporation [Package] | typ min max R_pkg 210.000mOhm 210.000mOhm 210.000mOhm L_pkg 12.00nH 12.00nH 12.00nH C_pkg 1.00pF 1.00pF 1.00pF | |************************************************************************** | [PIN] signal_name model_name R_pin L_pin C_pin | A1 TEST Hook_test B1 VPP Power C1 GND GND | |*************************************************************************** | [Model] Hook_test Model_type I/O | Vinl = 800.000mV Vinh = 900.000mV Cref = 0.000F | | typ min max | C_comp 1.000pF 0.500pF 0.500pF |[Voltage Range] 1.800V 1.700V 1.900V [Voltage Range] 1.800V 1.650V 2.24V [Temperature Range] 50.0 100.0 0.0 | |*************************************************************************** | [Pulldown] | | Voltage I(typ) I(min) I(max) | -1.80000000E+0 -7.04279000E-3 -3.07851000E-3 -10.85506000E-3 -1.79820000E+0 -5.91951000E-3 -2.80024000E-3 -10.49468000E-3 -1.75500000E+0 -6.77578000E-3 -3.08080000E-3 -11.76216000E-3 -1.72620000E+0 -7.39097000E-3 -3.29435000E-3 -12.61398000E-3 -1.65420000E+0 -9.02018000E-3 -3.93373600E-3 -14.75166000E-3 -1.65060000E+0 -9.10572000E-3 -3.96978600E-3 -14.85899000E-3 -1.57140000E+0 -10.96782000E-3 -4.85987800E-3 -17.20744000E-3 -1.44540000E+0 -13.95477800E-3 -6.55376800E-3 -20.90443000E-3 -1.37880000E+0 -15.52636500E-3 -7.51641300E-3 -22.82254300E-3 -1.25640000E+0 -18.36179900E-3 -9.31589500E-3 -26.21607900E-3 0.00000000E+0 -424.31953999E-9 -247.44709999E-9 -1.33904859E-9 531.00000000E-3 18.73537893E-3 12.55132009E-3 24.39604927E-3 1.02420000E+0 32.34641165E-3 21.16982231E-3 43.39038637E-3 1.50660000E+0 39.58949686E-3 24.97689449E-3 56.69043105E-3 2.02500000E+0 41.89977705E-3 26.42234352E-3 61.89744388E-3 3.60000000E+0 45.62900000E-3 29.13910000E-3 67.96670000E-3 | [GND Clamp] | | Voltage I(typ) I(min) I(max) | | Commenting out just the next line eliminates the Error Messages. | The voltage table step is very small, and the non-monotonic Min column | entry is enough to provide four Min column Error messages. -1.80000000E+0 -143.02649000E-3 -113.53400000E-3 -174.54963000E-3 -1.79820000E+0 -151.75901000E-3 -117.54554000E-3 -176.97637000E-3 -1.63980000E+0 -125.77250000E-3 -98.02055700E-3 -146.24878000E-3 -1.52460000E+0 -106.87643000E-3 -83.88934300E-3 -123.89625000E-3 -1.49940000E+0 -102.74947000E-3 -80.82907200E-3 -119.01665000E-3 -1.49760000E+0 -102.45593000E-3 -80.59896500E-3 -118.66836000E-3 -1.43100000E+0 -91.58974300E-3 -72.50557600E-3 -105.81094000E-3 -1.36440000E+0 -80.79117100E-3 -64.50938700E-3 -93.03973000E-3 -1.36260000E+0 -80.49896400E-3 -64.29970800E-3 -92.69626900E-3 -1.35180000E+0 -78.76027900E-3 -62.99590100E-3 -90.63755600E-3 0.00000000E+0 0.00000000E+0 0.00000000E+0 0.00000000E+0 3.60000000E+0 0.00000000E+0 0.00000000E+0 0.00000000E+0 | [Pullup] | | Voltage I(typ) I(min) I(max) | -1.80000000E+0 29.60096000E-3 23.28037000E-3 39.33929000E-3 -1.79820000E+0 30.53086000E-3 23.93735000E-3 39.70721000E-3 -1.79640000E+0 30.47960000E-3 23.91208000E-3 39.68549000E-3 -1.77660000E+0 30.17237000E-3 23.63691000E-3 39.31452000E-3 -1.77300000E+0 30.15072000E-3 23.58859000E-3 39.25535000E-3 -1.72620000E+0 29.41656000E-3 22.95172000E-3 38.40673000E-3 -1.69200000E+0 28.93528000E-3 22.49799000E-3 37.79662000E-3 -1.68300000E+0 28.78344000E-3 22.37946000E-3 37.64328000E-3 -1.64700000E+0 28.26537000E-3 21.91257000E-3 37.01640000E-3 -1.56060000E+0 27.05337000E-3 20.82594000E-3 35.54168000E-3 0.00000000E+0 278.17720000E-9 147.39680000E-9 -2.98581001E-9 509.40000000E-3 -8.46065721E-3 -5.43082805E-3 -13.64613355E-3 1.04940000E+0 -11.79237014E-3 -7.16603755E-3 -21.64937809E-3 1.66320000E+0 -12.78929478E-3 -7.64326261E-3 -24.84800206E-3 2.07180000E+0 -13.15570836E-3 -7.83164420E-3 -25.85621340E-3 3.60000000E+0 -14.01305000E-3 -8.29173000E-3 -27.94070100E-3 | [POWER Clamp] | | Voltage I(typ) I(min) I(max) | -1.80000000E+0 22.57563037E+0 21.15968451E+0 24.66070841E+0 -1.79820000E+0 23.82482045E+0 21.79703017E+0 24.98241949E+0 -1.55160000E+0 18.04450569E+0 16.98541981E+0 18.67155897E+0 -1.54620000E+0 17.91795217E+0 16.88008038E+0 18.53338481E+0 -1.53180000E+0 17.58048235E+0 16.59918187E+0 18.16492421E+0 -1.29960000E+0 12.13970155E+0 12.07064336E+0 12.22429003E+0 -1.27980000E+0 11.67583945E+0 11.68456632E+0 11.71779474E+0 -1.25820000E+0 11.16982304E+0 11.26340905E+0 11.16526744E+0 -1.08180000E+0 7.03801322E+0 7.82456703E+0 6.65359637E+0 -1.02420000E+0 5.68912329E+0 6.70191978E+0 5.18066316E+0 0.00000000E+0 0.00000000E+0 0.00000000E+0 0.00000000E+0 3.60000000E+0 0.00000000E+0 0.00000000E+0 0.00000000E+0 | |*************************************************************************** | [Ramp] R_load = 70.00Ohm | typ min max | dV/dt_r 487.861mV/2.179ns 305.282mV/3.722ns 825.243mV/1.160ns dV/dt_f 769.283mV/905.847ps 611.852mV/1.942ns 1.025V/474.894ps | |*************************************************************************** | [Falling Waveform] V_fixture = 1.800V V_fixture_min = 1.650V V_fixture_max = 2.240V R_fixture = 70.00Ohm | | Time V(typ) V(min) V(max) | 0.00000000E+0 1.80002941E+0 1.64982497E+0 2.24000243E+0 15.00000000E-9 517.89139450E-3 630.07101628E-3 531.32170869E-3 | [Rising Waveform] V_fixture = 1.800V V_fixture_min = 1.650V V_fixture_max = 2.240V R_fixture = 70.00Ohm | | Time V(typ) V(min) V(max) | 0.00000000E+0 517.89139450E-3 630.07101628E-3 531.32170869E-3 15.00000000E-9 1.80002941E+0 1.64982497E+0 2.24000243E+0 | [Rising Waveform] V_fixture = 0.000V V_fixture_min = 0.000V V_fixture_max = 0.000V R_fixture = 70.00Ohm | | Time V(typ) V(min) V(max) | 0.00000000E+0 -13.43603524E-6 64.64997403E-6 -134.15994863E-9 15.00000000E-9 813.08752775E-3 508.86751845E-3 1.37540461E+0 | [Falling Waveform] V_fixture = 0.000V V_fixture_min = 0.000V V_fixture_max = 0.000V R_fixture = 70.00Ohm | | Time V(typ) V(min) V(max) | 0.00000000E+0 813.08752775E-3 508.86751845E-3 1.37540461E+0 15.00000000E-9 -13.43603524E-6 64.64997403E-6 -134.15994863E-9 | |*************************************************************************** [End] Four Errors are produced. An example is below ERROR - Model Hook_test: The [Rising Waveform] with [R_fixture]=70 Ohms and [V_fixture_min]=1.65V has MIN column DC endpoints of 0.63V and 1.65v, but an equivalent load applied to the model's I-V tables yields different voltages (-1.88V and -1.88V), a difference of 76573.86% and 107576.41%, respectively. The calculated end point of -1.88 are wrong because of the non-monotonic data. Commenting out the first [Gnd Clamp] table the next line eliminates the Error Messages. The voltage table step is very small, and the non-monotonic Min column entry is enough to provide four Min column Error messages. BUG57 addressed the same problem, but fails for this test case. The algorithm needs to be understood better. ****************************************************************************** ******************** BELOW FOR ADMINISTRATION AND TRACKING ******************* ****************************************************************************** BUG NUMBER: 73 SEVERITY: [FATAL, SEVERE, MODERATE, ANNOYING, ENHANCEMENT] ANNOYING PRIORITY: [HIGH, MEDIUM, LOW] LOW STATUS: [OPEN, CLOSED, WILL NOT FIX, NOT A BUG] CLOSED FIXED VERSION: 4.0 (beta), 4.0.1 FIXED DATE: December 1, 2003 NOTES ON BUG FIX: Refer to BUG57 for a similar problem. BUG73 gives a more extreme non-monotonic case. Classified at the September 20, 2002 Meeting. The parser code needs to be investigated in this area to determing what type of fix is needed and if it is worth proceeding. Checked December 13, 2003 - Bob Ross ****************************************************************************** ******************************************************************************