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

  • From: "Muranyi, Arpad" <Arpad_Muranyi@xxxxxxxxxx>
  • To: IBIS-Interconnect <ibis-interconn@xxxxxxxxxxxxx>, IBIS-ATM <ibis-macro@xxxxxxxxxxxxx>
  • Date: Thu, 14 Dec 2017 01:56:16 +0000

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

Comments below.

Walter Katz
wkatz@xxxxxxxxxx<mailto: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
wkatz@xxxxxxxxxx<mailto: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: