Subject: more on ibischk3 errors

From: Stephen Muller <[email-masked]>
Date: Tue, 13 Mar 2001 15:46:58 -0800 (PST)

All,

I am trying to validate an IBIS file that I created from s2ibis2.  I am 
comparing the simulated IBIS file(using Cadence tools) versus the simulation 
results obtained in spice.  At present the IBIS simulation doesn't quite reach 
the same high value as the spice.  I ran the ibis file through ibischk3(which I 
don't believe is used by the Cadence software that converts an IBIS file to a 
DML format).  This gave me errors that several people have commented on, namely 
that the endpoint values obtained from the Rising/Falling waveforms don't match 
those obtained when an equivalent load applied to the model's I-V tables.

What type of things should one look for when they get these errors?  How is 
ibischk3 calculating what values should be obtained from the I-V tables for the 
endpoints?  And how does ibischk3 decide if there is an error?  It reports back 
by what percentage the values are off, but how close do these have to be to 
avoid an error?

Thanks,
Stephen Muller

  Stephen Muller
  Electronic Component & Interconnect Technologies
  Engineer
  Phone: 650-786-3374 or x83374
  e-mail [email-masked]

   _/_/_/  _/    _/  _/     _/     
  _/      _/    _/  _/_/   _/       
  _/_/_/ _/    _/  _/  _/ _/  
     _/ _/    _/  _/   _/_/        
_/_/_/  _/_/_/   _/     _/         			 				     		 
M  I  C  R  O  S  Y  S  T  E  M  S

---

From: Mike LaBonte <[email-masked]>
Date: Wed, 14 Mar 2001 10:25:46 -0500

Stephen,

The Cadence software does run IBIS files through ibischk3, then it runs
additional checks. If there is even a 2% mismatch between the waveforms
and the IV tables, you really should find out why.

For example, using the Pulldown table and the test fixture values you can
figure out what the output voltage should be in the low state. This is what
ibischk3 does, and it prints the voltage for you. Now look at the waveforms.
Does the Rising waveform start at that voltage, and does the Falling waveform
end at that voltage? A common problem is that the simulation was not long enough,
and it never fully settled at the static level.

Take a plot of the Pulldown curve, and draw a line from I=0/V=V_fixture, at the
R_fixture resistor slope. The intersection of this line with the Pulldown curve
gives the static low state voltage and current. Ibischk3 takes the difference
between this voltage and the endpoint voltages. To get a percentage, it divides
by the difference between the high and low start voltages, I think (I no longer
have access to the source code).

More info can be gleaned from the IBIS BIRDs (http://www.vhdl.org/pub/ibis/birds)
and from the ibischk3 bug list (ftp://ftp.eda.org/pub/ibis/bugs/ibischk). Also, a
handy trick is to run ibis2signoise with the -curvedir switch, making it save all
waveforms and IV curves into .sim files so that sigwave can view them. Sigwave can
then import the waveforms produced by s2ibis2 simulation runs and those from
Cadence simulation runs, for comparison.

Mike LaBonte