****************************************************************************** ********************* 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 info@ibis.org. A list of reported bugs is maintained at http://ibis.org/bugs/ibischk/ . ****************************************************************************** PARSER VERSION NUMBER: 7.0.2 PLATFORM (SPARC, HP700, PC, etc.): PC OS AND VERSION: Microsoft Windows 10 REPORTED BY: Michael Mirmak, Intel Corp. DATE: April 15, 2021 DESCRIPTION OF BUG: The IBIS 7.0 specification states, for Type UI, that "UI parameter values are in units of UI (bit time). The parameter may take on either floating point or integer values." In addition, for Format List, the specification states that "the first value shall be assumed to be the default, if the optional selection Default is not present. If the optional selection Default is used with List, the argument to Default must be an explicit member of the List and will override the use of the first List value as default (for example, (List 0 1 2 3 4) implies that the default value for the List is 0, while (List 0 1 2 3 4) Default 2) means that the default value for the List is 2, not 0)." However, the definition of s floating point number includes a number with or without a sign and a decimal point. A number such 1.0 and 1 are considered equivalent. What is not stated is whether the parser and EDA tools should evaluate any equivalence between integer and floating-point values for the purposes of checking that a List’s Default value is indeed provided as part of the List. Another way of stating this: should all the values of a given parameter, including Value and Default, use only floating-point values or only integers, as opposed to mixing them? In the example provided below, a parameter of Format List and Type UI shows combinations that mix integer and floting poiont values of 1 or 1.0 The parser evaluates “1” and “1.0” as equivalent, without reporting a Note, Warning, or Error. This might be a problem in some tools where number types are rigidly enforced. The parser’s behavior is correct so long as the specification does not intend to enforce a common format (integer or floating point) within any given parameter. INSERT IBIS FILE DEMONSTRATING THE BUG: (bug216 | Testing (Type UI) with (List *** ) with Float and Integer Numbers) (Reserved_Parameters (AMI_Version (Usage Info) (Type String) (Value "7.0")) (Init_Returns_Impulse (Usage Info) (Type Boolean) (Default False)) (GetWave_Exists (Usage Info) (Type Boolean) (Default True)) (Rx_Clock_Recovery_Mean (Usage Info) (Type UI) (List -2 -1 0 1 2 3) (Default 1.0) (Description "Integers in List, Float in Default")) (Rx_Clock_Recovery_DCD (Usage Info) (Type UI) (List -2.0 -1.0 -0.0 1.0 2.0) (Default 1) (Description "Float in List, Integer in Default")) (Rx_Clock_Recovery_Dj (Usage Info) (Type UI) (List -5 -3 -1.5 -1.0 0 1 2 3.0 5) (Default 1.0) (Description "Mixing Floats and Integers in List, Float is Default")) ) ) The parser output (with the -ami and -caution flags) is shown below: IBISCHK7 V7.0.2 ... Checking bug216.ami for AMI Version 7.0 Compatibility... Errors : 0 File Passed ****************************************************************************** ******************** BELOW FOR ADMINISTRATION AND TRACKING ******************* ****************************************************************************** BUG NUMBER: 216 SEVERITY: [FATAL, SEVERE, MODERATE, ANNOYING, ENHANCEMENT] ANNOYING PRIORITY: [HIGH, MEDIUM, LOW] LOW STATUS: [OPEN, CLOSED, WILL NOT FIX, NOT A BUG] NOT A BUG FIXED VERSION: FIXED DATE: April 23, 2021 NOTES ON BUG FIX: Classified on April 23, 2021 at the IBIS Open Forum Meeting Resolved as NOT A BUG. The mixed types are explicitly permitted. However, we may insert a brief recommendation that for Float or UI, any intergers be entered as floating point numbers to avoid any future issues ****************************************************************************** ***********************************************************************