***************************************************************************** ********************* 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.1 PLATFORM (SPARC, HP700, PC, etc.): PC OS AND VERSION: Microsoft Windows 10 REPORTED BY: Michael Mirmak, Intel Corp. DATE: February 5, 2020 DESCRIPTION OF BUG: The [Diff Pin] and [Model Selector] keywords should not be incompatible, but the enclosed file will fail with Orphan Keyword errors unless the two [Diff Pin] lines are commented out. IBISCHK7 V7.0.0 Checking bug210.ibs for IBIS 6.0 Compatibility... ERROR (line 21) - Orphan Component keyword. ERROR (line 22) - Orphan data line keyword. Errors : 2 File Failed INSERT IBIS FILE DEMONSTRATING THE BUG: [IBIS Ver] 6.0 [File Name] bug210.ibs [File Rev] 1.0 [Notes] Test Model only [Component] BUG210 [Manufacturer] None [Package] R_pkg 0.0 NA NA L_pkg 0.0 NA NA C_pkg 0.0 NA NA [Pin] signal_name model_name R_pin L_pin C_pin 1p Tx_p bug210_Tx_selector 1n Tx_n bug210_Tx_selector [Model Selector] bug210_Tx_selector bug210_Tx_1 Sampling 1 bug210_Tx_2 Sampling 2 bug210_Tx_3 Sampling 3 [Diff_Pin] inv_pin vdiff tdelay_typ tdelay_min tdelay_max 1p 1n NA NA NA NA [Model] bug210_Tx_1 Model_type Output C_comp 0p 0p 0p Cref = 0 Vref = 0.5 Rref = 50 Vmeas = 0.5 [Temperature_Range] 25 125 0 [Voltage Range] 1.0 1.0 1.0 [Pulldown] -6.6 -0.132 -0.132 -0.132 0.0 0.0 0.0 0.0 6.6 0.132 0.132 0.132 [Pullup] -6.6 0.132 0.132 0.132 0.0 0.0 0.0 0.0 6.6 -0.132 -0.132 -0.132 [Ramp] dV/dt_r 0.3/1.5p 0.3/1.5p 0.3/1.5p dV/dt_f 0.3/1.5p 0.3/1.5p 0.3/1.5p [Model] bug210_Tx_2 Model_type Output C_comp 0p 0p 0p Cref = 0 Vref = 0.5 Rref = 50 Vmeas = 0.5 [Voltage Range] 1.0 1.0 1.0 [Pulldown] -6.6 -0.132 -0.132 -0.132 0.0 0.0 0.0 0.0 6.6 0.132 0.132 0.132 [Pullup] -6.6 0.132 0.132 0.132 0.0 0.0 0.0 0.0 6.6 -0.132 -0.132 -0.132 [Ramp] dV/dt_r 0.3/1.5p 0.3/1.5p 0.3/1.5p dV/dt_f 0.3/1.5p 0.3/1.5p 0.3/1.5p [Model] bug210_Tx_3 Model_type Output C_comp 0p 0p 0p Cref = 0 Vref = 0.5 Rref = 50 Vmeas = 0.5 [Voltage Range] 1.0 1.0 1.0 [Pulldown] -6.6 -0.132 -0.132 -0.132 0.0 0.0 0.0 0.0 6.6 0.132 0.132 0.132 [Pullup] -6.6 0.132 0.132 0.132 0.0 0.0 0.0 0.0 6.6 -0.132 -0.132 -0.132 [Ramp] dV/dt_r 0.3/1.5p 0.3/1.5p 0.3/1.5p dV/dt_f 0.3/1.5p 0.3/1.5p 0.3/1.5p [End] With further discussion by email and at the IBIS Quality Meeting on February 11, 2020, this was determined to be NOT A BUG. While additional comments might be needed in the form of a BIRD, the Keyword Hierarchy diagram in IBIS Version 7.0 on page 19 shows that [Model Selector] is a top-level keyword outside of the scope of [Component]. So inserting [Model Selector] ahead of [Diff Pin] (shich is part of the [Component] keyword scope leaves [Diff Pin] as an orphan keyword. Having [Model Selector] as a top-level keyword was intended because different [Component]s (supporting different pinouts such as dual inline and BGA) might have the same [Model Selecttor] choices and the same [Model]s. Subsequent discussions centered on the use of "orphan" in the error messages, which was deemed unclear. All messages using the word "orphan" were reviewed, and new messages proposed. The following list shows each proposed new message, followed by the original message. The CSV columns are message number, error type, message code, and the message text for printf: 501,E,CMPNT_ERR_1,( line %d ) - Component-scoped keyword not found under [Component]. ( line %d ) - Orphan Component keyword. 4755,E,CMPNTEMI_ERR_5,( line %d ) - EMI Component-scoped keyword not found under [Begin EMI Component]. ( line %d ) - Orphan keyword line. 4301,E,EBDMDL_ERR_1,( line %d ) - Electrical Board Description-scoped keyword not found under [Begin Board Description] ( line %d ) - Orphan Electrical Board Description keyword. 1001,E,HDR_ERR_1,( line %d ) - File header-scoped keyword not found under file header section. ( line %d ) - Orphan File Header keyword. 6001,E,IMSMDL_ERR_1,( line %d ) - Interconnect Model Set-scoped keyword not found under [Interconnect Model Set]. ( line %d ) - Orphan Interconnect Model Set keyword. 249,E,MDL_ERR_149,( line %d ) - External Circuit-scoped keyword not found under [External Circuit]. ( line %d ) - Orphan External Cucuit keyword. 102,E,MDL_ERR_2,( line %d ) - Model-scoped keyword not found under [Model]. ( line %d ) - Orphan Model keyword. 4001,E,MSEL_ERR_1,( line %d ) - Model Selector-scoped keyword not found under [Model Selector]. ( line %d ) - Orphan Model Selector keyword. 3401,E,PKGMDL_ERR_1,( line %d ) - Package Model-scoped keyword not found under [Package Model]. ( line %d ) - Orphan Package Model keyword. 2402,E,SUBMDL_ERR_2,( line %d ) - Sub Model-scoped keyword not found under [Sub Model]. ( line %d ) - Orphan Sub Model keyword. 2302,E,TESTDATA_ERR_2,( line %d ) - Test Data-scoped keyword not found under [Test Data]. ( line %d ) - Orphan Test Data keyword. 2202,E,TESTLOAD_ERR_2,( line %d ) - Test Load-scoped keyword not found under [Test Load]. ( line %d ) - Orphan Test Load keyword. 502,B,CMPNT_ERR_2,( line %d ) - Component-scoped data line not found under [Component]. ( line %d ) - Orphan data line keyword. 4756,E,CMPNTEMI_ERR_6,( line %d ) - EMI Component-scoped data line not found under [EMI Component]. ( line %d ) - Orphan data line 4302,E,EBDMDL_ERR_2,( line %d ) - Electrical Board Description-scoped data line not found under [Begin Board Description]. ( line %d ) - Orphan Data Line. 1002,E,HDR_ERR_2,( line %d ) - File header-scoped data line not found under file header section. ( line %d ) - Orphan Data Line. 6002,E,IMSMDL_ERR_2,( line %d ) - Interconnect Model Set-scoped data line not found under [Interconnect Model Set]. ( line %d ) - Orphan Data Line. 107,E,MDL_ERR_7,( line %d ) - Model-scoped data line not found under [Model]. ( line %d ) - Orphan data line with no associated keyword. 4002,E,MSEL_ERR_2,( line %d ) - Model Selector-scoped data line not found under [Model Selector]. ( line %d ) - Orphan Data Line. 3402,E,PKGMDL_ERR_2,( line %d ) - Package Model-scoped data line not found under [Package Model]. ( line %d ) - Orphan Data Line. 2403,E,SUBMDL_ERR_3,( line %d ) - Sub Model-scoped data line not found under [Sub Model]. ( line %d ) - Orphan data line keyword. 2303,E,TESTDATA_ERR_3,( line %d ) - Test Data-scoped data line not found under [Test Data]. ( line %d ) - Orphan data line keyword. 2203,E,TESTLOAD_ERR_3,( line %d ) - Test Load-scoped data line not found under [Test Load]. ( line %d ) - Orphan data line keyword. 509,E,CMPNT_ERR_9,(line %d) - Data line after invalid keyword. (line %d) - Orphan data line with no associated keyword 3404,E,PKGMDL_ERR_4,( line %d ) - Data line after invalid keyword. ( line %d ) - Orphan Data line. 2313,E,TESTDATA_ERR_13,( line %d ) - Data line after invalid keyword. ( line %d ) - Orphan Data line. 2205,E,TESTLOAD_ERR_5,( line %d ) - Data line after invalid keyword. ( line %d ) - Orphan Data line. 3438,E,PKGMDL_ERR_38,( line %d ) - R/L/C section not found under [Pin Numbers]. ( line %d ) - Detected the start of an orphan R/L/C section 3440,E,PKGMDL_ERR_40,( line %d ) - 'Fork' not found under [Pin Numbers]. ( line %d ) - Detected the start of an orphan 'Fork' 3441,E,PKGMDL_ERR_41,( line %d ) - 'Endfork' not found under [Pin Numbers]. ( line %d ) - Detected the start of an orphan 'Endfork' 4342,E,EBDMDL_ERR_42,( line %d ) - R/L/C section not found under [Path Description]. ( line %d ) - Detected the start of an orphan R/L/C section 4344,E,EBDMDL_ERR_44,( line %d ) - 'NC' not found under [Pin List]. ( line %d ) - Detected the start of an orphan 'NC' 4345,E,EBDMDL_ERR_45,( line %d ) - 'Fork' not found under [Path Description]. ( line %d ) - Detected the start of an orphan 'Fork' 4346,E,EBDMDL_ERR_46,( line %d ) - 'Endfork' not found under [Path Description]. ( line %d ) - Detected the start of an orphan 'Endfork' 4351,E,EBDMDL_ERR_51,( line %d ) - 'Node' sub param not found under [Path Description]. ( line %d ) - Detected an orphan 'Node' sub param 3814,W,MSPEC_ERR_14,%s found with no associated %s or %s for Model Spec defined on line %d orphan %s found for Model Spec defined on line %d 261,E,MDL_ERR_161,( line %d ) - [End Algorithmic Model] with no corresponding [Algorithmic Model]. ( line %d ) - Orphan [End Algorithmic Model] keyword found 262,E,MDL_ERR_162,( line %d ) - [End EMI Model] with no corresponding [EMI Model]. ( line %d ) - Orphan [End EMI Model] keyword found ***************************************************************************** ******************** BELOW FOR ADMINISTRATION AND TRACKING ****************** ***************************************************************************** BUG NUMBER: 210 SEVERITY: [FATAL, SEVERE, MODERATE, ANNOYING, ENHANCEMENT] ANNOYING PRIORITY: [HIGH, MEDIUM, LOW] LOW STATUS: [OPEN, CLOSED, WILL NOT FIX, NOT A BUG] CLOSED FIXED VERSION: 7.0.2 FIXED DATE: August 3, 2020 NOTES ON BUG FIX: Discussed at the IBIS Open Forum on February, 21, 2020. A simple statement might be needed in the IBIS Version 7.1 document that the [Model Selector] keyword is a top-level keyword and outside of the scope of [Component]. Other option is to change the message from Orphan to keyword location incorrect. The IBIS Quality Task Group will consider the optons. Classified at the April 24, 2020 IBIS Open Forum. To be fixed in the next release. August 3, 2020 - Checked for the documented test case with E0501 and E0502. A message report check shows "orphan" is removed for the other test cases. W3814 message also changed and checked. ***************************************************************************** *****************************************************************************