Subject: Checkout List for IBIS model Validation

From: "Milt Schwartz" <[email-masked]>
Date: 30 Jun 2000 11:04:10 -0700

IBIS model generators,
Here's a checkout list the Interface Group at National is using for IBIS model validation.
This is a starting point.

1) Parse the model using ibischk3 to check for IBIS syntax completeness. 
If you do not have this file, it can be downloaded from the IBIS home page:
http://www.eia.org/eig/ibis/ibis.htm

2) Run the V/I utility (s2iplt) and check V-I curves data that they make sense and match bench curves
If you do not have this file, it can be downloaded from the IBIS home page:
http://www.eia.org/eig/ibis/ibis.htm   

Compare VI plots to bench curves of the same device.
Compare LVDS VI to a previous similar device.
Compare TTL type outputs to a previous similar device.
Always Include a "zero" crossover in the VI table.  The parametric analyser does not always do this.

3)  All  models must now have VT as well as Ramp data to be compliant to IBIS rev 3.2.
Ramp and VT should be measured with an RL that makes sense and noted in the model.
For LVDS 100 ohm diff or 50 ohms to the VOS voltage.
For TTL outputs, the RL is dependent on how strong the output is.
       The swing should be at least 1/2VCC.  300 ohms is probably a reasonable place to start for most TTL outs.

Check limit values you measure against the data sheet limits. All values should fall within the data sheet specs where applicable.  Examples are rise/fall time, short circuit current , VOL/IOL, VOH/IOH, Iin, etc.
VT data:  VOH and VOL must exist for 3 nanoseconds for most simulators.  So since there is no change of slope, just extrapolate with one more point on the VOH and VOL levels. 
Ensure that "measured" data is monotonic,  a slope of zero may be allowed, but no change of sign in the slope.

4) Run a simple sim (and archive) the file in XTK and Hyperlynx.  
Run a simple sim using Hyperlynx as a pre-check to XTK (optional)
Use a  6in T-line with typical impedance and termination at the end - check against expected waveforms
Use a 1/4 to 1/2 inch T-line to represent a lumped load - check against expected waveforms
Monitor the waveform at the load and at the driver.
Check TTL/CMOS outputs into a lumped cap load per datasheet spec and check for rise, fall, VOL, and VOH correctness per bench / datasheet.

NOTES on Model Generation
When sweeping V/I of an LVDS receiver input pin, you may get "glitches" on the sweep as the receiver output switches. 
If the Receiver output can be TRI-STATED, then Tri-State it.  If the Receiver can not be put into TRI-STATE,  do a sweep with VCC open circuit or connected to GND.  Compare this to the Powered sweep.  If the curve points are the same except for the Glitch, it should be used.

Check Ramp rates of same type of pin for both amplitude and rise/fall time.  All of same type pin (like LVDS driver out+ and out-) should have same ramp, same pullup/pulldown and thus similar characteristics.  Sometimes CLOCK and DATA outputs are different - check with design engineer.  There may be a difference between the rise and fall time of an output, but hopefully not more than 20%.

Suggestion for differential outputs.  Label all same type of output with one model.  The plus and minus of a differential driver are the same cells.  No reason to make extra work and do two.  Also,  by  only having one pin, errors and inconsistencies will be kept to a minimum.

Check that GND clamp and Power Clamp plots of same or similar pins look alike.  If not, check your measurements and check with the designer.  Different paths through the substrate may make a diode curve look more resistive or less resistive.  Example: All the TTL pins should be fairly close when you sweep below GND.  If one has 10 amps at -3.3V (extrapolated) and the other has 200mA max (extrapolated)--be suspicious

Measure Vout Hi and Lo with respect to ground, using precision resistor box.  Use the nominal value (LVDS 100 ohms) and a value plus and minus (like 90 and 110 ohms).  Place these values in the VI sweeps (pullup and pulldown).  Check that the sweep still looks monotonic.  If not, then the parametric analyser or scope set-up was not accurate.  For BLVDS, use the nominal value and plus/minus 15%.

Once you have the data for pullup, pulldown and clamps, use Excel to plot the graphs.  In Excel, placing the cursor at a point on the curve will give you the voltage, current value (for V/I plots).

Remember to specify the keyword for differential threshold, the default for IBIS is 200mV unless states.  Most LVDS parts are 100mV.

In saving models the correct format is as a XXXXXXX file.  <CR> characters are not allowed.

Check model print out for legal disclaimer and format alignment - a sloppy model looks sloppy.

Update REV and Notes section with current information, don't simply use dates / notes from an old model 

regards, milt
Milt Schwartz Interface Applications
National Semiconductor
email: [email-masked]
Phone: 408-721-3261
Fax:     408-721-4785
Mail Stop: A2595