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?
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.
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] On Behalf Of Walter Katz
Sent: Wednesday, December 13, 2017 12:19 PM
To: Justin Butterfield (jdbutterfiel) <jdbutterfiel@xxxxxxxxxx>;
IBIS-Interconnect <ibis-interconn@xxxxxxxxxxxxx>; IBIS-ATM
<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