**************************************************************************** **************************************************************************** BUFFER ISSUE RESOLUTION DOCUMENT (BIRD) BIRD ID#: 86 ISSUE TITLE: Clarification of Submodel Mode REQUESTOR: Lynne Green, Cadence Design Systems DATE SUBMITTED: November 21, 2003 DATE REVISED: DATE ACCEPTED BY IBIS OPEN FORUM: Pending ************************************************************************ ************************************************************************ STATEMENT OF THE ISSUE: In IBIS 4.0, it is not clear if the statement "Set the submodel mode to All if the submodel is to be used for all modes of operation." is for just those buffer types mentioned in this paragraph, or for all buffer types. The IBIS parser does not check for inconsistencies. ************************************************************************ STATEMENT OF THE RESOLVED SPECIFICATIONS: Old text: | If the top-level model type is one of the I/O or 3-state | models, the submodel mode may be Driving, Non-Driving, | or All. For example, if the submodel mode is | Non-Driving, then the submodel is used only in the | high-Z state of a 3-state model. | Set the submodel mode to All if the submodel is to be | used for all modes of operation. | | The submodel mode cannot conflict with the top-level | model type. For example, if the top-level model type is | an Open or Output type, the submodel mode cannot be set | to Non-Driving. | Similarly, if the top-level model type is Input, the | submodel mode cannot be set to Driving. Proposed text: | If the top-level model type is one of the I/O or 3-state | models, the submodel mode may be Driving, Non-Driving, | or All. | For example, if the submodel mode is Non-Driving, then | the submodel is used only in the high-Z state of a | 3-state model. | Set the submodel mode to All if the submodel is to be | used for |** both Driving and Non-Driving modes of operation. | | The submodel mode cannot conflict with the top-level | model type. For example, if the top-level model type | is an Open or Output type, the submodel mode cannot be | set to Non-Driving |** or All. Similarly, if the top-level model type is |** Input, the submodel mode cannot be set to Driving or All. | ************************************************************************ ANALYSIS PATH/DATA THAT LED TO SPECIFICATION: People create models without noticing the restriction on the submodel mode. This is not caught by the IBIS 3.2 parser, so this is difficult to debug in a model. ************************************************************************ ANY OTHER BACKGROUND INFORMATION: | test case for submodel mode | *************************************************** | [IBIS Ver] 3.2 [File Name] submodel1.ibs [File Rev] 0.0 [Date] 20 Nov 2003 [Source] Dummy model [Notes] Dummy data [Disclaimer] BIRD testing use only | [Component] Test1 [Manufacturer] Nobody | [Package] R_pkg 5.95E-02 5.36E-02 6.59E-02 L_pkg 4.21E-09 3.07E-09 5.91E-09 C_pkg 0.910E-12 0.758E-12 1.110E-12 | [Pin] signal_name model_name R_pin L_pin C_pin 1 A1 testA 10 GND GND 20 VCC POWER | | [Model] testA Model_type Input Vinl = 0.8000V Vinh = 2.0000V C_comp 3.67pF 3.24pF 4.23pF | [Add Submodel] |Submodel_name Mode testA1 All | [Temperature Range] 40.0000 100.0000 -25.0000 [Voltage Range] 3.3000V 3.0000V 3.6000V | [GND Clamp] | voltage I(typ) I(min) I(max) | -5.500E+00 -4.0 -4.5 -5.5 0.000E+00 0 0 0 5.500E+00 0 0 0 |*********************************************************************** | [Submodel] testA1 Submodel_type Dynamic_clamp | |Voltage typ min max |Voltage Range 3.3000V 3.0000V 3.6000V | [POWER Clamp] | voltage I(typ) I(min) I(max) | -5.500E+00 4.0 4.5 5.5 0.000E+00 0 0 0 5.500E+00 0 0 0 | [END] ************************************************************************