Quality Checking IBIS Models

Introduction to Quality Checking IBIS Models

By Timothy Coyle


The use of IBIS models for signal integrity simulations has become mainstream over the last ten years due to it's non-propietary format and fast simulation run times over traditional SPICE based simulation models. But engineers new to using IBIS models can sometimes run into quality issues with an IBIS model and than get stuck in their developement flow debugging the model. In this article I'll show you the basics of quality checking an IBIS model before you start your simulations so you can be up and running on your project.

Overview Of An IBIS Model

IBIS stands for Input/Output Buffer Information Specification and is an approved standard within the Electronic Industry Alliance (ANSI/EIA-656-A). An IBIS model describes the analog behavior of a buffer without using transitor level data that reveals intellectual property. Instead, an IBIS model uses current-voltage I/V and voltage-time V/T waveforms to describe the buffer. These data curves are then wrapped in a specified model template that any simulation tool can use. Below is a block diagram of an IBIS model for a standard CMOS driver.

The IBIS specification breaks down the buffer into different sections representing the behavior of the device. The NMOS and PMOS transistors in the design that represent the device driving high and low are modeled as I/V curves called the pullup and pulldown. If the buffer has an ESD structure associated with it than the ESD I/V curve is modeled as the power and ground clamp. What isn't shown in the diagram is the V/T waveforms. The V/T waveforms help the simulation engine determine when to turn the NMOS and PMOS on and off while switching. Finally, the capacitance of the IO is modeled as C_Comp and the package parasitics is modeled as lumped RLC values.

The IBIS Golden Parser

The standard group that maintains the IBIS specfication provides a free program that can validate the data in an IBIS model. This application is often referred to as the 'Golden Parser'. It is free to dowload and is cross-platform; many commercial signal integrity tools also include the golden parser as well. Running your IBIS model through the parser should be the first step in your quality check process. The parser mostly checks for syntax violations but also does a few important data checks. The parser will check for non-monotonic data which could be a clue that the model might not have the correct data. The parser will also check for extreme clamp current in your ESD data curves. Often times when you see this issue it is because the clamp curves were extracted from an ESD structure that did not have any diode resistance in the model. The most important data check that the parser does though is that it verifies that the AC and DC endpoints match between the I/V and V/T curve data. This helps ensure that the IBIS data is valid. Below is an image of the parser in action on a Windows PC machine.

The golden parser will quickly tell you if you have any errors in your IBIS model and you can use the given warning messages to track down and potentially fix any quality issues. The old adage of 'garbage in, garbage out' should be applied to IBIS models as you would to any simulation models.

Visual Inspection

Once you have run an IBIS model through the parser, its time to open up and look at the IBIS model data. The good thing is that the IBIS model file is an ASCII text format so you can use a text editor to view the IBIS model. However, it really is beneficial to use a software tool that can view and edit an IBIS model file. Most tools will allow you to make changes to the IBIS model, run the golden parser, and graph the I/V and V/T data. Visually inspecting the I/V and V/T data is the next step to checking the quality of an IBIS model. You can quickly see from the I/V curves if the data doesn't look right. You can also use the warning and error messages from the golden parser to narrown in on where the issue may be. As you become more familiar with IBIS models, you can start to dig deeper into the data curves and do some advanced things. For example, you can look at the I/V curves of an output buffer and determine what the output impedance of the driver is in both the low and high state. This will tell you if the buffer is well-balanced. Visual inspecting the IBIS data will take you a long way to fixing any quality issues.

Importance of Keywords

The last component of an IBIS quality checking methodology is to understand the keywords (syntax language) used in the IBIS specification. The golden parser will check for improperly used keywords like incorrect C_comp values but it can't check for incomplete or missing keywords. As an IBIS user you will have to learn which keywords are important and which ones are not. Some keywords are necessary for simulation tools to properly simulate and analyze an interface. As an example, for an output model in IBIS, a set of keywords are available to define the manufacturer's reference test load. This test load is sometimes called the 'standard load' or the 'time to Vmeas' and is used to properly calculate the flight time of a signal in a signal integrity simulation. The IBIS specification provides the Vref, Cref, Rref, and Vmeas keywords to accomplish this but sometimes they are missing. It's important to check that the necessary keywords are populated to ensure valid simulations later on in the project.


In this article we discussed three basic steps to checking the quality of an IBIS model: run the golden parser, visually inspect the data curves, and make sure the correct keywords are present. Following these simple steps will solve the majority of your quality issues with IBIS models.

Get IBIS DRC FREE With Our New Online Training Course

We now offer a single-user commercial license for free for anyone who takes our new IBIS Modeling course through Top Gun Hardware Academy.