John Fitzpatrick and IBIS Committee:
BIRD41.5 is issued after doing some more experimental work with MOSFET
and bus switch simulations. I found that an idea embedded in BIRDs 41.1
through 41.4 involving two or more tables and quadratic fitting did
no yield any improvement, and more often was a source of other problems.
With more accurate table data, the linear fits provide very good
correlation with the Spice models.
So the major change is to simplify the proposal. Also the measurement
setup for getting sweep information is modified.
Best Regards,
Bob Ross
Interconnectix
******************************************************************************
******************************************************************************
BIRD ID#: 41.5
ISSUE TITLE: Modelling Series Switchable Devices
REQUESTER: John Fitzpatrick, Alcatel, Bob Ross, Interconnectix
DATE SUBMITTED: 2/12/97, 2/17/9797, 5/14/97, 5/15/97, 5/16/97, 5/22/97
DATE ACCEPTED BY IBIS OPEN FORUM: Pending
******************************************************************************
******************************************************************************
STATEMENT OF THE ISSUE:
IBIS cannot model series devices.
IBIS cannot model switches.
******************************************************************************
STATEMENT OF THE RESOLVED SPECIFICATIONS:
Two new keywords are defined under [Component]:
[Series Switch Groups]
[Series Pin Mapping]
Two new keywords are defined under [Model] by IV characteristics:
[Series Current]
[Series MOSFET]
RLC series paths can be defined under [Model] with:
[R_series],
[L_series], [R_l_series],
[C_series], [R_c_series], [L_c_series]
Two additional Model_type values are allowed under the [Model] keyword:
Series,
Series_Switch
Other changes are made in other sections that relate to these additions.
Add the following text somewhere after the [Component] keyword:
|==============================================================================
| Keyword: [Series Switch Groups]
| Required: No
| Description: Used to define allowable switching combinations of series
| switches described in the [Series Switch Groups].
| Sub-Params: On, Off
| Usage Rules: Each state line contains an allowable configuration. A typical
| state line will start with 'On' followed by all of the on-state
| group names or an 'Off' followed by all of the off-state
| group names. Only one of 'On' or 'Off' is required since the
| undefined states are presumed to be opposite of the explicitly
| defined states. The state line is terminated with the slash
| '/', even if it extends over several lines to fit within the 80
| character column width restriction.
|
| The group names in the Function Table Group are used to
| associate switches whose switching action is synchronized by
| a common control function. The first line defines the assumed
| (default) state of the set of series switches. Other sets of
| states are listed and can be selected through a user interface
| or through automatic control.
|
|------------------------------------------------------------------------------
[Series Switch Groups]
| Function Group States
On 1 2 3 4 / | Default setting is all switched On.
|
Off 1 2 3 4 / | All Off setting.
On 1 / | Other possible combinations below.
On 2 /
On 3 /
On 4 /
On 1 2 /
On 1 3 /
On 1 4 /
On 2 3 /
On 2 4 /
On 3 4 /
On 1 2 3
On 1 2 4
On 1 3 4
On 2 3 4
| Off 4 / | The last four lines above could have been replaced
| Off 3 / | with these four lines with the same meaning.
| Off 2 /
| Off 1 /
|
|==============================================================================
| Keyword: [Series Pin Mapping]
| Required: No
| Description: Used to associate two pins joined by a series device.
| Usage Rules: Entries follow these rules: Only series pin pairs
| are entered. The Pin 1 column contains the pin number for
| which input impedances are measured. The Pin 2 column contains
| the pin name of the other end of the series device. The
| Model_name column names of the model corresponding to the
| Series or Series_switch device.
|
| The Function Table Group column contains an alphanumeric
| designator string to associate those sets of Series_switch
| pins which are switched together. One possible application
| is to model crossbar switches where the straight through
| On switches are indicated by one designator and the cross over
| paths are indicated by another designator. If the model
| referenced is a Series model, then the Function Table
| Group entry is required, but ignored.
|
| Column length limits are:
| Pin 1 5 characters max
| Pin 2 5 characters max
| Model_name 20 characters max
| Function Table Group 20 characters max
|
| Other Notes: If the Model_name is for a non-symmetrical series device,
| then the order of the pins is important. Pin 1 and Pin 2
| must be consistent with the referenced model.
|
| This mapping covers only the series paths between pins. The
| package parasitics and any additonal elements such as additonal
| capacitance or clamping circuitry are defined by the Model_name
| that is referenced in the [Pin] keyword. Series_switch and
| Series pins listed under Pin 1 and Pin 2 must be also be
| listed under the [Pin] keyword and the Model_names under the
| [Pin] keyword must be for either Terminator Model_types or
| 'NC'. Thus a Series_switch model may contain Terminator models
| on EACH of the pins to describe both the capacitance on each
| pin and some clamping circuitry that may exist on pin.
|
|------------------------------------------------------------------------------
[Series Pin Mapping]
| Pin 1 Pin 2 Model_name Function Table Group
|
2 3 CBTSeries 1 | Four Independent Groups
5 6 CBTSeries 2
9 8 CBTSeries 3
12 11 CBTSeries 4
|
22 23 CBTSeries 5 | Straight Through Path
25 26 CBTSeries 5
22 26 CBTSeries 6 | Cross Over Path
25 23 CBTSeries 6
Under the [Model] keyword, change existing text from:
| Model_type must be one of the following:
| 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, and Terminator.
|
to:
| Model_type must be one of the following:
| 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, Terminator, Series, and
| Series_switch.
|
Add text to the special usage rules:
|
| Series This model type is for series devices
| which can be described by [R_series],
| [L_series], [R_l_series], [C_series],
| [L_c_series], [R_c_series], [Series
| Current] or [Series MOSFET] keywords
|
| Series_switch This model type is for series switch
| devices which can described by [On],
| [Off], [R_series], [L_series],
| [R_l_series], [C_series], [L_c_series],
| [R_c_series], [Series Current] and
| [Series MOSFET] keywords
Add the following text after the [Rgnd] keyword:
|==============================================================================
| Keyword: [On], [Off]
| Required: Yes, both [On] and [Off] for Series_switch Model_types only
| Description: The 'On' state electrical models are positioned under [On].
| The 'Off'state electrical models are positioned under [Off].
| Usage Rules: These keywords are only valid for Series_switch Model_types.
| Only keywords associated with Series_switch electrical models
| are permitted under [On] or [Off]. The Series electrical
| models describe the path for one state only and do not use
| use the [On] and [Off] keywords.
|
| In Series_switch models, [On] or [Off] must be positioned
| before any of the [R_series], [L_series], [R_l_series],
| [C_series], [L_c_series], [R_c_series], [Series Current],
| and [Series MOSFET} keywords. There is no provision for
| any of these keywords to be defined once, but to apply to
| both states.
|------------------------------------------------------------------------------
[On]
| ... On state keywords such as [R_series], [Series Current],
| ... [Series MOSFET]
[Off]
| ... Off state keywords such as [R_series], [Series Current]
|==============================================================================
| Keywords: [R_series], [L_series], [R_l_series], [C_series]. [L_c_series],
| [R_c_series]
| Required: Yes, if they exist in the device
| Description: The data for these keywords allow the definition of Series or
| Series_switch R, L or C paths.
| Usage Rules: For each of these keywords, the three columns hold the
| typical, minimum, and maximum resistance values. The
| three entries must be placed on a single line
| and must be separated by at least one white space or tab
| character. All three columns are required under these
| keywords. However, data is only required in the typical
| column. If minimum and/or maximum values are not
| available, the reserved word "NA" must be used.
| Other Notes: This series RLC model is defined to allow IBIS to model
| simple passive devices and/or parasitics.
|
| These keywords are valid only for Series or Series_switch
| Model_types.
|
| The model is:
|
| R_series
| +---/\/\/\/\--------------------+
| | |
| Pin 1 | L_series R_l_series | Pin 2
| <---+---@@@@@@@@-/\/\/\/\-----------+--->
| | |
| | | | |
| +---| |--@@@@@@@@@---/\/\/\/\---+
| | | L_c_series R_c_series
| C_series
|
| [R_l_series] shall be defined only if [L_series] exists.
| [R_l_series] is 0 ohms if it is not defined in the path.
|
| [R_c_series] and [L_c_series] shall be defined only if
| [C_series] exists. [R_c_series] is 0 ohms if it is not
| defined in the path. [L_c_series is 0 henries if it is
| not defined in the path.
|
| C_comp values are ignored for these keywords.
|------------------------------------------------------------------------------
| variable R(typ) R(min) R(max)
[R_series] 8ohm 6ohm 12ohm
|
| variable L(typ) L(min) L(max)
[L_series] 5nH NA NA
| variable R(typ) R(min) R(max)
[R_l_series] 4ohm NA NA
|
| variable C(typ) C(min) C(max) | The other elements
[C_series] 50pF NA NA | are 0 impedance
|
|==============================================================================
| Keyword: [Series Current]
| Required: Yes, if they exist in the device
| Description: The data points under this keyword define the V/I curves for
| voltages measured at Pin 1 with respect to Pin 2. Currents
| are considered positive if they flow into Pin 1. Pins 1 and
| 2 are listed under the [Series Pin Mapping] keyword.
|
| Usage Rules: The first column contains the voltage value, and the
| three remaining columns hold the typical, minimum, and
| maximum current values. The four entries, Voltage,
| I(typ), I(min), and I(max) must be placed on
| a single line and must be separated by at least one white
| space or tab character.
|
| All four columns are required under these keywords.
| However, data is only required in the typical column.
| If minimum and/or maximum current values
| are not available, the reserved word "NA" must be used.
| "NA" can be used for currents in the typical column,
| but numeric values MUST be specified for the
| first and last voltage points on any V/I curve.
| Each V/I curve must have at least 2, but not more
| than 100, voltage points.
|
| Other Notes: There is no monotonicity requirement. However
| the model supplier should realise that it may
| not be possible to derive a behavioral model
| from non-monotonic data.
|
| These keywords are valid only for Series or Series_switch
| Model_types.
|
| The model is:
|
| Table Current
| ------>
| + Table Voltage -
| Pin 1 |---------| Pin 2
| <---+ +--->
| |---------|
|
| C_comp values are ignored for [Series Current] models.
|------------------------------------------------------------------------------
[Series Current]
|
| Voltage I(typ) I(min) I(max)
|
-5.0V -3900.0m -3800.0m -4000.0m
-0.7V -80.0m -75.0m -85.0m
-0.6V -22.0m -20.0m -25.0m
-0.5V -2.4m -2.0m -2.9m
-0.4V 0.0m 0.0m 0.0m
5.0V 0.0m 0.0m 0.0m
|==============================================================================
| Keyword: [Series MOSFET]
| Required: Yes, for series MOSFET switches
| Description: The data points under this keyword define the V/I curves for
| voltages measured at Pin 2 for a given Vds setting. Currents
| are considered positive if they flow into Pin 1. Pins 1 and
| 2 are listed under the [Series Pin Mapping] keyword.
| Sub-Params: Vds
| Usage Rules: The first column contains the voltage value, and the
| three remaining columns hold the typical, minimum, and
| maximum current values. The four entries, Voltage,
| I(typ), I(min), and I(max) must be placed on
| a single line and must be separated by at least one white
| space or tab character.
|
| All four columns are required under these keywords.
| However, data is only required in the typical column.
| If minimum and/or maximum current values
| are not available, the reserved word "NA" must be used.
| "NA" can be used for currents in the typical column,
| but numeric values MUST be specified for the
| first and last voltage points on any V/I curve.
| Each V/I curve must have at least 2, but not more
| than 100, voltage points.
|
| Other Notes: There is no monotonicity requirement. However
| the model supplier should realise that it may
| not be possible to derive a behavioral model
| from non-monotonic data.
|
| The model is:
|
| Table Current
| ------->
| + Vds -
| Pin 1 Pin 2
| <---| |---> +
| d |_____| - s
| --+-- Vgs Vs
| | g +
| -
|
| Vg = [Voltage Range] = Vcc
| Vgs = Table Voltage = Vtable = Vcc - Vs
| Ids = Table Current for a given Vcc and Vds
|
| Internal logic that is generally referenced to the power rail
| is used to set the MOSFET switch to its 'On' state. Thus the
| [Voltage Range] settings itself provide the assumed gate
| voltages. If the [POWER Clamp Reference] exists, it overrides
| the [Voltage Range] value. The table entries are actually
| the Vgs values referenced to the power rail. The polarity
| conventions are identical with those used for other tables that
| are referenced to power rails. Thus the voltage column can
| be view as a table defining the source voltages Vs according
| to the convention: Vtable = Vcc - Vs.
|
| If the switch is used in an application such as interfacing
| between 3.3 V and 5.0 V logic, the Vcc may be biased at a
| voltage (such as 4.3 V) that is different from a power rail
| voltage (such as 5.0 V) that is used to create the model. Just
| readjust the [Voltage Range] entries (or [POWER Clamp
| Reference] entries).
|
| The model data is used to approximate the On state relationship
| between Ids, Vds for a given Vgs: Ids = f(Vds) for a given Vgs.
| This relationship is used as a series element to solve for the
| voltages on each side of the switch during analysis.
|
| One fundamental assumption in the MOSFET switch model is that
| it operates in a symmetrical manner. The tables and
| expressions are given assuming that Vd => Vs. If Vd < Vs,
| then apply the same relationships under the assumption that
| the source and drain nodes are interchanged. A consequence of
| assumption is that the Vds subparameter is constrained to
| values Vds > 0. It is assumed that with Vds = 0 the currents
| will be 0 mA. A further consequence of this assumption that
| would be embedded in the analysis process is that the voltage
| table is based on the side of the device with the lowest
| voltage (and that side is defined as the source). Thus the
| analysis must allow current to flow both in directions, as
| would occur due to refections when the switch is connected
| in series with an unterminated transmission line.
|
| If only one [Series MOSFET] table is supplied (as a first
| order approximation), the functional relationship is assumed
| to be Ids = (Itable) * Vds / Vgs. In practice, this serves
| as a reasonably accurate approximation..
|
| If more than one [Series MOSFET] tables are supplied, it is
| simulator dependent who the data will be used.
|
| C_comp values are ignored for [Series MOSFET] models.
|------------------------------------------------------------------------------
[On]
[Series MOSFET]
Vds = 1.0
| Voltage I(typ) I(min) I(max)
|
5.0V 257.9m 153.3m 399.5m | Defines the Ids current as a
4.0V 203.0m 119.4m 317.3m | function of Vgs, for Vds = 1.0
3.0V 129.8m 74.7m 205.6m
2.0V 31.2m 16.6m 51.0m
1.0V 52.7p 46.7p 56.7p
0.0V 0.0p 0.0p 0.0p
|
|==============================================================================
In the [Model Selector] keyword associated with approved BIRD30.2, change
the first paragraph of 'Usage Rules:' as follows so that each occurance of
"[Pin] keyword" is changed to "[Pin] or [Series Pin Mapping] keywords":
| Usage Rules: A programmable buffer must have an individual [Model] section
| for each one of its modes used in the .ibs file. The names of
| these [Models] must be unique and can be listed under the
| [Model selector] keyword and/or pin list. The name of the
| [Model selector] keyword must match the corresponding model
| name listed under the [Pin] or [Series Pin Mapping] keywords
| and must not contain more
| than 20 characters. A .ibs file must contain enough [Model
| selector] keywords to cover all of the model selector names
| specified under the [Pin] or [Series Pin Mapping] keywords.
|
In the NOTES ON DATA DERIVATION METHOD add to the table in section 2) two
lines so that the first part of section 2) reads:
| 2) Voltage Ranges:
| Points for each curve must span the voltages listed below:
|
| Curve Low Voltage High Voltage
| ----------- ----------- ------------
| [Pulldown] GND - POWER POWER + POWER
| [Pullup] GND - POWER POWER + POWER
| [GND Clamp] GND - POWER GND + POWER
| [POWER Clamp] POWER POWER + POWER
| [Series Current] GND - POWER GND + POWER
| [Series MOSFET] GND GND + POWER
|
In the NOTES ON DATA DERIVATION METHOD section 5) is added:
| 5) Series MOSFET Table Extractions:
| An extraction circuit is set up according to the figure below. The
| switch is configured into the 'On' state. This assumes that the Vcc
| voltage will be applied to the gate by internal logic. Designate one
| pin of the switch as the source node, and the other pin as the drain
| node. The Table Currents designated as Ids are derived directly as a
| function of the Vs voltage at the source node as Vs is varied from 0
| to Vcc. This voltage is entered as a Vgs value as a consequence of
| the relationship Vtable = Vgs = Vcc - Vs. Vds is held constant by
| having a fixed voltage Vds between the drain and source nodes. Note,
| Vds > 0 V. The current flowing into the drain is tabulated in the table
| for the corresponding Vs points.
|
|
| +----------------------------------------+
| | |
| | Ids = Table Current |
| | ---> |
| +---<---| |--->----------+ |
| d |_____| - s | + |
| --+-- Vgs +---+---+ +----+----+
| | g + | Sweep | | Vs + |
| | Vs | |Fixed Vds|
| +---+---+ +----+----+
| | - |
| GND GND
|
| Example of Series MOSFET Table Extraction
|
******************************************************************************
ANALYSIS PATH/DATA THAT LED TO SPECIFICATION:
BIRDS 41 and 41.1:
Bus-switches (ex: 74LVX3L383 from NS or 74CBT3383 from TI) are
increasingly being used on high-speed boards. They cannot be
modelled by IBIS 2.1.
This BIRD allows the definition of a series device which is
connected between any two pins. If this device is a non-linear
resistor (e.g. a diode), then it can be described by an I/V
table.
One approach suggested was to force one of the pins to Vcc or
ground, and then reuse the [Pullup] and [Pulldown] tables.
This approach will not correctly model bus-switches.
So instead, a new keword [Series_Impedance] is defined. This
has a R_load keyword. For bus-switches, R_load should be set
to a value >> 5ohms in order to allow the Ron vs. bias voltage
(as given in application notes) curves be obtained.
The author would like to suggest an extra keyword [Impedance] to
"replace", or provide an alternative, to the pullup, pulldown,
etc. This keyword would have a mode subparameter, with
values Pullup, Pulldown and Hi-state. This would allow 3 sets of
measurements be included in the IBIS file, without any fiddly
subtaracting of curves, or confusing Vcc relativity.
As suggested by Chris Reid, a state entry is added to allow
crossbar switches be modelled. It is expected that the simulator
detect these states, then ask the user to choose one of them.
Is this information really in the right place??
Often a bus-switch is used to provide 3.3V to 5V translation.
If this is to be modelled in IBIS, then a second model must
be generated for Vcc=4.3V. Use the [Model selector] keyword
to allow the correct buffer be chosen.
Additional series RLC paths are defined in this BIRD.
An alternative solution would be to allow an arbitrary path be
defined, similar to Bird 36.1 prior to the amputation of connector
support.
BIRD41.2:
The RLC proposal is retained.
The [Series Impedance] proposal is split into [Series Current] and [Series
MOSFET]. The [Series Current] represents a simple V/I relationship ACROSS
the series element and would be suitable for a series diode model. This
model is sensitive to the actual pin assignment polarity. The
[Series MOSFET] model representative of series switches needs some tables
which are specific to this device in order to provide consistency within
the IBIS architecture. The tables need to be made relative to the positive
voltage rail. One or more tables need to be provided under precisely defined
conditions. The [Series MOSFET] model is assumed to be symmetrical and
not dependent on the which side "Pin 1" and "Pin 2" are designated. These
individual considerations justify providing two separate keywords.
[On] and [Off] keywords are added under [Model] and are used when the
Model_type is Series_switch. This ensures that the model function is
clearly indicated by the Model_type subparameter, and the electrical
characteristics of the 'On' and 'Off' states are clearly indicated within
the model. It might be argued that the Series_switch Model_type is already
redundant, but it may be necessary so that the Series_switch information
is properly stored.
Under [Component], a [Series Pin Mapping] is defined to map the series
pins with the Model_name and also with a Function Table Group designation.
For just series elements, this designator is not used and can be any
any alphanumeric word. The Series element is assumed to be 'On'. However,
for actual series switch components, a common control often is used
for groups of switches that have their switching action sychronized.
The Function Table Group designator is used to associate those switches
that have sychronized switching action. The [Series Switch Groups] keyword
is added to give the allowable combinations of sychronized switching
states for the set of groups defined.
A number of other details that have been considered are embedded in this
expanded proposal. Most of the considerations relate to consistency and
compatibility with the existing IBIS syntax and implicit conventions.
Any shunt element can be provided by separate [Model]s. This will include
the package parasitics on EACH of the pins. The existing [Pin] keyword
is used for this purpose. If clamping diodes exist, they would be
entered as "Terminator" models and can be assigned to the appropriate
pin directly. This may be a complication, but allows consistency with
the existing IBIS syntax.
C_comp is not defined for series elements. It could be used as a residual
capacitance ACROSS the series element.
BIRD41.3:
BIRD41.3 is issued in response to some comments and suggestions made on May
14, 1997 by John Fitzpatrick regarding BIRD41.2. Some other minor changes
are made.
C_comp is values is ignored in Series and Series Switch models because it
is defined as a capacitance to ground. Use [C_series] for any capacitance
needed ACROSS the pins.
While the range of the [Series MOSFET] tables are defined from a minimum
of GND to GND + POWER, the actual range of the derived model extends well
beyond GND + POWER based on the equations provided for Vds. There may be
undershoot conditions driving both sides of a MOSFET switch to values
below ground. However the switch will be in its lowest impedance state,
and any analysis based either on truncated data at 0 V or extrapolated
data below 0 V will be sufficiently accurate. Extending the ranges
beyond what is defined may result in significant extraction problems from
measurement if there exists clamping diodes in the physical switch.
It is clarified further that all of the models associated with the [Pin]
keyword are still used to define shunt elements such as Schotkey diodes
and capacitances on EACH pin of series device. While this splits up
the electrical models, they would all be called under the [Component]
description. The reason for this approach is that it just uses the
already existing IBIS structure.
[Series Switch Groups] keyword is now used to better describe the
allowable Function Table states.
Some additonal clarification is provided regarding defaulting some of
the undefined series discrete devices to a short circuit.
A restriction regarding Series_switch models is stated that there will
be no common electrical model spanning both the [On] and [Off] states.
The list of models which must be positioned below the [On] or [Off]
keywords is stated. This will avoid some additional rules and
confusing interpretations if a particular keyword were positioned both
above and below the [On] or [Off] keyword.
BIRD41.4:
John Fitzpatrick suggested in a private note that models that can be
attached to Series or Series_switch models under the [Pin] table be
Terminator models. Text is put in Other Notes under [Series Pin
Mapping] stating this restriction (and also including 'NC'). It is
a complication to allow Input or I/O models, and if the pin is connected
to a power rail, this can be done in a simulator dependent manner.
John also suggested expanding approved BIRD30.2 to include [Series Pin
Mapping] models to be included in the [Model Selector] keyword. This
could be used for selecting Series_switch models for Vcc = 5 V or
Vcc = 4.3 V when used in 3.3 to 5 V logic interface applications. An
additional modification is included to make this change. It makes sense
to capture within [Model Selector] all of the Model_names that can be
selected. The [Series Pin Mapping] keyword defines new models that are
not listed under the [Pin] keyword.
BIRD41.5:
References to quadradic fitting for [Series MOSFET} based on two tables
are removed because the algorithms did not yield significant improvement
and usually caused other problems. Also there was some extreme data
sensitivity issues when the data was near zero mA which would cause
much additional complexity. The linear algorithm provided good
correlation when more data points were taken.
The table extraction circuit is modified so that current through the
device is sensed on the source side so that a leakage current to the
substrate does not cause non-monotonic increasing values for higher
source voltages.
******************************************************************************
ANY OTHER BACKGROUND INFORMATION:
41 Submitted Feb 12, 1997
41.1 Submitted Feb 17, 1997
- Better explanation of State column
- Define new [Series Impedance] keyword
- Define series RLC path (to model passive device + parasitics)
41.2 Submitted May 14, 1997
- Extensive revisions based on two IBIS meetings and other notes
41.3 Submitted May 15, 1997
- Response to John Fitzpatricks comments
41.4 Submitted May 16, 1997
- [Pin] model Terminator or NC restriction for series pins
- [Model Selector] keyword addition to include [Series Pin Mapping] models.
41.5 Submitted May 22, 1997
- Removed references to Quadradric fitting for [Series MOSFET] table
- Changed VI extraction setup to prevent non-monotonic currents
Received on Thu May 22 16:03:49 1997
This archive was generated by hypermail 2.1.8 : Fri Jun 03 2011 - 09:52:29 PDT