Subject: Re: Avoiding Double Counting

From: Arpad Muranyi <[email-masked]>
Date: Fri, 22 Nov 96 10:55:00 PST

Text item: 

Syed,

I have read the replies you got so far, and they are all correct.  However, 
there is one other reason that I didn't see mentioned.

When I first started experimenting with these I-V curves, my goal was to do them
in such a way, that GND bounce and/or Vcc droop could be modeled correctly if 
desired.  The problem goes as follows:

Consider an I-V curve for a device driving low (the same is also true for high 
state, but I am not going to address that here).  If you sweep it from -Vcc to 
2*Vcc, you get basically three regions in the I-V curve.  First you are 
measuring the GND clamps, which are in the range of -Vcc to 0 V.  Then the 
pulldown transistor, between 0 V to Vcc, and above Vcc the power clamp.  In 
CMOS, the GND clamp usually comes from the parasitic diode in the pulldown FET, 
but the power clamp comes from the parasitic diode of the pullup transistor.

Now, if you modulate the GND or Vcc voltage in a simulation due to SSO noise, 
the knee voltages of these clamps should also move around with respect to their 
corresponding supply voltages.  If you had a single I-V curve, this would not be
possible.  This was the real reason I choose to separate them the way they are 
done now.

Of course, one might argue, that the separation could have been done by the 
simulator tool after reading in the curves from the IBIS model ("give me raw 
data" approach).  But even in that case, we would have to use ON curves and 
3-stated curves in the IBIS models.  This method would work too, if done 
correctly.  I guess I was just trying to make it easier on the tools (or make 
sure that this is being done right) when I decided to separate things during 
model generation.

In the case of the output only buffers, this separation is not as straight 
forward, because we do not have a 3-stated curve that we could easily subtract 
from the ON curves.  With some extra work, however, it would be possible to 
identify each of the clamps in the I-V curves, and knowing the saturation 
current of the pulldown or pullup transistor, it would be possible to reverse 
engineer a 3-stated curve for the output only devices also.  This would then 
enable the modeler to generate models similar to the I/O models, with 
independent I-V curves for the clamps.  The question is, is there a benefit to 
go through all this math to do that?  Also, are there unusual devices out there 
with which this method falls apart?

I guess, IBIS doesn't prohibit the output buffers from being modeled this way, 
but for the sake of simplicity, when I have an output only model, I generate 
"combined" curves and do not use the clamp curve sections.

Arpad
================================================================================

IBISfans:

Got a question about double counting of clamp data(Output models).

I believe simulators combine the Pullup(pu) and Power Clamp(pc)
data and also Pulldown(pd) and GND Clamp(gc). That is why both
pu and pd V/I table should not contain pc and gc information.

This is also why, pu and pd data can be non-monotonic and once
the clamp data is combined, the data becomes monotonic.

If the above statements are true, why not just take pu data
with the pc data included and simply put 0.0mA on the pc V/I
table. Take pd data with the gc data included and leave 0.0ma
for the gc V/I table.

If this can be done then Model providers who are creating models
from actual bench measurements, do not have to go thru the pains
of doing V/I table subtraction. A DC sweep on an enabled output
structure gives you the combination of the output stage + the clamp
structures.

It seems that we go thru too much data crunching and Simulators
simply connect the two tables anyway.

Possible I am missing something very important here. Pls comment.

Regards,
Syed
National Semiconductor Corp.

Text item: External Message Header

The following mail header is for administrative use
and may be ignored unless there are problems.

***IF THERE ARE PROBLEMS SAVE THESE HEADERS***.

Cc: [email-masked]
Subject: Avoiding Double Counting
To: [email-masked]
From: [email-masked] (Syed Huq)
Date: Wed, 20 Nov 96 17:30:43 PST
1 for <[email-masked]>; Wed, 20 Nov 1996 18:09:03 -0800
Received: from natsemi-bh.nsc.com (natsemi-bh.nsc.com [204.163.202.66]) by vhdl.
vhdl.org (8.7.3/8.7.3) with SMTP id SAA23631 for <[email-masked]>; Wed, 20
Nov 1996 18:19:15 -0800 (PST)
Received: from vhdl.vhdl.org (vhdl.vhdl.org [198.31.14.3]) by mailbag.jf.intel.c
om (8.8.3/8.7.3) with ESMTP id SAA27620; Wed, 20 Nov 1996 18:15:09 -0800 (PST)
Received: from mailbag.jf.intel.com ([email-masked] [134.134.248.4])
by relay.jf.intel.com (8.8.2/8.7.3) with ESMTP id SAA27253; Wed, 20 Nov 1996 18:
12:35 -0800 (PST)
Return-Path: [email-masked]

---

From: Arpad Muranyi <[email-masked]>
Date: Mon, 25 Nov 96 15:12:00 PST

Text item: 

Syed,

First, D. C. Sessions spoke (wrote) out of my heart.

Second, the reason that the whole sweep range and subtraction is necessary is, 
because when the transistor is on, it does add more current to the clamps.  In 
other words, when you sweep above Vcc while driving low, you get saturation 
current plus Vcc clamp current, therefore your clamp current is actually shifted
up by the amount of the saturation current.  If you measured the Vcc clamp the 
way you described it, it would start from around 0 mA (and not the saturation 
current).

Similarly, when you sweep below GND, you get (approximately) the on-channel 
resistance current plus GND clamp current...

I don't know of any other way to separate/combine them.

Arpad

Syed Huq wrote:

> Thanks to all who had responded to my question on Double counting issues.
> Let me ask one more on this topic(see below):
>
> > ** Arpad Writes: **

> There are three regions on a Pullup or Pulldown V/I curve:
>
>         -Vcc to 0V      0V to +Vcc      +Vcc to +2Vcc
>
>         Gnd Clamp       Pu or Pd        Power Clamp
>
> So, since GND Clamp and Power Clamp data are provided seperately
for a Tri-statable output
> (by disabling that outputs), I think the Pu and Pd data could have been taken
> only from 0V to +Vcc(during enable mode).
>
> This does not sweep clamp structures, so no substraction of data
is necessary, no double
> counting issues and the simulator can combine clamp data with 'On' data as
> necessary.
>
> When a CMOS device is 'ON', who would want to sweep that above Vcc ...

We do -- all the time.  After all, when a reflection comes back into
an active output the additional snubbing effect of an ON transistor
makes a huge difference.  Especially between the rail and the turnon
point of the clamp structure, where the active device is highly
conductive and the clamp nonexistent.  The difference in line settling
time and ringback level is remarkable.

--
D. C. Sessions
[email-masked]

Subject: Re: Avoiding Double Counting
CC: [email-masked]
To: Syed Huq <[email-masked]>
Organization: VLSI Technology Inc.
From: "D.C. Sessions" <[email-masked]>
Date: Mon, 25 Nov 1996 15:51:51 -0700
Sender: [email-masked]
e.vlsi.com (8.6.9/Hub-Perlotto/010296) with SMTP id PAA24217; Mon, 25 Nov 1996 1
5:59:41 -0700
Received: from tempepop.tempe.vlsi.com (devious.tempe.vlsi.com [134.27.128.5]) b
y relayhost.tempe.vlsi.com (8.6.9/Hub-Perlotto/101195) with ESMTP id PAA09847; M
on, 25 Nov 1996 15:51:51 -0700
Received: from relayhost.tempe.vlsi.com (anubis.tempe.vlsi.com [134.27.128.1]) b
y relayhost.vlsi.com (8.6.12/Hub-Perlotto/050895) with ESMTP id PAA10159; Mon, 2
5 Nov 1996 15:05:51 -0800
Received: from relayhost.vlsi.com (tweety.vlsi.com [134.27.20.23]) by vhdl.vhdl.
org (8.7.3/8.7.3) with ESMTP id PAA06071 for <[email-masked]>; Mon, 25 Nov
1996 15:03:29 -0800 (PST)
Received: from vhdl.vhdl.org (vhdl.vhdl.org [198.31.14.3]) by ormail.intel.com (
8.8.3/8.7.3) with ESMTP id OAA08298; Mon, 25 Nov 1996 14:54:59 -0800 (PST)
Received: from ormail.intel.com (ormail.intel.com [134.134.248.3]) by relay.jf.i
ntel.com (8.8.2/8.7.3) with ESMTP id OAA17388; Mon, 25 Nov 1996 14:55:00 -0800 (
PST)
Return-Path: [email-masked]