Subject: RE: S2ibis2 -- inputs with pull-up resistors, bi-directionals, Rising Waveforms, Falling Waveforms, etc.

From: Roland Chang <[email-masked]>
Date: Wed, 28 May 1997 17:23:54 -0700

Hello,

I need some help clarifying the creation of  models in IBIS.

1.	Inputs with pull-up resistors?
Are these treated in any special way? (ie: different than that of a 
normal input pin?)

2.	Bi-directionals?
I have a pad structure that has the following nodes:

Pad (the output)
Oen (ouput enable)
In (feeds the output when output enable is asserted, and Pad functions 
as an output)
Cin (feeds the core when output enable is deasserted, and Pad 
functions as an input)

What is the proper way of setting this up in s2ibis2?

3.	Rising and Falling Waveforms.
I understand that these are supposed to describe the rising and 
falling edge waveforms of a driver,  yet they are not required.  There 
is also a note in the IBISv2.1 specification that states: "...A 
maximum of 100 waveform tables are allowed per model. Note that for 
backwards compatibility, the existing [Ramp] keyword is still 
required.  The data in the waveform table is taken with the effects of 
the C_comp parameter included..."

From this, I was wondering, what would having 100 waveform tables be 
used for? Further, are the Rising and Falling Waveforms somehow a - 
replacement - for the [Ramp] keyword? Are the Rising and Falling 
waveforms usually generated in the lab at the bench, or can they be 
simulated?  When are they required, if at all?

4.	Analog and Digital VDD's and VSS's.
In the spice netlists of the files that I am dealing with, I often 
multiple VDD's, for example,  VDDac, and VDDdc, which are used to 
power up separately the I/O ring and the core.  Has anyone else out 
there had to deal with multiple VDD's like this? (I'm not talking 
about multiple VDD's such as 3.3 and 5 V, such that can be solved 
using pin mapping)

5.	Stimulus input voltage risetime and falltimes
How are these parameters used?  And for what curves are they used 
for?

Clarification of any of the above questions (1-5) would be greatly 
appreciated,
Thanx!

Best Regards,
Roland

***********************************************************************  
**
*Roland Chang                          | email: [email-masked] 
          *
*Simon Fraser University               |        OR 
                     *
*School of Engineering Science         |        [email-masked] 
 *
*3rd year Computer Engineering Option  | 
                               *
***********************************************************************  
**
~

---

From: [email-masked] ( Bob Ross)
Date: Thu, 29 May 97 15:11 PDT

Roland:

You have raised some good questions.  I have put some responses to your
questions in your text.

Best Regards,
Bob Ross
Interconnectix

> To: "[email-masked]'" <[email-masked]>,
>         "[email-masked]'"
> 	 <[email-masked]>
> Subject: RE: S2ibis2 --  inputs with pull-up resistors, bi-directionals, Rising Waveforms, Falling Waveforms, etc.
> Date: Wed, 28 May 1997 17:23:54 -0700

> Are these treated in any special way? (ie: different than that of a 

Pullup resistors would appear in the Clamps.  They are not separated
out.  So there is probable that they will be double counted.
For Pullups, the contribution in the [Gnd Clamp] table should be
should be subtracted.  The [Power Clamp] table should be extended to 
from 0 to Vcc (and possibly linearly extrapolated to 2Vcc) to provide
the separate Pullup resistor component.

> What is the proper way of setting this up in s2ibis2?

I would need to see the circuit (and documentation, if any) to
understand better how to set this up.  My first idea would be
to tie Cin to any load such as 50 ohms to ground.  I would use In
as the Input node and model the Pad as an I/O.

> used for? 

I doubt if 100 waveforms is useful, but there was no reason to set a lower
limit which may conflict with an unanticipated need.  In most cases one
or two waveforms is sufficient, and some others might be provided to document
the response for a particular set of loads.  Several simulators will use at
most only two of the waveforms that are provided.

Further, are the Rising and Falling Waveforms somehow a - 
> replacement - for the [Ramp] keyword? 

The Waveforms replace the [Ramp] keyword.  Sometimes waveform data is
bad or several waveforms are inconsistent.  The [Ramp] keyword is 
provided so that the user can get still use the model and get a response.

Are the Rising and Falling 
> simulated?  When are they required, if at all?

Waveforms are never required.  They can be obtained from simulation
or from the lab.  There are some situations where the waveform
response gives a better model because it allows getting data that
is closer to the actual loading conditions of the buffer.  GTL is an example
where the loading conditions are, for example 25 ohms to 1.2 V, even though
the Open_drain buffer is powered by a 3.3 V supply - Implying that the
Ramp load is connected to 3.3 V.

> about multiple VDD's such as 3.3 and 5 V, such that can be solved 

The IBIS model does not go into this detail.  I would apply the 
same voltage on all Vdd's to derive the IBIS model.

> How are these parameters used?  And for what curves are they used 

The default is 0.1ns.  For very fast devices, even this may be too
slow.  In general, I have seen negligible variation in the 
output response due to input rise and fall times.  However, 
someone may still want to generate a model response based on an
anticipated or data book specified input response time of 2 or 3 ns,
for example.