Subject: Question about Re: Serious s2ibis problem?

From: [email-masked] (nakamae midori)
Date: Mon, 11 Nov 96 21:20:02 JST

Hello Alan Glaser :

I am now developing a IBIS model by s2ibis program in Japan.

I would like to have a question concerning your answer
and make sure IBIS V2.1 spec.

Could you please give your response to me ?

My question is,
Is the following my assumption right ?
Is that the algorithm of IBIS simulators ?

The following shows my assumption for IBIS simulator's algorithm.

IBIS Version 2.1 (8/22/95) spec. say below.
--------------------------------------------------------- 
  It is assumed that the simulator sums the clamp curves
  together with the appropriate pull-up or pull-down curve
  when a buffer is driving high or low,respectively.
  From this assumption and the nature of 3-statable buffers,
  it follows that the data in the clamping curve sections
                  ======================================(A)
  are handled as constantly present curves and the pull-up
  and pull-down curves are used only when needed in the simulation.
---------------------------------------------------------

IBIS model have 4 tables for 3-state buffer.

  Pullup   table = Pullup(enable High out) - (Disable output) 
                                        at the range -Vcc~2*Vcc
  Pulldown table = Pulldown(enable Low out) - (Disable output)
                                        at the range -Vcc~2*Vcc
  GND-clamp table = Disable output at the range -Vcc~Vcc

  POWER-clamp table = Disable output at the range  Vcc~2*Vcc

If the ranges are right,IBIS simulator must add GND-clamp table(-Vcc~Vcc)
and POWER-clamp table(Vcc~2*Vcc) to constract the full range clamp datas
(the data in the clamping curve sections) and handle it as constantly present
=====================================(A)(see above IBIS spec.)
current, when OUTPUT is disable state , High-Z state or  OFF.

And IBIS simulator must add the full range clamp datas to Pullup table
to construct the full range pull-up curve,when a pullup transistor is ON.

Similarly,simulator must add the full range clamp datas to Pulldown table
to construct the full range pull-down curve,when a pulldown transistor is ON.

Here,my 3-state buffer has n-channel pullup transistor.
(Note)
My 3-state buffer is not a inverter which consist of P-ch. and N-ch.
transistors,but a output buffer which consist of N-ch. pullup transistor
and N-ch. pulldown transistor and is able to out High,Low and High-Z.
My 3-state buffer have Hogh-out and Low-out I/V curves which exit a big
current at the range -VCC~0V.
But POWER-clamp table which s2ibis program generated for my 3-state buffer
is only at VCC~2*VCC range and "all zero" of course.
Is the POWER-clamp table for my buffer right ?

If IBIS simulator add pullup table to only POWER-clamp table which
expand to the full range,I think it is wrong either s2ibis or simulator.

Best Regards,
Nakamae.

At 10:46 AM 96.11.8 -0500, [email-masked] wrote:
><snip>
>> Why does s2ibis not subtract the ***Tri-state (un-enabled)*** data
>> from the entire range of both pull-down and pull-up data to derive the
>> corresponding [Pulldown] and [Pullup] tables?  Instead, it appears that it 
>> takes EXTRA steps to produce seemingly innacurate tables...  Is this a 
>> serious mistake with s2ibis, or are am I missunderstanding something. 
>> Thanks ahead for all feedback.
><snip>
>
>Scott:
>
>While I didn't write the version of s2ibis that you refer to, I think I
>can answer your question.
>
>The answer lies in the voltage ranges of the pullup (or pulldown) and
>power clamp (or ground clamp) curves, and the assumption that a tool
>will add the pullup and power clamp curves of a tristate device together
>to get the correct total behavior.
>
>If you look at the voltage points in the pullup curve, you'll see that
>they vary from -Vcc to 2*Vcc, while those in the power clamp curve only
>vary from Vcc to 2*Vcc. When the simulator adds these two curves
>together, then, it only adds values to the pullup curve in the range Vcc
>to 2*Vcc, not the whole range of the curve.
>
>If one were to subtract the tristated pullup curve from the active
>pullup curve over the entire -Vcc to 2*Vcc range, the IBIS tool would be
>unable to reconstruct the correct behavior of the model, as the required
>data (i.e. the tristated data from -Vcc to Vcc) would not be present in
>the IBIS file.
>
>Hope that clears things up.
>
>Regards,
>
>-- 
>Alan Glaser                         "It's not a competition,
>ECE Dept.                            it's just a mint..." - K
>North Carolina State University

