****************************************************************************** ********************* 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: 4.2.0 PLATFORM (SPARC, HP700, PC, etc.): PC OS AND VERSION: Windows XP Professional REPORTED BY: Michael Mirmak, Intel Corp. DATE: January 21, 2008 DESCRIPTION OF BUG: The IBIS 4.2 specification does not specify an ordering requirement for [External Circuit] relative to [Circuit Call] or [Node Declarations]. The only explicit requirement is that [Node Declarations] must appear before [Circuit Call]. Per the spec, [External Circuit] can be placed anywhere, while the text for [Circuit Call] lists no ordering requirements. If the file below is parsed as-written, the following errors appear: IBISCHK4 V4.2.0 Checking ecircuit-nodal-bad.ibs for IBIS 4.2 Compatibility... ERROR (line 56) - Orphan Component keyword. ERROR (line 60) - Orphan data line keyword. ERROR (line 62) - Orphan Component keyword. ERROR (line 64) - Orphan Component keyword. ERROR (line 65) - Orphan data line keyword. ERROR (line 67) - Orphan data line keyword. ERROR (line 68) - Orphan data line keyword. ERROR (line 69) - Orphan data line keyword. ERROR (line 70) - Orphan data line keyword. ERROR (line 72) - Orphan Component keyword. Errors : 10 File Failed If [Node Declarations] is followed by [Circuit Call], then by [External Circuit], the errors vanish. The parser should not be sensitive to the relative placement of [External Circuit]. INSERT IBIS FILE DEMONSTRATING THE BUG: |************************************************************************** | [IBIS Ver] 4.2 [File Name] ecircuit-nodal-bad.ibs [File Rev] 1.0 [Date] 01/21/2008 [Source] This information is for demonstration purposes only. [Notes] The following information corresponds to no actual device. [Disclaimer] No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document. [Copyright] Copyright (C) 2008, GEIA and the IBIS Open Forum | |************************************************************************** | [Component] External_Circuit_Nodal_Bad [Manufacturer] IBIS Open Forum [Package] | this section is overridden by [Package Model] | typ min max R_pkg 0.00mOhm 0.00mOhm 0.00mOhm L_pkg 0.0nH 0.00nH 0.00nH C_pkg 0.0pF 0.00pF 0.00pF | |************************************************************************** | [Pin] signal_name model_name R_pin L_pin C_pin | | R_, L_ and C_pin are also overridden by [Package Model] | A1 IOPIN2 CIRCUITCALL 2m 4n 1p A4 VCC CIRCUITCALL 2m 4n 1p A5 VSS CIRCUITCALL 2m 4n 1p | |*************************************************************************** | [External Circuit] BUS_SPI Language SPICE | Corner corner_name file_name circuit_name (.subckt name) Corner Typ buffer_typ.spi buffer_io_typ | Ports signal my_drive my_enable my_receive cntrl Ports pwr gndref | | D_to_A d_port port1 port2 vlow vhigh trise tfall corner_name D_to_A D_drive my_drive gndref 0.0 3.3 0.5n 0.3n Typ D_to_A D_enable my_enable gndref 0.0 3.3 0.5n 0.3n Typ | | A_to_D d_port port1 port2 vlow vhigh corner_name A_to_D D_receive my_receive gndref 0.8 2.0 Typ | [End External Circuit] | |*************************************************************************** [Node Declarations] |Die Nodes | no declarations are needed for A1, as it's an implicit pad |Die Pads pwrpad gndrefpad | [End Node Declarations] |*************************************************************************** [Circuit Call] BUS_SPI Signal_pin A1 | mapping port pad/node Port_map signal A1 | implicit pad! Port_map cntrl A1 | in this case, control connects to the signal pad Port_map pwr A4 | implicit pad connection Port_map gndref A5 | implicit pad connection | [End Circuit Call] |*************************************************************************** | [End] ****************************************************************************** ******************** BELOW FOR ADMINISTRATION AND TRACKING ******************* ****************************************************************************** BUG NUMBER: 100 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: n/a FIXED DATE: Feb. 5, 2008 NOTES ON BUG FIX: Classified at the February 5, 2008 IBIS Open Forum teleconference. Parser correctly follows current tree hierarchy diagram, though the specification text does not unambiguously state the relationships between the keywords. A clarification BIRD may be filed in future. ****************************************************************************** ******************************************************************************