[IBIS] IBIS BIRD98.3 - Gate Modulation Effect

From: Bob Ross <bob_at_.....>
Date: Wed Oct 10 2007 - 18:49:59 PDT
To All:

BIRD98.3 (attached) continues the substantial revision from
BIRD98.1/BIRD98.2, mostly in the "Other Notes" section.
The changes are mostly to make the notation consistent with the
"Usage Rules" section and to explicitly point out how the tables
are relative to the voltage reference supplies.

An IBIS reference model for algorithm processing is added to
describe how the modulation coefficients are expected to be
used.  However, this is for illustration only (in the "Other
Notes" section) and is not a standardized approach.  EDA vendors
may process the table information according to proprietary
algorithms.

By making all the table columns relative to the corresponding
column entry of the supply voltage, no additional offsets are
need.  The table entries can relate directly to actual voltage
differences during simulation and the specific reference voltage
supply value for that column.

The ANALYSIS PATH/DATA THAT LED TO SPECIFICATION section gives
some more details of the changes and also shows some of the
removed information.

Bob


-- 
Bob Ross
Teraspeed Consulting Group LLC     Teraspeed Labs
121 North River Drive              13610 SW Harness Lane
Narragansett, RI 02882             Beaverton, OR 97008
401-284-1827                       503-430-1065
http://www.teraspeed.com           503-246-8048 Direct
bob@teraspeed.com

Teraspeed is a registered service mark of Teraspeed Consulting Group LLC

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.


******************************************************************************
******************************************************************************

BIRD ID#:        BIRD98.3
ISSUE TITLE:     Gate Modulation Effect (table format)
REQUESTER:       Arpad Muranyi, Mentor Graphics Corp.; Antonio Girardi,
                 Giacomo Bernardi, Roberto Izzi, STMicroelectronics; Bob Ross,
                 Teraspeed Consulting Group
DATE SUBMITTED:  May 20,2005, March 9, 2007, July 31, 2007
DATE REVISED:    October 10, 2007
DATE ACCEPTED BY IBIS OPEN FORUM:  PENDING

******************************************************************************
******************************************************************************

STATEMENT OF THE ISSUE:

The I-V and V-T tables of IBIS models are extracted at fixed, ideal supply
voltage conditions. However, due to SSO noise, the actual drive strength
(and consequently the edge rate) may vary during transients depending on the
instantaneous value of the supply voltage.  This phenomena is usually called
the "gate modulation effect", which is not described by IBIS models. To
achieve more accurate switching waveforms, and power and ground supply
currents it would be desirable to include these effects in IBIS models.

******************************************************************************

STATEMENT OF THE RESOLVED SPECIFICATIONS:

Two new keywords, [ISSO_PD] and [ISSO_PU], will be added to the specification
to provide two tables of the effective saturation currents, for the pulldown 
and pullup stage respectively, measured with respect to the voltage value 
variation on the related reference supply node (the ground reference node for
the pulldown stage and the power reference node for the pullup stage). The 
information contained in the tables enables the simulators to calculate
modulation coefficients which may be used to modulate the original pullup and
pulldown currents when the instanteneous voltage on the power and ground nodes
changes from the nominal values at which the I-V tables of the [Model]s were
obtained. It has to be noted that the instantaneous voltage values are
referred to an ideal ground as done for the nominal values.

|=============================================================================
|     Keyword:  [ISSO PD], [ISSO PU]
|    Required:  No
| Description:  The data points under the keyword [ISSO PD] define the 
|               effective current of the pulldown structure of a buffer as a 
|               function of the voltage on the pulldown reference node (the 
|               ground node), whereas the points under the keyword [ISSO PU]
|               define the effective current of the pullup structure as a 
|               function of the voltage on the pullup reference node (the
|               power node).
|
| Usage Rules:  The first column contains the voltage value at which the 
|               currents of the remaining three columns are obtained. The
|               three remaining columns contain the typical, minimum, and
|               maximum effective current values to be defined below of
|               pullup/pulldown stage.
|             
|               All four columns are required under this keyword. However,
|               data is only required in the typical column. If minimum
|               and/or maximum current values are not available, the reserved
|               word "NA" must be used. "NA" can be used for currents in the
|               typical column, but numeric values MUST be specified for the
|               first and last voltage points in any table.  Each table must
|               have at least 2, but not more than 100, rows.  
|
|               The [ISSO PD] table voltages are relative to the [Pulldown
|               Reference] typ/min/max values (usually ground).  The [ISSO PU]
|               table voltages are relative to the [Pullup Reference]
|               typ/min/max values (also usually the [Voltage Range] voltages.
|               In the case of the [ISSO PU] table the voltages follow the
|               same Vtable = Vcc - Vmeasured convention as the [Pullup]
|               table.  Each of the tables are aligned with and span the
|               typical -Vcc to Vcc voltages.
|
|               If the [ISSO_PD] and [ISSO_PU] keywords are not present, the
|               effect of power supply variations on the I-V tables is not 
|               explicitly defined by the model.
|
|               The effective current table for the Isso_pd current is
|               extracted by the following process.  The buffer is set to
|               "logic zero".  A Vtable voltage source is inserted between the
|               [Pulldown Reference] node and the buffer as shown below.  This
|               Vtable voltage is swept form -Vcc (typical) to +Vcc (typical)
|               and is relative to the [Pulldown Reference] typ/min/max values
|               for the corresponding columns.  The output is connected to the
|               Vcc (typical) value as shown below.
|
|
|               Low State (logic zero)
|
|                  Vcc (or pullup reference typ/min/max value)
|                   |
|                ___|___
|               |       |
|               |       |
|               |  PU   |     
|               |       |
|               |       | Isso_pd (function of Vtable from -Vcc to Vcc)
|               |_______| <------  
|                   |____________
|                ___|___         Vcc or pullup reference typ/min/max value) 
|               |       |
|               |       |
|               |  PD   |
|               |       |
|               |       |
|               |_______|
|                   |
|               +   |              
|                 Vtable
|               -   |
|                   |    
|                  GND (or pulldown reference typ/min/max value)
|
|
|               The effective current table for the Isso_pu current is
|               extracted by the following process.  The buffer is set to
|               "logic one".  A Vtable voltage source is inserted between the
|               [Pullup Reference] node and the buffer as shown below.  This
|               Vtable voltage is swept form -Vcc (typical) to +Vcc (typical)
|               and is relative to the [Pullup Reference] typ/min/max values
|               for the corresponding columns.  The output is connected to the
|               Vcc (typical) value as shown below.
|
|
|               High State (logic one)
|
|                  Vcc (or pullup reference typ/min/max value)
|                   |
|               -   |
|                 Vtable
|               +   |
|                ___|___
|               |       |
|               |       |
|               |  PU   |
|               |       |
|               |       | Isso_pu (function of Vtable from -Vcc to Vcc)
|               |_______| <------ 
|                   |____________
|                ___|___         GND or pulldown reference typ/min/max value)
|               |       |
|               |       |
|               |  PD   |
|               |       |
|               |       |
|               |_______|
|                   |
|                   |    
|                  GND (or pulldown reference typ/min/max value)
|
|
|               For each of these extractions, the corresponding [GND Clamp]
|               and [POWER Clamp] currents need to be removed.  Normally
|               these are negligible.  However, if on-die terminators exist,
|               the extra currents that are associated with them should be
|               removed from the [ISSO PD] and [ISSO PU] tables.  The process
|               details are not discussed here, but need to be solved by the
|               modeler.  Such details may depend upon the contents of the
|               [GND Clamp] and [POWER Clamp] tables and the
|               [GND Clamp Reference] and [POWER Clamp Reference] selections.
|
|               Currents are considered positive when their direction is into
|               the component.
|
| Other Notes:  Simulators can use such tables to calculate modulation
|               coefficients to modulate the original pulldown and pullup
|               currents when a voltage variation on the pullup and pulldown
|               reference nodes is revealed during power and/or ground bounce,
|               and/or SSO simulation events.
|
|               To describe the modulation coefficients, a reference algorithm
|               to generate an output response producing Vout(t) for a given
|               load including clamp currents that requires an Iout(t) is
|               shown in terms of pullup table currents Ipu(Vcc-Vout(t)) and
|               pulldown table currents Ipd(Vout(t)).         
|
|
|                  Vcc (or pullup reference typ/min/max value)
|                   |
|                ___|___
|               |       |
|               |       |
|               |  PU   | Kpu(t)*Ipu(Vcc-Vout(t))
|               |       |
|               |       | 
|               |_______| <-----  Iout(t)
|                   |____________
|                ___|___          Vout(t)
|               |       |
|               |       |
|               |  PD   | Kpd(t)*Ipd(Vout(t))
|               |       |
|               |       |
|               |_______|
|                   |
|                   |    
|                  GND (or pulldown reference typ/min/max value)
|
|                
|               When the supplies are modulated during simulation, the
|               modulation coefficients Ksso_pu(Vtable_pu) and
|               Ksso_pd(Vtable_pd) modify the equations as shown:
|
|
|                  Vcc (or pullup reference typ/min/max value)
|                   |
|                ___|___
|               |       |
|               |       |
|               |  PU   | Kpu(t)*Ipu(Vcc-Vout(t))*Ksso_pu(Vtable_pu)
|               |       |
|               |       | 
|               |_______| <-----  Vout(t)
|                   |____________
|                ___|___          Vout(t)
|               |       |
|               |       |
|               |  PD   | Kpd(t)*Ipd(Vout(t))*Ksso_pd(Vtable_pd)
|               |       |
|               |       |
|               |_______|
|                   |
|                   |    
|                  GND (or pulldown reference typ/min/max value)
|
|
|               The Vtable_pd and Vtable_pu values may change at each time
|               step.  The Ksso_pd(Vtable_pd) and Ksso_pu(Vtable_pu) values
|               are derived from the dynamic reference voltage variation and
|               [ISSO PD] and [ISSO PU] table entries according to the
|               formulas below:
|
|                Ksso_pd(Vtable_pd) = Isso_pd(Vtable_pd)/Isso_pd(0)
|
|                Ksso_pu(Vtable_pu) = Isso_pu(Vtable_pu)/Isso_pu(0)
|
|               Note that the extraction setup equates the currents for each
|               column at Vtable = 0 lines to the corresponding pulldown
|               and pullup table currents:
|
|                Isso_pd(0) = Ipd(Vcc)
|
|                Isso_pu(0) = Ipu(Vcc)
|
|               where Vcc are the typ/min/max values for the corresponding
|               typ/min/max columns.
|
|               For example, for a typ/min/max [Voltage Range] of 5.0V, 4.5V
|               and 5.5V, and with the negative reference set to GND, the
|               Isso_pu(0) and Isso_pu(0) values for typ/min/max should be
|               as equal to the column values as shown:
|
|                                 typ        min         max
|
|                 Isso_pd(0)    Ipd(5.0)   Ipd(4.5)    Ipd(5.5)
|
|                 Isso_pu(0)    Ipu(5.0)   Ipu(4.5)    Ipu(5.5)
|
|               With no modulation, Ksso_pd(0) = 1 and Ksso_pu(0) = 1. However,
|               if during simulation of the typical corner the Vcc voltage
|               drops from 5.0 to 4.7, then Vtable_pu = 5.0 - 4.7 = 0.3, and
|               Ksso_pu(0.3) is calculated.  If at the same time the ground
|               reference voltage at the buffer increases to 0.2 V, then
|               Ksso_pd(0.2) is calculated.  These two modulation factors are
|               used in the reference model calculations to account for gate
|               modulation effects associated with both output transistors.
|
|               These modulation factors are updated at each time step.
|
|               Note, the [ISSO PD] and [ISSO PU] keywords are designed for
|               CMOS technology and may not be appropriate for bipolar or ECL
|               technologies.  A single [ISSO PU] or [ISSO PD] keyword table
|               is appropriate for open technologies such as Open_drain,
|               Open_source, Open_sink, etc.
|
|               As a minor source of error, actual modulation effects may lag
|               slighty from simulated modulation effects due to internal
|               delays within the physical device.
|-----------------------------------------------------------------------------
| Assume [Voltage Range is s 1.8V (typ), 1.7V (min) and 1.95V (max).
|
| The table voltage entries are relative to the typ/min/max of the
| corresponding reference voltage for each table.
|
[ISSO PD]   |  Relative to the [Pulldown Reference] voltage
|
|  Voltage   I(typ)    I(min)    I(max) 
|
   -1.8V    10.0m      7.0m      13.0m
|    .
|    .
   -0.5V     24.0m     18.0m     31.0m
   -0.2V     27.0m     20.0m     37.0m
    0.0V     25.0m     19.0m     34.0m
    0.2V     18.0m     13.0m     26.0m
    0.5V     10.0m      7.0m     16.0m
    0.7V      5.0m      3.0m      9.0m
    1.0V      1.0m      0.7m      3.0m
|    .
|    .
    1.8V      0.0m      0.0m      0.0m
|
[ISSO_PU]   |  Relative to the [Pullup Reference] voltage)
| 
|  Voltage   I(typ)    I(min)    I(max) 
|
   -1.8V    -10.0m     -9.0m    -14.0m
