******************************************************************************* ******************************************************************************* BIRD ID#: 64.4 ISSUE TITLE: Alternate Package Models REQUESTER: Arpad Muranyi, Intel; Mike LaBonte, Cadence DATE SUBMITTED: 10-25-99, 11-19-99, 10-8-2000, 11-1-2000, 11-20-2000 DATE ACCEPTED BY IBIS OPEN FORUM: December 8, 2000 ****************************************************************************** ****************************************************************************** STATEMENT OF THE ISSUE: The current IBIS specification (3.2) does not provide a selection mechanism for multiple package models. This may be necessary when a certain die is shipped in various package styles, or when the corner cases of the package are described with different package models. This BIRD is written to provide an easy solution to this deficiency. This feature will allow simulator tools to implement a user friendly package model selection interface and/or better automation for batch and sweep simulations. ****************************************************************************** STATEMENT OF THE RESOLVED SPECIFICATIONS: A new keyword shall be introduced in the IBIS specification to provide a user friendly package model selection mechanism for components which use multiple package models. The proposed keyword [Alternate Package Models] shall contain a list of package model names that the simulator can pick from, in addition to the default package model name given by the [Package Model] keyword. The package model names listed under the [Alternate Package Models] must follow the rules of the package model names associated with the [Package Model] keyword. To help the user of the simulator tool to make an intelligent choice, it is highly recommended that a description be placed to the right of each package model name in the list as a comment. |============================================================================= | Keyword: [Alternate Package Models] [End Alternate Package Models] | Required: No. | Description: Used to select a package model from a list of package models. | Sub-Params: None. | Usage Rules: The [Alternate Package Models] keyword can be used in addition | to the [Package Model] keyword. [Alternate Package Models] |* shall be used only for components that use the [Package Model] | keyword. | | Each [Alternate Package Models] keyword specifies a set of | alternate package model names for only one component, which | is given by the previous [Component] keyword. The [Alternate |* Package Models] keyword shall not appear before the first | [Component] keyword in an IBIS file. The [Alternate Package |* Models] keyword, when used, is in the same [Component] |* section, and must be followed by an [End Alternate Package |* Models] keyword. | | All alternate package model names must appear below the | [Alternate Package Models] keyword, and above the following | [End Alternate Package Models] keyword. The package model | names listed under the [Alternate Package Models] must follow | the rules of the package model names associated with the | [Package Model] keyword. The package model names correspond | to the names of package models defined by [Define Package | Model] keywords. Simulation tools may offer users a facility | for choosing between the default package model and any of the | alternate package models, when analyzing occurances of the | [Component]. |* |* The package model named by [Package Model] can be optionally |* repeated in the [Alternate Package Models] list of names. |============================================================================= | [Alternate Package Models] | 208-pin_plastic_PQFP_package-even_mode | What more can be said here? 208-pin_plastic_PQFP_package-odd_mode | It's all in the name. 208-pin_ceramic_PQFP_package-even_mode | More comments and descriptions here. 208-pin_ceramic_PQFP_package-odd_mode | And some more here too. [End Alternate Package Models] | ****************************************************************************** ANALYSIS PATH/DATA THAT LED TO SPECIFICATION: Problem statement Some components are shipped in multiple package styles. Also, there are situations when the corner cases of a package are modeled with multiple package models. Currently, in these cases the user of the IBIS model has to manually edit the IBIS file to change the package model name that is called by the [Package Model] keyword in order to reference a different package model. This makes automated simulations difficult, if not impossible. Possible solutions Add a new, simple keyword to the IBIS specification which works similar to the already existing [Model Selector] keyword. This was proposed in the original BIRD. Add a secondary keyword to list package models that are alternates to the default package model given by [Package Model]. This is the currently proposed solution. ****************************************************************************** ANY OTHER BACKGROUND INFORMATION: Several IBIS model users expressed their desire in private conversations and IBIS meetings to have such a package model selection mechanism in the IBIS specification to make their work easier. An alternate syntax was suggested by Bob Ross during an EMAIL and telephone correspondence on 10/25/99. The suggested syntax is identical to the [Model Selector] syntax, according to which the [Package Model Selector] would be assigned a name that is called by the (higher level) [Package Model] keyword. However, unlike in the [Model Selector] case, there is no need for calling the [Package Model Selector] from a higher level. This BIRD favors the simpler vs. the more consistent approach. Scott McMorrow made a request in an EMAIL on 11/12/99 to incorporate typ., min., and max. columns in the list of package models under the model selector name to assist in automating the package model selection based on corner cases. According to the existing rules this is not possible, because the package model names are allowed to be up to 40 characters in length. Three package model names on the same line could add up to 122 characters, which violates the current 80 character per line rules of the IBIS specification. Further, package model names are allowed to include blank characters, which requires a delimiter other than the space or tab character between the typ., min., and max. columns. The usage of a new delimiter introduces another inconsistency in the IBIS specification, since spaces and/or tab characters are widely used as delimiters between columns in current IBIS versions. A technical dilemma regarding the automated selection of package models based on typ., min., and max. qualifiers remains to be answered also. What do typ., min., and max. represent? Impedance, wave velocity, trace length, or perhaps the amount of cross talk? Simulation tool users will most likely make their choices based on individual preferences, possibly depending on project requirements. For this reason it seems to make more sense to give only a list that contains all of the package models without the typ., min., and max. qualifiers. The selection and automated usage of the various package models should then be done through a GUI or configuration mechanisms provided by the tool. The differences between the model name and package model name restrictions required a change even in this BIRD. The description field of the [Model Selector] keyword is separated by one or more space or tab character(s) from the model name. However, since package model names can contain blank characters, space or tab characters will not work as delimiters for the description field of the [Alternate Package Models] keyword. Since the contents of the description field is only used for informational purposes which does not effect the simulations I decided to use the comment character (|) as the delimiter for now. This option was actually discussed for the [Model Selector] also but voted down for the reason that tools reading an IBIS model have all the rights to ignore all comments, therefore a GUI would not know how to distinguish between a legitimate description and a meaningless comment. Does anyone have a better suggestion? Revision 64.2 changes 10-8-2000, Mike LaBonte: Added scoping requirements and mutually exclusive relationship with [Package Model]. Changed wording "... allows multiple package models to be listed" to "... allows multiple models to be listed for a package". The new phrasing implies that [Alternate Package Models] should be used to specify multiple models for one package, not models for multiple packages. It might be inappropriate to place package models with different pin assignments, thermal characteristics, etc. on a [Alternate Package Models] list, since these variations would normally require changes to other elements of the component model. Revision 64.3 changes 10-31-2000, Mike LaBonte: At the 10-27-2000 IBIS forum meeting it was pointed out that the original [Package Model Selector] keyword proposal was inconsistent in usage with the [Model Selector] keyword. A key point is that each [Model Selector] has a name that can be referred to in the [Pin] section as if it were the name of a [Model]. The [Package Model Selector] keyword, as proposed, had no name. This was ponted out earlier by Bob Ross. The [Alternate Package Models] proposal avoids the use of a named selector, and retains the usefulness of the existing [Package Model] keyword. At this time an [End Alternate Package Models] keyword is introduced, to reduce potential parsing ambiguity for the list of alternate package model names. Along with this change the title of the BIRD changes from "Package Model Selector" to "Alternate Package Models". A usage note explaining that the name values in the list refer to [Define Package Model] names is also added. BIRD64.4 is issued to deal with comments made at the November 17, 2000 IBIS Meeting. The verb "may" was changed to "shall" to conform with grammar guidelines for standards documents. A sentence was revised to remove an ambiguous reference that [Alternate Package Models] follows [Package Model]. Finally, a statement is added to clarify that the [Alternate Package Models] list can contain the default package model that is named in [Package Model]. EDA tools can easily detect duplicate names, and during the process of changing the default through editing, the user would not have to change the list under [Alternate Package Models]. ******************************************************************************