****************************************************************************** ********************* 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@eda.org. A list of reported bugs will be maintained on eda.org. ****************************************************************************** PARSER VERSION NUMBER: IBISCHK6 V6.1.0 PLATFORM (SPARC, HP700, PC, etc.): PC OS AND VERSION: Windows 7 REPORTED BY: Bob Ross, Teraspeed Labs DATE: November 16, 2015 DESCRIPTION OF BUG: In the source code package for ibischk6, Version 6.1.0, some additions test are added to test specification requirements associated with combinations of the .ami reserved parameters Modulation, PAM4_UpperThreshold, and PAM4_LowerThreshold. Some tests were not done, nor problems reported. Note, Modulation PAM4 is both an Rx and Tx parameter, so Rx-only parameters PAM4_UpperThreshold and PAM4_LowerThreshold are not required in .ami files with Modulation PAM4. However, these Threshold parameters are required for .ibs models with Model_type Input*. The test files below add some tests, and validate correct performance for other tests. The Error message below is annotated with comments: IBISCHK6 V6.1.0 Checking bug167.ibs for IBIS 6.1 Compatibility... ... Reading bug167_nrz_no_thresholds.ami ... Checking bug167_nrz_no_thresholds.ami for AMI Version 6.1 Compatibility... ... Done Checking bug167_nrz_no_thresholds.ami ... Done Reading bug167_nrz_no_thresholds.ami | CORRECT ... Reading bug167_pam4_good_thresholds.ami ... Checking bug167_pam4_good_thresholds.ami for AMI Version 6.1 Compatibility... ... Done Checking bug167_pam4_good_thresholds.ami ... Done Reading bug167_pam4_good_thresholds.ami | CORRECT ... Reading bug167_pam4_no_thresholds.ami ... Checking bug167_pam4_no_thresholds.ami for AMI Version 6.1 Compatibility... E4697 - PAM4_UpperThreshold and PAM4_LowerThreshold must be specified when Modulation is PAM4 ... Done Checking bug167_pam4_no_thresholds.ami ... Done Reading bug167_pam4_no_thresholds.ami | E4697 NOT CORRECT - For Tx Operation, Modulation PAM4 without Thresholds is Legal ... Reading bug167_pam4_bad_thresholds.ami ... Checking bug167_pam4_bad_thresholds.ami for AMI Version 6.1 Compatibility... ... Done Checking bug167_pam4_bad_thresholds.ami ... Done Reading bug167_pam4_bad_thresholds.ami | WARNING MESSAGE NOT ISSUED FOR | PAM4_LowerThreshold > PAM4_CenterThreshold > PAM4_UpperThreshold | COMMENT: When PAM4_CenterThreshold is not sepecified, it should be set to 0.0 E4691 - Sub parameter Executable_Tx is associated with a parameter file bug167_pam4_no_thresholds.ami which was found to have a direction 'Rx-only' | NOT CORRECT - Modulation PAM4 is legal without Thresholds for Tx models E4691 - Sub parameter Executable_Tx is associated with a parameter file bug167_pam4_good_thresholds.ami which was found to have a direction 'Rx-only' | CORRECT Errors : 3 File Failed ----- As reported in BUG165, the following messages are not reported for Executable lines in bug167.ibs: | MInput Model: CORRECT | MOutput Model: CHECK MISSING FOR THIS LINE WHERE THE .ami FILE IS USED FOR TX OPERATION | | E4691 or similar messge should have been issued for | | Executable Win_3_32 dummy.dll bug167_pam4_good_thresholds.ami ----- INSERT IBIS FILE DEMONSTRATING THE BUG: ==== bug167.ibs ==== [IBIS Ver] 6.1 [File Name] bug167.ibs [File Rev] 0 [Date] 0 | [Component] BUG167 [Manufacturer] 0 [Package] R_pkg 0 0 0 L_pkg 0 0 0 C_pkg 0 0 0 | [Pin] signal_name model_name R_pin L_pin C_pin 1 1 MInput 0 0 0 3 3 MIO 0 0 0 9 9 MOutput 0 0 0 22 22 POWER 0 0 0 23 23 GND 0 0 0 | |-------------------------------------------- | [Model] MInput Model_type Input Vinh = 0 Vinl = 0 C_comp 0 0 0 [Temperature Range] 0 0 0 [Voltage Range] 0 0 0 | | ... Modulation NRZ, PAM4 Combination and Threshold Checks | [Algorithmic Model] | | ... test should be ok | Executable Win_1_32 dummy.dll bug167_nrz_no_thresholds.ami Executable Win_2_32 dummy.dll bug167_pam4_good_thresholds.ami | | ... tests should report Errors or Threshold Warning | Executable Win_3_32 dummy.dll bug167_pam4_no_thresholds.ami Executable Win_4_32 dummy.dll bug167_pam4_bad_thresholds.ami | [End Algorithmic Model] [Model] MIO Model_type I/O Vmeas = 1.5V Vinl = 1 Vinh = 4 Cref = 12.5pF Rref = 1Mohms Vref = 0V C_comp 5pF NA NA | [Voltage Range] 5V 5V 5V | [Pulldown] -5 -100m -100m -100m -1.10548E-06 -2.26573E-08 +0.00000E+00 -3.18105E-08 -2.03494E-07 +0.00000E+00 +1.60508E-08 -2.75031E-09 -1.18124E-07 +2.14425E-09 +1.75701E-08 +0.00000E+00 10 200m 200m 200m | [Pullup] | voltage I(typ) I(min) I(max) | -5 100m NA NA 10 -200m NA NA | | [Ramp] | variable typ min max dV/dt_r 1.5/0.6n NA NA dV/dt_f 1.5/0.6n NA NA R_load = 50 | | ... Modulation NRZ, PAM4 Combination and Threshold Checks | [Algorithmic Model] | | ... test should be ok | Executable_Tx Win_1_32 dummy.dll bug167_nrz_no_thresholds.ami Executable_Tx Win_2_32 dummy.dll bug167_pam4_no_thresholds.ami | Executable_Rx Win_3_32 dummy.dll bug167_nrz_no_thresholds.ami Executable_Rx Win_4_32 dummy.dll bug167_pam4_good_thresholds.ami | | ... tests should report Errors or Threshold Warning (Thresholds are Rx only) | Executable_Tx Win_5_32 dummy.dll bug167_pam4_good_thresholds.ami | Executable_Rx Win_6_32 dummy.dll bug167_pam4_no_thresholds.ami Executable_Rx Win_7_32 dummy.dll bug167_pam4_bad_thresholds.ami | [End Algorithmic Model] | | [Model] MOutput Model_type Output C_comp 0 0 0 Vmeas = 0 | | ... Modulation NRZ, PAM4 Combination and Threshold Checks | [Algorithmic Model] | | ... test should be ok | Executable Win_1_32 dummy.dll bug167_nrz_no_thresholds.ami Executable Win_2_32 dummy.dll bug167_pam4_no_thresholds.ami | | ... tests should report Errors (Thresholds are Rx only) | Executable Win_3_32 dummy.dll bug167_pam4_good_thresholds.ami | | [End Algorithmic Model] | [Voltage Range] 5V 5V 5V | [Pulldown] -5 -100m -100m -100m -1.10548E-06 -2.26573E-08 +0.00000E+00 -3.18105E-08 -2.03494E-07 +0.00000E+00 +1.60508E-08 -2.75031E-09 -1.18124E-07 +2.14425E-09 +1.75701E-08 +0.00000E+00 10 200m 200m 200m | [Pullup] | voltage I(typ) I(min) I(max) | -5 100m NA NA 10 -200m NA NA | [Ramp] | variable typ min max dV/dt_r 1.5/0.6n NA NA dV/dt_f 1.5/0.6n NA NA R_load = 50 | [End] ==== bug167_nrz_no_thresholds.ami ==== (bug167_nrz_no_thresholds (Reserved_Parameters | (Description "To suppress mandatory error") (AMI_Version (Usage Info) (Type String) (Value "6.1")) (Init_Returns_Impulse (Usage Info)(Type Boolean)(Value True)) (GetWave_Exists (Usage Info)(Type Boolean)(Value True)) | | (Description "Modulation NRZ") (Modulation (Usage Info)(Type String) (Value "NRZ")) | | (Description "Thresholds Commented Out") | (PAM4_UpperThreshold (Usage Info)(Type Float) (Value 0.333)) | (PAM4_LowerThreshold (Usage Info)(Type Float) (Value -0.333)) | ) ) ==== bug167_pam4_bad_thresholds.ami ==== (bug167_pam4_bad_thresholds (Reserved_Parameters | (Description "To suppress mandatory error") (AMI_Version (Usage Info) (Type String) (Value "6.1")) (Init_Returns_Impulse (Usage Info)(Type Boolean)(Value True)) (GetWave_Exists (Usage Info)(Type Boolean)(Value True)) | | (Description "Modulation PAM4") (Modulation (Usage Info)(Type String) (Value "PAM4")) | | (Description "With Bad Thresholds: Lower > Upper") (PAM4_UpperThreshold (Usage Info)(Type Float) (Value -0.333)) (PAM4_LowerThreshold (Usage Info)(Type Float) (Value 0.333)) | ) ) ==== bug167_pam4_good_thresholds.ami ==== (bug167_pam4_good_thresholds (Reserved_Parameters | (Description "To suppress mandatory error") (AMI_Version (Usage Info) (Type String) (Value "6.1")) (Init_Returns_Impulse (Usage Info)(Type Boolean)(Value True)) (GetWave_Exists (Usage Info)(Type Boolean)(Value True)) | | (Description "Modulation PAM4") (Modulation (Usage Info)(Type String) (Value "PAM4")) | | (Description "With Good Thresholds") (PAM4_UpperThreshold (Usage Info)(Type Float) (Value 0.333)) (PAM4_LowerThreshold (Usage Info)(Type Float) (Value -0.333)) | ) ) ==== bug167_pam4_no_thresholds.ami ==== (bug167_pam4_no_thresholds (Reserved_Parameters | (Description "To suppress mandatory error") (AMI_Version (Usage Info) (Type String) (Value "6.1")) (Init_Returns_Impulse (Usage Info)(Type Boolean)(Value True)) (GetWave_Exists (Usage Info)(Type Boolean)(Value True)) | | (Description "Modulation PAM4") (Modulation (Usage Info)(Type String) (Value "PAM4")) | | (Description "Thresholds Commented Out") | (PAM4_UpperThreshold (Usage Info)(Type Float) (Value 0.333)) | (PAM4_LowerThreshold (Usage Info)(Type Float) (Value -0.333)) | ) ) ==== dummy.dll ==== (blank file) ****************************************************************************** ******************** BELOW FOR ADMINISTRATION AND TRACKING ******************* ****************************************************************************** BUG NUMBER: 167 SEVERITY: [FATAL, SEVERE, MODERATE, ANNOYING, ENHANCEMENT] MODERATE PRIORITY: [HIGH, MEDIUM, LOW] MEDIUM STATUS: [OPEN, CLOSED, WILL NOT FIX, NOT A BUG] CLOSED FIXED VERSION: 6.1.1 FIXED DATE: January 8, 2016 NOTES ON BUG FIX: Classified at the November 20, 2015 IBIS Teleconference Meeting. To be fixed in the next release of ibischk6. ****************************************************************************** ******************************************************************************