[ibis-macro] Re: Fixing [Pin Mapping] Presentation at IBIS Summit

  • From: Walter Katz <wkatz@xxxxxxxxxx>
  • To: "Tom Dagostino" <tom@xxxxxxxxxxxxxxxxx>, "IBIS-ATM" <ibis-macro@xxxxxxxxxxxxx>
  • Date: Wed, 13 Jan 2016 09:28:03 -0500 (EST)

Tom,



This is why [Pin Mapping] is so confusing. From IBIS 6.1 (Nos change
between 5.1 and 6.1):



Usage Rules: The [Pin Mapping] keyword names the connections between
POWER and/or GND pins and buffer and/or terminator voltage supply
references using unique bus labels. All buses with identical labels are
assumed to be connected with an ideal short. Each label must be
associated with at least one pin whose model_name is POWER or GND. Bus
labels must not exceed 15 characters.



Note that signal_name is limited to 40 characters, and bus_labels are
limited to 15 characters (probably because of the old 80 character limit
on IBIS lines).



So let's try to explain the confusion with the following example and then
morph it into the example in question.



[Pin] signal_name model_name | Data Book Information

1 DQ1 DQM | Rails are VDD and VSS

11 VDD POWER | DC Power Supply 1.2V 1.14-1.26V

12 VSS GND | Ground

[Pin Mapping] pulldown_ref pullup_ref gnd_clamp_ref power_clamp_ref
ext_ref

1 abc def

11 NC def

12 abc NC



Bus-label abc "shorts" the pulldown_ref of Pin 1 with pin 12, which is a
GND pin on signal name VSS.



Now just change all of the bus_labels abc to VDD and the bus_labels def to
VSS.



[Pin] signal_name model_name | Data Book Information

1 DQ1 DQM | Rails are VDD and VSS

11 VDD POWER | DC Power Supply 1.2V 1.14-1.26V

12 VSS GND | Ground

[Pin Mapping] pulldown_ref pullup_ref gnd_clamp_ref power_clamp_ref
ext_ref

1 VDD VSS

11 NC VSS

12 VDD NC



Bus-label VDD "shorts" the pulldown_ref of Pin 1 with pin 12, which is a
GND pin on signal name VSS.



Does this clarify the use of bus_lables in [Pin Mapping] and why it is
important to be able to enforce the following rule:



If a bus_label on a POWER or GND pin in [Pin Mapping] is the same as any
signal_name in [Pin], then the signal_name on that pin in [Pin] must be
the same as the bus_label on that pin in [Pin Mapping].



Walter



From: Tom Dagostino [mailto:tom@xxxxxxxxxxxxxxxxx]
Sent: Tuesday, January 12, 2016 6:45 PM
To: wkatz@xxxxxxxxxx; 'IBIS-ATM' <ibis-macro@xxxxxxxxxxxxx>
Subject: RE: [ibis-macro] Re: Fixing [Pin Mapping] Presentation at IBIS
Summit



??



From IBIS 5.1



All buses with identical labels are assumed to be connected with an ideal
short. Each label must be associated with at least one pin whose
model_name is POWER or GND.



VDD in your model under Pin Mapping for pin 1 refers to the signal_name
Label in the Pin section. It is associated with POWER not the
pulldown_ref which is VSS.



Tom Dagostino



971-279-5325

<mailto:tom@xxxxxxxxxxxxxxxxx> tom@xxxxxxxxxxxxxxxxx







From: ibis-macro-bounce@xxxxxxxxxxxxx
<mailto:ibis-macro-bounce@xxxxxxxxxxxxx>
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz
Sent: Tuesday, January 12, 2016 2:56 PM
To: Tom Dagostino; IBIS-ATM
Subject: [ibis-macro] Re: Fixing [Pin Mapping] Presentation at IBIS Summit



Tom,



Now you will understand why [Pin Mapping] needs
signal_names_are_bus_labels! In the current IBIS specification, a
bus_label is not a signal_name, it is just a statement that all of the
pins and buffer rail terminals that have the same bus_label are shorted
together. Strings in Red are signal_names and strings in Green are
bus_labels.



[Pin] signal_name model_name | Data Book Information

1 DQ1 DQM | Rails are VDD and VSS

11 VDD POWER | DC Power Supply 1.2V 1.14-1.26V

12 VSS GND | Ground

[Pin Mapping] pulldown_ref pullup_ref gnd_clamp_ref power_clamp_ref
ext_ref

1 VDD VSS

11 NC VSS

12 VDD NC





The pulldown_ref of Pin 1 is bus_label VDD. Pin 12, which is signal_name
VSS is also bus_label VDD. Therefore pulldown_ref of Pin 1 is signal_name
VSS!



If we used the new signal_name_is_bus_label , then this is what the [Pin
Mapping] would have done automatically to the POWER and GND pins, and the
Pin 1 would have to be as shown:



[Pin Mapping] pulldown_ref pullup_ref gnd_clamp_ref power_clamp_ref
ext_ref

1 VSS VDD

11 NC VDD

12 VSS NC



Walter



From: Tom Dagostino [mailto:tom@xxxxxxxxxxxxxxxxx]
Sent: Tuesday, January 12, 2016 5:22 PM
To: wkatz@xxxxxxxxxx <mailto:wkatz@xxxxxxxxxx> ; 'IBIS-ATM'
<ibis-macro@xxxxxxxxxxxxx <mailto:ibis-macro@xxxxxxxxxxxxx> >
Subject: RE: [ibis-macro] Re: Fixing [Pin Mapping] Presentation at IBIS
Summit