|    .
|    .
   -0.6V    -28.0m    -19.0m    -40.0m
   -0.4V    -31.0m    -22.0m    -43.0m
   -0.2V    -29.0m    -21.0m    -40.0m
    0.0V    -27.0m    -19.0m    -38.0m 
    0.2V    -21.0m    -14.0m    -31.0m
    0.4V    -14.0m     -9.0m    -22.0m
|    .
|    .
    1.8V      0.0m      0.0m      0.0m
|
|=============================================================================

|*** End Replacement Example

******************************************************************************

ANALYSIS PATH/DATA THAT LED TO SPECIFICATION

This proposal is based on I-V curve data obtained from actual lab and
simulation measurements. In the context of BIRD95, which attempts to refine
the power and ground bounce simulation capabilities of IBIS simulators, this
feature becomes very important, because the non-ideal ground and power 
supplies introduce significant deviations in the buffer's I-V curves, i.e.
drive strength. Omitting these I-V curve variations reduces the accuracy
of the SSO and power delivery simulations when the buffers are surrounded by
non ideal power networks.

BIRD98.2

The format is changed to clarify the table content
- All table voltages are relative to the typ/min/max voltage rail values of
  the corresponding table and are offsets from these values
- The Isso_pu table follows the voltage polarity reversal rule so that its
  entries actually align with the pullup table enteries directly (but under
  the condition that this is extracted with the opposite table held with Vcc
  across it.
- Current polarities clarified and context diagram added.
- The currents are extracted from the Output terminal rather than the
  GND and Power terminal to avoid dealing with the internal currents.
- The output termninal is now held constant, but this makes the clamp
  removal for on die terminations currents a point-by-point process.
- Note added regarding designed for CMOS technology including open
  configurations.
- Example needs to be changed.

Note, some more work is needed.

BIRD98.3

The Other Notes section was rewritten to add a reference model for the
algorithm to show where the modulating coefficients are used.  The section
was written in terms of relative voltages from the rails in a consistent
manner with the the usage rules.

The following paragraphs in the Other Notes section were removed from
the official specification but are presented below as algorithm discussion
justification of the proposed method:

|
|              Although the effective pullup and pulldown currents, and so 
|              the K_ssn coefficients, depend on Vgs and Vds, which require a
|              lot of tables to describe the different I(Vgs, Vds) MOS-like 
|              characteristics of both stages, this assumption is based on the
|              usage of only two tables. In fact, several analysis have showed 
|              that a good accuracy can be obtained by drawing the effective 
|              current I(Vgs, Vds) for different values of Vgs and only one 
|              fixed value of Vds, chosen in the saturation zone. A good 
|              choice may be Vds=VCC. Nevertheless, considering that the current 
|              in the saturation zone has a minor dependence from Vds, due to 
|              channel modulation effect. In critical cases, such effect may be 
|              averaged by changing the Vds voltage (for instance linearly)
|              within the saturation zone. 
|
|              This assumption may provide reasonably accurate results while
|              the operating points variations remain within the saturation 
|              region of the I-V tables, condition that is always verified 
|              when a bouncing occurs on the reference node of the stage under
|              transition. 
|
|              Nevertheless, during the bouncing noise evolution the operating
|              points tend to fall in the linear zore, where this assumption 
|              may be less accurate, but it does not impact drammatically the
|              accuracy of output transition.
|
|              In fact, it has been verified that the lower is the bouncing
|              magnitude, the lower is the error, which helps considering that
|              in the linear zone the current to be modulated and the bouncing
|              noise decrease.
|

The algorithm itself is not officially standardized, and the above discussion
relates to a specific what of handling the table.  All aspects of IBIS are
subject to such range of accuracy discussion that should be in presentations
and other documents.

The original example was deleted and a replacement example is inserted to
conform to relative voltages for the [ISSO PD] and [ISSO PU] tables and to
have several entries centered around 0 V.  Some of the numbers are artifical.

The deleted example is shown below:

[ISSO_PD]
|
|The [voltage range] is 1.8V (typ), 1.7V (min) and 1.95V (max)  
|
|  Voltage   I(typ)    I(min)    I(max) 
|
   -1.8V    10.0m      7.0m      13.0m
|    .
|    .
    0.0V     25.0m     19.0m     34.0m
    0.2V     18.0m     13.0m     26.0m   | ISSO_PD_min must match I(1.70V) min
    0.5V     10.0m      7.0m     16.0m   | ISSO_PD_typ must match I(1.80V) typ
    0.7V      5.0m      3.0m      9.0m   | ISSO_PD_max must match I(1.95V) max
    1.0V      1.0m      0.7m      3.0m   | in the corresponding I-V table
    6.0V     44.0m     33.0m     53.0m   | 
|    .
|    .
    1.8V      0.0m      0.0m      0.0m
|
|
[ISSO_PU]                                | Note: Vtable = Vcc - Vinst
| 
|  Voltage   I(typ)    I(min)    I(max) 
|
    0.0V     0.0m      0.0m      0.0m
|    .
|    .
    0.8V      2.0m       1.0m     4.0m   
    1.0V      5.0m       3.0m    10.0m   | ISSO_PU_min must match I(1.70V) min
    1.2V      9.0m       6.0m    15.0m   | ISSO_PU_typ must match I(1.80V) typ
    1.4V     14.0m       9.0m    22.0m   | ISSO_PU_max must match I(1.95V) max
    1.6V     21.0m      14.0m    31.0m   | in the corresponding I-V table
    1.8V     27.0m      19.0m    38.0m   | 
|    .
|    .
    3.6V     16.0m      13.0m    20.0m
|

*****************************************************************************

ANY OTHER BACKGROUND INFORMATION:

The BIRDxx is a variant of the BIRD98 to match the STMicroelectronics 
proposal to the "gate modulation effect". The algorithm behind this proposal
has been implemented and validated by the VHDL-AMS IBIS architecture, extending
the original code proposed by Arpad Muranyi.
Several benchmarking analysis between the actual IBIS model, the related SPICE
model and the extended VHDL-AMS IBIS implementation have revealed a very good 
performance of such proposal.  

Additional documentation:

IBIS Summit, January 16, 2007:
------------------------------
http://www.eda-stds.org/ibis/docs/BIRD98&ST_Proposal_Convergence.ppt
http://www.eda-stds.org/ibis/docs/IBIS_Gate_Modulation_ST_Proposal.pdf
 
IBIS Futures Subcommitte, July 8, 2005:
---------------------------------------
http://www.vhdl.org/pub/ibis/futures/ST_Vgs_Presentation.pdf
http://www.vhdl.org/pub/ibis/futures/ST_IBIS_Gate_Modulation_Effect.pdf

The BIRD98 was a variant of BIRD 97. It was based on feedback received from
Donald Telian, who suggested that the "Gate Modulation Effect" should be 
implemented using a table format instead of the equation proposed in BIRD 97.
The advantages and disadvantages of the table and equation format are too 
numerous to list here. Since the table format seems to be much easier from 
the perspective of the model maker, the BIRD98.0 was written to replace BIRD
97 by a "NO" vote.

Additional credits are due to Katja Koller and Bob Ross who were 
instrumental in writing and commenting on BIRD 97.

******************************************************************************


--------------------------------------------------------------------
|For help or to subscribe/unsubscribe, e-mail majordomo@eda-stds.org
|with the appropriate command message(s) in the body:
|
|  help
|  subscribe   ibis       <optional e-mail address, if different>
|  subscribe   ibis-users <optional e-mail address, if different>
|  unsubscribe ibis       <optional e-mail address, if different>
|  unsubscribe ibis-users <optional e-mail address, if different>
|
|or e-mail a request to ibis-request@eda-stds.org.
|
|IBIS reflector archives exist under:
|
|  http://www.eda-stds.org/pub/ibis/email_archive/ Recent
|  http://www.eda-stds.org/pub/ibis/users_archive/ Recent
|  http://www.eda-stds.org/pub/ibis/email/         E-mail since 1993
Received on Wed Oct 10 18:49:01 2007

This archive was generated by hypermail 2.1.8 : Wed Oct 10 2007 - 18:50:04 PDT