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

  • From: "Muranyi, Arpad" <Arpad_Muranyi@xxxxxxxxxx>
  • To: 'IBIS-ATM' <ibis-macro@xxxxxxxxxxxxx>
  • Date: Thu, 14 Jan 2016 18:46:47 +0000

Talking about meaning... I think we shouldn't use

Vdd, Vss,
Vcc, Vee

for any of these power and ground purposes, because these
names come from the terminal names of bipolar and MOSFET
transistors. What if you have both in a device? Should it
be Vcc or Vdd?

Thanks,

Arpad
============================================================

From: Tom Dagostino [mailto:tom@xxxxxxxxxxxxxxxxx]
Sent: Thursday, January 14, 2016 12:43 PM
To: Muranyi, Arpad; 'IBIS-ATM'
Subject: RE: [ibis-macro] Re: Fixing [Pin Mapping] Presentation at IBIS Summit

I just don't like using VSS in one area to mean one thing and then using VSS in
another to mean something else.

Tom Dagostino

971-279-5325
tom@xxxxxxxxxxxxxxxxx<mailto:tom@xxxxxxxxxxxxxxxxx>

[LogoAddress]

From: ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx>
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Wednesday, January 13, 2016 4:13 PM
To: 'IBIS-ATM'
Subject: [ibis-macro] Re: Fixing [Pin Mapping] Presentation at IBIS Summit

Tom, Walter,

I will try to step in to help eliminate the confusion.

Tom,

Regarding
"My argument was the VSS signal_name in the Pin section was defined as a GND
and thus could not be used in the Pin Mapping section as a pullup_ref.",
I think you are misinterpreting the spec. The signal_name or 2nd column in the
[Pin] keyword does NOT define the meaning of the busses used in the [Pin
Mapping]
keyword. According to the spec this column contains the data book name of the
pin,
nothing more, and there is no functionality attributed to this data book name as
far as modeling or simulations go. It is just a name which can be anything.

The busses are defined in the [Pin Mapping] keyword. Their connections are
strictly
defined in the [Pin Mapping] keyword only by positioning the bus names in the
appropriate
columns. When a pin number in the [Pin Mapping] keyword belongs to a pin in
the [Pin]
keyword that has a buffer's [Model] name in the 3rd column in the [Pin]
keyword, the
[Pin Mapping] keyword will typically have four entries to associate (connect)
the
[Model]'s power terminals with bus name(s). When the pin name under [Pin
Mapping]
matches a pin name in the [Pin] keyword that has the reserved words POWER or
GND in
the 3rd column of the [Pin] keyword, the [Pin Mapping] keyword will only have
two
entries for that pin, one of which must be NC, and the other will have to have a
bus name. This is how a bus gets connected to a power or ground pin. But note
that the 2nd column in the [Pin] keyword has nothing to do with this. This is
why
Walter's examples are correct. And this is why Walter feels that this needs to
be
changed in the spec, because this is quite a bit confusing. Walter proposes to
make
the 2nd column meaningful, along the lines of how you seem to be interpreting
the spec.

I hope this will help to clarify things in your mind.

Thanks,

Arpad
=========================================================================================


From: ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx>
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Tom Dagostino
Sent: Wednesday, January 13, 2016 5:36 PM
To: wkatz@xxxxxxxxxx<mailto:wkatz@xxxxxxxxxx>; 'IBIS-ATM'
Subject: [ibis-macro] Re: Fixing [Pin Mapping] Presentation at IBIS Summit

Walter

I think we are arguing the same thing. My argument was the VSS signal_name in
the Pin section was defined as a GND and thus could not be used in the Pin
Mapping section as a pullup_ref. Likewise VDD was defined as POWER in the Pin
section and cannot be placed under pullup_ref. Thus the example you showed
made no sense at all. When we use Pin Mapping the pullup_ref, pulldown_ref
names are the signal_names in the Pin section.

In your present example abc was never used in the Pin section and thus we never
defined as a POWER or GND. I see that the examples in the IBIS specs 4.2 and
later start using pullup_ref, pulldown_ref, etc. names that were not defined
in the Pin section. I think that is not a good practice. The IC is defined by
the Pin section and thus the Pin Mapping should use those definitions and
names. Why call a gopher small_4_leg_rodent when we know it as a gopher?

Regards,

Tom Dagostino

971-279-5325
tom@xxxxxxxxxxxxxxxxx<mailto:tom@xxxxxxxxxxxxxxxxx>

[LogoAddress]

From: ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx>
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz
Sent: Wednesday, January 13, 2016 6:28 AM
To: Tom Dagostino; IBIS-ATM
Subject: [ibis-macro] Re: Fixing [Pin Mapping] Presentation at IBIS Summit

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<mailto:wkatz@xxxxxxxxxx>; 'IBIS-ATM'
<ibis-macro@xxxxxxxxxxxxx<mailto: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
tom@xxxxxxxxxxxxxxxxx<mailto:tom@xxxxxxxxxxxxxxxxx>

[LogoAddress]

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
tom@xxxxxxxxxxxxxxxxx<mailto:tom@xxxxxxxxxxxxxxxxx>

[LogoAddress]

From: 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
wkatz@xxxxxxxxxx<mailto:wkatz@xxxxxxxxxx>
Phone 303.449-2308
Mobile 303.335-6156

PNG image

Other related posts: