Randy,
This topic came up briefly at the end of the meeting today, and it will be the
main discussion
item next week. In order to help speed things up, I thought I would revive
this email thread
with this reply.
Currently, under the [EMD Parts] keyword we have a list of part names with
their corresponding
.ibs or .emd file names. The feature you are requesting would be some
mechanism to support
the possibility to choose from multiple files for a given part name.
The complication I see here with your suggestion #1) and/or #2) is that if you
have n part names
under [EMD Parts] each of which has m possible file names, than the total
number of possible
combination is n*m. Doing this in the EDA tool, or with a new [EMD Parts
Selector] keyword (and
a name field with [EMD Parts]) may require n*m [EMD Parts] keywords,
enumerating all possible
combinations. This may get "out of hand" in some cases, although this approach
would work well
if there are invalid combinations, because those invalid combinations would
simply not be listed
with a [EMD Parts] keyword.
Your suggestion in #3) seems to be more efficient, but we would still need to
find a way to address
the problem of how invalid combinations could be defined in the .emd file. For
example, if Part1
has 5 .ibs files under one [Alternate EMD Parts] keyword, and Part2 has another
3 .ibs files under
another [Alternate EMD Parts] keyword, are all 15 combinations valid? How
could we define which
of these 15 combinations are valid?
I didn't get to think about the [Voltage List] yet, but I see a similar problem
there too. We would
need a mechanism to associate those with the various parts
options/selections/combinations,
and we also need to make sure that we don't end up with conflicting voltages as
a result of the
various selections.
I tend to agree that this may not have a "simple fix" and could take some time
to develop, unless
someone comes up with a solid and practical/useful suggestion that we can all
agree to quickly.
Given that and how much we all would like to see the EMD specification released
in IBIS v7.1, do
you think this capability is important enough to make it worth delaying the
release of the next
spec? A potential complication of releasing what we have now in the BIRD and
planning to add
this capability later is that we may end up with something in the spec that may
not work well
with this new feature (kind of cornering ourselves) and then we would have to
modify the
keywords which we just added to the spec. From that perspective we might be
better off
figuring this out now and release the spec after that...
What is your take on all these questions? (I have to say that I think the idea
is good and needed,
I am just not sure how we should go about it in this 11th hour of getting the
EMD BIRD out).
Thanks,
Arpad
=============================================================================
From: ibis-interconn-bounce@xxxxxxxxxxxxx
[mailto:ibis-interconn-bounce@xxxxxxxxxxxxx] On Behalf Of Randy Wolff
Sent: Tuesday, November 17, 2020 5:04 PM
To: ibis-interconn@xxxxxxxxxxxxx
Subject: [ibis-interconn] Alternate [EMD Parts]
One topic that I'd like to discuss in tomorrow's meeting is the idea of
allowing alternate [EMD Parts] lists. This would be useful for cases such as
using EMD for multi-die package modeling or modules supporting multiple I/O
voltages or temp range models.
For example, let's look at a Micron LPDDR4 component.
Part number: MT53E2G32D4DT
Die config: 4 die, 2 die per I/O channel
I/O voltage (VDDQ): 0.6V/1.1V
Temp ranges: Wireless, Industrial, Automotive, Ultra
With EBD models used currently, this requires one of the following options:
1. Customer to edit [Reference Designator Map] to point to 1 of 8 .ibs files
for unique temp and I/O voltage model
2. Micron to supply 8 .ebd files
The same problem exists for EMD, but there are potential solutions such as:
1. Support multiple [EMD Parts] keywords containing complete sets of
alternative parts lists. EDA tool would need to allow selection of one list for
simulation.
2. Add an [EMD Parts Selector] keyword as well as option 1, while also
adding a name field to the [EMD Parts] keyword.
3. Add an [Alternate EMD Parts] keyword
* Allows for a list of only alternate part names without requiring a
complete list of part names found in the original [EMD Parts] keyword.
* This could simplify the list if only one or two parts are changing out
of many listed in [EMD Parts].
* Would also require allowing multiple [Alternate EMD Parts] keywords.
* Selection mechanism for EDA tools gets more complicated. [Alternate
EMD Parts] would require a name field and the [EMD Parts Selector] keyword.
This all gets complicated by [Voltage List]. A common usage of alternate [EMD
Parts] would be to support multiple I/O operating voltages. For example, the
VDDQ voltage would need multiple options in [Voltage List] with dependency on
the [EMD Parts] selection. I'm not seeing a simple way to fix this.
Randy