****************************************************************************** ****************************************************************************** BIRD ID#: 45.1 ISSUE TITLE: Dynamic Clamps REQUESTER: Neven Orhanovic and Bob Ross, Interconnectix DATE SUBMITTED: 10/31/97, 11/20/97 DATE ACCEPTED BY IBIS OPEN FORUM: Rejected 4/24/98 ****************************************************************************** ****************************************************************************** STATEMENT OF THE ISSUE: A novel type of termination technique is used in today's integrated circuits. The termination consists of a pair of built in dynamic clamps whose V-I curves change with time. The clamp is switched "on" when needed and switched "off" otherwise (to conserve power). When the clamp is switched "on" its V-I curve provides more clamping than a regular static clamp and when it is turned "off" it behaves like a normal clamp. The "on" switching of the dynamic clamps can be triggered by an input signal crossing a triggering threshold or by some external clock. The "off" switching can be triggered by a built in timer or an external clock. ****************************************************************************** STATEMENT OF THE RESOLVED SPECIFICATIONS: The [Dynamic GND Clamp] and [Dynamic POWER Clamp] keywords are introduced under the [Model] keyword to describe dynamic ground and power clamps, respectively. For each dynamic clamp (ground or power), three subparameters and two keywords are used to describe the switching and V-I characteristics of the clamp. |============================================================================== | Keywords: [Dynamic GND Clamp], [Dynamic POWER Clamp] | Required: No. | Description: Describes ground and power clamps that are switched on and off | dynamically. | | Subparameters: V_trigger, V_trigger_min, V_trigger_max | | Usage Rules: The [Dynamic GND Clamp] and [Dynamic PWR Clamp] specifications | contain three subparameters and two keywords. The subparameters | (V_trigger, V_trigger_min, V_trigger_max) specify the threshold | clamp voltage value that causes the clamp to begin switching | from "off" to "on" according to the [Pulse Table] section. | These values correspond to the typical, weak (slow), and strong | (fast) situations. The [Pulse Table] section describes the | switching characteristics of the dynamic clamp, and the [Clamp | Table] section gives the V-I table of the clamp in its "off" | state. This data is used as follows. | | A dynamic clamp is modeled by a V-I curve that is offset | (translated) along the voltage axis with the voltage waveform | given in the [Pulse Table] section. The resulting dynamic V-I | curve can be expressed as | | I = f( V - V_pulse(t) ), | | where V_pulse(t) is the offset voltage waveform described by | the [Pulse Table] section and f(V) is the resulting V-I curve | of the clamp in its off state, corresponding to the data | given in the [Clamp Table] section. The [Clamp Table] data | follows the same format and rules as the V-I curve data of | the corresponding regular ground or power clamp ([GND Clamp], | [POWER Clamp]). The [Pulse Table] section describes the offset | voltage waveform and uses the same format as the [Rising | Waveform] and [Falling Waveform] sections in driver models. | | Once the voltage on the clamp crosses the triggering threshold, | the [Pulse Table] data is used to offset the V-I curve obtained | from the [Clamp Table] section. The dependence of the offset | pulse on the clamp voltage is illustrated below. | | | Clamp voltage vs. time. | | o o o o | o | o | o ------- | o| ^ | o | | V_trigger | o | v time | o o | ------------------------> | | | | | | | | Clamp offset voltage vs. time. | | | | o o o o | | o o | | o o | | o o o o o | | o o | | o o time | o o o o o o o o --------> | | ^ | |_ Pulse data is used from this moment on | to offset the V-I curve. | | |------------------------------------------------------------------------------ | | Example: | [Dynamic GND Clamp] | V_trigger = 1.4V V_trigger_min = 1.2V V_trigger_max = 1.6V | [Pulse Table] | | Time V(typ) V(min) V(max) | | 0 0 0 0 | 1e-9 0 0 0 | 2e-9 0.9 0.8 1.0 | 10e-9 0.9 0.8 1.0 | 11e-9 0 0 0 | [Clamp Table] | | Voltage I(typ) I(min) I(max) | -5.000 -3.300e+01 -3.000e+01 -3.500e+01 -4.000 -2.300e+01 -2.200e+01 -2.400e+01 -3.000 -1.300e+01 -1.200e+01 -1.400e+01 -2.000 -3.000e+00 -2.300e+00 -3.700e+00 -1.900 -2.100e+00 -1.500e+00 -2.800e+00 -1.800 -1.300e+00 -8.600e-01 -1.900e+00 -1.700 -6.800e-01 -4.000e-01 -1.100e+00 -1.600 -2.800e-01 -1.800e-01 -5.100e-01 -1.500 -1.200e-01 -9.800e-02 -1.800e-01 -1.400 -7.500e-02 -7.100e-02 -8.300e-02 -1.300 -5.750e-02 -5.700e-02 -5.900e-02 -1.200 -4.600e-02 -4.650e-02 -4.550e-02 -1.100 -3.550e-02 -3.700e-02 -3.450e-02 -1.000 -2.650e-02 -2.850e-02 -2.500e-02 -0.900 -1.850e-02 -2.100e-02 -1.650e-02 -0.800 -1.200e-02 -1.400e-02 -9.750e-03 -0.700 -6.700e-03 -8.800e-03 -4.700e-03 -0.600 -3.000e-03 -4.650e-03 -1.600e-03 -0.500 -9.450e-04 -1.950e-03 -3.650e-04 -0.400 -5.700e-05 -2.700e-04 -5.550e-06 -0.300 -1.200e-06 -1.200e-05 -5.500e-08 -0.200 -3.000e-08 -5.000e-07 0.000e+00 -0.100 0.000e+00 0.000e+00 0.000e+00 0.000 0.000e+00 0.000e+00 0.000e+00 5.000 0.000e+00 0.000e+00 0.000e+00 | | [Dynamic POWER Clamp] | V_trigger = 3.6V V_trigger_min = 3.8V V_trigger_max = 3.4V | [Pulse Table] | | Time V(typ) V(min) V(max) | | 0 0 0 0 | 1e-9 0 0 0 | 2e-9 -0.9 -1.0 -0.8 | 10e-9 -0.9 -1.0 -0.8 | 11e-9 0 0 0 | [Clamp Table] | | Voltage I(typ) I(min) I(max) | -5.000 1.150e+01 1.100e+01 1.150e+01 -4.000 7.800e+00 7.500e+00 8.150e+00 -3.000 4.350e+00 4.100e+00 4.700e+00 -2.000 1.100e+00 8.750e-01 1.300e+00 -1.900 8.000e-01 6.050e-01 1.000e+00 -1.800 5.300e-01 3.700e-01 7.250e-01 -1.700 2.900e-01 1.800e-01 4.500e-01 -1.600 1.200e-01 6.850e-02 2.200e-01 -1.500 3.650e-02 2.400e-02 6.900e-02 -1.400 1.200e-02 1.100e-02 1.600e-02 -1.300 6.300e-03 6.650e-03 6.100e-03 -1.200 4.200e-03 4.750e-03 3.650e-03 -1.100 2.900e-03 3.500e-03 2.350e-03 -1.000 1.900e-03 2.450e-03 1.400e-03 -0.900 1.150e-03 1.600e-03 7.100e-04 -0.800 5.500e-04 9.150e-04 2.600e-04 -0.700 1.200e-04 4.400e-04 5.600e-05 -0.600 5.400e-05 1.550e-04 1.200e-05 -0.500 1.350e-05 5.400e-05 1.300e-06 -0.400 8.650e-07 7.450e-06 4.950e-08 -0.300 6.250e-08 7.550e-07 0.000e+00 -0.200 0.000e+00 8.400e-08 0.000e+00 -0.100 0.000e+00 0.000e-08 0.000e+00 0.000 0.000e+00 0.000e+00 0.000e+00 | |============================================================================== ****************************************************************************** ANALYSIS PATH/DATA THAT LED TO SPECIFICATION: The proposal is designed to retain as much of the existing IBIS clamp syntax as possible. The dynamic clamp V-I curve tables follow all of the conventions of the existing V-I tables. The overall modeling approach is to decompose the dynamic clamp into its static and dynamic portions. The static part can be modeled by a regular clamp. The dynamic part is connected to the same rail voltage as its static part and modeled by a V-I curve that is shifted along the voltage axis by the offset voltage pulse. ****************************************************************************** ANY OTHER BACKGROUND INFORMATION: Based on a conversation with Arpad Muranyi on 11/14/97, changes were made to include typical, minimum, and maximum values of the triggering voltage and more general offset voltage waveforms. ******************************************************************************