****************************************************************************** ****************************************************************************** BIRD ID#: 55 ISSUE TITLE: [Model Spec] Vmeas Addition REQUESTER: Bob Ross, Mentor Graphics DATE SUBMITTED: October 4, 1998 DATE ACCEPTED BY IBIS OPEN FORUM: November 20, 1998 ****************************************************************************** ****************************************************************************** STATEMENT OF THE ISSUE: Vmeas may need to be different for min and max columns. ****************************************************************************** STATEMENT OF THE RESOLVED SPECIFICATIONS: Changes and additions to the [Model Spec] keyword are shown by the |* lines to add Vmeas with typ-min-max values: |============================================================================= | Keyword: [Model Spec] | Required: No | Sub-Params: Vinh, Vinl, Vinh+, Vinh-, Vinl+, Vinl-, S_overshoot_high, | S_overshoot_low, D_overshoot_high, D_overshoot_low, |* D_overshoot_time, Pulse_high, Pulse_low, Pulse_time, Vmeas | Description: The [Model Spec] keyword defines four columns under which | specification subparameters are defined. | | The following subparameters are defined: | Vinh Input voltage threshold high | Vinl Input voltage threshold low | Vinh+ Hysteresis threshold high max Vt+ | Vinh- Hysteresis threshold high min Vt+ | Vinl+ Hysteresis threshold low max Vt- | Vinl- Hysteresis threshold low min Vt- | S_overshoot_high Static overshoot high voltage | S_overshoot_low Static overshoot low voltage | D_overshoot_high Dynamic overshoot high voltage | D_overshoot_low Dynamic overshoot low voltage | D_overshoot_time Dynamic overshoot time | Pulse_high Pulse immunity high voltage | Pulse_low Pulse immunity low voltage | Pulse_time Pulse immunity time | |* Vmeas Measurement voltage for timing measurements |* | Usage Rules: [Model Spec] must follow all other subparameters under the | [Model] keyword. | | For each subparameter contained in the first column, the | remaining three hold its typical, minimum and maximum values. | The entries of typical, minimum and maximum be must be placed | on a single line and must be separated by at least one white | space or tab character. All four columns are required under | the [Model Spec] keyword. However, data is required only in | the typical column. If minimum and/or maximum values are not | available, the reserved word "NA" must be used indicating the | typical value by default. | | The minimum and maximum values are used for specifications | subparameter values that may track the min and max operation | conditions of the [Model]. Usually it is related to the | Voltage Range settings. | | Unless noted below, each subparameter does not require having | any other subparameter. | | Vinh, Vinl rules: | | The threshold subparameter lines provide additional min and | max column values, if needed. The typ column values are still | required and would be expected to override the Vinh and Vinl | subparameter values specified elsewhere. Note: the syntax | rule that require inserting Vinh and Vinl under models remains | unchanged even if the values are defined under the [Model | Spec] keyword. | | To mimic a hysteresis effect, the values of Vinh and Vinl may | be interchanged such that the Vinl value is larger than the | Vinh value. However, simulators may process this information | differently or report an error. | | Vinh+, Vinh-, Vinl+, Vinl- rules: | | The four hysteresis subparmeters must all be defined before | the hysteresis threshold rules become effective. Otherwise | the standard threshold subparameters remain in effect. The | hysteresis thresholds shall be at the Vinh+ and Vinh- values | for a low-to-high transition, and at the Vinl+ and Vinl- | values for a high-to-low transition. | | S_overshoot_high, S_overshoot_low rules: | | The static overshoot subparameters provide the voltage values | for which the model is no longer guaranteed to function | correctly. | | D_overshoot_high, D_overshoot_low, D_overshoot_time rules: | | The dynamic overshoot values provide a time window during | which the overshoot may exceed the static overshoot limits | but be below the dynamic overshoot limits. D_overshoot_time | is required for dynamic overshoot testing. In addition, if | D_overshoot_high is specified, then S_overshoot_high is | necessary for testing beyond the static limit. Similarly, if | D_overshoot_low is specified, then S_overshoot_low is | necessary for testing beyond the static limit. | | Pulse_high, Pulse_low, Pulse_time rules: | | The pulse immunity values provide a time window during which | a rising pulse may exceed the nearest threshold value but | be below the pulse voltage value and still not cause the | input to switch. Pulse_time is required for pulse immunity | testing. A rising response is tested only if Pulse_high is | specified. Similarly, a falling response is tested only if | Pulse_low is specified. The rising response may exceed the | Vinl value, but remain below the Pulse_high value. | Similarly, the falling response may drop below the Vinh value, | but remain above the Pulse_low value. In either case the | input is regarded as immune to switching if the responses | are within these extended windows. If the hysteresis | thresholds are defined, then the rising response shall use | Vinh- as the reference voltage, and the falling response shall | use Vinl+ as the reference voltage. |* |* Vmeas rules: |* |* The Vmeas values under the [Model Spec] keyword override the |* Vmeas entry elsewhere. |----------------------------------------------------------------------------- [Model Spec] | Subparameter typ min max | | Thresholds | Vinh 3.5 3.15 3.85 | 70% of Vcc Vinl 1.5 1.35 1.65 | 30% of Vcc | | Vinh 3.835 3.335 4.335 | Offset from Vcc | Vinl 3.525 3.025 4.025 | for PECL | | Hysteresis | Vinh+ 2.0 NA NA | Overrides the Vinh- 1.6 NA NA | thresholds Vinl+ 1.1 NA NA Vinl- 0.6 NA NA | All 4 are required | | Overshoot | S_overshoot_high 5.5 5.0 6.0 | Static overshoot S_overshoot_low -0.5 NA NA D_overshoot_high 6.0 5.5 6.5 | Dynamic overshoot D_overshoot_low -1.0 -1.0 -1.0 | requires | | D_overshoot_time D_overshoot_time 20n 20n 20n | & static overshoot | | Pulse Immunity | Pulse_high 3V NA NA | Pulse immunity Pulse_low 0 NA NA | requires Pulse_time 3n NA NA | Pulse_time | |*** ADDED EXAMPLE BELOW: | Timing Thresholds | Vmeas 3.68 3.18 4.68 | A 5 volt PECL | | example | |*** END OF ADDED EXAMPLE |============================================================================= ****************************************************************************** ANALYSIS PATH/DATA THAT LED TO SPECIFICATION: BIRD55 is issued because the timing measurement value Vmeas defined under the [Model] keyword changes with the Vcc reference voltage for some technologies (such as PECL) when used for the min or max column. This can cause ibischk3 Warning messages, particularly for the min column that the waveform cannot drive through Vmeas. Adding the Vref, Rref, Cref timing load list of parameters for [Model Spec] was also considered. However, the Rref and Cref values are always fixed in data books (we are not interested it the tolerances of these components). Also Vref tends to be fixed. The compelling reason for not including these is that the REFERENCE value for timing test load extraction should be taken from the typical model only (it is the only required set of data). From a data book point of view. the timing test load is fixed, and a number of devices could be tested. The spread of the results (based on minimum and maximum process corners and test conditions) would define the specification range of timing values in the data book. From a simulator point of view, the typical value model would center up the calibration of the simulator delays to the midpoint or typical component delay in the data book. A minimum or maximum model already has a slower response or faster response that should have already contributed to some of the delay spread in the data book. So it is not clear what number to compare this response delay to in the data book without risking "double counting" some of the delay. Vmeas may be used elsewhere for other measurements related to calibrating the actual response under minimum and maximum column test conditions. Thus minimum and maximum column entries are needed (related to the Vcc values). However, Vref would not be needed to be changed since the actual calibration extraction should be done using typical conditions to avoid "double counting" of delay changes due to model response changes. ibischk2+ and ibischk3 checks whether the signal passes throught the timing reference for each column. For PECL technology, the signal may not be able to reach the reference value for the minimum column. If the same device is configured for ECL operation (with a 0 volt reference), the values of Vref and Vmeas remain at a constant offset from the positive rail, and no Warning is issued. This inconsistency would be resolved with BIRD55 by simply not doing the check for minimum and maximum conditions. (A Bug report would have to be filed to make the change in ibischk3.) An alternative approach is to add Vmeas_min and Vmeas_max, etc. subparameters to the [Model] keyword. This would be similar to the V_fixture_min and V_fixture_max subparameters for the [Rising Waveform] and [Falling Waveform] keywords. However, the [Model Spec] keyword method is chosen since it is already set up for formating existing and new subparameter values into a typical/minimum/maximum column format. ****************************************************************************** ANY OTHER BACKGROUND INFORMATION: ******************************************************************************