---

From: [email-masked] (nakamae midori)
Date: Tue, 12 Nov 96 20:55:01 JST

Hello Scott,

Thank you for your response.
I have been using s2ibis2 version 0.91BETA in this 6 months
and have developed about more than 10 IBIS models for memory device.
Is it the latest version of s2ibis2 ?
Is this version of s2ibis2 different from yours ?

My setting of .s2i command file for s2ibis2 shows below.
(DQ-buffer is 3-state type IN/OUT(bi-directional) buffer.)

( .s2i command file)
<snip>
--------------------------------------------- 
[Pin]
|pin_name  spice_node  signal_name  model_name
1        23             DOUT           DQ_BUF
-> input  ena
2         2             VDD            POWER
3         0             GND            GND
input    15             DATA           DUMMY1
ena      9              ENABLE         DUMMY1
|
|
[Model]         DQ_BUF
[Model type]    3-state
[Polarity]      Non-Inverting
[Enable]        Active-High
------------------------------------------------
<snip>

Here,when ENABLE is Active-High,I modify my SPICE netlist 
(.sp file) to tie ENABLE pin thru a resistor(10Kohm and so on) to GND.
(It means to set the buffer to be disable.)

GND ----- resistor -----ENABLE ----> (to DQ-buffer control)

Because,though s2ibis2 set voltage to ena pin for pullup/pulldown 
(for example,VENAS2I 21 0 DC 0),it does not set for output disable .spi files
(for example, ddnout1.spi, ddtout1.spi and ddxout1.spi).
I wonder why s2ibis2 does not set voltage for output disable simulation
automatically.

Then I was able to get the normal end of s2ibis2 program. 
And It seem s2ibis2 generate a good Pulldown/Pullup tables according to
IBIS V2.1 spec.,if my assumptions are right.

If you have any other informations concerning s2ibis2 algorythm ,
please let me know. Thank you.

And I insert my another comments below.

(P.S.)I don't receive NCSU or IBIS FORUM response yet,
      though I understand NCSU peoples are busy.
      I hope that IBIS OPEN FORUM ask some EDA vendor to support
      and update a s2ibis2 program as well as IBIS simulators.

Best Regards,
Midori Nakamae
Mitsubishi Electric Corp.  JAPAN

At 10:32 AM 96.11.11 -0800, Scott Schlachter wrote:
>Nakamae,
>
>I have also been using s2ibis to generate IBIS files, and I have talked
>to many people about the algorythm that it uses to generate the
>tables.  Your assumptions apear to be correct, including what you asked 
>about how the simulators sum the clamp curve data to the pull-up and 
>pull-down data when the output buffer is active (non-tristate).  If you
>are using s2ibis (not s2ibis2), then you can also read about the
>algorythm that s2ibis uses in the FAQ file, under the /src directory
>that gets created when you untar the s2ibis program.
>
>As for how s2ibis deals with you n-channel pull-up, it really sounds
>like it is not set up correctly.  You should be getting big values 
>in your power-clamp curve - and you are getting zeros!  s2ibis performs
>no subtraction to the power-clamp data that it gets from the spice run
>that it performs.  It records this data directly to the [Power-clamp] 
>table in the created .ibs file (after it shifts all of the voltage 
>values to represent the Vtable = Vcc - Vout requirement).
> 
>If you want to see exactly what the signals are for the Power-clamp (and
>what the spice file looks like), look under the file pc<pin-name>.spi,
>and the corresponding pc<pin-name>.out output file.  For example,
>if your pin-name is "One", than the files would be pcOne.spi, and 
>pcOne.out .  These files will only be left behind if you DON'T have the
>*[Cleanup] command in your s2ibis input file!
> 

Yes,I know. Thanks.

>I would start by examining the FAQ and also the pc---.spi files.  If you
>don't have the FAQ, let me know and I can email it to you.  There has 
>been a lot of discussion lately in the IBIS community that we should not
>bother the people at NCSU too much about the s2ibis programs, as 1) they
>provided them for free to the IBIS community, 2) they don't really
>have the money or man-power to support the programs (and they never
>said they would support them), and finally 3) Alan Glaser and others
>there are busy trying to finalize the s2ibis2 program with what little
>amount of funds they have. 

Yes,I understand.

>Hope this helps,
>-Scott Schlachter
> Design Engineering
> Actel Corporation