1. IBIS Fundamentals
What is IBIS?
IBIS (Input/Output Buffer Information Specification) is an industry-standard behavioral model format for describing the electrical characteristics of I/O buffers on integrated circuits. Developed by the Electronic Industries Alliance (EIA), IBIS provides a non-proprietary way to share buffer behavior without exposing the underlying transistor-level circuit design (SPICE netlists).
Unlike SPICE models that describe the physical device physics, IBIS uses measured or simulated I-V (current-voltage) and V-t (voltage-time) lookup tables to capture the essential input/output behavior. This makes IBIS models orders of magnitude faster to simulate while maintaining reasonable accuracy for signal integrity analysis.
IC vendors provide IBIS models freely because they do not reveal proprietary circuit topology. This enables system-level SI analysis without NDA barriers. Over 90% of commercial SI tools support IBIS natively.
IBIS Model Structure
An IBIS file (.ibs) contains hierarchical data describing one or more components. The key structural elements are:
| Section | Purpose | Key Data |
|---|---|---|
[Component] | Top-level component definition | Manufacturer, package, pin count |
[Pin] | Signal-to-pin mapping | Pin name, signal name, model reference |
[Package Model] | Package parasitics | R_pkg, L_pkg, C_pkg per pin |
[Model] | I/O buffer behavior | Model type, I-V curves, V-t waveforms |
[Ramp] | Slew rate fallback | dV/dt_r, dV/dt_f |
[Rising Waveform] | Accurate transition shape | Time-voltage pairs under specific load |
[Falling Waveform] | Accurate transition shape | Time-voltage pairs under specific load |
I-V Curves
The heart of an IBIS model is its set of I-V (current-voltage) characteristic tables. These describe the static (DC) behavior of the buffer's output transistors and protection structures. There are four fundamental I-V tables:
- Pullup I-V: Current from VDD through the pull-up structure (PMOS in CMOS) as a function of voltage at the pad. Defined relative to the VDD rail.
- Pulldown I-V: Current from the pad through the pull-down structure (NMOS in CMOS) to VSS. Defined relative to GND.
- Power Clamp I-V: Current through the ESD protection diode connected to VDD. Active during overshoot events.
- GND Clamp I-V: Current through the ESD protection diode connected to GND. Active during undershoot events.
| Voltage(V) | I_typical(A) | I_min(A) | I_max(A) |
| -1.0 | -50.0m | -45.0m | -55.0m |
| 0.0 | 0.0 | 0.0 | 0.0 |
| 1.8 | 24.0m | 21.0m | 27.0m |
| 3.6 | 26.0m | 23.0m | 29.0m |
V-t Curves (Waveform Tables)
V-t waveform tables capture the dynamic (transient) behavior of the output buffer. They record the voltage at the output pad versus time during a rising or falling transition under a specific test load. Typically, two load conditions are provided:
- Test fixture 1: R_fixture = 50 ohm to VDD (for falling waveform) or GND (for rising waveform)
- Test fixture 2: R_fixture = 50 ohm to GND (for falling waveform) or VDD (for rising waveform)
The simulator interpolates or extrapolates from these waveforms to predict behavior under different loading conditions. This is why at least two load conditions are needed for each transition direction.
Three Corners: Typ/Min/Max
Every IBIS data table provides three columns representing silicon process, voltage, and temperature (PVT) corners:
Nominal process, nominal voltage (e.g., 1.8V), 25C. Represents expected production average behavior.
Min = slow/weak driver (slow process, low voltage, high temp). Max = fast/strong driver (fast process, high voltage, low temp). Must simulate both to capture worst-case behavior.
IBIS File Syntax Deep Dive
An IBIS file uses a plain-text format with keywords enclosed in square brackets. The hierarchical structure begins with file-level metadata, followed by component definitions, and finally model definitions. Understanding the syntax is essential for reading and debugging IBIS files.
| Keyword | Required | Description |
|---|---|---|
[IBIS Ver] | Yes | IBIS specification version (e.g., 5.0, 6.1, 7.0) |
[File Name] | Yes | Name of the .ibs file |
[File Rev] | Yes | Revision number of this file |
[Date] | No | Creation/modification date |
[Source] | No | How the data was generated (measured, simulated) |
[Notes] | No | Free-form notes about the model |
[Disclaimer] | No | Legal disclaimer from the IC vendor |
[Copyright] | No | Copyright information |
The [Model] section's Model_type keyword determines the buffer topology:
| Model_type | Buffer Type | Active Structures |
|---|---|---|
Output | Push-pull driver | Pullup + Pulldown + both clamps |
Input | Receiver input | Clamps only (high-Z) |
I/O | Bidirectional | Selectable Output or Input mode |
3-state | Tri-state driver | Output mode or high-Z mode |
Open_drain | Open drain output | Pulldown + GND clamp only |
Open_source | Open source output | Pullup + Power clamp only |
I/O_open_drain | Bidirectional open drain | Pulldown + both clamps |
Series | Series switch element | On/Off resistance tables |
IBIS Model Validation
Before using an IBIS model for signal integrity simulation, it must be validated. The IBIS Open Forum provides the official ibischk tool (now at version 7.x) that performs syntax and semantic checking. Common validation errors include:
- Non-monotonic I-V tables: Current values must increase monotonically with voltage in pulldown tables
- Insufficient voltage range: I-V tables must cover at least -VDD to 2*VDD
- Missing corners: All three columns (typ/min/max) must be populated
- Waveform time alignment: Rising and falling waveforms must start near the pre-transition steady state
- Negative resistance regions: Can indicate measurement or extraction errors
Run ibischk on every IBIS file before using it in simulation. A "Pass" result does not guarantee accuracy, but a "Fail" or "Warning" often reveals data quality issues that would produce incorrect simulation results. Many SI tools include built-in IBIS validators.
IBIS Version History and Feature Evolution
| Version | Year | Key Addition |
|---|---|---|
| IBIS 1.0 | 1993 | Basic I-V, V-t, package RLC |
| IBIS 2.1 | 1994 | Multi-source specification, power clamp refinements |
| IBIS 3.2 | 1999 | Series elements, bus hold, submodels |
| IBIS 4.0 | 2002 | Package matrix models, multi-port package |
| IBIS 5.0 | 2008 | IBIS-AMI (Algorithmic Modeling Interface) for SerDes |
| IBIS 5.1 | 2012 | Enhanced AMI, backchannel support |
| IBIS 6.0 | 2013 | BIRD (Buffer Issue Resolution Document) process |
| IBIS 6.1 | 2015 | Enhanced multi-die packages, 3D-IC support |
| IBIS 7.0 | 2019 | Unified IBIS-AMI flow, enhanced measurement specs |
| IBIS 7.1 | 2021 | PAM4 support, enhanced jitter modeling |
2. Driver/Receiver Modeling
IBIS Driver Model Architecture
An IBIS output (driver) model consists of several parallel current paths from the pad to the supply rails. The following SVG diagram illustrates the canonical IBIS driver model topology:
Pull-up / Pull-down I-V Tables
The pullup I-V table describes current flow from VDD through the PMOS (or equivalent) transistor to the pad as a function of pad voltage. Convention: voltage is measured relative to VDD. When the pad is at VDD, current is zero. As the pad drops below VDD, the PMOS conducts, sourcing current to the pad.
The pulldown I-V table describes current from the pad through the NMOS (or equivalent) transistor to GND. Voltage is measured relative to GND. When the pad is at 0V, current is zero. As pad voltage increases, the NMOS sinks current from the pad.
During a logic transition, the simulator switches between pullup-active (driving high) and pulldown-active (driving low) states. In the input or high-impedance state, both are off, and only the clamp diodes remain active.
Clamp Diodes
The Power Clamp and GND Clamp I-V tables model the ESD protection diodes present on every I/O pin:
- Power Clamp: Conducts when pad voltage exceeds VDD + Vf (diode forward voltage). Protects against overshoot. Current flows from pad to VDD rail.
- GND Clamp: Conducts when pad voltage drops below GND - Vf. Protects against undershoot. Current flows from GND rail to pad.
Clamp currents are always present regardless of driver state (active driving or high-Z). They are critical for modeling overshoot/undershoot clamping behavior accurately.
Missing or incorrect clamp data can lead to simulations that show unrealistically large overshoot/undershoot. Always verify that power and ground clamp tables are populated in the IBIS file. Some vendors provide "zero clamp" entries which effectively disable clamp modeling.
Rising and Falling Waveforms
The [Rising Waveform] and [Falling Waveform] sections contain time-voltage pairs that precisely describe the output transition shape under specific test loads. These are more accurate than the [Ramp] section which only provides a linear dV/dt approximation.
Each waveform is measured with a specific test fixture (R_fixture, V_fixture, C_fixture). The simulator uses at least two waveforms (different loads) to derive the buffer's composite behavior through interpolation. The accuracy of the simulated waveform depends heavily on these tables.
R_fixture = 50.0
V_fixture = 0.0
| time(s) | V_typical(V) | V_min(V) | V_max(V) |
| 0.000e-9 | 0.050 | 0.060 | 0.040 |
| 0.200e-9 | 0.120 | 0.140 | 0.100 |
| 0.500e-9 | 0.850 | 0.900 | 0.780 |
| 1.000e-9 | 1.650 | 1.700 | 1.580 |
| 1.500e-9 | 1.780 | 1.790 | 1.760 |
3. Package Parasitics
R-L-C Package Model
Every IC pin connects the silicon die pad to the external package pin through a physical path that includes bondwires, lead frame traces, or solder bumps. This path has parasitic resistance (R), inductance (L), and capacitance (C) that affect signal integrity.
| Parameter | Typical Range | Dominant Effect | Frequency Impact |
|---|---|---|---|
| R_pkg (Resistance) | 0.01 - 0.5 ohm | DC voltage drop, damping | Low frequency |
| L_pkg (Inductance) | 0.5 - 10 nH | di/dt noise, ringing, SSO | High frequency (dominant) |
| C_pkg (Capacitance) | 0.1 - 5 pF | Added load, frequency limit | High frequency |
Package Types and Parasitics
L_pkg: 0.5 - 3 nH (short solder bump path)
Advantage: Minimal bondwire inductance, short interconnect length, excellent for high-speed I/O
Used in: DDR4/5 memory, high-speed FPGAs, processors
L_pkg: 3 - 15 nH (long bondwire + lead frame)
Disadvantage: High inductance from bondwires (1-3mm length), significant SSO noise
Limited to: Lower-speed interfaces, cost-sensitive designs
Bondwire Inductance
Bondwire inductance is often the dominant package parasitic. A typical gold bondwire has approximately 1 nH per millimeter of length. The inductance creates voltage noise proportional to di/dt during switching:
For L = 3 nH, di = 50 mA, dt = 0.5 ns:
V_noise = 3e-9 * (50e-3 / 0.5e-9) = 0.30 V
When N output drivers switch simultaneously, the total di/dt through shared package inductance causes ground bounce: V_bounce = N * L_shared * (di_per_pin/dt). For 16 pins switching through a 2 nH shared ground bondwire, the bounce can exceed 1V, causing false triggering on neighboring signals.
Interactive Package Delay Calculator
Package Propagation Delay & Impedance
Advanced Package Models: Coupled RLC Matrix
For high-pin-count BGA packages, the simple per-pin R/L/C model is insufficient. The IBIS specification supports a coupled package model defined as an N-port RLC matrix that captures mutual coupling between adjacent pins. This is essential for accurately predicting crosstalk between pins sharing the same package substrate.
| L21 L22 L23 L24 | | C21 C22 C23 C24 |
| L31 L32 L33 L34 | | C31 C32 C33 C34 |
| L41 L42 L43 L44 | | C41 C42 C43 C44 |
Diagonal elements = self inductance/capacitance
Off-diagonal elements = mutual coupling between pins
4. IBIS Waveform Simulations
Understanding how different IBIS model parameters affect the output waveform is critical for predicting signal quality. The following interactive simulation lets you adjust key driver parameters and observe their impact on the output waveform at the receiver.
Driver Output Waveform Simulator
How Different IBIS Models Produce Different Waveforms
Different IC vendors and different I/O standards produce markedly different IBIS model characteristics. Key differentiators include:
| I/O Standard | Typical Z_out | Slew Rate | VDD | Overshoot Tendency |
|---|---|---|---|---|
| LVCMOS 3.3V | 25-40 ohm | 2-4 V/ns | 3.3V | Moderate (unterminated) |
| LVCMOS 1.8V | 30-50 ohm | 1-3 V/ns | 1.8V | Low to moderate |
| LVDS | ~100 ohm diff | ~1 V/ns | 3.3V | Very low (diff pair) |
| SSTL-15 (DDR3) | ~40 ohm | 3-5 V/ns | 1.5V | Controlled (ODT) |
| HSTL-12 (DDR4) | ~34/40 ohm | 4-6 V/ns | 1.2V | Controlled (ODT) |
| POD-12 (DDR5) | ~34 ohm | 5-8 V/ns | 1.1V | Low (pseudo open-drain) |
Multi-Model Comparison View
Waveform Quality Metrics
When comparing IBIS model waveforms, several quantitative metrics help characterize signal quality:
| Metric | Definition | Good Value | Concern Threshold |
|---|---|---|---|
| Rise Time (10-90%) | Time for signal to transition from 10% to 90% of VDD | < 2x minimum spec | > 3x minimum spec |
| Overshoot % | (V_peak - VDD) / VDD * 100 | < 10% | > 20% |
| Undershoot % | (V_min / VDD) * 100 | > -10% | < -20% |
| Settling Time | Time to reach within 5% of final value | < 2 ns | > 5 ns |
| Ring Count | Number of overshoots before settling | 0-1 rings | > 3 rings |
| Monotonicity | Signal reaches threshold only once | Monotonic | Non-monotonic |
Effect of Termination Strategy
The termination scheme dramatically affects the received waveform, particularly for unterminated LVCMOS interfaces versus terminated DDR/SSTL interfaces:
No termination resistor. Reflection coefficient = +1 at receiver (open circuit). Signal doubles at receiver end, then bounces between driver and receiver. Overshoot can exceed 100% of VDD on the first reflection. Multiple rings before settling. Acceptable only for short traces (< 2 inches for 100 MHz signals).
50 ohm termination to VTT at receiver. Reflection coefficient near zero (matched impedance). Clean single transition with minimal overshoot (< 5%). No ringing. Required for DDR and any interface above 200 MHz. Power consumption from DC bias current through termination resistor.
IBIS Model Corner Analysis Best Practice
Production silicon varies across process, voltage, and temperature (PVT). A robust SI analysis must simulate all three IBIS corners (Typ/Min/Max) and verify that timing and voltage margins are met across all corners. The worst cases are often non-obvious:
- Setup time worst case: Fast driver (Max corner) + long trace + slow receiver (Min corner)
- Hold time worst case: Slow driver (Min corner) + short trace + fast receiver (Max corner)
- Overshoot worst case: Fast driver (Max corner) + long unterminated trace
- Undershoot worst case: Fast driver (Max corner) + impedance mismatch at receiver
5. IBIS-AMI Equalization Concepts
What is IBIS-AMI?
IBIS-AMI (Algorithmic Modeling Interface) extends the standard IBIS model to support SerDes (Serializer/Deserializer) channel simulation. While basic IBIS models describe static I-V behavior and waveforms, IBIS-AMI adds the ability to model the complex equalization algorithms used in multi-gigabit serial links.
Modern SerDes operate at data rates from 5 Gbps to over 100 Gbps per lane. At these speeds, the channel (PCB traces, connectors, cables) introduces severe inter-symbol interference (ISI) that degrades the signal eye. Equalization is essential to "open" the eye at the receiver. IBIS-AMI models capture these equalization algorithms as compiled dynamic libraries (DLL on Windows, SO on Linux).
IBIS-AMI simulation uses a unique two-pass approach: (1) The analog channel impulse response is convolved through the entire TX-channel-RX path. (2) The AMI DLLs process the bit stream to add equalization effects. This separates linear (channel) from non-linear (equalization) processing for efficiency.
TX Equalization: Pre-emphasis and De-emphasis
The transmitter uses FIR (Finite Impulse Response) filtering to pre-compensate for channel loss. There are two equivalent perspectives:
| Technique | Mechanism | Effect | Use Case |
|---|---|---|---|
| Pre-emphasis | Boost amplitude on transitions | Increases high-frequency content at transitions, compensates channel roll-off | Short-to-medium reach links |
| De-emphasis | Reduce amplitude on non-transitions | Reduces low-frequency content at sustained bits, same spectral shaping as pre-emphasis | Preferred interpretation (lower peak power) |
| Pre-cursor EQ | FIR tap at t-1 | Compensates for pre-cursor ISI from reflections | Channels with reflections |
| Post-cursor EQ | FIR taps at t+1, t+2... | Compensates for post-cursor ISI from channel loss | Most common use case |
Where:
C(-1) = Pre-cursor tap coefficient (typically -0.1 to 0)
C(0) = Main cursor tap (typically 0.7 to 1.0)
C(1) = Post-cursor tap (typically -0.3 to 0)
Constraint: |C(-1)| + |C(0)| + |C(1)| = 1.0
RX Equalization: CTLE and DFE
The receiver applies two main equalization stages to recover the data signal:
CTLE (Continuous Time Linear Equalizer)
CTLE is an analog filter that boosts high-frequency content to compensate for channel loss. It operates on the continuous analog signal before sampling. Key characteristics:
- Linear filter (can be represented by transfer function)
- Boosts high frequencies while passing low frequencies
- Amplifies noise along with signal (noise penalty)
- Typical peaking: 0 to 15 dB at Nyquist frequency
- Modeled in AMI as a configurable analog EQ stage
DFE (Decision Feedback Equalizer)
DFE is a non-linear digital equalizer that uses previously decided bits to cancel post-cursor ISI. Unlike CTLE, DFE does not amplify noise:
- Non-linear (uses hard bit decisions, not representable as transfer function)
- Subtracts ISI from known previous bits
- Does not amplify noise (major advantage over CTLE)
- Typical configurations: 1-tap to 12-tap DFE
- First tap is most critical (largest post-cursor)
Interactive Eye Diagram: Before/After Equalization
AMI Parameter Files (.ami)
Every IBIS-AMI model comes with a parameter file (.ami) that defines the user-configurable equalization settings. The .ami file uses a Lisp-like syntax with nested parentheses to define parameter trees:
(Description "High-speed SerDes TX model")
(Type "Output")
(tx_tap_units
(Usage Info)
(Type Integer)
(Description "Number of TX FIR taps")
(Default 3)
)
(tx_precursor
(Usage In)
(Type Float)
(Range -0.2 0.0 -0.1)
(Default -0.05)
(Description "Pre-cursor tap coefficient")
)
(tx_postcursor
(Usage In)
(Type Float)
(Range -0.3 0.0 -0.15)
(Default -0.1)
)
)
Channel Operating Margin (COM)
COM is an IEEE 802.3-defined figure of merit that predicts whether a channel meets a target BER (typically 10^-12 or 10^-15). COM combines the effects of channel loss, equalization, noise, and jitter into a single dB value. A COM > 3 dB indicates the link has sufficient margin.
Where:
A_signal = Equalized eye height at the sampling point
A_noise = Total noise (ISI residual + crosstalk + random noise) at target BER
COM > 3 dB: Compliant link (sufficient margin)
COM > 0 dB: Marginal (may pass under ideal conditions)
COM < 0 dB: Non-compliant (will fail)
Equalization Adaptation Algorithms
Modern SerDes automatically adapt equalization settings during link training. The key adaptation algorithms include:
| Algorithm | What It Adapts | Convergence Time | Complexity |
|---|---|---|---|
| LMS (Least Mean Squares) | DFE tap coefficients | ~1000 UI | Low |
| SS-LMS (Sign-Sign LMS) | DFE taps (simplified) | ~5000 UI | Very Low |
| Zero-Forcing | CTLE + DFE settings | ~500 UI | Medium |
| MMSE (Min Mean Square Error) | All EQ parameters | ~2000 UI | High |
| Backplane EQ Protocol | TX presets via backchannel | ~10K UI | Protocol-dependent |
When evaluating an AMI model from a vendor, verify: (1) Correlation data vs silicon measurements is provided, (2) Model supports both statistical (GetWave=False) and time-domain (GetWave=True) analysis, (3) Jitter and noise parameters are properly defined, (4) The model converges within a reasonable number of UI during adaptation.
6. Interactive Labs
Lab 6.1: Model Parameter Tuning
Adjust driver strength and slew rate to meet timing requirements while keeping overshoot within specification.
Target: Rise time < 1.5 ns, Overshoot < 15%, Settling time < 3 ns. Find the optimal combination of driver strength and slew control for a given trace length.
Lab 6.2: Channel Simulation (Driver to Receiver)
Simulate a complete signal path from driver through PCB channel to receiver. Observe how channel characteristics affect the received signal.
Lab 6.3: Signal Optimization - Tune EQ to Open Eye
You have a 25 Gbps NRZ link with a lossy channel. Tune the TX and RX equalization to achieve a minimum eye opening of 40 mV height and 20 ps width.
Lab Tips: Common IBIS Simulation Pitfalls
Many IBIS files contain a "default" package model with generic R/L/C values that may not match the actual package used. Always verify the [Package Model] section matches your specific component package (QFP, BGA, CSP, etc.). Using wrong package parasitics can shift the resonant frequency by 50% or more, completely invalidating your simulation results.
Ensure the simulation tool is using the correct corner (Typ/Min/Max). Some tools default to "Typical" only. For compliance analysis, you must simulate all three corners and verify worst-case behavior. The min-max range can show 30-50% variation in rise time and 2x variation in overshoot.
On-Die Termination (ODT) for DDR interfaces requires careful setup in the IBIS model. Many DDR IBIS files provide multiple [Model Selector] entries for different ODT settings (RZQ/6, RZQ/7, etc.). Using the wrong ODT value will produce incorrect waveform and timing results. Always match the ODT setting to your memory controller configuration.
Industry Tools for IBIS/AMI Simulation
| Tool | Vendor | Strengths | Typical Use Case |
|---|---|---|---|
| HyperLynx | Siemens EDA | Integrated with PCB design flow, easy IBIS setup | Pre-layout/post-layout SI analysis |
| SIwave + Circuit | Ansys | Full 3D EM extraction + IBIS-AMI simulation | Complex multi-board systems |
| ADS | Keysight | Industry reference for AMI, extensive SerDes library | SerDes compliance verification |
| Questa SI | Siemens EDA | Statistical eye, batch AMI analysis | DDR and SerDes optimization |
| SPISim | SPISim | Fast IBIS/AMI validation, COM analysis | Model QA, quick compliance check |
| PyBERT | Open Source | Free, Python-based AMI analysis | Learning, initial exploration |