[ibis-interconn] Re: Alternate [EMD Parts]

  • From: "Muranyi, Arpad" <Arpad_Muranyi@xxxxxxxxxx>
  • To: "ibis-interconn@xxxxxxxxxxxxx" <ibis-interconn@xxxxxxxxxxxxx>
  • Date: Wed, 13 Jan 2021 22:00:12 +0000

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



Other related posts: