Text item: Text_1
Following are pending BIRDs 7.2 and 8.0, and dead BIRD 1.0.
- Derrick Duehren
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++ pbird7_2.txt +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*****************************************************************************
*****************************************************************************
Buffer Issue Resolution Document (BIRD)
BIRD ID#: 7.2
ISSUE TITLE: Open Specification Completion
REQUESTOR: Bob Ross, Interconnectix, Inc.
DATE SUBMITTED: January 13, 1994
DATE REVISED: January 31, 1994, February 1, 1994
DATE ACCEPTED BY IBIS OPEN FORUM: {pending}
*****************************************************************************
*****************************************************************************
STATEMENT OF THE ISSUE:
Model_type "Open_drain" provides insufficient coverage for "open" sided
models. For completeness, additional "open" Model_types are need. Also,
necessary ECL related Model_types are added for clarity and to avoid
several tests required before processing the [Model]. Methods to produce
[Ramp] data need to be expanded for "open" devices.
******************************************************************************
STATEMENT OF THE RESOLVED SPECIFICATIONS:
Under the keyword [Model], additional Model_type selections are added:
I/O_open_drain, Open_sink, I/O_open_sink, Open_source, I/O_open_source,
Output_ECL, I/O_ECL, Input_ECL. The [Model] keyword specification in Version
1.1 is edited to show these Model_types. Changed text is separated by blank
lines. NOTES ON DATA DERIVATION METHODS is revised to clarify the [Ramp]
measurements for open models.
The [Model] keyword is revised to the following:
|==============================================================================
| Keyword: [Model]
| Required: Yes
| Description: Used to define a model, and its attributes
| Sub-Params: Model_type, Polarity, Enable, Vinl, Vinh, C_comp
| Usage Rules: Each Input, Output, I/O, 3-state, Open_drain, I/O_open_drain,
| Open_sink, I/O_open_sink, Open_source, I/O_open_source,
| Input_ECL, Output_ECL, and I/O_ECL model must
| begin with the keyword [Model]. The model_name must match
| the one that is listed under the [Pin] keyword and must not
| contain more than 20 characters. An .ibs file must contain
| enough [Model] keywords to cover all of the model_names
| specified under the [Pin] keyword, except for those
| model_names which use reserved words (POWER, GND and NC).
| Model_names with reserved words are an exception and
| they do not have to have a corresponding [Model] keyword.
| C_comp is allowed to use "NA" for the min and max values only.
| Other Notes: A complete [Model] description normally contains the following
| keywords: [Voltage range], [Pullup], [Pulldown], [GND_clamp],
| [POWER_clamp], and [Ramp]. However, some models may have only
| a subset these keywords. For example, an input structure
| normally only needs the [Voltage range], [GND_clamp], and
| possibly the [POWER_clamp] keywords.
| Model_types with "open_sink" specify that the output has
| an OPEN side (the [Pullup] keyword is not used or I = 0mA
| for all voltages specified) AND the output SINKS current.
| Model_types with "open_drain" have the identical meaning and
| are retained for backward compatibility. Model_types with
| "open_source" specify that the output has an OPEN side (the
| [Pulldown keyword is not used or I = 0mA for all voltages
| specified) AND the output SOURCES current. Model_types with
| "_ECL" specify that the model represents and ECL type logic
| which follows different conventions for the [Pulldown] keyword.
| Note that C_comp defines the silicon die capacitance. This
| value should not include the capacitance of the package.
|
|------------------------------------------------------------------------------
[Model] model_name
Model_type Input, Output, I/O, 3-state, Open_drain, I/O_open_drain,
Open_sink, I/O_open_sink, Open_source, I/O_open_source,
Input_ECL, Output_ECL, I/O_ECL | List one only
Polarity Non-Inverting, Inverting | List one only, -if any
Enable Active-High, Active-Low | List one only, -if any
| Signals RAS, CAS, A(0-64), D(0-128),... | Local list, -if desired
Vinl = 0.8V | input logic "low" DC voltage, -if any
Vinh = 2.0V | input logic "high" DC voltage, -if any
| variable typ min max
C_comp 12.0pF 10.0pF 15.0pF
|==============================================================================
Section 3) on NOTES ON DATA DERIVATION METHOD is revised as follows:
3) Ramp Rates:
The ramp rates (listed in AC characteristics below) should be derived
as follows:
1. Start with the silicon model, remove all packaging.
2. If: The Model_type is one of the following: Output, I/O, or
3-state (not open or ECL types);
Then: Attach a 50 ohm resistor to GND to derive the rising edge
ramp. Attach a 50 ohm resistor to POWER to derive the
falling edge ramp.
If: the Model_type is Output_ECL or I/O_ECL;
Then: Attach a 50 ohm resistor to the termination voltage
(Vterm = VCC - 2v). Use this load to derive both the
rising and falling edges.
If: The Model_type is either an open_sink type or open_drain type;
Then: Attach either a 50 ohm resistor or the vendor suggested
termination resistance to either POWER or the vendor suggested
termination voltage. Use this load to derive both the rising
and falling edges.
If: The Model_type is an open_source type;
Then: Attach either a 50 ohm resistor or the vendor suggested
termination resistance to either GND or the vendor suggested
termination voltage. Use this load to derive both the rising
and falling edges.
3. and 7.: **** Delete Items 3. and 7. ****
4. - 6.: **** Renumber these Items as 3. - 5. ****
*******************************************************************************
ANALYSIS PATH/DATA THAT LED TO SPECIFICATION:
Open-drain is corrected to Open_drain as a Model_type selection and is kept
for backward compatibility. I/O_open_drain is added. The new types with
"open_sink" and "open_source" are added to generically describe an output
with either an open [Pullup] or [Pulldown] and an output that sinks or
sources current. Without requiring an explicit test, these new Model_types
signal that the [Pullup] or [Pulldown] tables are not defined or are not to
be used if defined. Model_types for ECL are defined to fill the functionality
table below.
Conditions: | Model_type:
|
pullup&down: | Output 3-state I/O
no pullup: | Open_sink I/O_open_sink
| Open_drain I/O_open_drain
no pulldown: | Open_source I/O_Open_source
no pullup/dn:| Input
ECL up&down: | Output_ECL I/O_ECL
ECL no up/dn:| Input_ECL
Note, "ECL" is intended to be generic. It can be used to model "PECL" logic
spanning from Vcc = 5V to GND. Input_ECL is redundant, but may signal the
simulator to use different default Vinl and Vinh values if these OPTIONAL
(a BIRD2.1 issue) input parameters are not specified.
For the "open" Model_types there exists several other naming methods based
on comments received and some combinations I though of. BIRD7.2 is written
in terms of (0).
(0) Retain "Open_drain" and add "I/O_open_drain" for Version 1.1 consistency.
Add "open_sink" and "open_source" Model_types. (5 new terms, 2 redundant
terms).
no pullup: | Open_sink I/O_open_sink
| Open_drain I/O_open_drain
no pulldown: | Open_source I/O_open_source
(1) Use "up" and "down". Retain Open_drain for Version 1.1 compatibility
as a redundant Model_type. (Bird7.1 - 4 new terms, 1 redundant term).
no pullup: | Open_up I/O_Open_up
| Open_drain
no pulldown: | Open_down I/O_Open_down
(2) Retain "Open_drain", but use "up" & "down" for generic names elsewhere.
(3 new terms).
no pullup: | Open_drain I/O_Open_up
no pulldown: | Open_down I/O_Open_down
(3) Use "drain", "collector", "emitter". "emitter is generic for CMOS logic &
TTL no pulldown devices. (5 new terms).
no pullup: | Open_drain I/O_Open_drain
| Open_collector I/O_Open_collector
no pulldown: | Open_emitter I/O_Open_emitter
(4) Use "drain" generically for "up", and "source" generically for "down"
for TTL and CMOS logic. (Bird7.0 - 3 new terms)
no pullup: | Open_drain I/O_Open_drain
no pulldown: | Open_source I/O_Open_source
(5) Use "Open_drain" generically to mean "Open". Test for no pullup or
no pulldown in [Model]. (1 new term)
no pullup: | Open_drain I/O_Open_drain
no pulldown: | Open_drain I/O_Open_drain
(6) Retain "Open_drain, but use "Open" generically to mean "Open". Test for
no pullup or no pulldown in [Model]. (2 new terms)
no pullup: | Open_drain I/O_Open
no pulldown: | Open I/O_Open
(7) Use "Open" generically to mean "Open". Retain "Open_drain" for Version
1.1 compatibility. Test for no pullup or no pulldown in [Model]. (2 new
terms, 1 redundant term).
no pullup: | Open I/O_Open
| Open_drain
no pulldown: | Open I/O_Open
Currently, the user may choose to model the "Open" side directly through
control of the [Pullup] and [Pulldown] keyword. Omission of [Pullup] could
be interpreted as an "open_sink" device. Omission of [Pulldown] could be
interpreted as an "open_source" device. However, this method was never
specified in IBIS Version 1.1 as the correct method and therefore was not
the only method to specify "Open" devices.
The user may choose to model the "Open" side directly through control of the
[Pullup] and [Pulldown] data. If all of the data contains I(typ) = 0mA
entries (a minimum of two entries are required), then that [Model] could be
interpreted as "open". Zero valued [Pullup] data corresponds to "open_sink"
or "open_drain" types. Zero valued [Pulldown] data corresponds to
"open_source" types.
Without the additional Model_types, the above two approaches plus the existance
of "Open_drain" provide a confusing and inconsistent specification and
require the simulator to perform a variety of tests before being able to
process the data.
The "ECL" model types are added to avoid similar confusion.
One final consideration is that whoever generates the [Model], whether through
simulation or measurement, must know beforehand the Model_type in order to
generate the [Ramp] data according to the rules. Therefore it is reasonable
to require that this information be included as part of a Version 2.0
specification. This avoids the inefficiency of forcing the simulator to
perform many tests before processing the IBIS data. The simulator can then
translate the data into its internal format and apply its own simulator-
specific compaction schemes (the simulator does not have to provide all
of the Model_types). With BIRD7.2, the IBIS Statement of Intent within
the first paragraph is preserved: "the intention of this template is to
specify a consistent format that can be parsed by software, allowing each
simulation vendor to derive models compatible with their own product."
******************************************************************************
ANY OTHER BACKGROUND INFORMATION:
Jon Powell initiated the issue in Email of October 1993 questioning whether
we needed "I/O_OPEN_DRAIN" and I/O_OPEN_COLLECTOR". He referred to the
SN74ALS641 Open Collector Tranceiver as a specific example.
Kellee Crisafulli in Email of July 1993 considered "open output devices
(open-drain, open-collector, open-source)". Furthermore, he referred to "open
collector npn" and "open collector pnp" devices. In the discussion, he proposed
new Optional (Required for open-side devices) keywords dV/dt_r_off (turn off
time of high side driver) and dv/dt_f_off (turn off time of low side driver).
Included it the discussion was the requirement that "If the pulldown table is
missing then dV/dt_r_off is required" and "If the pullup table is missing then
dV/dt_f_off is required". Kellee elaborated further on the
measurement/extraction issues of the ramp values. BIRD7.1 now addresses
the ramp specification.
The modifications on Notes on Derivations Method by Kellee Crisafulli and
Stephen Peters are added with changes for notation consistency.
The usage of "Open_up" and "Open_down" is an adaptation of one of Arpad
Muranyi's comments on BIRD7 suggesting "open pullup" and "open pulldown".
Kellee Crisafulli's last suggestion on notation has been adopted in BIRD7.2.
******************************************************************************
Received on Wed Feb 2 23:59:18 1994
This archive was generated by hypermail 2.1.8 : Fri Jun 03 2011 - 09:52:28 PDT