RE: [IBIS] IBIS-ISS Package Modeling : The Physics of a Package Model, Presentation to IBIS-ATM 7/24/12

From: Brad Brim <bradb@sigrity.com>
Date: Sat Jul 28 2012 - 11:19:12 PDT

hi Arpad,
 
No global coordinate system exists.
An EDA tool that creates a model publishes (X,Y) values in its local
coordinate system. There is no way it can know anything else.
An EDA tool that applies the model to perform electrical analysis doesn't
really care about the coordinates for any one model, but when it much
connect one (or more) models it must consider coordinate translations,
rotations and axial flips.
This is not as ambiguous or difficult as it might first seem. Let's examine
a flipchip and single-die package.
Per industry practice, an EDA package database typically has its origin in
the center of the package and its X-axis is usually flipped with respect to
the chip database. Also per industry practice, an EDA chip database
typically has its origin in the lower left corner. It is relatively easy for
a human to interactively look at an image of the two pad sets and guide an
EDA tool to connect them properly with flips/rotations/translations.
However, it is not all that difficult for one to code a reliable algorithm
to perform this task automatically. The algorithm can apply information such
as: pad names, net names, pad type (pwr/gnd/signal), intra- and
inter-database relationships amongst multiple pads, etc. Not all information
is available in all cases; and even if it is, there may be ambiguities such
as pad name mismatches. For real designs the available information is more
than adequate to reliably align pad sets at model connection boundaries.
Most designs are intentionally constructed to avoid manufacturing
misalignment, which also enables the task of automated model alignment. Yes,
one could imagine a case for which alignment ambiguity might still exist.
For example, a set of pads with total symmetry of locations, types, net
names, no pad name matches, etc. In this case additional information could
be specified, such as a "preferred coordinate transformation", a set of
reference pads, etc.
 
best regards,
 -Brad

  _____

From: owner-ibis@eda.org [mailto:owner-ibis@eda.org] On Behalf Of Muranyi,
Arpad
Sent: Friday, July 27, 2012 5:01 PM
To: ibis@eda.org
Subject: RE: [IBIS] IBIS-ISS Package Modeling : The Physics of a Package
Model, Presentation to IBIS-ATM 7/24/12

Sam,

 

Thanks for the answer I finally see the reason and usefulness

for it.

 

But I have question. What is the reference for the coordinates?

Is there a universal rule for where 0,0 is? What if the PCB

uses a different reference point from the package (or the package

from the die)? Are tools expected to try all possible translations

to see if they can be overlaid and find a position that makes

contact?

 

Thanks,

 

Arpad

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

 

 

From: Sam Chitwood [mailto:samchitwood@sigrity.com]
Sent: Friday, July 27, 2012 1:01 PM
To: Muranyi, Arpad
Cc: ibis@eda.org
Subject: Re: [IBIS] IBIS-ISS Package Modeling : The Physics of a Package
Model, Presentation to IBIS-ATM 7/24/12

 

Hi Arpad,

 

With regard to including coordinates, it's extremely useful for GUI based
tools to automatically make the connections when the die / package / PCB
naming conventions are different. Otherwise the user has to manually figure
out the mapping.

Thanks,
Sam

On Wed, Jul 25, 2012 at 12:54 PM, Muranyi, Arpad <Arpad_Muranyi@mentor.com>
wrote:

Walter, and Everyone,

 

Thanks for the overview on the physics of package models. I still

wonder, however, why we need to concern ourselves with this, as far

as the specification goes.

 

This is what I came away from the ATM meeting yesterday:

 

1) provide a syntax that allows the use of IBIS-ISS subcircuits

2) provide a syntax that provides mechanisms to place them

between the [Model] terminals and any die node (bump, pad, etc.)

for on-die interconnect modeling, or between any die node (bump,

pad, etc.) and the pin or ball of the component for package

modeling

3) the connectivity syntax has to have the ability to describe

full or partial (slice) package or on-die interconnect models

4) the connectivity syntax has to support fixed topologies and

