[ibis-macro] Re: [ibis-interconn] Re: [EXT] FW: "Aggressors"

  • From: Walter Katz <wkatz@xxxxxxxxxx>
  • To: "IBIS-Interconnect" <ibis-interconn@xxxxxxxxxxxxx>, "IBIS-ATM" <ibis-macro@xxxxxxxxxxxxx>
  • Date: Wed, 13 Dec 2017 21:03:32 -0500 (EST)

Arpad,

 

Simple rule, use the first model that has the pin_name as an
aggressor_only. "First" is straight forward. A Group has an ordered list
of Sets, and a Set has an ordered list of Models. So technically the first
model is the first Model in the first Set that has a Model with this
pin_name as an Agressor.

 

Walter

 

Walter Katz

 <mailto:wkatz@xxxxxxxxxx> wkatz@xxxxxxxxxx

978.461-0449 x 133

Mobile 303.335-6156

 

From: ibis-interconn-bounce@xxxxxxxxxxxxx
[mailto:ibis-interconn-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Wednesday, December 13, 2017 8:56 PM
To: IBIS-Interconnect <ibis-interconn@xxxxxxxxxxxxx>; IBIS-ATM
<ibis-macro@xxxxxxxxxxxxx>
Subject: [ibis-interconn] Re: [EXT] [ibis-macro] FW: "Aggressors"

 

Walter,

 

If you insist to do it that way:

 

WMK> What I said was:

*       If an I/O pin_name is not in any Model as a victim and is in more
than one Model as an aggressor, then the User or EDA tool would need to
choose which model to use to simulate this pin_name.

I think we should allow multiple aggressor models for pins that are not in
a model as a victim. Perfectly OK if they are aggressor in two or more
models. Problem is only when using them to simulate for waveform and/or
timing errors that the EDA tool does not know which model to use.

 

then we need to make it clear in the BIRD (spec) what should happen when

a pin has multiple aggressor models and no victim model.  I don't want
model

makers and/or users to expect the EDA tool to give them a selection GUI to

be able to choose which one should be used in the simulation, because we

said that we will only have one selection mechanism for the Groups.  If
the

EDA tool is NOT expected to provide a selector, then we need to state what

will happen (i.e. which one should be in effect) in this case so that the
model

make and user would know what to expect from the simulation.

 

Thanks,

 

Arpad

============================================================

 

From: ibis-interconn-bounce@xxxxxxxxxxxxx
<mailto:ibis-interconn-bounce@xxxxxxxxxxxxx>
[mailto:ibis-interconn-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz
Sent: Wednesday, December 13, 2017 4:43 PM
To: IBIS-Interconnect <ibis-interconn@xxxxxxxxxxxxx
<mailto:ibis-interconn@xxxxxxxxxxxxx> >; IBIS-ATM
<ibis-macro@xxxxxxxxxxxxx <mailto:ibis-macro@xxxxxxxxxxxxx> >
Subject: [ibis-interconn] Re: [EXT] [ibis-macro] FW: "Aggressors"

 

Comments below.

 

Walter Katz

 <mailto:wkatz@xxxxxxxxxx> wkatz@xxxxxxxxxx

978.461-0449 x 133

Mobile 303.335-6156

 

From: ibis-interconn-bounce@xxxxxxxxxxxxx
<mailto:ibis-interconn-bounce@xxxxxxxxxxxxx>
[mailto:ibis-interconn-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Wednesday, December 13, 2017 2:41 PM
To: IBIS-Interconnect <ibis-interconn@xxxxxxxxxxxxx
<mailto:ibis-interconn@xxxxxxxxxxxxx> >; IBIS-ATM
<ibis-macro@xxxxxxxxxxxxx <mailto:ibis-macro@xxxxxxxxxxxxx> >
Subject: [ibis-interconn] Re: [EXT] [ibis-macro] FW: "Aggressors"

 

Walter,

 

I would like to comment on this paragraph:

 

"The algorithm for selecting models to do a simulation is simple. The user
selects a list of pins he wants included in his simulation as victims. The
EDA tool makes a list of models that have these pins as victims (there can
only be one such model per pin). If there are no models with one of these
pins as a victim, then add a model with this pin as an aggressor. There is
problematic if a pin that is requested to simulate is not a victim in any
model, and is an aggressor in two or more models. This simulation cannot
be done if any pin occurs in two different models (either as victim or
aggressor)."

 

First, is this within the "frame" of a Group?  I mean that all that you
wrote above applies to

the Set(s) listed in a Group, and if there are multiple Groups, does this
happens after the

user selected a Group?  Or would you say that the EDA tool would check
though all

available Groups, and present the results to the user and let them choose
a Group if there

are several Groups which could simulate the pins the user wants to
simulate?

 

WMK> The algorithm is applied to all of the Models in the chosen Group
(Made from all of the models in all of the sets in the group). The user
can read the documentation supplied with the interconnect models, or can
read the reports that the parser can run on each group, or use an EDA tool
utility that can list the groups that have models for pin(s) bing
simulated.

 

Regarding the case when there are no victims for the pin the user wants to
simulate, you

suggest to use an aggressor model, and the possibility of multiple
aggressor models being

available on a pin.  To solve that problem, we could write a rule into
BIRD189 that says

something like:

 

Within each Group, no pin is allowed to have multiple victim models, and
no pin is allowed

to have multiple aggressor models if that pin does not have a victim
model.  In other words,

multiple aggressor models are only allowed for those pins which also have
a victim model.

 

WMK> What I said was:

*       If an I/O pin_name is not in any Model as a victim and is in more
than one Model as an aggressor, then the User or EDA tool would need to
choose which model to use to simulate this pin_name.

I think we should allow multiple aggressor models for pins that are not in
a model as a victim. Perfectly OK if they are aggressor in two or more
models. Problem is only when using them to simulate for waveform and/or
timing errors that the EDA tool does not know which model to use.

 

 

This rule would eliminate the problem of having to make a selection from
multiple

aggressor models, without prohibiting those aggressor overlaps which arise
from the

coupling around the victims.

 

 

 

The only thing that is still bugging me is the notion of using aggressor
models if no victim

model is available.  I think we should be clear and consistent with the
definition of aggressor.

If I remember correctly, we say it is OK to use these models for uncoupled
simulations, but

they may not be suitable for coupled simulations (because they don't
include all coupling).

We might want to make sure (with a warning, perhaps) that it is clear to
the user and model

maker that if only aggressor models are available that they may only be OK
in uncoupled

simulations but may not be accurate in coupled simulations.

 

Thanks,

 

Arpad

========================================================================

 

 

From: ibis-interconn-bounce@xxxxxxxxxxxxx
<mailto:ibis-interconn-bounce@xxxxxxxxxxxxx>
[mailto:ibis-interconn-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz
Sent: Wednesday, December 13, 2017 12:19 PM
To: Justin Butterfield (jdbutterfiel) <jdbutterfiel@xxxxxxxxxx
<mailto:jdbutterfiel@xxxxxxxxxx> >; IBIS-Interconnect
<ibis-interconn@xxxxxxxxxxxxx <mailto:ibis-interconn@xxxxxxxxxxxxx> >;
IBIS-ATM <ibis-macro@xxxxxxxxxxxxx <mailto:ibis-macro@xxxxxxxxxxxxx> >
Subject: [ibis-interconn] Re: [EXT] [ibis-macro] FW: "Aggressors"

 

Justin,

 

In my example, one cannot simulate pins 2,3,4,5. One can only simulate
1,2,3 or 3,4,5. The intent of these models is for the EDA tool to simulate
2 as a victim with 1 and 3 as aggressors, and a separate simulation for
pin 4 with pins 3 and 5 as aggressors. If the package vendor wanted to do
a simulation with all 100 pins he would have to create a 200 terminal
model with all coupling.

 

The intent is to describe the terminals of a IBIS-ISS subckts (or
Touchstone files).

 

The algorithm for selecting models to do a simulation is simple. The user
selects a list of pins he wants included in his simulation as victims. The
EDA tool makes a list of models that have these pins as victims (there can
only be one such model per pin). If there are no models with one of these
pins as a victim, then add a model with this pin as an aggressor. There is
problematic if a pin that is requested to simulate is not a victim in any
model, and is an aggressor in two or more models. This simulation cannot
be done if any pin occurs in two different models (either as victim or
aggressor).

 

IC vendor understands the simulations that his customers either need or
want to do, and it is the responsibility of the IC vendor to put models in
a group that when the group is selected the user can generate the
simulations he intends to run.

 

Walter

 

Walter Katz

 <mailto:wkatz@xxxxxxxxxx> wkatz@xxxxxxxxxx

978.461-0449 x 133

Mobile 303.335-6156

 

From: Justin Butterfield (jdbutterfiel) [mailto:jdbutterfiel@xxxxxxxxxx] ;
Sent: Wednesday, December 13, 2017 12:57 PM
To: wkatz@xxxxxxxxxx <mailto:wkatz@xxxxxxxxxx> ; IBIS-Interconnect
<ibis-interconn@xxxxxxxxxxxxx <mailto:ibis-interconn@xxxxxxxxxxxxx> >;
IBIS-ATM <ibis-macro@xxxxxxxxxxxxx <mailto:ibis-macro@xxxxxxxxxxxxx> >
Subject: RE: [EXT] [ibis-macro] FW: "Aggressors"

 

Walter,

 

I have a hopefully simple question:

 

If all 100 of these 6 terminal models are in one Group, and I want to run
a simulation with that Group and all 100 pins.  How do you connect up
those 6 terminal models in a netlist for all 100 pins?  I am just
wondering how do handle the overlap of models.  

 

For instance, your model Pin_1 has terminals Pin 2 and Pad 2 as
Aggressors.  Model Pin_2 would also have Pin 2 and Pad 2 but as a Victim.
And model Pin_3 would have terminals Pin 2 and Pad 2 as Aggressors.  How
do you connect models Pin_1, Pin_2, and Pin_3 considering the overlapping
of the terminals?

 

Thanks,

Justin

Other related posts: