============================================================================= Buffer Issue Resolution Document (BIRD) BIRD ID#: 37.3 ISSUE TITLE: Enhancement To The Package Model (.pkg file) Specification REQUESTER: Stephen Peters DATE SUBMITTED: June 23, 1996, Aug. 12, 1996, Sept. 23, 1996, Oct. 18, 1996 DATE ACCEPTED BY IBIS OPEN FORUM: Oct 18, 1996 ****************************************************************************** ****************************************************************************** STATEMENT OF THE ISSUE: The current package model electrical description, (as proposed in Bird 28.3 and accepted by the forum) has the restriction that all the sections of a package stub connect in a series fashion, with no branches or stubs allowed. This limits the usefulness of the description when trying to describe BGA or other packages where branches or forks off the main package stub may be present. This BIRD corrects this deficiency by adding two new subparameters to the [Pin Numbers] keyword called 'Fork' and 'Endfork'. This bird also eliminates the Matrix description format (as introduced by Bird28.3) from the package description. ****************************************************************************** STATEMENT OF THE RESOLVED SPECIFICATIONS: Following are the specific changes to the specification (spec as amended by Bird 28.3). 1. The Sub-params list of the [Pin Numbers] keyword is changed to that shown below |Sub-Params: Len, L, R, C, Fork, Endfork 2. The text following the first paragraph of the Usage Rules section of the [Pin Numbers] keyword is replaced by the following: | | Subparameters: | The Len, L, R, and C subparameters specify the length, | inductance, capacitance and resistance of each section of | each stub on a package. | The Fork and Endfork subparameters are used to denote branches | from the main package stub. | Len The of a package stub section. Lengths are given | in terms of arbitrary 'units'. | L The inductance of a package stub section, in terms of | 'inductance/unit length'. For example, if the total | inductance of a section is 3.0nH and the | length of the section is 2 'units', the inductance | would be listed as L = 1.5nH (i.e. 3.0 / 2). | C The capacitance of a package stub section, in terms of | capacitance per unit length. | R The DC (ohmic) resistance of a package stub section, in | terms of ohms per unit length. | Fork This subparameter indicates that the sections | following (up to the Endfork subparameter) are part | of a branch off of the main package stub. This | subparameter has no arguments. | Endfork This subparameter indicates the end point of a | branch. For every Fork subparameter there must be | a corresponding Endfork subparameter. As with the | Fork subparameter, the Endfork subparameter has no | arguments. | | Specifying a Len or L/R/C value of zero is allowed. If | Len = 0 is specified, then the L/R/C values are the total | for that section. If a non-zero length is specified, then | the total L/R/C for a section is calculated by multiplying | the value of the Len subparameter by the value of the L, | R or C subparameter. However, if a non-zero length section | is specified, the L and C for that section should be treated | as distributed elements. | | Using The Subparameters to Describe Package Stub Sections: | A section description begins with the Len subparameter and | end with the slash (/) character. The value of the Len, L, | R and C subparameters and the subparameter itself are | separated by an equals sign (=); whitespace around the equals | sign is optional. The Fork and Endfork subparameters | are placed between section descriptions (i.e. between the | concluding slash of one section and the 'Len' parameters | that starts another). All package stub descriptions must | contain the same number of sections however, a particular | section description can contain no data (i.e. the description | is given as 'Len = 0 /'). | | Legal Subparameter Combinations for Section Descriptions: | A) A single Len = 0 subparameter, followed by a slash. | The is used to describe a section with no data. | | | B) Len, and one or more of the L, R and C subparameters. If | the Len subparameter is given as zero, then the L/R/C sub- | parameters represent lumped elements. If the the Len sub- | parameter is non-zero, then the L/R/C subparameters represent | distributed elements. | | D) Single Fork or Endfork subparameter. Normally, a package | stub is described as several sections, with the Fork and Endfork | subparameters surrounding a group of sections in the middle of | the complete package stub description. However, it is legal | for the Fork/Endfork subparameters to appear at the end of a | section description. The package pin is connected to the | last section of a package stub description not surrounded by | a Fork/Endfork statements. See the examples below. | | Package Stub Boundaries: | A package stub description starts at the connection to | the die and ends at the point at which the package pin | interfaces with the board or substrate the IC package | is mounted on. Note that in the case of a component | with thru-hole pins, the package stub description should | include only the portion of the pin not physically | inserted into the board or socket. However, it is legal for | a package stub description to include both the component | and socket together if this is how the component is | intended to be used. | 3. The examples added by Bird 28.3 are replaced by the following | |A three section package stub description that includes a bond wire |(lumped inductance), a trace (treated as a transmission line with DC |resistance), and a pin modeled as a lumped L/C element. | [Pin Number] A1 Len=0 L=1.2n/ Len=1.2 L=2.0n C=0.5p R=0.05/ Len=0 L=2.0n C=1.0p/ | |Pin A2 below has an section with no data | A2 Len=0 L=1.2n/ Len=0/ Len=1.2 L=2.0n C=0.5p R=0.05/ Len=0 L=2.0n C=1.0p/ | |A section description using the Fork and Endfork subparameters. Note |that the indentation of the Fork and Endfork subparameters are for |readability and are not required. | A1 Len=0 L=2.3n / | bondwire Len=1.2 L=1.0n C=2.5p / | first section Fork | indicates the starting of a branch Len=1.0 L=2.0n C=1.5p / | section Endfork | ending of the branch Len=0.5 L=1.0 C=2.5p/ | second section Len=0.0 L=1.5n / | pin | |Here is an example where the Fork/Endfork subparameters are at the |end of a package stub description | B13 Len=0 L=2.3n / | bondwire Len=1.2 L=1.0n C=2.5p / | first section Len=0.5 L=1.0 C=2.5/ | second section, pin connects here Fork | indicates the starting of a branch Len=1.0 L=2.0n C=1.5p / | section Endfork | ending of the branch |4. The [Model Data] and [End Model Data] keywords revert back to | there former (pre bird 28.3) definitions. ****************************************************************************** ANALYSIS PATH/DATA THAT LED TO SPECIFICATION: This bird grew out of the need to describe a particular structure found in BGA type packages. In these packages, the trace that connects the die pad to the via for the 'ball' does not stop there. For manufacturing reasons the trace continues out to the edge of the board and thus forms a 'stub' or branch off the main pad to ball (or pin) connection. Because of the need to stick with the existing section based description, the fork and Endfork subparameters were chosen. REVISIONS FOR 37.1: Based on comments received, removed slash ("/") from the Fork and Endfork syntax, added a description of the package stub boundaries, and added two examples. I also added a recommendation that non-zero length section descriptions be treated as distributed elements. REVISIONS FOR 37.2 Until the forum can agree on a method to describe coupling, the 'Matrix' subparameter has been removed from the package description. Hopefully, it will be reintroduced when a common matrix description format had been agreed upon.