****************************************************************************** ********************* 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 ibis-bug@vhdl.org. A list of reported bugs will be maintained on vhdl.org. ****************************************************************************** PARSER VERSION NUMBER: Found in IBISCHK4 V4.2.2 PLATFORM (SPARC, HP700, PC, etc.): Checked on PC OS AND VERSION: Windows XP REPORTED BY: Arpad Muranyi, Mentor Corporation DATE: July 7, 2009 DESCRIPTION OF BUG: The IBIS specification spells out rules regarding what value combinations and values are allowed under the [Driver Schedule] keyword for the delays. The parser doesn't flag incorrect values, such as r1 r2 f1 f2 or r2 r1 f2 f1. Testing for illegal entires is easily accomplished by the usage of relational operators in the parser's code and would be very helpful for the IBIS model authors to ensure that the IBIS file is compliant with the requirements of the specification. The example below shows two examples which should be flagged as an error, according to the table found on pg. 51 of the IBIS v5.0 specification: | SCHEDULED MODEL INITIAL STATE TABLE | ----------------------------------------------------------- | Table Numerical Delay Entries | [Model] Initial State | Rise_on Rise_off Fall_on Fall_off | Low High | ----------------------------------------------------------- | r NA f NA | Low High | NA r NA f | High Low | r1 r2 NA NA | Low Low | r2 r1 NA NA | High High | NA NA f1 f2 | High High | NA NA f2 f1 | Low Low | r1 r2 f2 f1 | Low Low | r2 r1 f1 f2 | High High | ----------------------------------------------------------- Please note that the example below was not intended to demonstrate all illegal combinations, other illegal combinations that need to be flagged may also exist. INSERT IBIS FILE DEMONSTRATING THE BUG: |*********************************************************************** | | IBIS Models For Testing Bug 103 | |*********************************************************************** | [IBIS Ver] 3.2 [Comment Char] |_char [File Name] bug103.ibs [File Rev] 1 [Date] 20090707 [Source] Mentor Corporation | [Component] DS_test [Manufacturer] Noname Corporation | [Package] | | variable typ min max R_pkg 0 NA NA L_pkg 1.0nH NA NA C_pkg 1.0pF NA NA | [Pin] signal_name model_name R_pin L_pin C_pin | 1 top_level top_level | [Model] top_level Model_type I/O | Vinl = 0.8 Vinh = 1.7 Vmeas = 1.425 Rref = 10M Cref = 0pF Vref = 0 C_comp 4.0pF 4.0pF 4.0pF | [Temperature Range] 25 85 0 [Voltage Range] 3.3 3.135 3.465 | [Driver Schedule] |Model_name Rise_on_dly Rise_off_dly Fall_on_dly Fall_off_dly cmos33_cio_d16s3 1.0ns 2.0ns 1.0ns 2.0ns cmos33_cio_d16s3 2.0ns 1.0ns 2.0ns 1.0ns | [Pulldown] | voltage I (typ) I (min) I (max) -3.3000e+000 -7.3620e-002 -5.8579e-002 -7.8760e-002 4.4409e-016 0.0000e+000 1.0000e-011 1.0000e-011 6.6000e+000 7.2941e-001 6.4703e-001 7.9849e-001 | [Pullup] | voltage I (typ) I (min) I (max) -3.3000e+000 7.9197e-001 6.7350e-001 8.9386e-001 4.4409e-016 -5.2000e-011 -2.9000e-010 -1.0000e-010 6.6000e+000 -1.1700e-001 -7.4000e-002 -1.1460e-001 | [Ramp] | dV/dt_r 1.450e+000/1.534e-010 1.275e+000/1.920e-010 1.588e+000/1.296e-010 dV/dt_f 1.707e+000/9.666e-011 1.547e+000/1.178e-010 1.831e+000/8.452e-011 | [Model] cmos33_cio_d16s3 Model_type I/O | Vinl = 0.8 Vinh = 1.7 Vmeas = 1.425 Rref = 10M Cref = 0pF Vref = 0 C_comp 4.0pF 4.0pF 4.0pF | [Temperature Range] 25 85 0 [Voltage Range] 3.3 3.135 3.465 | [Pulldown] | voltage I (typ) I (min) I (max) -3.3000e+000 -7.3620e-002 -5.8579e-002 -7.8760e-002 4.4409e-016 0.0000e+000 1.0000e-011 1.0000e-011 6.6000e+000 7.2941e-001 6.4703e-001 7.9849e-001 | [Pullup] | voltage I (typ) I (min) I (max) -3.3000e+000 7.9197e-001 6.7350e-001 8.9386e-001 4.4409e-016 -5.2000e-011 -2.9000e-010 -1.0000e-010 6.6000e+000 -1.1700e-001 -7.4000e-002 -1.1460e-001 | [Ramp] | dV/dt_r 1.450e+000/1.534e-010 1.275e+000/1.920e-010 1.588e+000/1.296e-010 dV/dt_f 1.707e+000/9.666e-011 1.547e+000/1.178e-010 1.831e+000/8.452e-011 | [End] ****************************************************************************** ******************** BELOW FOR ADMINISTRATION AND TRACKING ******************* ****************************************************************************** BUG NUMBER: 103 SEVERITY: [FATAL, SEVERE, MODERATE, ANNOYING, ENHANCEMENT] MODERATE PRIORITY: [HIGH, MEDIUM, LOW] MEDIUM STATUS: [OPEN, CLOSED, WILL NOT FIX, NOT A BUG] CLOSED FIXED VERSION: 5.0.4 FIXED DATE: November 5, 2010 NOTES ON BUG FIX: Classified at the July 17, 2009 IBIS Meeting As an additional comment, the r1 < r2 and f1 < f2 values need to be checked for the cases below: | r1 r2 NA NA | Low Low | r2 r1 NA NA | High High | NA NA f1 f2 | High High | NA NA f2 f1 | Low Low November 5, 2010 fixed with line number to indicate location of [Driver Schedule] error for the above cases. ****************************************************************************** ******************************************************************************