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

  • From: "Tom Dagostino" <tom@xxxxxxxxxxxxxxxxx>
  • To: <mlabonte@xxxxxxxxxx>, <wkatz@xxxxxxxxxx>, "'IBIS-ATM'" <ibis-macro@xxxxxxxxxxxxx>
  • Date: Wed, 13 Jan 2016 16:44:32 -0800

Mike



I know, I gave Bob a few more of interest. If it is an ECL to CMOS
translator then I would have used power for both -5.2 and +5 and the 0V pin
would have been GND. i.e. Vee = -5V, Vcc = GND = Vss and Vdd = +5V. That
would have made more sense. The Vinl/Vinh voltages for ECL are negative
voltages in the datasheet, not referenced to -5V but referenced to Vcc. The
Vcc pins on an ECL part are the voltage reference pins tied to GND usually,
whatever that is. The example may be legit but not necessarily the best way
of describing that part. Other parts that I have seen with +/-5V supplies
plus GND are RS232 drivers/receivers where the outputs swing between the
+/-5V rails so the pulldown reference for the RS232 driver would be -5V and
the pullup driver's reference is +5V. I've also seen ECL used per Motorola
recommendations with a Vee = -3.2V and Vcc = +2.0V supplies. The
termination resistors for the output are then GND referenced and the input
and output voltages are positive. Makes connection to scopes, etc. a lot
easier. So in the +/-5V supply example how were the Vinl and Vinh
specified? As negative or positive numbers for the half that uses -5V?



Hmmm, the key words POWER and GND have always had meaning in electronics.
GND has always been a way of calling something at a 0V potential and usually
0VDC was that stake driven into the earth ground outside you building where
the power comes in. POWER had always had the connotation of any voltage (AC
or DC) other than GND with a low impedance output. Yes you can call them
SUPPLY and RAIL but.



Tom Dagostino



971-279-5325

<mailto:tom@xxxxxxxxxxxxxxxxx> tom@xxxxxxxxxxxxxxxxx



LogoAddress



From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Mike LaBonte
Sent: Wednesday, January 13, 2016 3:46 PM
To: tom@xxxxxxxxxxxxxxxxx; wkatz@xxxxxxxxxx; 'IBIS-ATM'
Subject: [ibis-macro] Re: Fixing [Pin Mapping] Presentation at IBIS Summit



Hi Tom,



Bob Ross came up with an example IBIS file with -5V, 0V, and 5V supply pins,
a buffer that uses the -5V and 0V pins for supply, and another buffer using
0V and 5V supply pins. It passes all IBIS rules but the buffer on the
negative side was using VSS as its power supply and the other used VSS as
ground. It does look odd but it's legit.



While investigating this we also noticed that while [Pin] has reserved model
names POWER and GND, nothing in IBIS establishes any difference between the
two. They are supply pins and they could simply have been called SUPPLY or
RAIL.



Mike



From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Tom Dagostino
Sent: Wednesday, January 13, 2016 6:36 PM
To: 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

<mailto:tom@xxxxxxxxxxxxxxxxx> tom@xxxxxxxxxxxxxxxxx



LogoAddress



From: 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; '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



LogoAddress



From: 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; 'IBIS-ATM' <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



LogoAddress



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>
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: