# Tips on How to Obtain the Buffer Impedance from IBIS

Impedance matching is the biggest task for Signal Integrity engineer and high-speed PCB/PKG designers. Unmatched impedance may cause unpredictable reflection that reduces the signal quality for high-speed circuit design. In this post, I’ll walk you through some tips on how to obtain the buffer impedance from IBIS.

Take a look at Figures 1a and 1b below to see the reflections in the signals.

The interconnects, such as trace, via, connector, package, etc., are under our radar already through field solvers. The interconnect impedance also needs to match buffer output/input impedance in order to keep good signal quality. How can we obtain I/O buffer impedance?

**Impedance Concept**

The impedance of a two-terminal circuit element is represented as a complex quantity Z. The polar form conveniently captures both magnitude and phase characteristics as:

where the magnitude *|Z|*represents the ratio of the voltage difference amplitude to the current amplitude, while the argument *arg(Z)*(commonly given the symbol *θ*gives the phase difference between voltage and current). *j *is the imaginary unit and is used instead of *i*in this context to avoid confusion with the symbol for electric current.

In Cartesian form, impedance is defined as

where the real part of the impedance is the resistance *R*and the imaginary part is the reactance *X*.

For a high-speed I/O buffer, the buffer inductance and capacitance are specially designed. It is close to the minimum for reducing the reactance X. So, in this case, the resistance R is the main factor for impedance matching.

**Concept of measuring impedance**

From the AC impedance triangle, the input or output impedance of a two-terminal network can be determined by measuring the small-signal AC currents and voltages.

**Input impedance**

the voltage is measured across the input terminals and the current measured by inserting the meter in series with the signal generator.

An easy way to measure small input currents is to use a fixed resistor, as in the diagram above. Measure the AC voltage at points V1 and V2, then the input current, *I _{in}*becomes:

The input impedance *Z _{in}*of the circuit under test is then found by:

**Output impedance**

Output impedance may also be determined using a similar technique. A fixed load resistor is used, and the output voltage is measured first with a full load, then without the load.

In the diagram above, *Z _{0}*is the internal output impedance of the network to be measured. The term network is a general term, as the circuit could be anything, an amplifier, filter, oscillator, etc. The network is drawn as a Thevenin source.

To find the output impedance the output voltage is measured first with no load resistor, then with a fixed load (purely resistive).

First, the load resistor *R _{L}*is removed and the output voltage (

*V*)measured and recorded. Then

*R*is placed back in the circuit and the output voltage under load (

_{L}*V*). The output impedance,

_{L}*Z*is now found by Ohm’s Law for AC circuits. As the load is purely resistive

_{0}*Z=V*/

*I*, where

*“V”*is voltage drop across the output impedance: (

*V – V*), and

_{L}*“I”*the output current,

*V*/

_{L}*R*. Thus:

_{L}**IBIS (I/O buffer information specification) model**

IBIS model was invented by Intel in the 1990s. It is a popular behavioral modeling standard specification used for digital high speed for I/O buffers. The basic structure is shown below:

In the IBIS model, curve [Pullup], [Pulldown], [Power Clamp] and [Ground Clamp] are extracted in static mode. They are V/I (Voltage/Current) curves. See Figure 4.

For IBIS I/O buffer model, driving curves should be combined with Clamps and Pullup/Pulldown. See Figure 5.

**Obtain output impedance from the IBIS model**

According to IBIS standard specification, the output type model only contains combined [Pullup] and [Pulldown] curves. But the I/O type model contains the independent [Pullup], [Pulldown], [Power Clamp] and [Ground Clamp] curves. In this case for the I/O type model, we need to do a summation to get the combined [Pullup], [Pulldown] curves.

Using the formula *Z = V/I*to calculate output impedance with the load line conditions.

When using IBIS curves, the output impedance varies when the load line changes.

For the practical implementation, to avoid the numerical errors, the Output type impedance calculation should be:

An example output impedance graph as shown below.

**Obtain input impedance from the IBIS model**

According to IBIS standard specification, both Input and I/O type contain [Power Clamp] and [Ground Clamp] curves. Figure 8 shows the independent curves and Figure 9 shows the combined curves.

For the practical implementation, to avoid the numerical errors, the Output type impedance calculation should be:

An example input impedance graph as shown below.

**Conclusion**

In real designs, the methodology for impedance control needs to include buffer driver and receiver impedance. From the IBIS model behavioral curves, we can easily obtain its driving and receiving impedances for critical high-speed net designs in the PCB and the package. It will reduce the major reflections to get better signal quality as well as a more reliable high-speed system.

**References:**

*Andy Collison, Measuring Input and Output Impedance,**http://www.zen22142.zen.co.uk/Theory/inzoz.htm**Electrical impedance, Wikipedia,**https://en.wikipedia.org/wiki/Electrical_impedance**Lance Wang, Looking into IBIS Curves,**http://ibis.org/summits/nov08b/wang.pdf**Todd Westerhoff, Things You Can Learn From V/I Curves,**http://ibis.org/summits/jun05/westerhoff.pdf*