Subject: RE: Stupid question

From: "Muranyi, Arpad" <[email-masked]>
Date: Mon, 1 May 2000 15:52:49 -0700

Bob,

It seems that we are talking about nuances here which do not effect
the outcome of the simulations.  The simulation tool can take the
I/O model and use it only in receive mode giving you the same results
as if you would have converted the I/O to an Input or Output only model.

The only benefit in doing the conversion is that you might prevent
having to answer "stupid" questions from your customers who may notice
that you provided an I/O model for a pin that is called an input.
From that point of view, I would do "A" below.

Option "B" doesn't seem to be more beneficial than "A", because you would
still have to make three versions of the buffer from the original I/O model.
The model selector cannot modify the buffer type of a [Model], i.e. tell
the simulator that an I/O should be used as an input or output, it just
simply picks a [Model] from a list and associates it with a particular pin.
In fact, the usage of the model selector could confuse your customers
because it really means that a given pin can have multiple buffer types
according to what is listed in the selector.  Your case seems to have a
fixed buffer type on a given pin.

Option "C" doesn't exist in IBIS.

So I see two options for you, either go with "A" or just list I/O types
for each buffer, and explain in the comments that such and such a buffer
is only supposed be used as input or output.

I hope this helps,

Arpad
=========================================================================

-----Original Message-----
From: Robert Haller [mailto:[email-masked]]
Sent: Monday, May 01, 2000 2:21 PM
To: [email-masked]
Subject: RE: Stupid question

Syed and Arpad,
	Thanks for you replys. Let me try and clarify the question.

I have a 'good' IBIS model (with all the IV curves,VT tables and package
paramaters) that
can be read into the parser for ONE Bidirectional pin (for each technology
type). I also have
an asci text file for a FPBA which tells me what pin type's (Input, Output,
BI_directional)
and what type of driver (hstl,lvttl,lvds). Now I have the task of assigning
the correct pins
(there are a lot of them) to the correct models. (It isn't done for me
because the device's I/O's are programmable).
I wasn't sure whether I should do A,B or C;

A.  Create an unique Input model (called 6ma_LVTTL_INPUT)from the I/O model
by dropping
    everything BUT the c_comp,vih,Vil, gndclamp, powerclamp
    Create an Output model (called 6ma_LVTTL_OUTPUT) from the I/O model by
dropping everything
    but the Vmeas,C_comp, Pulldown, Pullup ... etc
    Duplicate and Leave I/O model alone (6ma_LVTTL_IO).
    Then in the pin template make the appropriate call to the appropriate
model.

B. Use the model_selector keywork (somehow ?) for each pin and call the
correct I/V curves and tell it
   whether its an INPUT or OUTPUT or I/O

C. Or another better way to do it (like in my old internal 'dec' tool) that
you call out a part family and
   the simulator looks at the physical database body description and can
tell which are I's which
   are O's and which are BI's and assigns the correct family and function to
each pin.

I thought if someone had already figured out the best way to do a
programmable I would not have to
repeat the exercise.The best way for me to understand how to do it would be
to see an example model
of an entire FPGA that somebody already did theses assignments in a succient
way.
bob

-----Original Message-----
From: Muranyi, Arpad [mailto:[email-masked]]
Sent: Monday, May 01, 2000 1:49 PM
To: [email-masked]
Subject: RE: Stupid question

Syed,

I think his question is a little different.  It seems to that
he wants to know what he should do with the I/O cells which
are used as input, or output.

Bob,

This is what you should do.  Generate four I-V curves from the
ASIC cells.  (pulddown, pullup, GND relative 3-state, and Vcc relative
3-state).  When you have an I/O make an I/O IBIS model from these,
that is do the usual subtraction method to generate the [Pulldown]
and [Pullup] tables.  The 3-state curves go into the clamp curves
as usual, cut at the appropriate points to avoid double counting.

When you need an input only model, keep these clamp curves, but
discard the [Pullup], [Pulldown] curves and the V-t curves (and ramps).

When you need an output only model, discard the clamp curves, and
use the unsubtracted [Pulldown] and [Pullup] curves (keeping the V-t
and ramp also).

Arpad Muranyi
Intel Corporation
======================================================================

-----Original Message-----
From: Syed Huq [mailto:[email-masked]]
Sent: Monday, May 01, 2000 10:33 AM
To: [email-masked]; [email-masked]
Subject: Re: Stupid question

Since this is an FPGA, the user needs to generate his/her own [Pin] list
table
based on your configuration. This [Pin] list would point to the appropriate
buffer models. Then attach the buffer models to the modified [Pin] list to
create the full component model.

You can even use the [Model selector] scheme from v3.2 but that depends if
your simulator supports it.

Regards,
Syed
Cisco Systems, Inc

>
> Dear IBIS users,
> 	I am trying to ascertain the optimal way to configure a FPGA IBIS
model.
> I have input only, output only and Bi-directional I/O's while the
supplier's
> model provides
> a generic I/O model. If someone could email me an optimized example I
would
> be most grateful.
> Regards,
> Bob Haller

---

From: Vinu Arumugham <[email-masked]>
Date: Mon, 01 May 2000 16:02:37 -0700

> >From that point of view, I would do "A" below.

If the conversion is not performed, I think some simulators will report false
violations when they attempt to drive a net from what is supposed to be an
input pin.

Vinu