[IBIS-Users] RE: The spice2ibis IV Clamp Issues and proposed Solutions

From: Nikonchuk Sergey-R6294C <R6294C@freescale.com>
Date: Fri Jan 22 2010 - 06:58:26 PST

Dear IBIS Users Community.
This is a first time when I send e-mail to the IBIS community.
So, be patient, please, if I am use wrong e-mail address or asking
questions which one already clarified in some documentation.
Just point me on right source.
My particular questions that I hope to get answers highlighted below as
"Q1, Q2, Q3"
 
During detailed evaluation of IBIS characterization flow, especially for
ODT (On-Die Termination) cells,
we find some issues in Existing s2ibis3 implementation for Clamp current
capturing and printing in to IBIS model.
 
1. The Voltage range not cover Max condition for
[Pullup]/[Pulldown]/[GND_clamp]/[POWER_clamp] I-V Curves
As recommended by IBIS standards and Cookbook , the range for the IV
curves have to be -Vcc::2*Vcc
Now, for "Vcc" value the "Typ" value used.
It mean, if we have Typ Vcc =1.8V +/- 0.1V for Max/Min conditions,
we have -1.8V::3.6V range for IV curves, which one cover Typ and Min
recommendation,
But not enough for Max condition, which one should be -1.9V::3.8V
 
I suggest to extend the range for IV Curves capturing up to Max [Voltage
Range] value.
That's have to be applied for All 4 IV curves - [Pullup]/[Pulldown]/[GND
clamp]/[POWER clamp]
 
Q1. Is there any particular reasons, comments - Why IV curves referenced
to Typ Vref? Is there concern to extend IV ranges up to Max Vref ?
 
 
2. The Minimum recommended range for Clamp IV capturing cause
non-monotonysity issue in Final IBIS models.
Existing implementation of s2ibis3 Assume the Minimum Voltage ranges
for Clamp Curves:
[GND_clamp] -Vcc::Vcc
[POWER_clamp] Vcc:2*Vcc (Ground referenced)
 
Below is example:
 
[Voltage Range] 3.3000V 3.0000V 3.6000V
|
[GND_clamp]
|Voltage I(typ) I(min) I(max)
|
  -3.30 -3.5860A -3.6101A -3.4617A
  -3.23 -3.4782A -3.5024A -3.3533A
  -3.16 -3.3704A -3.3947A -3.2450A
.....
  3.14 31.9335uA 32.7227uA 40.1997uA
  3.21 32.7095uA 73.2482uA 41.1226uA
  3.28 33.5298uA 0.2503mA 42.0514uA
|
[POWER_clamp]
|Voltage I(typ) I(min) I(max)
|
  -3.28 3.5775A 3.6016A 3.4528A
  -3.24 3.5154A 3.5397A 3.3904A
  -3.20 3.4534A 3.4777A 3.3281A
.....
  -0.08 35.8263uA 26.4944uA 47.5355uA
  -0.04 34.5005uA 25.3183uA 46.9642uA
   0.00 33.7999uA 24.7033uA 46.4029uA

Looks fine so far?
Now remind that we have [POWER_clamp] values in IBIS file referenced to
[Voltage range]
Vtable = Vreference - Voutput

So, if we will re-print the [Power_clamp] table for the Ground-reference
voltages, we will have something like as following:
[POWER_clamp]
|Voltage I(typ) I(min) I(max)
|
  6.88 3.4528A
  6.84 3.3904A
  6.80 3.3281A
....
  6.58 3.5775A 2.4528A
  6.54 3.5154A 2.3904A
  6.50 3.4534A 2.3281A
....
  6.28 2.5775A 3.6016A 1.4528A
  6.24 2.5154A 3.5397A 1.3904A
  6.20 2.4534A 3.4777A 1.3281A

.....
   3.68 39.8263uA 46.4944uA 47.5355uA
   3.64 38.5005uA 45.3183uA 46.9642uA
   3.60 37.7999uA 44.7033uA 46.4029uA
...........
   3.38 35.8263uA 36.4944uA ?????????

   3.34 34.5005uA 35.3183uA ?????????

   3.30 33.7999uA 34.7033uA ?????????

........
   3.08 26.4944uA

   3.04 25.3183uA

   3.00 24.7033uA

And when [POWER_clamp] and [GND_clamp] combined together and added to
[Pullip]/[Pulldown] for simulation,
We have double counting "Min" clamps between 3.0V and 3.3V
And we have kind of "Hole" for Max clamp between 3.28V and 3.6V
Does it looks negligible?
 
inischk4 say No.
 
WARNING - Model v330_11_c4: POWER Clamp : Typical value never becomes
zero
WARNING - Model v330_11_c4: POWER Clamp : Minimum value never becomes
zero
WARNING - Model v330_11_c4: POWER Clamp : Maximum value never becomes
zero
WARNING - Combined Pulldown for Model: v330_11_c4 Typical data is
non-monotonic
WARNING - Combined Pullup for Model: v330_11_c4 Typical data is
non-monotonic
WARNING - Combined Pulldown for Model: v330_11_c4 Minimum data is
non-monotonic
WARNING - Combined Pullup for Model: v330_11_c4 Minimum data is
non-monotonic
WARNING - Combined Pulldown for Model: v330_11_c4 Maximum data is
non-monotonic
WARNING - Combined Pullup for Model: v330_11_c4 Maximum data is
non-monotonic
 
That's Especially Important for the ODT models, where Clamp currents is
quite significant
And cause issues related to accuracy of models simulation.
 
What the Solution could be for the issue above?
 
Proposed Solution to extend Simulation ranges for both [Power_clamp] and
[GND_clamp] to -Vcc::2*Vcc
(See IBIS_Cookbook_v4.pdf, Table 5-6)
In this case we will cover whole range.
BUT! If we will print All the data "As Is" in to IBIS model, Clamp
Currents will be Duplicated!
One of the Option to avoid duplication described in IBIS cookbook -
Sections 5.1.3.4, 5.1.3.5
If we just "Clip" the data as described - we have to be take care about
Extrapolation Errors (Section 5.1.3.9)
At the end - it would be almost the same as "minimal range" and will NOT
resolve all ibischk4 warning and simulation concerns.
 
More reasonable Approach, applicable for ODT models as well described in
Following Presentation:
http://www.vhdl.org/pub/ibis/summits/jun03b/muranyi3.pdf
 
This called as "Clip and Extend"
 
* Sweep device from -Vcc to 2*Vcc twice: GND and Vcc relative
* Cut clamp curves where they reach zero current going left to right
* Extrapolate all clamp curves horizontally to 2*Vcc
 
Opposite to Cookbook Proposal, this approach Cut clamp current when it's
going from Positive to Negative value
And Extend (Extrapolate) this value to end of characterization range.
 
In a reality, for plain (non-ODT) buffers it mean
GND_clamp range: -Vcc::0
POWER_clamp range 0::2*Vcc (Ground referenced)
 
Q2: Why Cookbook 4.0 Sections 5.1.3.4, 5.1.3.5 recommend to clip the
date by Differerent ranges?
GND_clamp range: -Vcc::Vcc
POWER_clamp range Vcc::2*Vcc (Ground referenced)
Is there any concerns to use "Clip and Extend" Approach for All Buffer
types, not ODT only?
GND_clamp range: -Vcc::0
POWER_clamp range 0::2*Vcc (Ground referenced)
 
The Cookbook recommended Clamp ranges seems contradictive with what
IBISCHK really expected and potentially could confuse simulators.
Am I miss something here?
 
At the same time, during investigation of this issue we find Alternative
(claimed as more accurate for ODT) approach called as DEC:
http://www.vhdl.org/pub/ibis/summits/sep05/ross2.pdf
 
This Approach seems more tricky for Implementation with questionable
added value in term of accuracy.
 
Q3: Does anybody implement this approach in they models? What is impact
in terms of simulation accuracy vs. "Clip and extend"?
Can anybody share particular code to split clamps according to DEC
algorithms?
 
 
I will greatly appreciate any feedback and proposals to address issues
above.
 
Sergey Nikonchuk
Characterization and View Generation
TSO / DT / L&M / IO Pad Cell Libraries
Freescale Semiconductor, Inc.
www.freescale.com <http://www.freescale.com/>

Contacts:
Phone +7 (495) 589 1839
Mobile +7 (916) 993 3467
Fax +7 (495) 787 0151
Sergey.Nikonchuk@freescale.com

 

This e-mail and any attachments have been classified as:
[x] Public
[ ] Internal Use Only
[ ] Confidential Proprietary

 

 

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

--------------------------------------------------------------------
|For help or to subscribe/unsubscribe, e-mail majordomo@eda-stds.org
|with the appropriate command message(s) in the body:
|
| help
| subscribe ibis <optional e-mail address, if different>
| subscribe ibis-users <optional e-mail address, if different>
| unsubscribe ibis <optional e-mail address, if different>
| unsubscribe ibis-users <optional e-mail address, if different>
|
|or e-mail a request to ibis-request@eda-stds.org.
|
|IBIS reflector archives exist under:
|
| http://www.eda-stds.org/pub/ibis/email_archive/ Recent
| http://www.eda-stds.org/pub/ibis/users_archive/ Recent
| http://www.eda-stds.org/pub/ibis/email/ E-mail since 1993

att88d04.gif
Received on Fri Jan 22 06:58:39 2010

This archive was generated by hypermail 2.1.8 : Fri Jan 22 2010 - 06:59:44 PST