generic topologies, i.e. the legacy IBIS or the Intel approach

(we can also call this "swathing" or "sliding model" approach)

5) the connectivity syntax must be able to support arbitrary package

or on-die interconnect topologies (i.e. forks, splits, joins,

reduction or expansion of power connections, etc.)

 

It seems to me that if we can fulfill these requirements in the spec,

we would not have to worry about the physics part, or the content of

the IBIS-ISS subcircuit. It could contain anything the model maker

desires, T-coils, signal or power nets, coupled or uncoupled traces,

model the C_comp in one place or multiple places, etc..

 

I would also like to comment on the x-y coordinate idea from MCP. I

can see why that would be useful for a field solver, but I am not sure

why we should support that in the IBIS specification. At the IBIS level

we deal with electrical models. Connections are made with nodes and

terminals. I don't see how x-y coordinates would help or be useful on

this level.

 

Please feel free to correct me if I am wrong. I am still learning.

Comments and suggestions are welcome.

 

Thanks,

 

Arpad

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

 

From: owner-ibis@eda.org [mailto:owner-ibis@eda.org] On Behalf Of Walter
Katz
Sent: Tuesday, July 24, 2012 3:02 PM
To: ibis@eda.org
Subject: [IBIS] IBIS-ISS Package Modeling : The Physics of a Package Model,
Presentation to IBIS-ATM 7/24/12

 

All,

 

Presentation to IBIS-ATM 7/24/12

 

E-Mail comments:

1. "Well said"

2. What about MCM (Multi-Chip-Modules)?

a. Will be addressed when EBD is enhanced to include IBIS-ISS package
models

3. What about package discretes (e.g. Blocking Caps, Pullup and
Pulldown Resistors)?

a. IBIS-ISS is a subset of HSPICE including S-Parameter, W-Lines and
discretes

 

 

Rather than discussing the possible IBIS solutions for package models, I
would like to describe the physics of the problem, and then ask some
questions of what part of the physics need to be implemented.

 

I would like to frame these questions with an example:

 

Package

150 VDD Pins

150 VSS Pins

100 Single Ended Channel Pins

Die Bump Pads

200 VDD Bump Pads

200 VSS Bump Pads

100 Single Ended Channel Bump Pads

Die Buffer Pads

100 VDD Buffer Pads

100 VSS Buffer Pads

100 Single Ended Channel Buffer Pads

 

Complete Package Model (describes the full physics of the package
interconnect)

150 VDD Pins

150 VSS Pins

100 Single Ended Channel Pins

200 VDD Bump Pads

200 VSS Bump Pads

100 Single Ended Channel Bump Pads

900 total ports

 

Complete On-Die Model (describes the full physics of the die interconnect)

200 VDD Bump Pads

200 VSS Bump Pads

100 Single Ended Channel Bump Pads

100 VDD Buffer Pads

100 VSS Buffer Pads

100 Single Ended Channel Buffer Pads

 

A Full Simulation will consist of

Board and all of the stuff on the Board

1 Package model instance

1 on-die model instance

100 IBIS buffers

 

Connections that need to be rectified

400 connections between Board and Package Model

500 connections between Package Model and On-Die Model

300 connections between On-Die Model and 100 Buffer Models

 

Questions to IC Vendors:

Is this setup is a completer representation of the problem?

Yes, No one disagrees.

Is it practical to produce the Package Model and On-Die Model in this level
of detail?

No, anyone disagree? (Scott Disagrees, Arpad Disagrees)

Package Model is a s900p

On-Die Model is a s800p

Do you want/need to use a subset of the On-Die VDD and VSS Bump Pads in your
On-Die Model?

Do you want to be able to represent the VDD and VSS Bump Pads as two nodes?

Chip size ~.5"

Tpd ~180ps/inch

Max freq if just two nodes ~10GHz

"User" can only control Board power routing, Board bypass caps and VCM,
<~1GHz at package pin