Walter



In your model you have:



[Pin] signal_name model_name | Data Book Information

1 DQ1 DQM | Rails are VDD and VSS

11 VDD POWER | DC Power Supply 1.2V 1.14-1.26V

12 VSS GND | Ground

[Pin Mapping] pulldown_ref pullup_ref gnd_clamp_ref power_clamp_ref
ext_ref

1 VDD VSS

11 NC VSS

12 VDD NC



Isn't the pulldown_ref for pin 1 VSS?



From the IBIS spec.



Example:

[Pin Mapping] pulldown_ref pullup_ref gnd_clamp_ref power_clamp_ref
ext_ref

|

1 GNDBUS1 PWRBUS1 | Signal pins and their associated

2 GNDBUS2 PWRBUS2 | ground, power and external



Tom Dagostino



971-279-5325

<mailto:tom@xxxxxxxxxxxxxxxxx> tom@xxxxxxxxxxxxxxxxx







From: <mailto:ibis-macro-bounce@xxxxxxxxxxxxx>
ibis-macro-bounce@xxxxxxxxxxxxx [ <mailto:ibis-macro-bounce@xxxxxxxxxxxxx>
mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz
Sent: Monday, January 11, 2016 11:51 PM
To: IBIS-ATM
Subject: [ibis-macro] Re: Fixing [Pin Mapping] Presentation at IBIS Summit



All,



power_aware_swizzle.ibs with "[File Name] power_aware_swizzle.ibs"
corrected.



Walter





From: Walter Katz [mailto:wkatz@xxxxxxxxxx]
Sent: Tuesday, January 12, 2016 2:40 AM
To: IBIS-ATM <ibis-macro@xxxxxxxxxxxxx <mailto:ibis-macro@xxxxxxxxxxxxx> >
Subject: Fixing [Pin Mapping] Presentation at IBIS Summit



All,



I have submitted the enclosed presentation on Fixing [Pin Mapping] for the
IBIS Summit at DesignCon.



We have been discussing issues such as can a "GND" supply be used as a
Pulldown Ref on one buffer and a Pullup Ref on another buffer. There is no
such rule in IBIS, but IBIS Check seems to have some problems here. The
intent of this presentation is not to address this issue, but the more
fundamental issue of what rules should be applied to [Pin Mapping] bus
labels not are not stated in IBIS, nor checked in the IBIS Parser.



There are two rules that are "Self-Evident" but not explicitly stated in
IBIS. The first is that [Pin Mapping] should not short two different
supply voltages, and the second is that bus labels should not short POWER
and GND.



This presentation does several things:

1. Describes the significance of IBIS declaring that a Pin
signal_name is the data book name for the signal on that pin.

2. Shows by a simple example how bus_labels in [Pin Mapping] works

3. Shows how bus_labels can be used to short different signals
together, and how bus_labels can short POWER and GND

4. Defines two rules that are "Self-Evident", that should be checked
and reported as errors in the IBIS Parser if violated.

5. Eliminate huge potential confusion by allowing signal_names to be
bus_labels by default



The two new rules are:



1. All pins with the same signal_name must have the same model_name

2. All POWER and GND pins with the same bus_label must have the same
signal_name



With these rules, every bus_label on a I/O buffer pulldown_ref,
pullup_ref, gnd_clamp_ref, power_clamp_ref or ext_ref is either a POWER or
GND. IBIS currently has not rules as to whether any of these must be a
POWER or GND. I do not think there should be any such rule, and IBIS
Check should not generate an error if a POWER bus_label is used on a
gnd_clamp_ref or pulldown_ref, or if a GND bus_label is used on a
power_clamp_ref or pullup_ref (although one could generate an
informational comment when this occurs).



As a practical matter, every IBIS file that has a [Pin Mapping] section
defines bus_lables that are signal_names. So I do not believe there are
any IBIS files in existence that will generate errors for rule 2 above. I
expect there maybe IBIS files that do not have [Pin Mapping] that have
some two pins with the same signal_name with one having model_name POWER
and the second model_name GND. We could apply rule 1 retroactively to all
IBIS Files, limit it to IBIS files that have [Pin Mapping], or limit the
rule to IBIS files that have [Pin Mapping] and IBIS Version > 6.1.



Finally, although I have suggested a new [Pin Mapping] keyword that
automatically makes signal_names bus_labels, I think that the only IBIS
file that would become broken is given by the following example:



[Pin] signal_name model_name | Data Book Information

1 DM1 DM | Rails are VDD and VSS

11 VDD POWER | DC Power Supply 1.2V 1.14-1.26V

12 VSS GND | Ground

[Pin Mapping] pulldown_ref pullup_ref gnd_clamp_ref power_clamp_ref
ext_ref

1 VDD VSS

11 NC VSS

12 VDD NC



This IBIS file (power_aware_swizzle.ibs enclosed) passes the IBIS Parser
today.



Walter







Walter Katz

<mailto:wkatz@xxxxxxxxxx> wkatz@xxxxxxxxxx

Phone 303.449-2308

Mobile 303.335-6156

PNG image

Other related posts: