RE: [IBIS-Users] putting together typ/min/max data in ibis file

From: Anand Ramalingam <anandr_at_.....>
Date: Wed Mar 19 2008 - 10:13:01 PDT
 

Hi Michael,

 

Thanks for your detailed email. 

 

I dont know what do you mean by Vcm shift in your simulations, but about
I-V data collection/generation process itself I can say the following.
First of all, your way to generate pulldown/pullup data for corners is
correct. But I think you have problem when dealing with clamping
currents. In two words - you need to subtruct the clamping current
BEFORE you do any transformation/manipulation/splitting of the simulated
data, I mean - first run all simulations with appropriate sweeps,
subtruct what you need and then format the resulted data into IBIS file.

%-----------------------------------------------------------------------
---------------------------------

 

[Anand] 

 

You have correctly pointed out that the clamp currents are the problem. 

%-----------------------------------------------------------------------
---------------------------------

 

So, I suggest the following algorithm in your case of 1.8V (+-10%)
supply: 

 

1) Run pulldown enabled (buffer drives zero, enable is active)
simulation for each corner with the same sweep range of PAD voltage
[-1.8;3.6]V. 

 

2) Run pullup enabled (buffer drives one, enable is active) simulation
for each corner with different sweep range of PAD voltage:  [-1.8;3.6]V
for typ,  [-1.9;3.5]V for min, [-1.7;3.7]V for max.
 

3) Run high-impedance state (buffer is disabled, no matter what is input
data. Be careful here, if the input still affect the output in some way,
lets say via some configurable terminator structures, you should do this
step separately for "driving" zero and "driving" one situations)
simulations for each corner with the same sweep range of PAD voltage
[-1.9;3.7]V.

 
4) Subtract current data of (3) in range [-1.8;3.6] from current data of
(1) in each corner accordingly. Resulted data is ready for [Puldown]
ground-relative IBIS table. 

 

5) Subtract current data of (3) from current data of (2) when using
appropriate voltage range of (3) data: [-1.8;3.6]V for typ,  [-1.9;3.5]V
for min, [-1.7;3.7]V for max. The resulted data need to be transform by
Vtable=VCC-Vpad in order to be [Pullup] VCC-relative IBIS table. 



%-----------------------------------------------------------------------
---------------------------------

 

 [Anand]  

 

To make sure I understood this correctly let me write this down for min
corner.

 

vdd(min) = 1.7 V 

vdd(typ)  = 1.8 V

 

Pulldown: sweep in the range [-1.8, 3.6] V 

            * Subtract the clamp currents which were obtained in the
range [-1.8, 3.6] V

 

Pullup: sweep in the range [-1.9, 3.5] V 

            * Subtract the clamp currents which were obtained in the
range [-1.9, 3.5] V

(For pullup since they are vdd referenced, this turns out to be 1.7 -
[-1.9, 3.5] = [3.6, -1.8])

%-----------------------------------------------------------------------
---------------------------------

 

6) "Split" (3) current data as following:

    GND [-1.8;1.8] & POWER [1.8;3.6]  for typ,

    GND [-1.8;1.8] & POWER [1.7;3.5]  for min,

    GND [-1.8;1.8] & POWER [1.9;3.7]  for max

  Three currents columns of what we called GND are ready for [GND Clamp]
ground-relative IBIS table. 

 

 

%-----------------------------------------------------------------------
---------------------------------

 

 [Anand]  

 

This is where I am not sure what do.

 

Using min corner as an example.

 

Pulldown: the clamp data spans the range [-1.8, 3.6]

Pullup: the clamp data spans the range [-1.9, 3.5]

 

Using Michael's method,

GND [-1.8;1.8] // misses the current corresponding to -1.9 V which was
used to subtract pullup data.

PWR [1.7;3.5] // misses the current corresponding to 3.6 V which was
used to subtract pulldown data

 

This is the reason why I thought:

1)     figure out the clamp currents first and 

2)     subtract the clamp currents from pullup/pulldown data. 

 

%-----------------------------------------------------------------------
---------------------------------

 

[Anand] 

 

For the output pins, one way to get out of this situation is to delete 

the [PWR Clamp] and [GND Clamp] tables and have everything in 

the pullup/pulldown tables. I think this takes away the ability to
simulate

when the cell is disabled. Is there any disadvantages due to this
deletion 

of [Clamp] tables?

 

For the input pins, I hope steps (6)-(8) suggested by Michael should be
sufficient.

 

Please correct me if I am wrong.

 

Thanks for your patient reading

Anand

%-----------------------------------------------------------------------
---------------------------------

 


-- 
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
Received on Wed Mar 19 10:16:34 2008

This archive was generated by hypermail 2.1.8 : Wed Mar 19 2008 - 10:17:24 PDT