Do you want/need to use a subset of the Package VDD and VSS Pins in your
Package Model?

Do you already include the interconnect between the Channel Bump Pads and
Channel Buffer Pads in your Buffer Model?

For legacy IBIS, On-Die routing is accounted for in C_Comp

For AMI modeling, On-Die routing and buffer impedance is included in On-Die
S-Parameter models

RC Ladder Circuit

Do you need interconnect between VDD and VSS Bump Pads and VDD and VSS
Buffer Pads, or is it sufficient to "tie" each VDD and VSS Buffer Pad to
specific VDD and VSS Bump Pads.

Does "User" need power frequency > 10GHz

Do you want to be able to distribute Package and On-Die Models for slices
(subsets) of the 100 Channels?

Package Model Slices

Uncouple Channel Package Subckt for each Channel Pin

Coupled Channel Package Subckt for each Channel Pin

Uncouple Channel Package Subckt for each Channel Pin in a Bus

Couple Channel Package Subckt for each Channel Pin in a Bus

Coupled Channel Package Subckt for specific Channel Pins

Package Power Models for a subset of Package Pins

Coupled Channel and Power Package Subckt for specific Channel and Power Pins

On-Die Model Slices

Simple C-Die between VDD and VSS

On-Die Channel Models

.

IBIS-ISS Package Subckts Now Being Distributed by IC-Vendors

IC Vendor A

10 Channel Package Models

3 process corners

Package Models are assigned to specific Pins

IC Vendor B

1 Channel Package Model

3 process corners

Each Pin has a unique Length which is passed to the subckt as a parameter

IC Vendor C

1 Package Model

1 Victim Channel, 2 Aggressor Models

FEXT (Far End Crosstalk)

5 Process Corners

IC Vendor D

1 Package Model

1 Victim Channel, 2 Aggressor Models

FEXT (Far End Crosstalk)

9 Process Corners

IC Vendor E

1 Package Model

1 Victim Channel, 3 Aggressor Models

Mixture of FEXT and NEXT (FEXT for Data, NEXT for Clock). NEXT = Near End
Crosstalk

9 Process Corners

IC Vendor F

Package Model of Custom Slice of Package CAD Data Base

On-Die Model of Custom Slice of IC CAD Data Base

Models stitched together using MCP protocol written into the SPICE subckt by
EDA Layout Extraction Tools

MCP (Model Connection Protocol) enable stitching of models together by
defining "Connections"

Package Model has a Connection to the Board and a Connection to the Die

Each Connection associates its Nodes in the .subckt statement with

Pin Name

Net Name

X,Y coordinate

EDA tools associates Nodes in the Connections by one or a combination) of
the following

Pin Name Heuristic (e.g. 1C == C01)

Net Name (DQS# == DQS-)

X, Y coordinate (deals with rotation, mirror, shift, units)

IBIS-ISS On-Die Subckts Now Being Distributed by IC-Vendors

C-Die between Power and Ground

S4P for AMI Buffers

 

 

 

Do you want to be able to distribute multiple Package and On-Die Models with
different combinations of the choices above?

 

Walter

 

 

 

--------------------------------------------------------------------
|For help or to subscribe/unsubscribe, e-mail majordomo@eda-stds.org
|with the appropriate command message(s) in the body:
|
| help
| subscribe ibis <optional e-mail address, if different>
| subscribe ibis-users <optional e-mail address, if different>
| unsubscribe ibis <optional e-mail address, if different>
| unsubscribe ibis-users <optional e-mail address, if different>
|
|or e-mail a request to ibis-request@eda-stds.org.
|
|IBIS reflector archives exist under:
|
| http://www.eda-stds.org/pub/ibis/email_archive/ Recent
| http://www.eda-stds.org/pub/ibis/users_archive/ Recent
| http://www.eda-stds.org/pub/ibis/email/ E-mail since 1993
Received on Sat Jul 28 11:19:18 2012

This archive was generated by hypermail 2.1.8 : Sat Jul 28 2012 - 11:21:48 PDT