****************************************************************************** ********************* 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.1.0 PLATFORM (SPARC, HP700, PC, etc.): PC OS AND VERSION: Microsoft Windows 10 REPORTED BY: Randy Wolff, Micron Technology; Arpad Muranyi, Siemens EDA DATE: January 17, 2022 DESCRIPTION OF BUG: Different [IBIS Ver] causes different messages in .ibs referenced by a .emd file. The test cases below illustrate this. BIRD184.2 tightened the rules for bus_label in [Pin Mapping] and signal_name under [Pin]. The new rules were implemented in IBIS Version 7.0 to assure that a bus_label name is not associated with two different signal_names. The bug228.ibs file below associates in [Pin Mapping} a bus_label VSS with both the [Pin] signal_name VSS and VSSQ - a violation for BIRD184.2. --------------- IBS ONLY CHECKS --------------- ibischk7_64 -numbered bug228.ibs (EXTRA LINE FEEDS ARE REMOVED FROM THE REPORTS FOR CLARITY) ---------------------------------- [IBIS Ver] 2.0 (Tested as IBIS 2.1 ---------------------------------- IBISCHK7 V7.1.0 Checking bug228.ibs for IBIS 2.1 Compatibility... Errors : 0 File Passed -------------- [IBIS Ver] 7.1 -------------- IBISCHK7 V7.1.0 Checking bug228.ibs for IBIS 7.0 Compatibility... E0730 - Component 'BUG228': Pins '1' and '2' with model 'GND' have the same 'Pulldown_ref' 'VSS' but different signal_names 'VSS' and 'VSSQ' E5808 - Component BUG228: signal_name VSSQ (associated with Pin 2, Pulldown_ref VSS) conflicts with signal_name VSS also associated with bus_label VSS Errors : 2 File Failed ------------------------------------- EMD CHECKS WITH IBIS 2.0 AND IBIS 7.0 ------------------------------------- ibischk7_64 -numbered -emd bug228.emd ----------------------------------- [IBIS Ver] 2.0 (Tested as IBIS 2.1) ----------------------------------- IBISCHK7 V7.1.0 Checking bug228.emd for IBIS 7.1 Compatibility... Checking bug228.ibs for IBIS 2.1 Compatibility... E5808 - Component BUG228: signal_name VSSQ (associated with Pin 2, Pulldown_ref VSS) conflicts with signal_name VSS also associated with bus_label VSS Errors : 1 File Failed Errors : 1 File Failed -------------- [IBIS Ver] 7.0 -------------- IBISCHK7 V7.1.0 Checking bug228.emd for IBIS 7.1 Compatibility... Checking bug228.ibs for IBIS 7.0 Compatibility... E0730 - Component 'BUG228': Pins '1' and '2' with model 'GND' have the same 'Pulldown_ref' 'VSS' but different signal_names 'VSS' and 'VSSQ' E5808 - Component BUG228: signal_name VSSQ (associated with Pin 2, Pulldown_ref VSS) conflicts with signal_name VSS also associated with bus_label VSS Errors : 2 File Failed Errors : 2 File Failed ------- Different IBIS file Error reports can be confusing. When an IBIS file such as bug228.ibs is referenced by an EMD, AND the IBIS file is IBIS 2.0 to IBIS 6.1, the suggested resolution is to add a line below the "Checking bug228.ibs ..." line. Two lines are issued: Checking bug228.ibs for IBIS 7.0 Compatibility... bug228.ibs is IBIS <2.0>, but IBIS 7.0 compatibility is required when referenced by EMD. E0730 - Component 'BUG228': Pins '1' and '2' with model 'GND' have the same 'Pulldown_ref' 'VSS' but different signal_names 'VSS' and 'VSSQ' E5808 - Component BUG228: signal_name VSSQ (associated with Pin 2, Pulldown_ref VSS) conflicts with signal_name VSS also associated with bus_label VSS Errors : 2 -------- Only bug228.ibs <2.0> varies for all versions of bug228.ibs from IBIS 2.0 through IBIS 6.1 For IBIS 7.0 and above, AND when EMD checking is invoked, the second line is omitted. Earlier suggest sentence was The file has [IBIS Ver] <2.0>; however, IBIS 7.0 compatibility is required for IBIS files referenced by EMD. *********** INSERT IBIS FILE DEMONSTRATING THE BUG: [IBIS Ver] 2.0 | Change from 2.0 to 7.0 for two checks [File Name] bug228.ibs [File Rev] 1.0 [Component] BUG228 [Manufacturer] Acme, Inc. [Package] R_pkg 0 NA NA L_pkg 0 NA NA C_pkg 0 NA NA | [Pin] signal_name model_name 1 VSS GND 2 VSSQ GND 3 A0 INPUT 4 VDD POWER | [Pin Mapping] pulldown_ref pullup_ref gnd_clamp_ref power_clamp_ref ext_ref 1 VSS NC 2 VSS NC 3 NC NC VSS VDD 4 NC VDD | [Model] INPUT Model_type Input Vinl = 0.20 Vinh = 0.80 | C_comp 0.0 NA NA | [Voltage Range] 1.0 NA NA | [End] |*********** | bug228.emd |*********** |***************************************************************************** [Ibis Ver] 7.1 [File Name] bug228.emd [File Rev] 0.1 [Date] 1/14/2022 |***************************************************************************** [Begin EMD] BUG228_EMD [Manufacturer] TBD [Description] TBD |***************************************************************************** [Number Of EMD Pins] 1 [EMD Pin List] signal_name signal_type bus_label 1 A0 [End EMD Pin List] |***************************************************************************** [EMD Parts] | EMD Part File reference Component name Part1 bug228.ibs BUG228 [End EMD Parts] | [EMD Designator List] | EMD Designator Part name U1 Part1 [End EMD Designator List] |***************************************************************************** [Designator Pin List] signal_name signal_type bus_label U1.1 VSS U1.2 VSS U1.3 A0 U1.4 VDD [End Designator Pin List] |***************************************************************************** [EMD Group] EMDgroupName | EMD Set file_reference EMDsetName NA [End EMD Group] |***************************************************************************** [End EMD] |***************************************************************************** [EMD Set] EMDsetName [Manufacturer] Manufacturer name [Description] Description text | [EMD Model] EMDmodel File_IBIS-ISS bug228_iss.iss netlist Number_of_terminals = 2 1 Pin_I/O pin_name U1.3 | A0_U1.3 2 Pin_I/O pin_name 1 | A0_1 [End EMD Model] | [End EMD Set] |***************************************************************************** [End] |*********** | bug228.iss |*********** ** SPICE Node -1 Pin A0_U1-3 ** SPICE Node -2 Pin A0_1 ***** SPICE SUB CIRCUIT DEFINITON STARTS********* .subckt netlist + A0_U1-3 A0_1 R1 A0_1 A0_U1-3 R=0.01 .ends netlist ************************************************* ****************************************************************************** ******************** BELOW FOR ADMINISTRATION AND TRACKING ******************* ****************************************************************************** BUG NUMBER: 228 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.1.1 FIXED DATE: November 18, 2022 NOTES ON BUG FIX: Classified at the February 18, 2022 IBIS Open Forum meeting. The suggested resolution is to add on a single line to the .ibs check without quotation marks: "bug228.ibs is IBIS <2.0>, but IBIS 7.0 compatibility is required when referenced by EMD." "bug228.ibs" is the name of the file being checked, and <2.0> is the actual [IBIS Ver] of that file. This message would be added only for IBIS 2.0 to IBIS 6.1 files and omitted for all other versions of IBIS. It is suspected that the root cause for this bug lies at line 165 of buslabel.c, where the global variable geIbisVersion is checked to determine the [IBIS Ver] of the current file. That variable does not serve that purpose, and all other places where the [IBIS Ver] of a file needs to be known use geFileVersion. It is believed that once geIbisVersion is no longer used in buslabel.c, no other uses of the variable will remain, and it can be eliminated entirely from ibis_chk.c. Doing so might avoid confusion in the future. To be fixed in the next release. Added Comment from October 18, 2022 IBIS Quality Task Group. The fix is good enough for doing a release. We may request a new Error Number for the message requiring compatibility and may request that we refer to "bus_label". The statement "This file ..." might be changed to specifically state the ibis file name "bug228.ibs". ---- October 21, 2021 - The recommendation is to include some message changes in a new release and possibly a new error number so that the line can be reported in the Error messages spread sheet. From: The file has [IBIS Ver] <2.0>; however, IBIS 7.0 compatibility is required for IBIS files referenced by EMD. E5808 - Component BUG228: signal_name VSSQ (associated with Pin 2, Pulldown_ref VSS) conflicts with signal_name VSS also associated with bus_label VSS To: EXXXX - bug228.ibs has [IBIS Ver] 2.0; however, IBIS 7.0 compatibility is required for IBIS files referenced by EMD. E5808 - Component BUG228: signal_name VSSQ (associated with Pin 2, Pulldown_ref VSS) conflicts with signal_name VSS also associated with bus_label VSS ****************************************************************************** ******************************************************************************