From: owner-ibis-users@eda.org (ibis-users)
To: ibis-users-digest@eda.org
Subject: ibis-users V1 #108
Reply-To: 
Sender: owner-ibis-users@eda.org
Errors-To: owner-ibis-users@eda.org
Precedence: bulk


ibis-users         Wednesday, December 5 2007         Volume 01 : Number 108




----------------------------------------------------------------------

Date: Tue, 20 Nov 2007 00:37:17 -0500
From: "Ambrish Varma" <ambrishv@cadence.com>
Subject: RE: [IBIS-Users] S2IBIS3 Queries

This is a multi-part message in MIME format.

- ------_=_NextPart_001_01C82B37.AC27DB2E
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hello Sudarshan,

If I understand you correctly, you would not want to model either
pc3b01_p or pc3b01d_p. You should be modeling PAD. pc3b01_p and
pc3b01d_p are internal spice node name that you would be entering in the
pin list ([pin]) in your .s2i file. You should look at the examples
provided with s2ibis3 for a more detailed understanding.

=20

As for your second question, there is a real life example posted in the
s2ibis3 FAQ webpage at
http://www.ece.ncsu.edu/erl/ibis/faq/S2IBIS3_FAQ.htm=20

Your third question is also explained in one of the examples in the
s2ibis3 distribution.

=20

Thanks,

Ambrish.

=20

=20

________________________________

From: owner-ibis-users@eda.org [mailto:owner-ibis-users@eda.org] On
Behalf Of Sudarshan H N
Sent: Monday, November 19, 2007 12:23 AM
To: Fabio BRINA
Cc: ibis-users@eda.org
Subject: Re: [IBIS-Users] S2IBIS3 Queries

=20

Hi Fabio,

I will show you a sample spice netlist i have.

.SUBCKT pc3b01_p   PAD I OEN CIN
..
..
..
.ENDS
.SUBCKT pc3b01d_p   PAD I OEN CIN
..
..
..
.ENDS

With this example, suppose if i want to model only pc3b01_p, then how
can i give this in the setup file. Since the pins are common to both the
models how S2IBIS distinguishes between 2 models and how it will select
the correct one.  ?=20

As per the tools and scripts i have written,  i will always search for
the particular spice netlist with .SUBCKT option and then use that model
. But i am not sure how S2IBIS is doing it .
Can you explain me ?

Regards
Sudarshan

On Nov 16, 2007 2:37 PM, Fabio BRINA <fabio.brina@st.com> wrote:

Hello Sudarshan,

I don't studied the java script. But I send you a  .spi file=20
generated by S2ibis3,  where you can see how work the
tool:

from this file it extract Power Clamp (typical).

firstly you can see the netlist (.subckt INVBH2, CLPDPTT, ESDINTT etc.)
secondly the models (.model DPPNWR etc : these are Eldo models)
finally you find the NET added from the tool,  voltage source  VOUTS2I,
VCLMPS2I etc,
connected to the pin you are considering ( OEIN in this case )

If you have many  .subckts  inside the same file, I think you
have also a top netlist were you can identify univocally the Pins.



Regards,
Fabio Brina




Sudarshan H N wrote:



Hi Fabio,

Regarding the first question, my doubt was , if we have many IO pad
netlists in a single file, how to give the names of those pads which we
want to model it. Normally the spice netlists start with .SUBCKT
structure. So i expected S2IBIS to search for this keyword and select
the appropriate spice model. But i didnt find any such statement in the
java scripts which will search for the netlists. How does S2IBIS
identify different pad names ?=20

Regards
Sudarshan

On Nov 14, 2007 8:02 PM, Fabio BRINA <fabio.brina@st.com> wrote:


Hi Sudarshan,

1. The only pads that will be modeled are those included in the [Pin]
section:

[Pin]

VDD      VDD     VDD       POWER
VGND   VGND  VGND    GND
EN1        EN1       EN1       mod_en
IN1         IN1         IN1        mod_in
OUT       OUT       OUT      mod_out
- ->  IN1    EN1

In this case only OUT , EN1 and IN1 will be modeled;
obviously the other pad have to be fixed in the right level, with
specific voltage source inside the netlist.

2. You have to separate the corners in three files, and insert them in
the following specification:

[Model file]    corners_typ     corners_min    corners_max


3. You can consider each pin for time.  Or you can fix the [Voltage
Range ] under the [model]=20
    associated to your pad pin. as you can read in  s2ibis3.txt  file.


I hope this  helpful for  your work.

Regards,

Fabio Brina




Sudarshan H N wrote:



Hello,

I downloaded new s2ibis3 from the site
http://www.ece.ncsu.edu/erl/ibis/s2ibis3/s2ibis3.htm and tried using it.

I was able generate IBIS models with the example given in that link. But
i am not able to generate separate IBIS models for the spice models .
While providing input to *.s2i file i have the following queries.=20

1.      If the IO spice netlist contains all the IO pad netlists in a
single file , how to give the only those IO pad names that i wish to
model it.

2.      In the process model file, if all the typical, min and max
corner definitions are present in a single file, how do we separately
mention process models for each corner.=20

          eg: .lib  '/home/sudarshann/ibis/S2IBIS/new/tsl018.lib' ff_hv
for fast corner=20
                .lib  '/home/sudarshann/ibis/S2IBIS/new/tsl018.lib'
ss_hv for slow corner
=20
           How can i achieve such kind of constructs in S2IBIS setup
file .=20
     3.  How can i mention the separate voltage levels for each pin. For
example how can i specify , say 1.2V on Input and enable pins and 3.3V
on PAD pins.

Let me know your answers.

Regards
Sudarshan=20

- --=20
This message has been scanned for viruses and=20
dangerous content by MailScanner <http://www.mailscanner.info/> , and is

believed to be clean.=20

=20

=20

=20


*Typ power clamp curve for model mod_dir
*Spice Deck created by S2IBIS3 Version 1.1
*North Carolina State University
*--------------------------------------------------------------------
*--------------------------------------------------------------------=20
****** The  NETLIST *******
*--------------------------
.GLOBAL GNDE
+ GND
+ VDD
*--------------------------------------------------------------------
*--------------------------------------------------------------------=20
*[?param]
*--------------------------------------------------------------------
*--------------------------------------------------------------------
.OPTION XA =3D 9.750000e-07
*--------------------------------------------------------------------=20
*--------------------------------------------------------------------
.SUBCKT INVBH2 A Y
MM10 Y A GND GND EN3 W=3D3.5u L=3D5u AD=3D3.4125e-12 AS=3D3.4125e-12
+PD=3D5.45e-06 PS=3D5.45e-06 M=3D1
MM19 Y VDD NET24 NET24 EP3 W=3D10u L=3D 0.45u AD=3D3.51e-10 AS=3D3.51e-10
+PD=3D0.00036195 PS=3D0.00036195 M=3D1
MM11 Y A NET24 NET24 EP3 W=3D5u L=3D1u AD=3D5.85e-12 AS=3D5.85e-12 PD=3D7.9=
5e-06
+PS=3D7.95e-06 M=3D1
MM9 NET24 Y VDD NET24 EP3 W=3D310u L=3D0.35u AD=3D3.51e-10 AS=3D3.51e-10=20
+PD=3D0.00036195 PS=3D0.00036195 M=3D1
.ENDS INVBH2
*--------------------------------------------------------------------
*--------------------------------------------------------------------
.SUBCKT CLPDPTT INOUT=20
MM41 INOUT NET64 GNDE GNDE EN3 W=3D74.6u L=3D0.4u AD=3D7.2735e-11
+AS=3D7.2735e-11 PD=3D7.655e-05 PS=3D7.655e-05 M=3D1
MM28 INOUT NET68 GNDE GNDE EN3 W=3D74.6u L=3D0.4u AD=3D7.2735e-11
+AS=3D7.2735e-11 PD=3D7.655e-05 PS=3D7.655e-05 M=3D1=20
MM42 INOUT NET64 GNDE GNDE EN3 W=3D74.6u L=3D0.4u AD=3D7.2735e-11
+AS=3D7.2735e-11 PD=3D7.655e-05 PS=3D7.655e-05 M=3D1
MM34 INOUT NET68 GNDE GNDE EN3 W=3D74.6u L=3D0.4u AD=3D7.2735e-11
+AS=3D7.2735e-11 PD=3D7.655e-05 PS=3D7.655e-05 M=3D1=20
DD37 NET64 INOUT DPPNW AREA=3D3.3p
DD29 NET68 INOUT DPPNW AREA=3D3.3p
DD32 NET68 INOUT DPPNW AREA=3D3.3p
DD38 NET64 INOUT DPPNW AREA=3D3.3p
XR36 GNDE NET64 GND RPO1M1 r=3D3560 w=3D0.35e-06 nc=3D1
XR30 GNDE NET68 GND RPO1M1 r=3D3560 w=3D 0.35e-06 nc=3D1
XR35 GNDE NET64 GND RPO1M1 r=3D3560 w=3D0.35e-06 nc=3D1
XR31 GNDE NET68 GND RPO1M1 r=3D3560 w=3D0.35e-06 nc=3D1
.ENDS CLPDPTT
*--------------------------------------------------------------------
*--------------------------------------------------------------------=20
.SUBCKT ESDINTT A RECIN
XR40 NET11 RECIN GND RPO1M1 r=3D163 w=3D1.9e-06 nc=3D2
XR34 A NET17 GND RPO1M1 r=3D87 w=3D4.5e-06 nc=3D5
XR38 NET17 NET11 GND RNDIFFM1 r=3D196 w=3D1.9e-06 nc=3D2
DD4 GND NET17 DNPPSR AREA=3D308p PERI=3D36.8u=20
.ENDS ESDINTT
*--------------------------------------------------------------------
*--------------------------------------------------------------------
.SUBCKT INV A Y
MM10 Y A GND GND EN3 W=3Dwn L=3Dln M=3D1
MM9 Y A VDD VDD EP3 W=3Dwp L=3Dlp M=3D1
.ENDS INV
*--------------------------------------------------------------------
*--------------------------------------------------------------------
.CONNECT  GND  GNDE
XI11  NET23 NET9 INVBH2=20
XI9  OEIN CLPDPTT
XI8  OEIN NET9 ESDINTT
XI17  OEOUT NET23 INV ln=3D2u lp=3D2u wn=3D7u wp=3D13u
XI10  NET23 OEOUT INV ln=3D0.35u lp=3D0.35u wn=3D44u wp=3D90u
XI18  NET9 NET23 INV ln=3D0.35u lp=3D0.35u wn=3D20u wp=3D55u
*---------------------------------------------------------------=20
* Spice Model : DPPNWR
*---------------------------------------------------------------
*********** THE MODELS *************
*----------------------------------------------------------------------
* Simulator:  #ELDO 4.5
*----------------------------------------------------------------------
*
.model  DPPNWR d
+ level=3D8               diolev=3D9               tnom=3D27
+ vr=3D0                  cjbr=3D0.001329         cjsr=3D3.146e-10=20
+ cjgr=3D1.864e-10         jsdbr=3D1.9e-07         jsdsr=3D4.572e-14
+ jsdgr=3D1e-20           jsgbr=3D4.057e-06       jsgsr=3D2.782e-11
+ jsggr=3D4.751e-11        vdbr=3D0.8              vdsr=3D0.8
+ vdgr=3D0.8              pb=3D 0.43               ps=3D0.33
+ pg=3D0.43
*.endl DPPNWJU_typ

*---------------------------------------------------------------
* Spice Model : EPMM9JU
*---------------------------------------------------------------=20
*
*----------------------------------------------------------------------
* PMOS : EP  (Model : MM9JU - subckt Juncap)  typ
*----------------------------------------------------------------------
* Simulator:  #ELDO 4.5
*----------------------------------------------------------------------
.SUBCKT  EPMM9JU D G S B
+       param: W=3D10e-6 L=3D10e-6 nfing=3D1
+       wfing=3D{w/nfing+0}
+       fd=3D{nfing-2*trunc(nfing/2)}
+       fs=3D{2-fd}=20
+       AD=3D{wfing*(nfing*(1.15e-06)/2+fd*(1.15e-06)/2)}
+       AS=3D{wfing*(nfing*(1.15e-06)/2+fs*(1.15e-06)/2)}
+       PD=3D{nfing*2*(1.15e-06)/2+fd*(wfing+1.15e-06)}
+       PS=3D{nfing*2*(1.15e-06)/2+fs*(wfing+1.15e-06)}=20
M1 D G S B EPMM9JU W=3DW L=3DL AS=3DAS AD=3DAD PS=3DPS PD=3DPD
.ENDS


.MODEL EPMM9JU
+ pmos
+ level=3D59
+ tox=3D8.2e-09           tr=3D27                 ler=3D9.954e-06
+ lvar=3D0                lap=3D2.2994e-08        wer=3D 9.8871e-06
+ wvar=3D0                wot=3D5.6447e-08        vtor=3D0.605
+ slvto=3D2.4157e-08      sl2vto=3D-8.8158e-15    swvto=3D-2.4478e-09
+ stvto=3D-0.00093097     betsq=3D4.6238e-05      etabet=3D1.1695
+ the1r=3D0.21277         slthe1r=3D 6.6646e-08    swthe1=3D-1.19e-09
+ stthe1r=3D-0.00045468   stlthe1=3D-1.8179e-10   the2r=3D0.33738
+ slthe2r=3D-3.7174e-08   swthe2=3D1.9299e-08     stthe2r=3D-0.0004339
+ stlthe2=3D7.9686e-11    kor=3D0.65138           slko=3D-5.6962e-08=20
+ swko=3D2.1928e-08       kr=3D0.65138            slk=3D-5.6962e-08
+ swk=3D2.1928e-08        vsbxr=3D100             slvsbx=3D0
+ swvsbx=3D0              phibr=3D0.84764         zet1r=3D1.8722
+ slzet1=3D-1.6842e-07    etazet=3D1              mor=3D 0.30905
+ slmo=3D8.3171e-06       stmo=3D0.00010119       etamr=3D1
+ gamoor=3D0.0001689      slgamoo=3D1.1391e-15    etagamr=3D1
+ vsbtr=3D100             slvsbt=3D0              gam1r=3D-0.0015083
+ slgam1=3D1.4997e-08     swgam1=3D 8.7524e-10     etadsr=3D0.6
+ vpr=3D10.86             alpr=3D0.022451         slalp=3D8.2822e-09
+ swalp=3D-1.2618e-08     etaalp=3D1              the3r=3D-0.014429
+ stlthe3=3D-6.7464e-11   swthe3=3D1.9606e-09     stthe3r=3D2.4982e-05=20
+ slthe3r=3D7.3895e-09    a1r=3D3.844             sla1=3D2.9719e-07
+ swa1=3D-9.356e-09       sta1=3D0.015722         a2r=3D29.335
+ sla2=3D4.8732e-10       swa2=3D-3.0085e-10      a3r=3D1.1664
+ sla3=3D-1.0574e-07      swa3=3D-3.3629e-09      col=3D6.1e-11
+ ntr=3D2.2e-20           nfr=3D4.182e-12
* Parameters file : diode.dds,v 1.2 1999/01/06 10:27:17
* -- JUNCAP Electrical Parameters for S/D regions  (Simulator specific)
+ diolev=3D9              tnom=3D27               vr=3D0=20
+ cjbr=3D0.001329         cjsr=3D3.146e-10        cjgr=3D1.864e-10
+  jsdbr=3D1.9e-07         jsdsr=3D4.572e-14       jsdgr=3D1e-20
+ jsgbr=3D4.057e-06       jsgsr=3D2.782e-11       jsggr=3D4.751e-11
+  vdbr=3D0.8              vdsr=3D 0.8              vdgr=3D0.8
+ pb=3D0.43               ps=3D0.33               pg=3D0.43
+  dcaplev=3D0             rlev=3D1                alev=3D3

*(1)+rsh=3D2.4               rs=3D70                 rd=3D70
+ ldif=3D0                hdif=3D 4.875e-07

*---------------------------------------------------------------
* Spice Model : ENMM9JU
*---------------------------------------------------------------
*
*.LIB ENMM9JU_typ
*----------------------------------------------------------------------=20
* NMOS : EN  (Model : MM9JU - subckt Juncap)  typ
*----------------------------------------------------------------------
* Simulator:  #ELDO 4.5
*----------------------------------------------------------------------=20
.SUBCKT  ENMM9JU D G S B
+       param: W=3D10e-6 L=3D10e-6 nfing=3D1
+       wfing=3D{w/nfing+0}
+       fd=3D{nfing-2*trunc(nfing/2)}
+       fs=3D{2-fd}
+       AD=3D{wfing*(nfing*(1.15e-06)/2+fd*(1.15e-06)/2)}
+       AS=3D{wfing*(nfing*(1.15e-06)/2+fs*(1.15e-06)/2)}
+       PD=3D{nfing*2*(1.15e-06)/2+fd*(wfing+1.15e-06)}
+       PS=3D{nfing*2*(1.15e-06)/2+fs*(wfing+1.15e-06)}
M1 D G S B ENMM9JU W=3DW L=3DL AS=3DAS AD=3DAD PS=3DPS PD=3DPD=20
.ENDS


.MODEL ENMM9JU
+ nmos
+  level=3D59
+ tox=3D7.6e-09           tr=3D27                 ler=3D9.9839e-06
+ lvar=3D0                lap=3D8.045e-09         wer=3D9.7552e-06
+ wvar=3D0                wot=3D1.224e-07         vtor=3D0.635
+ slvto=3D7.0216e-08      sl2vto=3D-2.4754e-14    swvto=3D2.3042e-08
+ stvto=3D-0.00087141     betsq=3D0.0002259       etabet=3D1.6336
+ the1r=3D0.2364          slthe1r=3D1.3077e-07    swthe1=3D-8.2823e-08
+ stthe1r=3D- 6.6798e-06   stlthe1=3D-5.1702e-10   the2r=3D0.15491
+ slthe2r=3D-2.1137e-08   swthe2=3D9.6765e-08     stthe2r=3D0.0003788
+ stlthe2=3D-2.1968e-11   kor=3D0.536             slko=3D-7.6164e-08
+ swko=3D2.7463e-08       kr=3D0.536              slk=3D- 7.3164e-08
+ swk=3D2.7463e-08        vsbxr=3D100             slvsbx=3D0
+ swvsbx=3D0              phibr=3D0.84764         zet1r=3D2.5785
+ slzet1=3D-0.00012272    etazet=3D0.5            mor=3D0.31129
+ slmo=3D-1.3606e-06      stmo=3D- 0.00082026      etamr=3D1
+ gamoor=3D0.00096059     slgamoo=3D2.9931e-15    etagamr=3D1
+ vsbtr=3D100             slvsbt=3D0              gam1r=3D0.00063636
+ slgam1=3D1.2818e-08     swgam1=3D-4.7172e-10    etadsr=3D0.6
+ vpr=3D17.25             alpr=3D0.01             slalp=3D0
+ swalp=3D0               etaalp=3D1              the3r=3D-0.025862
+ stlthe3=3D-2.8694e-10   swthe3=3D-2.4e-08       stthe3r=3D-4.1862e-05
+ slthe3r=3D1.014e-07     a1r=3D5.5559            sla1=3D 5.4355e-07
+ swa1=3D-3.3508e-07      sta1=3D0.0084971        a2r=3D20
+ sla2=3D0                swa2=3D0                a3r=3D1.1206
+ sla3=3D-1.4134e-07      swa3=3D-1.0882e-08      col=3D6.1e-11
+ ntr=3D2.2e-20           nfr=3D6.085e-12=20
* Parameters file : diode.dds,v 1.2 1999/01/06 10:27:17
* -- JUNCAP Electrical Parameters for S/D regions  (Simulator specific)
+ diolev=3D9              tnom=3D27               vr=3D0
+ cjbr=3D0.000933         cjsr=3D 2.994e-10        cjgr=3D2.085e-10
+  jsdbr=3D1.295e-08       jsdsr=3D1e-20           jsdgr=3D9.999e-16
+ jsgbr=3D4.86e-07        jsgsr=3D2.4e-11         jsggr=3D1.8e-12
+  vdbr=3D0.8              vdsr=3D0.8              vdgr=3D0.8
+ pb=3D0.37               ps=3D0.21               pg=3D0.37
+  dcaplev=3D0             rlev=3D1                alev=3D3

*(1)+rsh=3D2.7               rs=3D48                 rd=3D48
+ ldif=3D0                hdif=3D4.875e-07

*---------------------------------------------------------------
* Spice Model : DNPPSR
*---------------------------------------------------------------
*.model DNPPSR *BIB:HC6XXX_ELDO.DNPPSR_TYP
*{DNPPSJU_TYP}=20
*----------------------------------------------------------------------
* DIODE : DNPPS (Model : Juncap) typ
*----------------------------------------------------------------------
* Simulator:  #ELDO 4.5
*----------------------------------------------------------------------
*
.model  DNPPSR d
+ level=3D8               diolev=3D9               tnom=3D27
+ vr=3D0                  cjbr=3D0.000933         cjsr=3D2.994e-10
+ cjgr=3D2.085e-10         jsdbr=3D1.295e-08       jsdsr=3D1e-20
+ jsdgr=3D9.999e-16       jsgbr=3D4.86e-07        jsgsr=3D2.4e-11
+ jsggr=3D1.8e-12          vdbr=3D0.8              vdsr=3D0.8
+ vdgr=3D0.8              pb=3D0.37               ps=3D 0.21
+ pg=3D0.37
*.endl DNPPSJU_typ

*---------------------------------------------------------------
* Spice Model : RNDIFFM1
*---------------------------------------------------------------
*.subckt RNDIFFM1 *BIB:HC6XXX_ELDO.RNDIFFM1_TYP=20
*{RNDIFFM1_TYP}
*----------------------------------------------------------------------
* RESISTOR  : RNDIFF   (Model : M1) typ
*----------------------------------------------------------------------
*.lib RNDIFFM1_typ=20
.subckt  RNDIFFM1
+ PLUS MINUS SUB  param: r=3D0.0 w=3D0.8e-6 nc=3D1
*----------------------------------------------------------------------
.param rt_typ=3D{4.5/nc+(4.5945e-05)/(w-(-0.17e-6))}
.param l=3D{0.0e-6+(r-2*rt_typ)*(w-(- 0.17e-6))/48.0}
*----------------------------------------------------------------------
.param rt=3D{4.5/nc+4.5945e-05/(w-(-0.17e-6))}
RES  PLUS MINUS  {48.0*(l-(0.0e-6))/(w-(-0.17e-6)) + 2*rt }
tc=3D1.533e-3,2.023e-7=20
*----------------------------------------------------------------------
* Parameters file : diode.dds,v 1.2 1999/01/06 10:27:17
.model DNPPS d level=3D8               diolev=3D9              tnom=3D27
+ vr=3D0                  cjbr=3D 0.000933         cjsr=3D2.994e-10
+ cjgr=3D2.085e-10         jsdbr=3D1.295e-08       jsdsr=3D1e-20
+ jsdgr=3D9.999e-16       jsgbr=3D4.86e-07        jsgsr=3D2.4e-11
+ jsggr=3D1.8e-12          vdbr=3D0.8              vdsr=3D0.8
+ vdgr=3D 0.8              pb=3D0.37               ps=3D0.21
+ pg=3D0.37

.param lr=3D{l+2*0.35e-6+2*0.0e-6+2*2.0e-7+2*0.4e-6}
D1  SUB PLUS  DNPPS area=3D{0.5*(w-(-0.17e-6))*lr} peri=3D{w-(-0.17e-6)+lr}
D2  SUB MINUS  DNPPS area=3D{ 0.5*(w-(-0.17e-6))*lr}
peri=3D{w-(-0.17e-6)+lr}
.ends RNDIFFM1
*.endl RNDIFFM1_typ

*---------------------------------------------------------------
* Spice Model : RPO1M1
*---------------------------------------------------------------=20
*.subckt RPO1M1 *BIB:HC6XXX_ELDO.RPO1M1_TYP
*{RPO1M1_TYP}
*----------------------------------------------------------------------
* RESISTOR  : RPO1   (Model : M1) typ
*----------------------------------------------------------------------=20
.subckt  RPO1M1
+ PLUS MINUS SUB  param: r=3D0.0 w=3D0.8e-6 nc=3D1
*----------------------------------------------------------------------
.param rt_typ=3D{5.5/nc+(5.577e-05)/(w-(0.02e-6))}
.param l=3D{0.0e-6+(r-2*rt_typ)*(w-( 0.02e-6))/133.0}
*----------------------------------------------------------------------
.param rt=3D{5.5/nc+5.577e-05/(w-(0.02e-6))}
Rres  PLUS MINUS  {133.0*(l-(0.0e-6))/(w-(0.02e-6)) + 2*rt }
tc=3D-4.50e-4,1.450e-6=20
*----------------------------------------------------------------------
.param lr=3D{l+2*0.35e-6+2*0.0e-6+2*2.0e-7+2*0.4e-6}
C1  PLUS SUB  {8.21e-5*0.5*(w-(0.02e-6))*lr+2.26e-11*(w-(0.02e-6)+lr)}
C2  MINUS SUB  { 8.21e-5*0.5*(w-(0.02e-6))*lr+2.26e-11*(w-(0.02e-6)+lr)}
.ends RPO1M1
*.endl RPO1M1_typ

*---------------------------------------------------------------
* Spice Model : DPPNW
*---------------------------------------------------------------=20
*.model DPPNW *BIB:HC6XXX_ELDO.DPPNW_TYP
*{DPPNWJU_TYP}
*----------------------------------------------------------------------
* DIODE : DPPNW (Model : Juncap) typ
*----------------------------------------------------------------------=20
* Simulator:  #ELDO 4.5
*----------------------------------------------------------------------
*
.model  DPPNW d
+ level=3D8               diolev=3D9               tnom=3D27
+ vr=3D0                  cjbr=3D0.001329         cjsr=3D3.146e-10
+ cjgr=3D1.864e-10         jsdbr=3D1.9e-07         jsdsr=3D4.572e-14
+ jsdgr=3D1e-20           jsgbr=3D4.057e-06       jsgsr=3D2.782e-11
+ jsggr=3D4.751e-11        vdbr=3D0.8              vdsr=3D0.8
+ vdgr=3D 0.8              pb=3D0.43               ps=3D0.33
+ pg=3D0.43
*.endl DPPNWJU_typ

*---------------------------------------------------------------
* Spice Model : EP3
*---------------------------------------------------------------=20
*{EPMM9_TYP}
*
.MODEL  EP3 pmos
*----------------------------------------------------------------------
* Family pmos Model EP mm9 typ
*----------------------------------------------------------------------=20
+ level=3D59
+  tox=3D8.2e-09           tr=3D27                 ler=3D9.954e-06
+ lvar=3D0                lap=3D2.2994e-08        wer=3D9.8871e-06
+ wvar=3D0                wot=3D5.6447e-08        vtor=3D0.605
+ slvto=3D2.4157e-08      sl2vto=3D-8.8158e-15    swvto=3D-2.4478e-09
+ stvto=3D-0.00093097     betsq=3D4.6238e-05      etabet=3D1.1695
+ the1r=3D0.21277         slthe1r=3D6.6646e-08    swthe1=3D-1.19e-09
+ stthe1r=3D-0.00045468   stlthe1=3D-1.8179e-10   the2r=3D0.33738
+ slthe2r=3D-3.7174e-08   swthe2=3D1.9299e-08     stthe2r=3D-0.0004339
+ stlthe2=3D7.9686e-11    kor=3D0.65138           slko=3D-5.6962e-08
+ swko=3D2.1928e-08       kr=3D0.65138            slk=3D-5.6962e-08
+ swk=3D 2.1928e-08        vsbxr=3D100             slvsbx=3D0
+ swvsbx=3D0              phibr=3D0.84764         zet1r=3D1.8722
+ slzet1=3D-1.6842e-07    etazet=3D1              mor=3D0.30905
+ slmo=3D8.3171e-06       stmo=3D0.00010119       etamr=3D1=20
+ gamoor=3D0.0001689      slgamoo=3D1.1391e-15    etagamr=3D1
+ vsbtr=3D100             slvsbt=3D0              gam1r=3D-0.0015083
+ slgam1=3D1.4997e-08     swgam1=3D8.7524e-10     etadsr=3D0.6
+ vpr=3D10.86             alpr=3D0.022451         slalp=3D8.2822e-09
+ swalp=3D-1.2618e-08     etaalp=3D1              the3r=3D-0.014429
+ stlthe3=3D-6.7464e-11   swthe3=3D1.9606e-09     stthe3r=3D2.4982e-05
+ slthe3r=3D7.3895e-09    a1r=3D3.844             sla1=3D2.9719e-07=20
+ swa1=3D-9.356e-09       sta1=3D0.015722         a2r=3D29.335
+ sla2=3D4.8732e-10       swa2=3D-3.0085e-10      a3r=3D1.1664
+ sla3=3D-1.0574e-07      swa3=3D-3.3629e-09      col=3D6.1e-11
+ ntr=3D2.2e-20           nfr=3D4.182e-12=20
* Parameters file : diode.dds,v 1.2 1999/01/06 10:27:17
* -- JUNCAP Diode Electrical Parameters for S/D regions  (Simulator
specific)
+ diolev=3D9              tnom=3D27               vr=3D0
+ cjbr=3D0.001329         cjsr=3D 3.146e-10        cjgr=3D1.864e-10
+  jsdbr=3D1.9e-07         jsdsr=3D4.572e-14       jsdgr=3D1e-20
+ jsgbr=3D4.057e-06       jsgsr=3D2.782e-11       jsggr=3D4.751e-11
+  vdbr=3D0.8              vdsr=3D0.8              vdgr=3D0.8
+ pb=3D0.43               ps=3D0.33               pg=3D0.43
+  dcaplev=3D0             rlev=3D1                alev=3D3

*(1)+rsh=3D2.4               rs=3D70                 rd=3D70
+ ldif=3D0                hdif=3D4.875e-07
*.ENDL=20

*---------------------------------------------------------------
* Spice Model : EN3
*---------------------------------------------------------------
*.model EN3 *BIB:HC6XXX_ELDO.EN3_TYP
*{ENMM9_TYP}
.MODEL  EN3 nmos
*----------------------------------------------------------------------
* Family nmos Model EN mm9 typ
*----------------------------------------------------------------------
+ level=3D59
+  tox=3D 7.6e-09           tr=3D27                 ler=3D9.9839e-06
+ lvar=3D0                lap=3D8.045e-09         wer=3D9.7552e-06
+ wvar=3D0                wot=3D1.224e-07         vtor=3D0.635
+ slvto=3D7.0216e-08      sl2vto=3D-2.4754e-14    swvto=3D2.3042e-08
+ stvto=3D-0.00087141     betsq=3D0.0002259       etabet=3D1.6336
+ the1r=3D0.2364          slthe1r=3D1.3077e-07    swthe1=3D-8.2823e-08
+ stthe1r=3D-6.6798e-06   stlthe1=3D-5.1702e-10   the2r=3D0.15491
+ slthe2r=3D- 2.1137e-08   swthe2=3D9.6765e-08     stthe2r=3D0.0003788
+ stlthe2=3D-2.1968e-11   kor=3D0.536             slko=3D-7.6164e-08
+ swko=3D2.7463e-08       kr=3D0.536              slk=3D-7.3164e-08
+ swk=3D2.7463e-08        vsbxr=3D100             slvsbx=3D0=20
+ swvsbx=3D0              phibr=3D0.84764         zet1r=3D2.5785
+ slzet1=3D-0.00012272    etazet=3D0.5            mor=3D0.31129
+ slmo=3D-1.3606e-06      stmo=3D-0.00082026      etamr=3D1
+ gamoor=3D0.00096059     slgamoo=3D2.9931e-15    etagamr=3D1
+ vsbtr=3D100             slvsbt=3D0              gam1r=3D0.00063636
+ slgam1=3D1.2818e-08     swgam1=3D-4.7172e-10    etadsr=3D0.6
+ vpr=3D17.25             alpr=3D0.01             slalp=3D0
+ swalp=3D0               etaalp=3D1              the3r=3D- 0.025862
+ stlthe3=3D-2.8694e-10   swthe3=3D-2.4e-08       stthe3r=3D-4.1862e-05
+ slthe3r=3D1.014e-07     a1r=3D5.5559            sla1=3D5.4355e-07
+ swa1=3D-3.3508e-07      sta1=3D0.0084971        a2r=3D20
+ sla2=3D0                swa2=3D0                a3r=3D 1.1206
+ sla3=3D-1.4134e-07      swa3=3D-1.0882e-08      col=3D6.1e-11
+ ntr=3D2.2e-20           nfr=3D6.085e-12
* Parameters file : diode.dds,v 1.2 1999/01/06 10:27:17
* -- JUNCAP Diode Electrical Parameters for S/D regions  (Simulator
specific)=20
+ diolev=3D9              tnom=3D27               vr=3D0
+ cjbr=3D0.000933         cjsr=3D2.994e-10        cjgr=3D2.085e-10
+  jsdbr=3D1.295e-08       jsdsr=3D1e-20           jsdgr=3D9.999e-16
+ jsgbr=3D4.86e-07        jsgsr=3D2.4e-11         jsggr=3D1.8e-12
+  vdbr=3D0.8              vdsr=3D0.8              vdgr=3D0.8
+ pb=3D0.37               ps=3D0.21               pg=3D0.37
+  dcaplev=3D0             rlev=3D1                alev=3D3

*(1)+rsh=3D2.7               rs=3D48                 rd=3D48=20
+ ldif=3D0                hdif=3D4.875e-07
*.ENDL

***
*** ADDING NET (from S2ibis3)
***

VOUTS2I OEIN 0 DC 0.0

VCLMPS2I VDDE 0  DC 3.0
VGCLMPS2I GNDE 0  DC 0.0


.TEMP 27.0


.DC VOUTS2I 3.0 6.0 0.04
.PRINT DC I(VOUTS2I)

.END





- --=20
This message has been scanned for viruses and=20
dangerous content by MailScanner <http://www.mailscanner.info/> , and is

believed to be clean.=20


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


- ------_=_NextPart_001_01C82B37.AC27DB2E
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:st1=3D"urn:schemas-microsoft-com:office:smarttags" xmlns=3D"http://ww=
w.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><o:SmartTagType
 namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags" name=3D"State"=
/>
<o:SmartTagType namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"City"/>
<o:SmartTagType namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"place"/>
<o:SmartTagType namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"PlaceType"/>
<o:SmartTagType namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"PlaceName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:blue;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:Arial;
	color:navy;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:821388685;
	mso-list-template-ids:887009818;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
- -->
</style>

</head>

<body lang=3DEN-US link=3Dblue vlink=3Dblue>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Hello Sudarshan,<o:p></o:p></span></fo=
nt></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'>If I understand you correctly, you wou=
ld not
want to model either pc3b01_p or pc3b01d_p. You should be modeling PAD. pc3=
b01_p
and pc3b01d_p are internal spice node name that you would be entering in the
pin list ([pin]) in your .s2i file. You should look at the examples provided
with s2ibis3 for a more detailed understanding.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'>As for your second question, there is a
real life example posted in the s2ibis3 FAQ webpage at <a
href=3D"http://www.ece.ncsu.edu/erl/ibis/faq/S2IBIS3_FAQ.htm">http://www.ec=
e.ncsu.edu/erl/ibis/faq/S2IBIS3_FAQ.htm</a>
<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Your third question is also explained =
in
one of the examples in the s2ibis3 distribution.<o:p></o:p></span></font></=
p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Thanks,<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Ambrish.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=3DMsoNormal align=3Dcenter style=3D'margin-left:.5in;text-align:=
center'><font
size=3D3 face=3D"Times New Roman"><span style=3D'font-size:12.0pt'>

<hr size=3D2 width=3D"100%" align=3Dcenter tabindex=3D-1>

</span></font></div>

<p class=3DMsoNormal style=3D'margin-left:.5in'><b><font size=3D2 face=3DTa=
homa><span
style=3D'font-size:10.0pt;font-family:Tahoma;font-weight:bold'>From:</span>=
</font></b><font
size=3D2 face=3DTahoma><span style=3D'font-size:10.0pt;font-family:Tahoma'>
owner-ibis-users@eda.org [mailto:owner-ibis-users@eda.org] <b><span
style=3D'font-weight:bold'>On Behalf Of </span></b>Sudarshan H N<br>
<b><span style=3D'font-weight:bold'>Sent:</span></b> Monday, November 19, 2=
007
12:23 AM<br>
<b><span style=3D'font-weight:bold'>To:</span></b> Fabio BRINA<br>
<b><span style=3D'font-weight:bold'>Cc:</span></b> ibis-users@eda.org<br>
<b><span style=3D'font-weight:bold'>Subject:</span></b> Re: [IBIS-Users] S2=
IBIS3
Queries</span></font><o:p></o:p></p>

</div>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D3 face=3D"Time=
s New Roman"><span
style=3D'font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:0in;margin-right:0in;margi=
n-bottom:
12.0pt;margin-left:.5in'><font size=3D3 face=3D"Times New Roman"><span
style=3D'font-size:12.0pt'>Hi Fabio,<br>
<br>
I will show you a sample spice netlist i have.<br>
<br>
.SUBCKT pc3b01_p&nbsp;&nbsp; PAD I OEN CIN<br>
..<br>
..<br>
..<br>
.ENDS<br>
.SUBCKT pc3b01d_p&nbsp;&nbsp; PAD I OEN CIN<br>
..<br>
..<br>
..<br>
.ENDS<br>
<br>
With this example, suppose if i want to model only pc3b01_p, then how can i
give this in the setup file. Since the pins are common to both the models h=
ow
S2IBIS distinguishes between 2 models and how it will select the correct
one.&nbsp; ? <br>
<br>
As per the tools and scripts i have written,&nbsp; i will always search for=
 the
particular spice netlist with .SUBCKT option and then use that model . But =
i am
not sure how S2IBIS is doing it .<br>
Can you explain me ?<br>
<br>
Regards<br>
Sudarshan<o:p></o:p></span></font></p>

<div>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D3 face=3D"Time=
s New Roman"><span
style=3D'font-size:12.0pt'>On Nov 16, 2007 2:37 PM, Fabio BRINA &lt;<a
href=3D"mailto:fabio.brina@st.com">fabio.brina@st.com</a>&gt; wrote:<o:p></=
o:p></span></font></p>

<div>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D3 face=3D"Time=
s New Roman"><span
style=3D'font-size:12.0pt'>Hello Sudarshan,<br>
<br>
I don't studied the java script. But I send you a &nbsp;.spi file <br>
generated by S2ibis3, &nbsp;where you can see how work the<br>
tool:<br>
<br>
from this file it extract Power Clamp (typical).<br>
<br>
firstly you can see the netlist (.subckt INVBH2, CLPDPTT, ESDINTT etc.)<br>
secondly the models (.model DPPNWR etc : these are Eldo models)<br>
finally you find the NET added from the tool, &nbsp;voltage source
&nbsp;VOUTS2I, &nbsp;VCLMPS2I etc,<br>
connected to the pin you are considering ( OEIN in this case )<br>
<br>
If you have many&nbsp; .subckts&nbsp; inside the same file, I think you<br>
have also a top netlist were you can identify univocally the Pins.<o:p></o:=
p></span></font></p>

<div>

<div>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D3 face=3D"Time=
s New Roman"><span
style=3D'font-size:12.0pt'><br>
<br>
Regards,<br>
Fabio Brina<br>
<br>
<br>
<br>
<br>
Sudarshan H N wrote:<br>
<br>
<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:0in;margin-right:0in;margi=
n-bottom:
12.0pt;margin-left:.5in'><font size=3D3 face=3D"Times New Roman"><span
style=3D'font-size:12.0pt'>Hi Fabio,<br>
<br>
Regarding the first question, my doubt was , if we have many IO pad netlist=
s in
a single file, how to give the names of those pads which we want to model i=
t.
Normally the spice netlists start with .SUBCKT structure. So i expected S2I=
BIS
to search for this keyword and select the appropriate spice model. But i di=
dnt
find any such statement in the java scripts which will search for the netli=
sts.
How does S2IBIS identify different pad names ? <br>
<br>
Regards<br>
Sudarshan<o:p></o:p></span></font></p>

<div>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D3 face=3D"Time=
s New Roman"><span
style=3D'font-size:12.0pt'>On Nov 14, 2007 8:02 PM, Fabio BRINA &lt;<a
href=3D"mailto:fabio.brina@st.com" target=3D"_blank">fabio.brina@st.com</a>=
&gt;
wrote:<o:p></o:p></span></font></p>

<div>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D3 face=3D"Time=
s New Roman"><span
style=3D'font-size:12.0pt'><br>
Hi Sudarshan,<br>
<br>
1. The only pads that will be modeled are those included in the [Pin] secti=
on:<br>
<br>
[Pin]<br>
<br>
VDD &nbsp; &nbsp;&nbsp; VDD &nbsp; &nbsp; VDD &nbsp; &nbsp; &nbsp; POWER<br>
VGND &nbsp; VGND &nbsp;VGND &nbsp; &nbsp;GND<br>
EN1 &nbsp; &nbsp; &nbsp; &nbsp;EN1 &nbsp; &nbsp; &nbsp; EN1 &nbsp; &nbsp;
&nbsp; mod_en<br>
IN1 &nbsp; &nbsp; &nbsp; &nbsp; IN1 &nbsp; &nbsp; &nbsp; &nbsp; IN1 &nbsp;
&nbsp; &nbsp; &nbsp;mod_in<br>
OUT &nbsp; &nbsp; &nbsp; OUT &nbsp; &nbsp; &nbsp; OUT &nbsp; &nbsp;
&nbsp;mod_out<br>
- -&gt; &nbsp;IN1 &nbsp; &nbsp;EN1<br>
<br>
In this case only OUT , EN1 and IN1 will be modeled;<br>
obviously the other pad have to be fixed in the right level, with specific
voltage source inside the netlist.<br>
<br>
2. You have to separate the corners in three files, and insert them in the
following specification:<br>
<br>
[Model file] &nbsp; &nbsp;corners_typ &nbsp;&nbsp; &nbsp;corners_min &nbsp;
&nbsp;corners_max<br>
<br>
<br>
3. You can consider each pin for time. &nbsp;Or you can fix the [<st1:place
w:st=3D"on"><st1:PlaceName w:st=3D"on">Voltage</st1:PlaceName> <st1:PlaceTy=
pe
 w:st=3D"on">Range</st1:PlaceType></st1:place> ] under the [model] <br>
&nbsp; &nbsp; associated to your pad pin. as you can read in &nbsp;s2ibis3.=
txt
&nbsp;file.<br>
<br>
<br>
I hope this&nbsp; helpful for&nbsp; your work.<br>
<br>
Regards,<br>
<br>
Fabio Brina<br>
<br>
<br>
<br>
<br>
Sudarshan H N wrote:<br>
<br>
<o:p></o:p></span></font></p>

<div>

<div>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:0in;margin-right:0in;margi=
n-bottom:
12.0pt;margin-left:.5in'><font size=3D3 face=3D"Times New Roman"><span
style=3D'font-size:12.0pt'>Hello,<br>
<br>
I downloaded new s2ibis3 from the site <a
href=3D"http://www.ece.ncsu.edu/erl/ibis/s2ibis3/s2ibis3.htm" target=3D"_bl=
ank">http://www.ece.ncsu.edu/erl/ibis/s2ibis3/s2ibis3.htm</a>
and tried using it.<br>
<br>
I was able generate IBIS models with the example given in that link. But i =
am
not able to generate separate IBIS models for the spice models . While
providing input to *.s2i file i have the following queries. <o:p></o:p></sp=
an></font></p>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt=
:auto;
margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !suppor=
tLists]><font
size=3D3 face=3D"Times New Roman"><span style=3D'font-size:12.0pt'><span
style=3D'mso-list:Ignore'>1.<font size=3D1 face=3D"Times New Roman"><span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </spa=
n></font></span></span></font><![endif]>If
the IO spice netlist contains all the IO pad netlists in a single file , ho=
w to
give the only those IO pad names that i wish to model it.<o:p></o:p></p>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt=
:auto;
margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !suppor=
tLists]><font
size=3D3 face=3D"Times New Roman"><span style=3D'font-size:12.0pt'><span
style=3D'mso-list:Ignore'>2.<font size=3D1 face=3D"Times New Roman"><span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </spa=
n></font></span></span></font><![endif]>In
the process model file, if all the typical, min and max corner definitions =
are
present in a single file, how do we separately mention process models for e=
ach
corner. <o:p></o:p></p>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:0in;margin-right:0in;margi=
n-bottom:
12.0pt;margin-left:.5in'><font size=3D3 face=3D"Times New Roman"><span
style=3D'font-size:12.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;
eg: .lib&nbsp; '/home/sudarshann/ibis/S2IBIS/new/tsl018.lib' ff_hv&nbsp;&nb=
sp;
for fast corner <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;
.lib&nbsp; '/home/sudarshann/ibis/S2IBIS/new/tsl018.lib' ss_hv for slow cor=
ner<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; How can i achi=
eve
such kind of constructs in S2IBIS setup file . <br>
&nbsp; &nbsp;&nbsp; 3.&nbsp; How can i mention the separate voltage levels =
for
each pin. For example how can i specify , say 1.2V on Input and enable pins=
 and
3.3V on PAD pins.<br>
<br>
Let me know your answers.<br>
<br>
Regards<br>
Sudarshan <o:p></o:p></span></font></p>

</div>

</div>

<p class=3DMsoNormal style=3D'margin-left:.5in'><font size=3D3 face=3D"Time=
s New Roman"><span
style=3D'font-size:12.0pt'>-- <br>
This message has been scanned for viruses and <br>
dangerous content by <a href=3D"http://www.mailscanner.info/" target=3D"_bl=
ank"></span></b><b><span
style=3D'font-weight:bold'>MailScanner</a><b><span style=3D'font-weight:
bold'>, and is <br>
believed to be clean. <o:p></o:p></span></b></span></font></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><b><font size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt;font-weight:bold'>=
<o:p>&nbsp;</o:p></span></font></b></p>

</div>

</div>

<p class=3DMsoNormal style=3D'margin-left:.5in'><b><font size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt;font-weight:bold'>=
<o:p>&nbsp;</o:p></span></font></b></p>

<p class=3DMsoNormal style=3D'margin-left:.5in'><b><font size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt;font-weight:bold'>=
<o:p>&nbsp;</o:p></span></font></b></p>

</div>

</div>

</div>

<p class=3DMsoNormal style=3D'mso-margin-top-alt:0in;margin-right:0in;margi=
n-bottom:
12.0pt;margin-left:.5in'><b><font size=3D3 face=3D"Times New Roman"><span
style=3D'font-size:12.0pt;font-weight:bold'><br>
*Typ power clamp curve for model mod_dir<br>
*Spice Deck created by S2IBIS3 Version 1.1<br>
*<st1:place w:st=3D"on"><st1:PlaceName w:st=3D"on">North Carolina</st1:Plac=
eName> <st1:PlaceType
 w:st=3D"on">State</st1:PlaceType> <st1:PlaceType w:st=3D"on">University</s=
t1:PlaceType></st1:place><br>
*--------------------------------------------------------------------<br>
*-------------------------------------------------------------------- <br>
****** The &nbsp;NETLIST *******<br>
*--------------------------<br>
.GLOBAL GNDE<br>
+ GND<br>
+ VDD<br>
*--------------------------------------------------------------------<br>
*-------------------------------------------------------------------- <br>
*[?param]<br>
*--------------------------------------------------------------------<br>
*--------------------------------------------------------------------<br>
.OPTION XA =3D 9.750000e-07<br>
*-------------------------------------------------------------------- <br>
*--------------------------------------------------------------------<br>
.SUBCKT INVBH2 A Y<br>
MM10 Y A GND GND EN3 W=3D3.5u L=3D5u AD=3D3.4125e-12 AS=3D3.4125e-12<br>
+PD=3D5.45e-06 PS=3D5.45e-06 M=3D1<br>
MM19 Y VDD NET24 NET24 EP3 W=3D10u L=3D 0.45u AD=3D3.51e-10 AS=3D3.51e-10<b=
r>
+PD=3D0.00036195 PS=3D0.00036195 M=3D1<br>
MM11 Y A NET24 NET24 EP3 W=3D5u L=3D1u AD=3D5.85e-12 AS=3D5.85e-12 PD=3D7.9=
5e-06<br>
+PS=3D7.95e-06 M=3D1<br>
MM9 NET24 Y VDD NET24 EP3 W=3D310u L=3D0.35u AD=3D3.51e-10 AS=3D3.51e-10 <b=
r>
+PD=3D0.00036195 PS=3D0.00036195 M=3D1<br>
.ENDS INVBH2<br>
*--------------------------------------------------------------------<br>
*--------------------------------------------------------------------<br>
.SUBCKT CLPDPTT INOUT <br>
MM41 INOUT NET64 GNDE GNDE EN3 W=3D74.6u L=3D0.4u AD=3D7.2735e-11<br>
+AS=3D7.2735e-11 PD=3D7.655e-05 PS=3D7.655e-05 M=3D1<br>
MM28 INOUT NET68 GNDE GNDE EN3 W=3D74.6u L=3D0.4u AD=3D7.2735e-11<br>
+AS=3D7.2735e-11 PD=3D7.655e-05 PS=3D7.655e-05 M=3D1 <br>
MM42 INOUT NET64 GNDE GNDE EN3 W=3D74.6u L=3D0.4u AD=3D7.2735e-11<br>
+AS=3D7.2735e-11 PD=3D7.655e-05 PS=3D7.655e-05 M=3D1<br>
MM34 INOUT NET68 GNDE GNDE EN3 W=3D74.6u L=3D0.4u AD=3D7.2735e-11<br>
+AS=3D7.2735e-11 PD=3D7.655e-05 PS=3D7.655e-05 M=3D1 <br>
DD37 NET64 INOUT DPPNW AREA=3D3.3p<br>
DD29 NET68 INOUT DPPNW AREA=3D3.3p<br>
DD32 NET68 INOUT DPPNW AREA=3D3.3p<br>
DD38 NET64 INOUT DPPNW AREA=3D3.3p<br>
XR36 GNDE NET64 GND RPO1M1 r=3D3560 w=3D0.35e-06 nc=3D1<br>
XR30 GNDE NET68 GND RPO1M1 r=3D3560 w=3D 0.35e-06 nc=3D1<br>
XR35 GNDE NET64 GND RPO1M1 r=3D3560 w=3D0.35e-06 nc=3D1<br>
XR31 GNDE NET68 GND RPO1M1 r=3D3560 w=3D0.35e-06 nc=3D1<br>
.ENDS CLPDPTT<br>
*--------------------------------------------------------------------<br>
*-------------------------------------------------------------------- <br>
.SUBCKT ESDINTT A RECIN<br>
XR40 NET11 RECIN GND RPO1M1 r=3D163 w=3D1.9e-06 nc=3D2<br>
XR34 A NET17 GND RPO1M1 r=3D87 w=3D4.5e-06 nc=3D5<br>
XR38 NET17 NET11 GND RNDIFFM1 r=3D196 w=3D1.9e-06 nc=3D2<br>
DD4 GND NET17 DNPPSR AREA=3D308p PERI=3D36.8u <br>
.ENDS ESDINTT<br>
*--------------------------------------------------------------------<br>
*--------------------------------------------------------------------<br>
.SUBCKT INV A Y<br>
MM10 Y A GND GND EN3 W=3Dwn L=3Dln M=3D1<br>
MM9 Y A VDD VDD EP3 W=3Dwp L=3Dlp M=3D1<br>
.ENDS INV<br>
*--------------------------------------------------------------------<br>
*--------------------------------------------------------------------<br>
.CONNECT &nbsp;GND &nbsp;GNDE<br>
XI11 &nbsp;NET23 NET9 INVBH2 <br>
XI9 &nbsp;OEIN CLPDPTT<br>
XI8 &nbsp;OEIN NET9 ESDINTT<br>
XI17 &nbsp;OEOUT NET23 INV ln=3D2u lp=3D2u wn=3D7u wp=3D13u<br>
XI10 &nbsp;NET23 OEOUT INV ln=3D0.35u lp=3D0.35u wn=3D44u wp=3D90u<br>
XI18 &nbsp;NET9 NET23 INV ln=3D0.35u lp=3D0.35u wn=3D20u wp=3D55u<br>
*--------------------------------------------------------------- <br>
* Spice Model : DPPNWR<br>
*---------------------------------------------------------------<br>
*********** THE MODELS *************<br>
*----------------------------------------------------------------------<br>
* Simulator: &nbsp;#ELDO 4.5<br>
*----------------------------------------------------------------------<br>
*<br>
.model &nbsp;DPPNWR d<br>
+ level=3D8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; diolev=3D9 &nb=
sp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tnom=3D27<br>
+ vr=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;cjbr=3D0.001329 &nbsp; &nbsp; &nbsp; &nbsp; cjsr=3D3.146e-10 <br>
+ cjgr=3D1.864e-10 &nbsp; &nbsp; &nbsp; &nbsp; jsdbr=3D1.9e-07 &nbsp; &nbsp=
; &nbsp;
&nbsp; jsdsr=3D4.572e-14<br>
+ jsdgr=3D1e-20 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; jsgbr=3D4.057e-06 &nbsp;=
 &nbsp;
&nbsp; jsgsr=3D2.782e-11<br>
+ jsggr=3D4.751e-11 &nbsp; &nbsp; &nbsp; &nbsp;vdbr=3D0.8 &nbsp; &nbsp; &nb=
sp;
&nbsp; &nbsp; &nbsp; &nbsp;vdsr=3D0.8<br>
+ vdgr=3D0.8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;pb=3D 0.43 &nb=
sp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps=3D0.33<br>
+ pg=3D0.43<br>
*.endl DPPNWJU_typ<br>
<br>
*---------------------------------------------------------------<br>
* Spice Model : EPMM9JU<br>
*--------------------------------------------------------------- <br>
*<br>
*----------------------------------------------------------------------<br>
* PMOS : EP &nbsp;(Model : MM9JU - subckt Juncap) &nbsp;typ<br>
*----------------------------------------------------------------------<br>
* Simulator: &nbsp;#ELDO 4.5<br>
*----------------------------------------------------------------------<br>
.SUBCKT &nbsp;EPMM9JU D G S B<br>
+ &nbsp; &nbsp; &nbsp; param: W=3D10e-6 L=3D10e-6 nfing=3D1<br>
+ &nbsp; &nbsp; &nbsp; wfing=3D{w/nfing+0}<br>
+ &nbsp; &nbsp; &nbsp; fd=3D{nfing-2*trunc(nfing/2)}<br>
+ &nbsp; &nbsp; &nbsp; fs=3D{2-fd} <br>
+ &nbsp; &nbsp; &nbsp; AD=3D{wfing*(nfing*(1.15e-06)/2+fd*(1.15e-06)/2)}<br>
+ &nbsp; &nbsp; &nbsp; AS=3D{wfing*(nfing*(1.15e-06)/2+fs*(1.15e-06)/2)}<br>
+ &nbsp; &nbsp; &nbsp; PD=3D{nfing*2*(1.15e-06)/2+fd*(wfing+1.15e-06)}<br>
+ &nbsp; &nbsp; &nbsp; PS=3D{nfing*2*(1.15e-06)/2+fs*(wfing+1.15e-06)} <br>
M1 D G S B EPMM9JU W=3DW L=3D<st1:place w:st=3D"on"><st1:City w:st=3D"on">L=
</st1:City> <st1:State
 w:st=3D"on">AS</st1:State></st1:place>=3DAS AD=3DAD PS=3DPS PD=3DPD<br>
.ENDS<br>
<br>
<br>
.MODEL EPMM9JU<br>
+ pmos<br>
+ level=3D59<br>
+ tox=3D8.2e-09 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tr=3D27 &nbsp; &nbsp; &n=
bsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ler=3D9.954e-06<br>
+ lvar=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lap=3D2.2=
994e-08
&nbsp; &nbsp; &nbsp; &nbsp;wer=3D 9.8871e-06<br>
+ wvar=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;wot=3D5.6=
447e-08
&nbsp; &nbsp; &nbsp; &nbsp;vtor=3D0.605<br>
+ slvto=3D2.4157e-08 &nbsp; &nbsp; &nbsp;sl2vto=3D-8.8158e-15 &nbsp;
&nbsp;swvto=3D-2.4478e-09<br>
+ stvto=3D-0.00093097 &nbsp; &nbsp; betsq=3D4.6238e-05 &nbsp; &nbsp;
&nbsp;etabet=3D1.1695<br>
+ the1r=3D0.21277 &nbsp; &nbsp; &nbsp; &nbsp; slthe1r=3D 6.6646e-08 &nbsp;
&nbsp;swthe1=3D-1.19e-09<br>
+ stthe1r=3D-0.00045468 &nbsp; stlthe1=3D-1.8179e-10 &nbsp; the2r=3D0.33738=
<br>
+ slthe2r=3D-3.7174e-08 &nbsp; swthe2=3D1.9299e-08 &nbsp; &nbsp; stthe2r=3D=
- -0.0004339<br>
+ stlthe2=3D7.9686e-11 &nbsp; &nbsp;kor=3D0.65138 &nbsp; &nbsp; &nbsp; &nbs=
p;
&nbsp; slko=3D-5.6962e-08 <br>
+ swko=3D2.1928e-08 &nbsp; &nbsp; &nbsp; kr=3D0.65138 &nbsp; &nbsp; &nbsp; =
&nbsp;
&nbsp; &nbsp;slk=3D-5.6962e-08<br>
+ swk=3D2.1928e-08 &nbsp; &nbsp; &nbsp; &nbsp;vsbxr=3D100 &nbsp; &nbsp; &nb=
sp;
&nbsp; &nbsp; &nbsp; slvsbx=3D0<br>
+ swvsbx=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;phibr=3D0.8476=
4 &nbsp;
&nbsp; &nbsp; &nbsp; zet1r=3D1.8722<br>
+ slzet1=3D-1.6842e-07 &nbsp; &nbsp;etazet=3D1 &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp;
&nbsp; &nbsp;mor=3D 0.30905<br>
+ slmo=3D8.3171e-06 &nbsp; &nbsp; &nbsp; stmo=3D0.00010119 &nbsp; &nbsp; &n=
bsp;
etamr=3D1<br>
+ gamoor=3D0.0001689 &nbsp; &nbsp; &nbsp;slgamoo=3D1.1391e-15 &nbsp;
&nbsp;etagamr=3D1<br>
+ vsbtr=3D100 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; slvsbt=3D0 &nbsp; &=
nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gam1r=3D-0.0015083<br>
+ slgam1=3D1.4997e-08 &nbsp; &nbsp; swgam1=3D 8.7524e-10 &nbsp; &nbsp; etad=
sr=3D0.6<br>
+ vpr=3D10.86 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; alpr=3D0.022451 &nb=
sp;
&nbsp; &nbsp; &nbsp; slalp=3D8.2822e-09<br>
+ swalp=3D-1.2618e-08 &nbsp; &nbsp; etaalp=3D1 &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp;
&nbsp; &nbsp;the3r=3D-0.014429<br>
+ stlthe3=3D-6.7464e-11 &nbsp; swthe3=3D1.9606e-09 &nbsp; &nbsp; stthe3r=3D=
2.4982e-05
<br>
+ slthe3r=3D7.3895e-09 &nbsp; &nbsp;a1r=3D3.844 &nbsp; &nbsp; &nbsp; &nbsp;=
 &nbsp;
&nbsp; sla1=3D2.9719e-07<br>
+ swa1=3D-9.356e-09 &nbsp; &nbsp; &nbsp; sta1=3D0.015722 &nbsp; &nbsp; &nbs=
p;
&nbsp; a2r=3D29.335<br>
+ sla2=3D4.8732e-10 &nbsp; &nbsp; &nbsp; swa2=3D-3.0085e-10 &nbsp; &nbsp;
&nbsp;a3r=3D1.1664<br>
+ sla3=3D-1.0574e-07 &nbsp; &nbsp; &nbsp;swa3=3D-3.3629e-09 &nbsp; &nbsp;
&nbsp;col=3D6.1e-11<br>
+ ntr=3D2.2e-20 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nfr=3D4.182e-12<br>
* Parameters file : diode.dds,v 1.2 1999/01/06 10:27:17<br>
* -- JUNCAP Electrical Parameters for S/D regions &nbsp;(Simulator specific=
)<br>
+ diolev=3D9 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tnom=3D27 &nbs=
p;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; vr=3D0 <br>
+ cjbr=3D0.001329 &nbsp; &nbsp; &nbsp; &nbsp; cjsr=3D3.146e-10 &nbsp; &nbsp=
; &nbsp;
&nbsp;cjgr=3D1.864e-10<br>
+ &nbsp;jsdbr=3D1.9e-07 &nbsp; &nbsp; &nbsp; &nbsp; jsdsr=3D4.572e-14 &nbsp=
; &nbsp;
&nbsp; jsdgr=3D1e-20<br>
+ jsgbr=3D4.057e-06 &nbsp; &nbsp; &nbsp; jsgsr=3D2.782e-11 &nbsp; &nbsp; &n=
bsp;
jsggr=3D4.751e-11<br>
+ &nbsp;vdbr=3D0.8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vdsr=3D =
0.8
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vdgr=3D0.8<br>
+ pb=3D0.43 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps=3D0.33 &nbs=
p;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pg=3D0.43<br>
+ &nbsp;dcaplev=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rlev=3D1 &nbs=
p;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;alev=3D3<br>
<br>
*(1)+rsh=3D2.4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rs=3D70 &nb=
sp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rd=3D70<br>
+ ldif=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;hdif=3D 4=
.875e-07<br>
<br>
*---------------------------------------------------------------<br>
* Spice Model : ENMM9JU<br>
*---------------------------------------------------------------<br>
*<br>
*.LIB ENMM9JU_typ<br>
*---------------------------------------------------------------------- <br>
* NMOS : EN &nbsp;(Model : MM9JU - subckt Juncap) &nbsp;typ<br>
*----------------------------------------------------------------------<br>
* Simulator: &nbsp;#ELDO 4.5<br>
*---------------------------------------------------------------------- <br>
.SUBCKT &nbsp;ENMM9JU D G S B<br>
+ &nbsp; &nbsp; &nbsp; param: W=3D10e-6 L=3D10e-6 nfing=3D1<br>
+ &nbsp; &nbsp; &nbsp; wfing=3D{w/nfing+0}<br>
+ &nbsp; &nbsp; &nbsp; fd=3D{nfing-2*trunc(nfing/2)}<br>
+ &nbsp; &nbsp; &nbsp; fs=3D{2-fd}<br>
+ &nbsp; &nbsp; &nbsp; AD=3D{wfing*(nfing*(1.15e-06)/2+fd*(1.15e-06)/2)}<br>
+ &nbsp; &nbsp; &nbsp; AS=3D{wfing*(nfing*(1.15e-06)/2+fs*(1.15e-06)/2)}<br>
+ &nbsp; &nbsp; &nbsp; PD=3D{nfing*2*(1.15e-06)/2+fd*(wfing+1.15e-06)}<br>
+ &nbsp; &nbsp; &nbsp; PS=3D{nfing*2*(1.15e-06)/2+fs*(wfing+1.15e-06)}<br>
M1 D G S B ENMM9JU W=3DW L=3D<st1:place w:st=3D"on"><st1:City w:st=3D"on">L=
</st1:City> <st1:State
 w:st=3D"on">AS</st1:State></st1:place>=3DAS AD=3DAD PS=3DPS PD=3DPD <br>
.ENDS<br>
<br>
<br>
.MODEL ENMM9JU<br>
+ nmos<br>
+ &nbsp;level=3D59<br>
+ tox=3D7.6e-09 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tr=3D27 &nbsp; &nbsp; &n=
bsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ler=3D9.9839e-06<br>
+ lvar=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lap=3D8.0=
45e-09
&nbsp; &nbsp; &nbsp; &nbsp; wer=3D9.7552e-06<br>
+ wvar=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;wot=3D1.2=
24e-07
&nbsp; &nbsp; &nbsp; &nbsp; vtor=3D0.635<br>
+ slvto=3D7.0216e-08 &nbsp; &nbsp; &nbsp;sl2vto=3D-2.4754e-14 &nbsp; &nbsp;=
swvto=3D2.3042e-08<br>
+ stvto=3D-0.00087141 &nbsp; &nbsp; betsq=3D0.0002259 &nbsp; &nbsp; &nbsp;
etabet=3D1.6336<br>
+ the1r=3D0.2364 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;slthe1r=3D1.3077e-07 &nb=
sp;
&nbsp;swthe1=3D-8.2823e-08<br>
+ stthe1r=3D- 6.6798e-06 &nbsp; stlthe1=3D-5.1702e-10 &nbsp; the2r=3D0.1549=
1<br>
+ slthe2r=3D-2.1137e-08 &nbsp; swthe2=3D9.6765e-08 &nbsp; &nbsp; stthe2r=3D=
0.0003788<br>
+ stlthe2=3D-2.1968e-11 &nbsp; kor=3D0.536 &nbsp; &nbsp; &nbsp; &nbsp; &nbs=
p;
&nbsp; slko=3D-7.6164e-08<br>
+ swko=3D2.7463e-08 &nbsp; &nbsp; &nbsp; kr=3D0.536 &nbsp; &nbsp; &nbsp; &n=
bsp;
&nbsp; &nbsp; &nbsp;slk=3D- 7.3164e-08<br>
+ swk=3D2.7463e-08 &nbsp; &nbsp; &nbsp; &nbsp;vsbxr=3D100 &nbsp; &nbsp; &nb=
sp;
&nbsp; &nbsp; &nbsp; slvsbx=3D0<br>
+ swvsbx=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;phibr=3D0.8476=
4 &nbsp;
&nbsp; &nbsp; &nbsp; zet1r=3D2.5785<br>
+ slzet1=3D-0.00012272 &nbsp; &nbsp;etazet=3D0.5 &nbsp; &nbsp; &nbsp; &nbsp=
; &nbsp;
&nbsp;mor=3D0.31129<br>
+ slmo=3D-1.3606e-06 &nbsp; &nbsp; &nbsp;stmo=3D- 0.00082026 &nbsp; &nbsp;
&nbsp;etamr=3D1<br>
+ gamoor=3D0.00096059 &nbsp; &nbsp; slgamoo=3D2.9931e-15 &nbsp; &nbsp;etaga=
mr=3D1<br>
+ vsbtr=3D100 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; slvsbt=3D0 &nbsp; &=
nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gam1r=3D0.00063636<br>
+ slgam1=3D1.2818e-08 &nbsp; &nbsp; swgam1=3D-4.7172e-10 &nbsp; &nbsp;etads=
r=3D0.6<br>
+ vpr=3D17.25 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; alpr=3D0.01 &nbsp; =
&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; slalp=3D0<br>
+ swalp=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; etaalp=3D1 &nb=
sp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;the3r=3D-0.025862<br>
+ stlthe3=3D-2.8694e-10 &nbsp; swthe3=3D-2.4e-08 &nbsp; &nbsp; &nbsp;
stthe3r=3D-4.1862e-05<br>
+ slthe3r=3D1.014e-07 &nbsp; &nbsp; a1r=3D5.5559 &nbsp; &nbsp; &nbsp; &nbsp=
; &nbsp;
&nbsp;sla1=3D 5.4355e-07<br>
+ swa1=3D-3.3508e-07 &nbsp; &nbsp; &nbsp;sta1=3D0.0084971 &nbsp; &nbsp; &nb=
sp;
&nbsp;a2r=3D20<br>
+ sla2=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;swa2=3D0 =
&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;a3r=3D1.1206<br>
+ sla3=3D-1.4134e-07 &nbsp; &nbsp; &nbsp;swa3=3D-1.0882e-08 &nbsp; &nbsp;
&nbsp;col=3D6.1e-11<br>
+ ntr=3D2.2e-20 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nfr=3D6.085e-12 <br>
* Parameters file : diode.dds,v 1.2 1999/01/06 10:27:17<br>
* -- JUNCAP Electrical Parameters for S/D regions &nbsp;(Simulator specific=
)<br>
+ diolev=3D9 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tnom=3D27 &nbs=
p;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; vr=3D0<br>
+ cjbr=3D0.000933 &nbsp; &nbsp; &nbsp; &nbsp; cjsr=3D 2.994e-10 &nbsp; &nbs=
p;
&nbsp; &nbsp;cjgr=3D2.085e-10<br>
+ &nbsp;jsdbr=3D1.295e-08 &nbsp; &nbsp; &nbsp; jsdsr=3D1e-20 &nbsp; &nbsp; =
&nbsp;
&nbsp; &nbsp; jsdgr=3D9.999e-16<br>
+ jsgbr=3D4.86e-07 &nbsp; &nbsp; &nbsp; &nbsp;jsgsr=3D2.4e-11 &nbsp; &nbsp;=
 &nbsp;
&nbsp; jsggr=3D1.8e-12<br>
+ &nbsp;vdbr=3D0.8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vdsr=3D0=
.8
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vdgr=3D0.8<br>
+ pb=3D0.37 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps=3D0.21 &nbs=
p;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pg=3D0.37<br>
+ &nbsp;dcaplev=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rlev=3D1 &nbs=
p;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;alev=3D3<br>
<br>
*(1)+rsh=3D2.7 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rs=3D48 &nb=
sp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rd=3D48<br>
+ ldif=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;hdif=3D4.=
875e-07<br>
<br>
*---------------------------------------------------------------<br>
* Spice Model : DNPPSR<br>
*---------------------------------------------------------------<br>
*.model DNPPSR *BIB:HC6XXX_ELDO.DNPPSR_TYP<br>
*{DNPPSJU_TYP} <br>
*----------------------------------------------------------------------<br>
* DIODE : DNPPS (Model : Juncap) typ<br>
*----------------------------------------------------------------------<br>
* Simulator: &nbsp;#ELDO 4.5<br>
*----------------------------------------------------------------------<br>
*<br>
.model &nbsp;DNPPSR d<br>
+ level=3D8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; diolev=3D9 &nb=
sp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tnom=3D27<br>
+ vr=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;cjbr=3D0.000933 &nbsp; &nbsp; &nbsp; &nbsp; cjsr=3D2.994e-10<br>
+ cjgr=3D2.085e-10 &nbsp; &nbsp; &nbsp; &nbsp; jsdbr=3D1.295e-08 &nbsp; &nb=
sp;
&nbsp; jsdsr=3D1e-20<br>
+ jsdgr=3D9.999e-16 &nbsp; &nbsp; &nbsp; jsgbr=3D4.86e-07 &nbsp; &nbsp; &nb=
sp;
&nbsp;jsgsr=3D2.4e-11<br>
+ jsggr=3D1.8e-12 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vdbr=3D0.8 &nbsp; &nbsp=
; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;vdsr=3D0.8<br>
+ vdgr=3D0.8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;pb=3D0.37 &nbs=
p;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps=3D 0.21<br>
+ pg=3D0.37<br>
*.endl DNPPSJU_typ<br>
<br>
*---------------------------------------------------------------<br>
* Spice Model : RNDIFFM1<br>
*---------------------------------------------------------------<br>
*.subckt RNDIFFM1 *BIB:HC6XXX_ELDO.RNDIFFM1_TYP <br>
*{RNDIFFM1_TYP}<br>
*----------------------------------------------------------------------<br>
* RESISTOR &nbsp;: RNDIFF &nbsp; (Model : M1) typ<br>
*----------------------------------------------------------------------<br>
*.lib RNDIFFM1_typ <br>
.subckt &nbsp;RNDIFFM1<br>
+ PLUS MINUS SUB &nbsp;param: r=3D0.0 w=3D0.8e-6 nc=3D1<br>
*----------------------------------------------------------------------<br>
.param rt_typ=3D{4.5/nc+(4.5945e-05)/(w-(-0.17e-6))}<br>
.param l=3D{0.0e-6+(r-2*rt_typ)*(w-(- 0.17e-6))/48.0}<br>
*----------------------------------------------------------------------<br>
.param rt=3D{4.5/nc+4.5945e-05/(w-(-0.17e-6))}<br>
RES &nbsp;PLUS MINUS &nbsp;{48.0*(l-(0.0e-6))/(w-(-0.17e-6)) + 2*rt }
tc=3D1.533e-3,2.023e-7 <br>
*----------------------------------------------------------------------<br>
* Parameters file : diode.dds,v 1.2 1999/01/06 10:27:17<br>
.model DNPPS d level=3D8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
diolev=3D9 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tnom=3D27<br>
+ vr=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;cjbr=
=3D 0.000933
&nbsp; &nbsp; &nbsp; &nbsp; cjsr=3D2.994e-10<br>
+ cjgr=3D2.085e-10 &nbsp; &nbsp; &nbsp; &nbsp; jsdbr=3D1.295e-08 &nbsp; &nb=
sp;
&nbsp; jsdsr=3D1e-20<br>
+ jsdgr=3D9.999e-16 &nbsp; &nbsp; &nbsp; jsgbr=3D4.86e-07 &nbsp; &nbsp; &nb=
sp;
&nbsp;jsgsr=3D2.4e-11<br>
+ jsggr=3D1.8e-12 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vdbr=3D0.8 &nbsp; &nbsp=
; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;vdsr=3D0.8<br>
+ vdgr=3D 0.8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;pb=3D0.37 &nb=
sp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps=3D0.21<br>
+ pg=3D0.37<br>
<br>
.param lr=3D{l+2*0.35e-6+2*0.0e-6+2*2.0e-7+2*0.4e-6}<br>
D1 &nbsp;SUB PLUS &nbsp;DNPPS area=3D{0.5*(w-(-0.17e-6))*lr}
peri=3D{w-(-0.17e-6)+lr}<br>
D2 &nbsp;SUB MINUS &nbsp;DNPPS area=3D{ 0.5*(w-(-0.17e-6))*lr}
peri=3D{w-(-0.17e-6)+lr}<br>
.ends RNDIFFM1<br>
*.endl RNDIFFM1_typ<br>
<br>
*---------------------------------------------------------------<br>
* Spice Model : RPO1M1<br>
*--------------------------------------------------------------- <br>
*.subckt RPO1M1 *BIB:HC6XXX_ELDO.RPO1M1_TYP<br>
*{RPO1M1_TYP}<br>
*----------------------------------------------------------------------<br>
* RESISTOR &nbsp;: RPO1 &nbsp; (Model : M1) typ<br>
*---------------------------------------------------------------------- <br>
.subckt &nbsp;RPO1M1<br>
+ PLUS MINUS SUB &nbsp;param: r=3D0.0 w=3D0.8e-6 nc=3D1<br>
*----------------------------------------------------------------------<br>
.param rt_typ=3D{5.5/nc+(5.577e-05)/(w-(0.02e-6))}<br>
.param l=3D{0.0e-6+(r-2*rt_typ)*(w-( 0.02e-6))/133.0}<br>
*----------------------------------------------------------------------<br>
.param rt=3D{5.5/nc+5.577e-05/(w-(0.02e-6))}<br>
Rres &nbsp;PLUS MINUS &nbsp;{133.0*(l-(0.0e-6))/(w-(0.02e-6)) + 2*rt }
tc=3D-4.50e-4,1.450e-6 <br>
*----------------------------------------------------------------------<br>
.param lr=3D{l+2*0.35e-6+2*0.0e-6+2*2.0e-7+2*0.4e-6}<br>
C1 &nbsp;PLUS SUB
&nbsp;{8.21e-5*0.5*(w-(0.02e-6))*lr+2.26e-11*(w-(0.02e-6)+lr)}<br>
C2 &nbsp;MINUS SUB &nbsp;{
8.21e-5*0.5*(w-(0.02e-6))*lr+2.26e-11*(w-(0.02e-6)+lr)}<br>
.ends RPO1M1<br>
*.endl RPO1M1_typ<br>
<br>
*---------------------------------------------------------------<br>
* Spice Model : DPPNW<br>
*--------------------------------------------------------------- <br>
*.model DPPNW *BIB:HC6XXX_ELDO.DPPNW_TYP<br>
*{DPPNWJU_TYP}<br>
*----------------------------------------------------------------------<br>
* DIODE : DPPNW (Model : Juncap) typ<br>
*---------------------------------------------------------------------- <br>
* Simulator: &nbsp;#ELDO 4.5<br>
*----------------------------------------------------------------------<br>
*<br>
.model &nbsp;DPPNW d<br>
+ level=3D8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; diolev=3D9 &nb=
sp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tnom=3D27<br>
+ vr=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;cjbr=3D0.001329 &nbsp; &nbsp; &nbsp; &nbsp; cjsr=3D3.146e-10<br>
+ cjgr=3D1.864e-10 &nbsp; &nbsp; &nbsp; &nbsp; jsdbr=3D1.9e-07 &nbsp; &nbsp=
; &nbsp;
&nbsp; jsdsr=3D4.572e-14<br>
+ jsdgr=3D1e-20 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; jsgbr=3D4.057e-06 &nbsp;=
 &nbsp;
&nbsp; jsgsr=3D2.782e-11<br>
+ jsggr=3D4.751e-11 &nbsp; &nbsp; &nbsp; &nbsp;vdbr=3D0.8 &nbsp; &nbsp; &nb=
sp;
&nbsp; &nbsp; &nbsp; &nbsp;vdsr=3D0.8<br>
+ vdgr=3D 0.8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;pb=3D0.43 &nb=
sp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps=3D0.33<br>
+ pg=3D0.43<br>
*.endl DPPNWJU_typ<br>
<br>
*---------------------------------------------------------------<br>
* Spice Model : EP3<br>
*--------------------------------------------------------------- <br>
*{EPMM9_TYP}<br>
*<br>
.MODEL &nbsp;EP3 pmos<br>
*----------------------------------------------------------------------<br>
* Family pmos Model EP mm9 typ<br>
*---------------------------------------------------------------------- <br>
+ level=3D59<br>
+ &nbsp;tox=3D8.2e-09 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tr=3D27 &nbsp; &nb=
sp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ler=3D9.954e-06<br>
+ lvar=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lap=3D2.2=
994e-08
&nbsp; &nbsp; &nbsp; &nbsp;wer=3D9.8871e-06<br>
+ wvar=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;wot=3D5.6=
447e-08
&nbsp; &nbsp; &nbsp; &nbsp;vtor=3D0.605<br>
+ slvto=3D2.4157e-08 &nbsp; &nbsp; &nbsp;sl2vto=3D-8.8158e-15 &nbsp;
&nbsp;swvto=3D-2.4478e-09<br>
+ stvto=3D-0.00093097 &nbsp; &nbsp; betsq=3D4.6238e-05 &nbsp; &nbsp;
&nbsp;etabet=3D1.1695<br>
+ the1r=3D0.21277 &nbsp; &nbsp; &nbsp; &nbsp; slthe1r=3D6.6646e-08 &nbsp;
&nbsp;swthe1=3D-1.19e-09<br>
+ stthe1r=3D-0.00045468 &nbsp; stlthe1=3D-1.8179e-10 &nbsp; the2r=3D0.33738=
<br>
+ slthe2r=3D-3.7174e-08 &nbsp; swthe2=3D1.9299e-08 &nbsp; &nbsp; stthe2r=3D=
- -0.0004339<br>
+ stlthe2=3D7.9686e-11 &nbsp; &nbsp;kor=3D0.65138 &nbsp; &nbsp; &nbsp; &nbs=
p;
&nbsp; slko=3D-5.6962e-08<br>
+ swko=3D2.1928e-08 &nbsp; &nbsp; &nbsp; kr=3D0.65138 &nbsp; &nbsp; &nbsp; =
&nbsp;
&nbsp; &nbsp;slk=3D-5.6962e-08<br>
+ swk=3D 2.1928e-08 &nbsp; &nbsp; &nbsp; &nbsp;vsbxr=3D100 &nbsp; &nbsp; &n=
bsp;
&nbsp; &nbsp; &nbsp; slvsbx=3D0<br>
+ swvsbx=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;phibr=3D0.8476=
4 &nbsp;
&nbsp; &nbsp; &nbsp; zet1r=3D1.8722<br>
+ slzet1=3D-1.6842e-07 &nbsp; &nbsp;etazet=3D1 &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp;
&nbsp; &nbsp;mor=3D0.30905<br>
+ slmo=3D8.3171e-06 &nbsp; &nbsp; &nbsp; stmo=3D0.00010119 &nbsp; &nbsp; &n=
bsp;
etamr=3D1 <br>
+ gamoor=3D0.0001689 &nbsp; &nbsp; &nbsp;slgamoo=3D1.1391e-15 &nbsp;
&nbsp;etagamr=3D1<br>
+ vsbtr=3D100 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; slvsbt=3D0 &nbsp; &=
nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gam1r=3D-0.0015083<br>
+ slgam1=3D1.4997e-08 &nbsp; &nbsp; swgam1=3D8.7524e-10 &nbsp; &nbsp; etads=
r=3D0.6<br>
+ vpr=3D10.86 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; alpr=3D0.022451 &nb=
sp;
&nbsp; &nbsp; &nbsp; slalp=3D8.2822e-09<br>
+ swalp=3D-1.2618e-08 &nbsp; &nbsp; etaalp=3D1 &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp;
&nbsp; &nbsp;the3r=3D-0.014429<br>
+ stlthe3=3D-6.7464e-11 &nbsp; swthe3=3D1.9606e-09 &nbsp; &nbsp; stthe3r=3D=
2.4982e-05<br>
+ slthe3r=3D7.3895e-09 &nbsp; &nbsp;a1r=3D3.844 &nbsp; &nbsp; &nbsp; &nbsp;=
 &nbsp;
&nbsp; sla1=3D2.9719e-07 <br>
+ swa1=3D-9.356e-09 &nbsp; &nbsp; &nbsp; sta1=3D0.015722 &nbsp; &nbsp; &nbs=
p;
&nbsp; a2r=3D29.335<br>
+ sla2=3D4.8732e-10 &nbsp; &nbsp; &nbsp; swa2=3D-3.0085e-10 &nbsp; &nbsp;
&nbsp;a3r=3D1.1664<br>
+ sla3=3D-1.0574e-07 &nbsp; &nbsp; &nbsp;swa3=3D-3.3629e-09 &nbsp; &nbsp;
&nbsp;col=3D6.1e-11<br>
+ ntr=3D2.2e-20 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nfr=3D4.182e-12 <br>
* Parameters file : diode.dds,v 1.2 1999/01/06 10:27:17<br>
* -- JUNCAP Diode Electrical Parameters for S/D regions &nbsp;(Simulator
specific)<br>
+ diolev=3D9 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tnom=3D27 &nbs=
p;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; vr=3D0<br>
+ cjbr=3D0.001329 &nbsp; &nbsp; &nbsp; &nbsp; cjsr=3D 3.146e-10 &nbsp; &nbs=
p;
&nbsp; &nbsp;cjgr=3D1.864e-10<br>
+ &nbsp;jsdbr=3D1.9e-07 &nbsp; &nbsp; &nbsp; &nbsp; jsdsr=3D4.572e-14 &nbsp=
; &nbsp;
&nbsp; jsdgr=3D1e-20<br>
+ jsgbr=3D4.057e-06 &nbsp; &nbsp; &nbsp; jsgsr=3D2.782e-11 &nbsp; &nbsp; &n=
bsp;
jsggr=3D4.751e-11<br>
+ &nbsp;vdbr=3D0.8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vdsr=3D0=
.8
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vdgr=3D0.8<br>
+ pb=3D0.43 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps=3D0.33 &nbs=
p;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pg=3D0.43<br>
+ &nbsp;dcaplev=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rlev=3D1 &nbs=
p;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;alev=3D3<br>
<br>
*(1)+rsh=3D2.4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rs=3D70 &nb=
sp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rd=3D70<br>
+ ldif=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;hdif=3D4.=
875e-07<br>
*.ENDL <br>
<br>
*---------------------------------------------------------------<br>
* Spice Model : EN3<br>
*---------------------------------------------------------------<br>
*.model EN3 *BIB:HC6XXX_ELDO.EN3_TYP<br>
*{ENMM9_TYP}<br>
.MODEL &nbsp;EN3 nmos<br>
*----------------------------------------------------------------------<br>
* Family nmos Model EN mm9 typ<br>
*----------------------------------------------------------------------<br>
+ level=3D59<br>
+ &nbsp;tox=3D 7.6e-09 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tr=3D27 &nbsp; &n=
bsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ler=3D9.9839e-06<br>
+ lvar=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lap=3D8.0=
45e-09
&nbsp; &nbsp; &nbsp; &nbsp; wer=3D9.7552e-06<br>
+ wvar=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;wot=3D1.2=
24e-07
&nbsp; &nbsp; &nbsp; &nbsp; vtor=3D0.635<br>
+ slvto=3D7.0216e-08 &nbsp; &nbsp; &nbsp;sl2vto=3D-2.4754e-14 &nbsp;
&nbsp;swvto=3D2.3042e-08<br>
+ stvto=3D-0.00087141 &nbsp; &nbsp; betsq=3D0.0002259 &nbsp; &nbsp; &nbsp;
etabet=3D1.6336<br>
+ the1r=3D0.2364 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;slthe1r=3D1.3077e-07 &nb=
sp;
&nbsp;swthe1=3D-8.2823e-08<br>
+ stthe1r=3D-6.6798e-06 &nbsp; stlthe1=3D-5.1702e-10 &nbsp; the2r=3D0.15491=
<br>
+ slthe2r=3D- 2.1137e-08 &nbsp; swthe2=3D9.6765e-08 &nbsp; &nbsp; stthe2r=
=3D0.0003788<br>
+ stlthe2=3D-2.1968e-11 &nbsp; kor=3D0.536 &nbsp; &nbsp; &nbsp; &nbsp; &nbs=
p;
&nbsp; slko=3D-7.6164e-08<br>
+ swko=3D2.7463e-08 &nbsp; &nbsp; &nbsp; kr=3D0.536 &nbsp; &nbsp; &nbsp; &n=
bsp;
&nbsp; &nbsp; &nbsp;slk=3D-7.3164e-08<br>
+ swk=3D2.7463e-08 &nbsp; &nbsp; &nbsp; &nbsp;vsbxr=3D100 &nbsp; &nbsp; &nb=
sp;
&nbsp; &nbsp; &nbsp; slvsbx=3D0 <br>
+ swvsbx=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;phibr=3D0.8476=
4 &nbsp;
&nbsp; &nbsp; &nbsp; zet1r=3D2.5785<br>
+ slzet1=3D-0.00012272 &nbsp; &nbsp;etazet=3D0.5 &nbsp; &nbsp; &nbsp; &nbsp=
; &nbsp;
&nbsp;mor=3D0.31129<br>
+ slmo=3D-1.3606e-06 &nbsp; &nbsp; &nbsp;stmo=3D-0.00082026 &nbsp; &nbsp;
&nbsp;etamr=3D1<br>
+ gamoor=3D0.00096059 &nbsp; &nbsp; slgamoo=3D2.9931e-15 &nbsp; &nbsp;etaga=
mr=3D1<br>
+ vsbtr=3D100 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; slvsbt=3D0 &nbsp; &=
nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gam1r=3D0.00063636<br>
+ slgam1=3D1.2818e-08 &nbsp; &nbsp; swgam1=3D-4.7172e-10 &nbsp; &nbsp;etads=
r=3D0.6<br>
+ vpr=3D17.25 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; alpr=3D0.01 &nbsp; =
&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; slalp=3D0<br>
+ swalp=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; etaalp=3D1 &nb=
sp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;the3r=3D- 0.025862<br>
+ stlthe3=3D-2.8694e-10 &nbsp; swthe3=3D-2.4e-08 &nbsp; &nbsp; &nbsp;
stthe3r=3D-4.1862e-05<br>
+ slthe3r=3D1.014e-07 &nbsp; &nbsp; a1r=3D5.5559 &nbsp; &nbsp; &nbsp; &nbsp=
; &nbsp;
&nbsp;sla1=3D5.4355e-07<br>
+ swa1=3D-3.3508e-07 &nbsp; &nbsp; &nbsp;sta1=3D0.0084971 &nbsp; &nbsp; &nb=
sp;
&nbsp;a2r=3D20<br>
+ sla2=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;swa2=3D0 =
&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;a3r=3D 1.1206<br>
+ sla3=3D-1.4134e-07 &nbsp; &nbsp; &nbsp;swa3=3D-1.0882e-08 &nbsp; &nbsp;
&nbsp;col=3D6.1e-11<br>
+ ntr=3D2.2e-20 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nfr=3D6.085e-12<br>
* Parameters file : diode.dds,v 1.2 1999/01/06 10:27:17<br>
* -- JUNCAP Diode Electrical Parameters for S/D regions &nbsp;(Simulator
specific) <br>
+ diolev=3D9 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tnom=3D27 &nbs=
p;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; vr=3D0<br>
+ cjbr=3D0.000933 &nbsp; &nbsp; &nbsp; &nbsp; cjsr=3D2.994e-10 &nbsp; &nbsp=
; &nbsp;
&nbsp;cjgr=3D2.085e-10<br>
+ &nbsp;jsdbr=3D1.295e-08 &nbsp; &nbsp; &nbsp; jsdsr=3D1e-20 &nbsp; &nbsp; =
&nbsp;
&nbsp; &nbsp; jsdgr=3D9.999e-16<br>
+ jsgbr=3D4.86e-07 &nbsp; &nbsp; &nbsp; &nbsp;jsgsr=3D2.4e-11 &nbsp; &nbsp;=
 &nbsp;
&nbsp; jsggr=3D1.8e-12<br>
+ &nbsp;vdbr=3D0.8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vdsr=3D0=
.8
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vdgr=3D0.8<br>
+ pb=3D0.37 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ps=3D0.21 &nbs=
p;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pg=3D0.37<br>
+ &nbsp;dcaplev=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rlev=3D1 &nbs=
p;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;alev=3D3<br>
<br>
*(1)+rsh=3D2.7 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rs=3D48 &nb=
sp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rd=3D48 <br>
+ ldif=3D0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;hdif=3D4.=
875e-07<br>
*.ENDL<br>
<br>
***<br>
*** ADDING NET (from S2ibis3)<br>
***<br>
<br>
VOUTS2I OEIN 0 DC 0.0<br>
<br>
VCLMPS2I VDDE 0 &nbsp;DC 3.0<br>
VGCLMPS2I GNDE 0 &nbsp;DC 0.0<br>
<br>
<br>
.TEMP 27.0<br>
<br>
<br>
.DC VOUTS2I 3.0 6.0 0.04<br>
.PRINT DC I(VOUTS2I)<br>
<br>
.END<br>
<br>
<o:p></o:p></span></font></b></p>

</div>

<p class=3DMsoNormal style=3D'margin-left:.5in'><b><font size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt;font-weight:bold'>=
<br>
<br>
- -- <br>
This message has been scanned for viruses and <br>
dangerous content by <a href=3D"http://www.mailscanner.info/">MailScanner</=
a>,
and is <br>
believed to be clean. </span></font></b><o:p></o:p></p>

</div>

</body>

<br />--=20
<br />This message has been scanned for viruses and
<br />dangerous content by
<a href=3D"http://www.mailscanner.info/"><b>MailScanner</b></a>, and is
<br />believed to be clean.
</html>

- ------_=_NextPart_001_01C82B37.AC27DB2E--
- --------------------------------------------------------------------
|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

------------------------------

Date: Thu, 29 Nov 2007 09:42:37 +0530
From: "Ummalaneni, Venu Babu (Venu)" <Venu.Ummalaneni@lsi.com>
Subject: [IBIS-Users] RE: Trimming V-t curves - IBIS model behavior in over clocking mode

Dmitry and all,

I am curious to know your experiences on the experiments with "trimming
V-t curves". Could some one please comment on the behavior of IBIS model
with Hspice simulator before and after trimming? I mean, whether the
correlation of the IBIS vs golden model in over clocking mode improved
after trimming the V-t curves?

Thanks & Best Regards,
Venu

- -----Original Message-----
From: owner-ibis-users@eda.org [mailto:owner-ibis-users@eda.org] On
Behalf Of Dimitry Eisenshtat
Sent: Tuesday, January 16, 2007 3:32 AM
To: Todd Westerhoff
Cc: ibis@eda-stds.org; ibis-users@eda.org
Subject: Re: [IBIS-Users] RE: [IBIS] Ibis open drain strange behaviour

Hi Todd,
first of all - thanks for your reply, as I said, I'm writing script for
trimming V/T tables in order to satisfy Cookbook recommendation, so your
explanation is really useful. Thank you :)

Ok, I see from your virtual DDR example that "over clocking" should
require special treatment on IBIS simulator side, and I finally decide
to avoid such situations and create IBIS models with V/T tables time
window up to  half of minimum signal period the buffer designed for.

Now some words about HOW I will do it. I think the most important point
you mentioned is "time correlation" of all given corner curves. I want
use simple algorithm for automatically trimming V/T curves, let me
explain. Lets say we have 12 transients, exactly as in your (most
common) example of push-pull buffer simulated in 3 corners with load of
50 ohm once to supply, once to ground. The steps will be:

1) Run spice simulations (with s2ibis* or manually, does not matter)
with as small time step as it possible for simulation time large enough
for weakest conditions (corner/load) transition to be finally completed.

The idea is to begin with "ideal" time resolution for all transitions
regions in our 12 curves.

2) For each curve find largest time interval (T1,T2) which satisfy
voltage tolerance of delta from initial and final DC solutions, i.e.
  |(V(T1)-Vstart)/VDD|  < Vtol,
  |(V(T2)-Vend)/VDD|    < Vtol
where Vtol tolerance chosen smaller than IBISCHK's one so the checker
will not report "DC endpoints" warning on trimmed tables latter. All
data points outside of this interval (T1,T2) are declared "dead zones" 
and have no importance. So the Vtol value actually plays as "dead zones"

definition criteria and should be the parameter to be changed if needed.

3) For all curves (rising/falling/load) of given corner find the minimum
T1 value, lets define it as T1_typ, T1_slow, T1_fast or T1_<corner>.

4) Calculate maximum interval dT_max = max {|T2-T1_<corner>|} for ALL
curves.

5) Shift all curves for given corner left in time by T1_<corner> value.

6) Truncate all curves at time dT_max (from new 0 time after shifting)

7) Add one points to end of each curve in order to form a line with zero
slope for case of some simulators extrapolation will be needed.

8) Remember, we start from "the best" time resolution, so it is possible
that we get desire time window from overclocking point of view, but
number of points in final V/T tables still exceeds the maximum allowed
by IBIS spec. In this case I suggest to use "greatest change algorithm" 
in order to decrease the number of tables points, as it described in
Cookbook (pages 63-64).

As the result, if I have no mistake, we will get "corner time-
correlated" tables. However, across corners correlation is not
guaranteed. My assumption is that the user will be interested in
analyzing the buffer's (buffer itself, I mean not control logic but
pullup/pulldown devices which actually drive the pad) corner-specific
behavioral/differences, so I at least do not worsen the model quality,
or even improve it. Anyway,  in some cases there will be no possibility
to satisfy "overclocking free" condition without shifting the corner's
curves one to each other, in other words without trimming different
amounts from different corners.

Does it make sense? I like to complete realizing this algorithm in perl
and try it on last DDR2 model I produced. Only IBIS simulator I have is
HSpice, so the plan is to compare the behavioral of IBIS model before
and after trimming. I hope the HSpice is bad enough in "over clocking" 
scenario, otherwise I will see no difference/improvements anyway :)

Regards,
    Dmitry


Todd Westerhoff wrote:
> Sorry for the delay in reply - I took the weekend off ;-)
> 
> As far as non-time correlation between IBIS and transistor models goes
> - no, it isn't a problem at all.  It's just important that people 
> understand what a model represents and what it doesn't, so that they 
> can draw the right conclusions from their simulations.  I was just 
> re-iterating one of my favorite points with "time 0 in an IBIS model
is arbitrary".
> 
> To your point, it's worth noting that time 0 in a spice model-based 
> simulation is often arbitrary as well.  A spice model represents only 
> the output buffer at most, so if you're analyzing a device with a 
> clock-to-out timing specification, you still need to figure out how to

> combine the delays measured in simulation with the timing spec for the
device.
> 
> I think people often ascribe too much credibility to spice models.  
> The model you receive is a function of how the netlist and parasitics 
> for the buffer were extracted - it's far too easy to become confused 
> about what part of the overall device the spice model represents.
> 
> As to page 70 of the IBIS cookbook - I agree with what it says.  That 
> particular page is assuming a DDR device, so that a 100 MHz clock 
> yields 200M transfers/sec, each with a 5 ns UI.  Let's suppose you 
> have a model with a 6ns rising V-T curve for this case.  The simulator

> will trigger the curve, begin sweeping the output, and then get 
> retriggered at the 5ns point
> - before the rising edge is complete.  What should the simulator do?
> 
> - should it just jump to the start of the falling curve (if it does, 
> you may get a discontinuity on the output that can either glitch the 
> output or cause a convergence problem)
> 
> - should the simulator "pipeline" the waveform results, and just 
> remember the next edge starts 1 ns later - and if the input edges keep

> coming faster than the curve length, how long should the simulator 
> keep this up before it starts clipping data?
> 
> ... my earlier point was that the IBIS spec has no guidance on how a 
> simulator should handle "overclocking" and different simulators DO 
> handle this issue different ways.  That being the case, it's best to 
> avoid the problem by complying with the strong recommendation on page
70.
> 
> As far as curve trimming goes, allow me to provide a *brief* overview,

> although I'm sure this subject has been discussed previously.
> Pointers into the archive for this subject from others would be
appreciated.
> 
> Let's consider a push-pull output stage instead of open drain - 
> open-drain will just be a simpler case.
> 
> Each output should have the following V-T curves
> 	
> 	[Corners]         x [Edge]             x [Loading]
> 
> 	[Min / Typ / Max] x [Rising / Falling] x [50 ohms GND / 50 ohms
VDDQ]
> 
> ... for a total of 12 sets of V-T curves.  
> 
> ... for each [Corner]/[Loading] combination, it is ESSENTIAL that if 
> you trim dead time off one curve, you trim the SAME amount of dead 
> time off the other.  As an example, if you trim 1ns off the start of 
> the [Min]/[Rising]/[50 ohms GND] curve, you MUST trim 1ns off the 
> [Min]/[Rising]/[50 ohms VDDQ] curve.  If the second curve was already 
> rising at that point, well, you need to trim less.
> 
> This is what's called "time correlation" between curves, and it must 
> be maintained.
> 
> ... good practice dictates that you coordinate your trimming across 
> all four of the V-T waveforms for any corner.  If you don't do this, 
> you'll introduce duty cycle distortion into the simulated waveform 
> without meaning to.  I believe this is now considered to be required 
> practice.  So, if you trim 1ns off the start of the [Min]/[Rising]/[50

> ohms GND] curve, you really, really should trim 1ns off the following
curves:
> 
> 	[Min]/[Rising]/[50 ohms VDDQ]
> 	[Min]/[Falling]/[50 ohms GND]
> 	[Min]/[Falling]/[50 ohms VDDQ]
> 
> ... so that time correlation is maintained across all the [Min] 
> curves.  As before, if you go to trim any of the curves and find the 
> transition was already starting, you need to trim less.
> 
> I don't believe IBIS requires that you coordinate trimming across
corners.
> Thus, you can trim different amounts from the [Min] and [Typ] curve
sets.
> In practice, you'll find this is useful because if you try to 
> coordinate trimming across a 3 corners, the amount you are able to 
> trim may be sharply limited.  It's important to understand, though, 
> that if you trim different amounts from the different corners, the 
> time correlation between the corners will be lost.  Strictly speaking,

> that's not a problem, as time 0 in an IBIS simulation is arbitrary.
> HOWEVER - if users of the model simulate the [Min] and [Typ] cases and

> overlay the results, they will draw incorrect conclusions if they
assume the curves are time-correlated.
> 
> It probably goes without saying, but - you can trim any amount of dead

> time you want off the END of a curve once the slope is zero.  Good 
> practice says the last two points should form a line with zero slope, 
> so that any extrapolation the simulator performs does what you expect.
> 
> As in all modeling - knowing what you've got is the first step in 
> understanding what conclusions you can draw.
> 
> Arpad & others - please correct me if I've gotten any of this wrong
...
> 
> Todd.
> 
> Todd Westerhoff
> VP, Software Products
> SiSoft
> 6 Clock Tower Place, Suite 250
> Maynard, MA  01754
> (978) 461-0449 x24
> twesterh@sisoft.com
> www.sisoft.com
> -----Original Message-----
> From: owner-ibis-users@eda.org [mailto:owner-ibis-users@eda.org] On 
> Behalf Of Dimitry Eisenshtat
> Sent: Saturday, January 13, 2007 3:58 AM
> To: Todd Westerhoff
> Cc: ibis@eda-stds.org; ibis-users@eda.org
> Subject: Re: [IBIS-Users] RE: [IBIS] Ibis open drain strange behaviour
> 
> Todd,
> ok, we understand that time correlation between IBIS and HSpice is not

> guaranteed, but is it really problem? I mean, in the most often 
> situation there is no place for such comparison at all, because you 
> have only IBIS model, no spice netlist is available. This is the first

> reason for making IBIS (if simulator speed is not an issue), is it 
> right? Lets say, I'm with semiconductor vendor side, I have the 
> netlist of the buffer, I  make the IBIS model based on spice 
> simulations, not lab measurements, so on final step when the model is 
> ready I like to check it vs. original spice behavioral. This is the 
> only situation I agree the comparison is important. But in such case 
> there is no REAL problem - I know exactly about the delay, and if it 
> is the only difference between the IBIS & spice - I don't care.
> 
> I want ask you about IBIS simulator aspect of the point we are talking

> about. Look, I find in "Cookbook for ver4" strongly recommendation to 
> trim IBIS model time tables at least to half of max buffer frequency 
> period. (http://www.vhdl.org/pub/ibis/cookbook/cookbook-v4.pdf page 
> 70,
> 5.4.2 V-T Table Windowing). Can you please prefer from simulator 
> software side - is it really problem for the simulator if the time 
> table window is more then such time interval? And one additional 
> point, you wrote "There are specific restrictions on how the dead time

> may be trimmed, which is a longer discussion" - right now I writes 
> perl script which will trim tables in order to leave only transition 
> region and decrease the time window as the Cookbook recommends to do.
> So, can you please explain about these restrictions?
> 
> Thanks,
>   Dmitry
> 
> ... (previous thread clipped)
> 
> 


- --
  +---------------------------------------------------------+
  | Dmitry Aizenshtat         Circuit Design Engineer, NSTA |
  | Tel : 972-9-9702-020               Fax : 972-9-9702-001 |
  | mailto:dimita@taux01.nsc.com                            |
  +---------------------------------------------------------+


========================================================================
===================
The privileged confidential information contained in this email is
intended for use only by the addressees as indicated by the original
sender of this email. If you are not the addressee indicated in this
email or are not responsible for delivery of the email to such  a
person, please kindly reply to the sender indicating this fact and
delete all copies of it from your computer and network server
immediately. Your cooperation is highly appreciated. It is advised that
any unauthorized use of confidential information of Winbond is strictly
prohibited; and any information in this email irrelevant to the official
business of Winbond shall be deemed as neither given nor endorsed by
Winbond.

- --
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

- -- 
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

------------------------------

Date: Wed, 5 Dec 2007 15:47:10 +0530
From: "Ummalaneni, Venu Babu (Venu)" <Venu.Ummalaneni@lsi.com>
Subject: RE: [IBIS-Users] RE: Trimming V-t curves - IBIS model behavior in over clocking mode

This is a multi-part message in MIME format.

- ------_=_NextPart_001_01C83727.FE90A661
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Amit Kumar,
=20
Thanks for your response. I too experienced the similar results with the
hspice on "before trimming vs after trimming the V-t curves".=20
=20
Regards,
Venu

________________________________

From: Amit KUMAR [mailto:amit-hpc.kumar@st.com]=20
Sent: Thursday, November 29, 2007 4:59 PM
To: Ummalaneni, Venu Babu (Venu)
Cc: Dimitry Eisenshtat; ibis@eda-stds.org; ibis-users@eda.org; Todd
Westerhoff
Subject: Re: [IBIS-Users] RE: Trimming V-t curves - IBIS model behavior
in over clocking mode


Hello Dmitry

I have been using Hspice to simulate IBIS models for a while and i have
observed that
there is no difference(or let me say miniscule diffrences) after
trimming V-t curves.
It can make difference only if you have missed many intermediate points
before trimming and=20
after trimming they are included.
But if you have been careful enough to extract your V-t waveforms=20
i feel trimming does not bring any improvement in the results.

Also i have felt that Ramp data is also not important if you have given
V-t waveforms.
No matter how weird your ramp data may look simulation results will be
good if your=20
V-t waveforms are extracted properly.

One parameter which changes the waveform considerably is C_comp.
One should be careful in extracting C_comp as wrong calculation of
C_comp can lead to bad results.

I leave to the experts to comment on my observations.

Regards
Amit Kumar
ST Microelectronics-Noida

Ummalaneni, Venu Babu (Venu) wrote:


	Dmitry and all,
=09
	I am curious to know your experiences on the experiments with
"trimming
	V-t curves". Could some one please comment on the behavior of
IBIS model
	with Hspice simulator before and after trimming? I mean, whether
the
	correlation of the IBIS vs golden model in over clocking mode
improved
	after trimming the V-t curves?
=09
	Thanks & Best Regards,
	Venu
=09
	-----Original Message-----
	From: owner-ibis-users@eda.org [mailto:owner-ibis-users@eda.org]
On
	Behalf Of Dimitry Eisenshtat
	Sent: Tuesday, January 16, 2007 3:32 AM
	To: Todd Westerhoff
	Cc: ibis@eda-stds.org; ibis-users@eda.org
	Subject: Re: [IBIS-Users] RE: [IBIS] Ibis open drain strange
behaviour
=09
	Hi Todd,
	first of all - thanks for your reply, as I said, I'm writing
script for
	trimming V/T tables in order to satisfy Cookbook recommendation,
so your
	explanation is really useful. Thank you :)
=09
	Ok, I see from your virtual DDR example that "over clocking"
should
	require special treatment on IBIS simulator side, and I finally
decide
	to avoid such situations and create IBIS models with V/T tables
time
	window up to  half of minimum signal period the buffer designed
for.
=09
	Now some words about HOW I will do it. I think the most
important point
	you mentioned is "time correlation" of all given corner curves.
I want
	use simple algorithm for automatically trimming V/T curves, let
me
	explain. Lets say we have 12 transients, exactly as in your
(most
	common) example of push-pull buffer simulated in 3 corners with
load of
	50 ohm once to supply, once to ground. The steps will be:
=09
	1) Run spice simulations (with s2ibis* or manually, does not
matter)
	with as small time step as it possible for simulation time large
enough
	for weakest conditions (corner/load) transition to be finally
completed.
=09
	The idea is to begin with "ideal" time resolution for all
transitions
	regions in our 12 curves.
=09
	2) For each curve find largest time interval (T1,T2) which
satisfy
	voltage tolerance of delta from initial and final DC solutions,
i.e.
	  |(V(T1)-Vstart)/VDD|  < Vtol,
	  |(V(T2)-Vend)/VDD|    < Vtol
	where Vtol tolerance chosen smaller than IBISCHK's one so the
checker
	will not report "DC endpoints" warning on trimmed tables latter.
All
	data points outside of this interval (T1,T2) are declared "dead
zones"=20
	and have no importance. So the Vtol value actually plays as
"dead zones"
=09
	definition criteria and should be the parameter to be changed if
needed.
=09
	3) For all curves (rising/falling/load) of given corner find the
minimum
	T1 value, lets define it as T1_typ, T1_slow, T1_fast or
T1_<corner>.
=09
	4) Calculate maximum interval dT_max =3D max {|T2-T1_<corner>|}
for ALL
	curves.
=09
	5) Shift all curves for given corner left in time by T1_<corner>
value.
=09
	6) Truncate all curves at time dT_max (from new 0 time after
shifting)
=09
	7) Add one points to end of each curve in order to form a line
with zero
	slope for case of some simulators extrapolation will be needed.
=09
	8) Remember, we start from "the best" time resolution, so it is
possible
	that we get desire time window from overclocking point of view,
but
	number of points in final V/T tables still exceeds the maximum
allowed
	by IBIS spec. In this case I suggest to use "greatest change
algorithm"=20
	in order to decrease the number of tables points, as it
described in
	Cookbook (pages 63-64).
=09
	As the result, if I have no mistake, we will get "corner time-
	correlated" tables. However, across corners correlation is not
	guaranteed. My assumption is that the user will be interested in
	analyzing the buffer's (buffer itself, I mean not control logic
but
	pullup/pulldown devices which actually drive the pad)
corner-specific
	behavioral/differences, so I at least do not worsen the model
quality,
	or even improve it. Anyway,  in some cases there will be no
possibility
	to satisfy "overclocking free" condition without shifting the
corner's
	curves one to each other, in other words without trimming
different
	amounts from different corners.
=09
	Does it make sense? I like to complete realizing this algorithm
in perl
	and try it on last DDR2 model I produced. Only IBIS simulator I
have is
	HSpice, so the plan is to compare the behavioral of IBIS model
before
	and after trimming. I hope the HSpice is bad enough in "over
clocking"=20
	scenario, otherwise I will see no difference/improvements anyway
:)
=09
	Regards,
	    Dmitry
=09
=09
	Todd Westerhoff wrote:
=09=20=20

		Sorry for the delay in reply - I took the weekend off
;-)
=09=09
		As far as non-time correlation between IBIS and
transistor models goes
		- no, it isn't a problem at all.  It's just important
that people=20
		understand what a model represents and what it doesn't,
so that they=20
		can draw the right conclusions from their simulations.
I was just=20
		re-iterating one of my favorite points with "time 0 in
an IBIS model
=09=09=20=20=20=20

	is arbitrary".
=09=20=20

		To your point, it's worth noting that time 0 in a spice
model-based=20
		simulation is often arbitrary as well.  A spice model
represents only=20
		the output buffer at most, so if you're analyzing a
device with a=20
		clock-to-out timing specification, you still need to
figure out how to
=09=09=20=20=20=20

=09
=09=20=20

		combine the delays measured in simulation with the
timing spec for the
=09=09=20=20=20=20

	device.
=09=20=20

		I think people often ascribe too much credibility to
spice models.=20=20
		The model you receive is a function of how the netlist
and parasitics=20
		for the buffer were extracted - it's far too easy to
become confused=20
		about what part of the overall device the spice model
represents.
=09=09
		As to page 70 of the IBIS cookbook - I agree with what
it says.  That=20
		particular page is assuming a DDR device, so that a 100
MHz clock=20
		yields 200M transfers/sec, each with a 5 ns UI.  Let's
suppose you=20
		have a model with a 6ns rising V-T curve for this case.
The simulator
=09=09=20=20=20=20

=09
=09=20=20

		will trigger the curve, begin sweeping the output, and
then get=20
		retriggered at the 5ns point
		- before the rising edge is complete.  What should the
simulator do?
=09=09
		- should it just jump to the start of the falling curve
(if it does,=20
		you may get a discontinuity on the output that can
either glitch the=20
		output or cause a convergence problem)
=09=09
		- should the simulator "pipeline" the waveform results,
and just=20
		remember the next edge starts 1 ns later - and if the
input edges keep
=09=09=20=20=20=20

=09
=09=20=20

		coming faster than the curve length, how long should the
simulator=20
		keep this up before it starts clipping data?
=09=09
		... my earlier point was that the IBIS spec has no
guidance on how a=20
		simulator should handle "overclocking" and different
simulators DO=20
		handle this issue different ways.  That being the case,
it's best to=20
		avoid the problem by complying with the strong
recommendation on page
=09=09=20=20=20=20

	70.
=09=20=20

		As far as curve trimming goes, allow me to provide a
*brief* overview,
=09=09=20=20=20=20

=09
=09=20=20

		although I'm sure this subject has been discussed
previously.
		Pointers into the archive for this subject from others
would be
=09=09=20=20=20=20

	appreciated.
=09=20=20

		Let's consider a push-pull output stage instead of open
drain -=20
		open-drain will just be a simpler case.
=09=09
		Each output should have the following V-T curves
=09=09=09
			[Corners]         x [Edge]             x
[Loading]
=09=09
			[Min / Typ / Max] x [Rising / Falling] x [50
ohms GND / 50 ohms
=09=09=20=20=20=20

	VDDQ]
=09=20=20

		... for a total of 12 sets of V-T curves.=20=20
=09=09
		... for each [Corner]/[Loading] combination, it is
ESSENTIAL that if=20
		you trim dead time off one curve, you trim the SAME
amount of dead=20
		time off the other.  As an example, if you trim 1ns off
the start of=20
		the [Min]/[Rising]/[50 ohms GND] curve, you MUST trim
1ns off the=20
		[Min]/[Rising]/[50 ohms VDDQ] curve.  If the second
curve was already=20
		rising at that point, well, you need to trim less.
=09=09
		This is what's called "time correlation" between curves,
and it must=20
		be maintained.
=09=09
		... good practice dictates that you coordinate your
trimming across=20
		all four of the V-T waveforms for any corner.  If you
don't do this,=20
		you'll introduce duty cycle distortion into the
simulated waveform=20
		without meaning to.  I believe this is now considered to
be required=20
		practice.  So, if you trim 1ns off the start of the
[Min]/[Rising]/[50
=09=09=20=20=20=20

=09
=09=20=20

		ohms GND] curve, you really, really should trim 1ns off
the following
=09=09=20=20=20=20

	curves:
=09=20=20

			[Min]/[Rising]/[50 ohms VDDQ]
			[Min]/[Falling]/[50 ohms GND]
			[Min]/[Falling]/[50 ohms VDDQ]
=09=09
		... so that time correlation is maintained across all
the [Min]=20
		curves.  As before, if you go to trim any of the curves
and find the=20
		transition was already starting, you need to trim less.
=09=09
		I don't believe IBIS requires that you coordinate
trimming across
=09=09=20=20=20=20

	corners.
=09=20=20

		Thus, you can trim different amounts from the [Min] and
[Typ] curve
=09=09=20=20=20=20

	sets.
=09=20=20

		In practice, you'll find this is useful because if you
try to=20
		coordinate trimming across a 3 corners, the amount you
are able to=20
		trim may be sharply limited.  It's important to
understand, though,=20
		that if you trim different amounts from the different
corners, the=20
		time correlation between the corners will be lost.
Strictly speaking,
=09=09=20=20=20=20

=09
=09=20=20

		that's not a problem, as time 0 in an IBIS simulation is
arbitrary.
		HOWEVER - if users of the model simulate the [Min] and
[Typ] cases and
=09=09=20=20=20=20

=09
=09=20=20

		overlay the results, they will draw incorrect
conclusions if they
=09=09=20=20=20=20

	assume the curves are time-correlated.
=09=20=20

		It probably goes without saying, but - you can trim any
amount of dead
=09=09=20=20=20=20

=09
=09=20=20

		time you want off the END of a curve once the slope is
zero.  Good=20
		practice says the last two points should form a line
with zero slope,=20
		so that any extrapolation the simulator performs does
what you expect.
=09=09
		As in all modeling - knowing what you've got is the
first step in=20
		understanding what conclusions you can draw.
=09=09
		Arpad & others - please correct me if I've gotten any of
this wrong
=09=09=20=20=20=20

	...
=09=20=20

		Todd.
=09=09
		Todd Westerhoff
		VP, Software Products
		SiSoft
		6 Clock Tower Place, Suite 250
		Maynard, MA  01754
		(978) 461-0449 x24
		twesterh@sisoft.com
		www.sisoft.com
		-----Original Message-----
		From: owner-ibis-users@eda.org
[mailto:owner-ibis-users@eda.org] On=20
		Behalf Of Dimitry Eisenshtat
		Sent: Saturday, January 13, 2007 3:58 AM
		To: Todd Westerhoff
		Cc: ibis@eda-stds.org; ibis-users@eda.org
		Subject: Re: [IBIS-Users] RE: [IBIS] Ibis open drain
strange behaviour
=09=09
		Todd,
		ok, we understand that time correlation between IBIS and
HSpice is not
=09=09=20=20=20=20

=09
=09=20=20

		guaranteed, but is it really problem? I mean, in the
most often=20
		situation there is no place for such comparison at all,
because you=20
		have only IBIS model, no spice netlist is available.
This is the first
=09=09=20=20=20=20

=09
=09=20=20

		reason for making IBIS (if simulator speed is not an
issue), is it=20
		right? Lets say, I'm with semiconductor vendor side, I
have the=20
		netlist of the buffer, I  make the IBIS model based on
spice=20
		simulations, not lab measurements, so on final step when
the model is=20
		ready I like to check it vs. original spice behavioral.
This is the=20
		only situation I agree the comparison is important. But
in such case=20
		there is no REAL problem - I know exactly about the
delay, and if it=20
		is the only difference between the IBIS & spice - I
don't care.
=09=09
		I want ask you about IBIS simulator aspect of the point
we are talking
=09=09=20=20=20=20

=09
=09=20=20

		about. Look, I find in "Cookbook for ver4" strongly
recommendation to=20
		trim IBIS model time tables at least to half of max
buffer frequency=20
		period.
(http://www.vhdl.org/pub/ibis/cookbook/cookbook-v4.pdf page=20
		70,
		5.4.2 V-T Table Windowing). Can you please prefer from
simulator=20
		software side - is it really problem for the simulator
if the time=20
		table window is more then such time interval? And one
additional=20
		point, you wrote "There are specific restrictions on how
the dead time
=09=09=20=20=20=20

=09
=09=20=20

		may be trimmed, which is a longer discussion" - right
now I writes=20
		perl script which will trim tables in order to leave
only transition=20
		region and decrease the time window as the Cookbook
recommends to do.
		So, can you please explain about these restrictions?
=09=09
		Thanks,
		  Dmitry
=09=09
		... (previous thread clipped)
=09=09
=09=09
=09=09=20=20=20=20

=09
=09
	--
	  +---------------------------------------------------------+
	  | Dmitry Aizenshtat         Circuit Design Engineer, NSTA |
	  | Tel : 972-9-9702-020               Fax : 972-9-9702-001 |
	  | mailto:dimita@taux01.nsc.com                            |
	  +---------------------------------------------------------+
=09
=09
=09
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
	=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
	The privileged confidential information contained in this email
is
	intended for use only by the addressees as indicated by the
original
	sender of this email. If you are not the addressee indicated in
this
	email or are not responsible for delivery of the email to such
a
	person, please kindly reply to the sender indicating this fact
and
	delete all copies of it from your computer and network server
	immediately. Your cooperation is highly appreciated. It is
advised that
	any unauthorized use of confidential information of Winbond is
strictly
	prohibited; and any information in this email irrelevant to the
official
	business of Winbond shall be deemed as neither given nor
endorsed by
	Winbond.
=09
	--
	This message has been scanned for viruses and dangerous content
by
	MailScanner, and is believed to be clean.
=09
=09
=09
- --------------------------------------------------------------------
	|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
=09
=09=20=20



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


- ------_=_NextPart_001_01C83727.FE90A661
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE></TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<META content=3D"MSHTML 6.00.2900.3199" name=3DGENERATOR></HEAD>
<BODY>
<DIV><SPAN class=3D114560710-05122007></SPAN><FONT face=3DArial><FONT=20
color=3D#0000ff><FONT size=3D2>Amit&nbsp;Kumar,</FONT></FONT></FONT></DIV>
<DIV><FONT face=3DArial><FONT color=3D#0000ff><FONT=20
size=3D2></FONT></FONT></FONT>&nbsp;</DIV>
<DIV><FONT><FONT><FONT face=3DArial><FONT color=3D#0000ff><FONT size=3D2><S=
PAN=20
class=3D114560710-05122007>Thanks for your response. </SPAN>I<SPAN=20
class=3D114560710-05122007> too experienced the similar results with the hs=
pice on=20
"before trimming vs after trimming the V-t curves".=20
</SPAN></FONT></FONT></FONT></FONT></FONT></DIV>
<DIV><FONT face=3DArial color=3D#0000ff size=3D2></FONT>&nbsp;</DIV>
<DIV><SPAN class=3D114560710-05122007></SPAN><FONT face=3DArial><FONT=20
color=3D#0000ff><FONT size=3D2>R<SPAN=20
class=3D114560710-05122007>egards,</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT><FONT color=3D#0000ff><FONT size=3D2><SPAN=20
class=3D114560710-05122007></SPAN></FONT></FONT></FONT><SPAN=20
class=3D114560710-05122007></SPAN><FONT face=3DArial><FONT color=3D#0000ff>=
<FONT=20
size=3D2>V<SPAN class=3D114560710-05122007>enu</SPAN></FONT></FONT></FONT><=
BR></DIV>
<DIV class=3DOutlookMessageHeader lang=3Den-us dir=3Dltr align=3Dleft>
<HR tabIndex=3D-1>
<FONT face=3DTahoma size=3D2><B>From:</B> Amit KUMAR [mailto:amit-hpc.kumar=
@st.com]=20
<BR><B>Sent:</B> Thursday, November 29, 2007 4:59 PM<BR><B>To:</B> Ummalane=
ni,=20
Venu Babu (Venu)<BR><B>Cc:</B> Dimitry Eisenshtat; ibis@eda-stds.org;=20
ibis-users@eda.org; Todd Westerhoff<BR><B>Subject:</B> Re: [IBIS-Users] RE:=
=20
Trimming V-t curves - IBIS model behavior in over clocking=20
mode<BR></FONT><BR></DIV>
<DIV></DIV>Hello Dmitry<BR><BR>I have been using Hspice to simulate IBIS mo=
dels=20
for a while and i have observed that<BR>there is no difference(or let me sa=
y=20
miniscule diffrences) after trimming V-t curves.<BR>It can make difference =
only=20
if you have missed many intermediate points before trimming and <BR>after=
=20
trimming they are included.<BR>But if you have been careful enough to extra=
ct=20
your V-t waveforms <BR>i feel trimming does not bring any improvement in th=
e=20
results.<BR><BR>Also i have felt that Ramp data is also not important if yo=
u=20
have given V-t waveforms.<BR>No matter how weird your ramp data may look=20
simulation results will be good if your <BR>V-t waveforms are extracted=20
properly.<BR><BR>One parameter which changes the waveform considerably is=
=20
C_comp.<BR>One should be careful in extracting C_comp as wrong calculation =
of=20
C_comp can lead to bad results.<BR><BR>I leave to the experts to comment on=
 my=20
observations.<BR><BR>Regards<BR>Amit Kumar<BR>ST=20
Microelectronics-Noida<BR><BR>Ummalaneni, Venu Babu (Venu) wrote:<BR>
<BLOCKQUOTE=20
cite=3DmidB97E265EA45A494E8D42A05F0B8AA223CDCE56@IIBMAILU01.ags.agere.com=
=20
type=3D"cite"><PRE wrap=3D"">Dmitry and all,

I am curious to know your experiences on the experiments with "trimming
V-t curves". Could some one please comment on the behavior of IBIS model
with Hspice simulator before and after trimming? I mean, whether the
correlation of the IBIS vs golden model in over clocking mode improved
after trimming the V-t curves?

Thanks &amp; Best Regards,
Venu

- -----Original Message-----
From: <A class=3Dmoz-txt-link-abbreviated href=3D"mailto:owner-ibis-users@e=
da.org">owner-ibis-users@eda.org</A> [<A class=3Dmoz-txt-link-freetext href=
=3D"mailto:owner-ibis-users@eda.org">mailto:owner-ibis-users@eda.org</A>] On
Behalf Of Dimitry Eisenshtat
Sent: Tuesday, January 16, 2007 3:32 AM
To: Todd Westerhoff
Cc: <A class=3Dmoz-txt-link-abbreviated href=3D"mailto:ibis@eda-stds.org">i=
bis@eda-stds.org</A>; <A class=3Dmoz-txt-link-abbreviated href=3D"mailto:ib=
is-users@eda.org">ibis-users@eda.org</A>
Subject: Re: [IBIS-Users] RE: [IBIS] Ibis open drain strange behaviour

Hi Todd,
first of all - thanks for your reply, as I said, I'm writing script for
trimming V/T tables in order to satisfy Cookbook recommendation, so your
explanation is really useful. Thank you :)

Ok, I see from your virtual DDR example that "over clocking" should
require special treatment on IBIS simulator side, and I finally decide
to avoid such situations and create IBIS models with V/T tables time
window up to  half of minimum signal period the buffer designed for.

Now some words about HOW I will do it. I think the most important point
you mentioned is "time correlation" of all given corner curves. I want
use simple algorithm for automatically trimming V/T curves, let me
explain. Lets say we have 12 transients, exactly as in your (most
common) example of push-pull buffer simulated in 3 corners with load of
50 ohm once to supply, once to ground. The steps will be:

1) Run spice simulations (with s2ibis* or manually, does not matter)
with as small time step as it possible for simulation time large enough
for weakest conditions (corner/load) transition to be finally completed.

The idea is to begin with "ideal" time resolution for all transitions
regions in our 12 curves.

2) For each curve find largest time interval (T1,T2) which satisfy
voltage tolerance of delta from initial and final DC solutions, i.e.
  |(V(T1)-Vstart)/VDD|  &lt; Vtol,
  |(V(T2)-Vend)/VDD|    &lt; Vtol
where Vtol tolerance chosen smaller than IBISCHK's one so the checker
will not report "DC endpoints" warning on trimmed tables latter. All
data points outside of this interval (T1,T2) are declared "dead zones"=20
and have no importance. So the Vtol value actually plays as "dead zones"

definition criteria and should be the parameter to be changed if needed.

3) For all curves (rising/falling/load) of given corner find the minimum
T1 value, lets define it as T1_typ, T1_slow, T1_fast or T1_&lt;corner&gt;.

4) Calculate maximum interval dT_max =3D max {|T2-T1_&lt;corner&gt;|} for A=
LL
curves.

5) Shift all curves for given corner left in time by T1_&lt;corner&gt; valu=
e.

6) Truncate all curves at time dT_max (from new 0 time after shifting)

7) Add one points to end of each curve in order to form a line with zero
slope for case of some simulators extrapolation will be needed.

8) Remember, we start from "the best" time resolution, so it is possible
that we get desire time window from overclocking point of view, but
number of points in final V/T tables still exceeds the maximum allowed
by IBIS spec. In this case I suggest to use "greatest change algorithm"=20
in order to decrease the number of tables points, as it described in
Cookbook (pages 63-64).

As the result, if I have no mistake, we will get "corner time-
correlated" tables. However, across corners correlation is not
guaranteed. My assumption is that the user will be interested in
analyzing the buffer's (buffer itself, I mean not control logic but
pullup/pulldown devices which actually drive the pad) corner-specific
behavioral/differences, so I at least do not worsen the model quality,
or even improve it. Anyway,  in some cases there will be no possibility
to satisfy "overclocking free" condition without shifting the corner's
curves one to each other, in other words without trimming different
amounts from different corners.

Does it make sense? I like to complete realizing this algorithm in perl
and try it on last DDR2 model I produced. Only IBIS simulator I have is
HSpice, so the plan is to compare the behavioral of IBIS model before
and after trimming. I hope the HSpice is bad enough in "over clocking"=20
scenario, otherwise I will see no difference/improvements anyway :)

Regards,
    Dmitry


Todd Westerhoff wrote:
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">Sorry for the delay in reply - I=
 took the weekend off ;-)

As far as non-time correlation between IBIS and transistor models goes
- - no, it isn't a problem at all.  It's just important that people=20
understand what a model represents and what it doesn't, so that they=20
can draw the right conclusions from their simulations.  I was just=20
re-iterating one of my favorite points with "time 0 in an IBIS model
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->is arbitrary".
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">To your point, it's worth noting=
 that time 0 in a spice model-based=20
simulation is often arbitrary as well.  A spice model represents only=20
the output buffer at most, so if you're analyzing a device with a=20
clock-to-out timing specification, you still need to figure out how to
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">combine the delays measured in s=
imulation with the timing spec for the
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->device.
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">I think people often ascribe too=
 much credibility to spice models.=20=20
The model you receive is a function of how the netlist and parasitics=20
for the buffer were extracted - it's far too easy to become confused=20
about what part of the overall device the spice model represents.

As to page 70 of the IBIS cookbook - I agree with what it says.  That=20
particular page is assuming a DDR device, so that a 100 MHz clock=20
yields 200M transfers/sec, each with a 5 ns UI.  Let's suppose you=20
have a model with a 6ns rising V-T curve for this case.  The simulator
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">will trigger the curve, begin sw=
eeping the output, and then get=20
retriggered at the 5ns point
- - before the rising edge is complete.  What should the simulator do?

- - should it just jump to the start of the falling curve (if it does,=20
you may get a discontinuity on the output that can either glitch the=20
output or cause a convergence problem)

- - should the simulator "pipeline" the waveform results, and just=20
remember the next edge starts 1 ns later - and if the input edges keep
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">coming faster than the curve len=
gth, how long should the simulator=20
keep this up before it starts clipping data?

... my earlier point was that the IBIS spec has no guidance on how a=20
simulator should handle "overclocking" and different simulators DO=20
handle this issue different ways.  That being the case, it's best to=20
avoid the problem by complying with the strong recommendation on page
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->70.
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">As far as curve trimming goes, a=
llow me to provide a *brief* overview,
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">although I'm sure this subject h=
as been discussed previously.
Pointers into the archive for this subject from others would be
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->appreciated.
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">Let's consider a push-pull outpu=
t stage instead of open drain -=20
open-drain will just be a simpler case.

Each output should have the following V-T curves
=09
	[Corners]         x [Edge]             x [Loading]

	[Min / Typ / Max] x [Rising / Falling] x [50 ohms GND / 50 ohms
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->VDDQ]
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">... for a total of 12 sets of V-=
T curves.=20=20

... for each [Corner]/[Loading] combination, it is ESSENTIAL that if=20
you trim dead time off one curve, you trim the SAME amount of dead=20
time off the other.  As an example, if you trim 1ns off the start of=20
the [Min]/[Rising]/[50 ohms GND] curve, you MUST trim 1ns off the=20
[Min]/[Rising]/[50 ohms VDDQ] curve.  If the second curve was already=20
rising at that point, well, you need to trim less.

This is what's called "time correlation" between curves, and it must=20
be maintained.

... good practice dictates that you coordinate your trimming across=20
all four of the V-T waveforms for any corner.  If you don't do this,=20
you'll introduce duty cycle distortion into the simulated waveform=20
without meaning to.  I believe this is now considered to be required=20
practice.  So, if you trim 1ns off the start of the [Min]/[Rising]/[50
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">ohms GND] curve, you really, rea=
lly should trim 1ns off the following
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->curves:
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">	[Min]/[Rising]/[50 ohms VDDQ]
	[Min]/[Falling]/[50 ohms GND]
	[Min]/[Falling]/[50 ohms VDDQ]

... so that time correlation is maintained across all the [Min]=20
curves.  As before, if you go to trim any of the curves and find the=20
transition was already starting, you need to trim less.

I don't believe IBIS requires that you coordinate trimming across
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->corners.
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">Thus, you can trim different amo=
unts from the [Min] and [Typ] curve
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->sets.
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">In practice, you'll find this is=
 useful because if you try to=20
coordinate trimming across a 3 corners, the amount you are able to=20
trim may be sharply limited.  It's important to understand, though,=20
that if you trim different amounts from the different corners, the=20
time correlation between the corners will be lost.  Strictly speaking,
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">that's not a problem, as time 0 =
in an IBIS simulation is arbitrary.
HOWEVER - if users of the model simulate the [Min] and [Typ] cases and
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">overlay the results, they will d=
raw incorrect conclusions if they
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->assume the curves are time-cor=
related.
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">It probably goes without saying,=
 but - you can trim any amount of dead
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">time you want off the END of a c=
urve once the slope is zero.  Good=20
practice says the last two points should form a line with zero slope,=20
so that any extrapolation the simulator performs does what you expect.

As in all modeling - knowing what you've got is the first step in=20
understanding what conclusions you can draw.

Arpad &amp; others - please correct me if I've gotten any of this wrong
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->...
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">Todd.

Todd Westerhoff
VP, Software Products
SiSoft
6 Clock Tower Place, Suite 250
Maynard, MA  01754
(978) 461-0449 x24
<A class=3Dmoz-txt-link-abbreviated href=3D"mailto:twesterh@sisoft.com">twe=
sterh@sisoft.com</A>
<A class=3Dmoz-txt-link-abbreviated href=3D"http://www.sisoft.com">www.siso=
ft.com</A>
- -----Original Message-----
From: <A class=3Dmoz-txt-link-abbreviated href=3D"mailto:owner-ibis-users@e=
da.org">owner-ibis-users@eda.org</A> [<A class=3Dmoz-txt-link-freetext href=
=3D"mailto:owner-ibis-users@eda.org">mailto:owner-ibis-users@eda.org</A>] O=
n=20
Behalf Of Dimitry Eisenshtat
Sent: Saturday, January 13, 2007 3:58 AM
To: Todd Westerhoff
Cc: <A class=3Dmoz-txt-link-abbreviated href=3D"mailto:ibis@eda-stds.org">i=
bis@eda-stds.org</A>; <A class=3Dmoz-txt-link-abbreviated href=3D"mailto:ib=
is-users@eda.org">ibis-users@eda.org</A>
Subject: Re: [IBIS-Users] RE: [IBIS] Ibis open drain strange behaviour

Todd,
ok, we understand that time correlation between IBIS and HSpice is not
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">guaranteed, but is it really pro=
blem? I mean, in the most often=20
situation there is no place for such comparison at all, because you=20
have only IBIS model, no spice netlist is available. This is the first
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">reason for making IBIS (if simul=
ator speed is not an issue), is it=20
right? Lets say, I'm with semiconductor vendor side, I have the=20
netlist of the buffer, I  make the IBIS model based on spice=20
simulations, not lab measurements, so on final step when the model is=20
ready I like to check it vs. original spice behavioral. This is the=20
only situation I agree the comparison is important. But in such case=20
there is no REAL problem - I know exactly about the delay, and if it=20
is the only difference between the IBIS &amp; spice - I don't care.

I want ask you about IBIS simulator aspect of the point we are talking
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">about. Look, I find in "Cookbook=
 for ver4" strongly recommendation to=20
trim IBIS model time tables at least to half of max buffer frequency=20
period. (<A class=3Dmoz-txt-link-freetext href=3D"http://www.vhdl.org/pub/i=
bis/cookbook/cookbook-v4.pdf">http://www.vhdl.org/pub/ibis/cookbook/cookboo=
k-v4.pdf</A> page=20
70,
5.4.2 V-T Table Windowing). Can you please prefer from simulator=20
software side - is it really problem for the simulator if the time=20
table window is more then such time interval? And one additional=20
point, you wrote "There are specific restrictions on how the dead time
    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->
  </PRE>
  <BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">may be trimmed, which is a longe=
r discussion" - right now I writes=20
perl script which will trim tables in order to leave only transition=20
region and decrease the time window as the Cookbook recommends to do.
So, can you please explain about these restrictions?

Thanks,
  Dmitry

... (previous thread clipped)


    </PRE></BLOCKQUOTE><PRE wrap=3D""><!---->

- --
  +---------------------------------------------------------+
  | Dmitry Aizenshtat         Circuit Design Engineer, NSTA |
  | Tel : 972-9-9702-020               Fax : 972-9-9702-001 |
  | <A class=3Dmoz-txt-link-freetext href=3D"mailto:dimita@taux01.nsc.com">=
mailto:dimita@taux01.nsc.com</A>                            |
  +---------------------------------------------------------+


=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
The privileged confidential information contained in this email is
intended for use only by the addressees as indicated by the original
sender of this email. If you are not the addressee indicated in this
email or are not responsible for delivery of the email to such  a
person, please kindly reply to the sender indicating this fact and
delete all copies of it from your computer and network server
immediately. Your cooperation is highly appreciated. It is advised that
any unauthorized use of confidential information of Winbond is strictly
prohibited; and any information in this email irrelevant to the official
business of Winbond shall be deemed as neither given nor endorsed by
Winbond.

- --
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 <A class=3Dmoz-txt-link-abbre=
viated href=3D"mailto:majordomo@eda-stds.org">majordomo@eda-stds.org</A>
|with the appropriate command message(s) in the body:
|
|  help
|  subscribe   ibis       &lt;optional e-mail address, if different&gt;
|  subscribe   ibis-users &lt;optional e-mail address, if different&gt;
|  unsubscribe ibis       &lt;optional e-mail address, if different&gt;
|  unsubscribe ibis-users &lt;optional e-mail address, if different&gt;
|
|or e-mail a request to <A class=3Dmoz-txt-link-abbreviated href=3D"mailto:=
ibis-request@eda-stds.org">ibis-request@eda-stds.org</A>.
|
|IBIS reflector archives exist under:
|
|  <A class=3Dmoz-txt-link-freetext href=3D"http://www.eda-stds.org/pub/ibi=
s/email_archive/">http://www.eda-stds.org/pub/ibis/email_archive/</A> Recent
|  <A class=3Dmoz-txt-link-freetext href=3D"http://www.eda-stds.org/pub/ibi=
s/users_archive/">http://www.eda-stds.org/pub/ibis/users_archive/</A> Recent
|  <A class=3Dmoz-txt-link-freetext href=3D"http://www.eda-stds.org/pub/ibi=
s/email/">http://www.eda-stds.org/pub/ibis/email/</A>         E-mail since =
1993

  </PRE></BLOCKQUOTE><BR></BODY><br />--=20
<br />This message has been scanned for viruses and
<br />dangerous content by
<a href=3D"http://www.mailscanner.info/"><b>MailScanner</b></a>, and is
<br />believed to be clean.
</HTML>

- ------_=_NextPart_001_01C83727.FE90A661--
- --------------------------------------------------------------------
|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

------------------------------

Date: Wed, 5 Dec 2007 11:30:23 -0500
From: "Todd Westerhoff" <twesterh@sisoft.com>
Subject: RE: [IBIS-Users] RE: Trimming V-t curves - IBIS model behavior in over clocking mode

This is a multi-part message in MIME format.

- ------=_NextPart_000_006F_01C83732.3A591BF0
Content-Type: text/plain;
	charset="US-ASCII"
Content-Transfer-Encoding: 7bit

All,

 

The simulated behavior of an IBIS model with properly trimmed IBIS curves shouldn't change - that's
the definition of "proper trimming".  The only time you should see a difference in behavior is when
you switch the buffer's state before the full time in the V-T curve has elapsed (usually referred to
as "overclocking").   V-T curves with extra dead time in the start of the curve will overclock at
lower speeds than trimmed curves will, which is why we trim V-T curves in the first place.  We trim
curves based on the understanding that a device really will operate at a target speed, but that V-T
curves with extra dead time will give the incorrect results.

 

You're correct that [Ramp] data is generally not used for simulation when V-T curves are present,
but that doesn't mean it's not important.  Some tools use [Ramp] data to choose what drivers to use
for crosstalk simulations (based on the theory that the fastest edge rate will produce the greatest
crosstalk).  Some tools will also use [Ramp] data as a fallback if they encounter problems using V-T
curves for analysis.

 

Hope that helps,

 

Todd


Todd Westerhoff
VP, Software Products
SiSoft
6 Clock Tower Place, Suite 250
Maynard, MA 01754
(978) 461-0449 x24
twesterh@sisoft.com
www.sisoft.com

  _____  

From: owner-ibis-users@eda.org [mailto:owner-ibis-users@eda.org] On Behalf Of Ummalaneni, Venu Babu
(Venu)
Sent: Wednesday, December 05, 2007 5:17 AM
To: Amit KUMAR
Cc: Dimitry Eisenshtat; ibis@eda-stds.org; ibis-users@eda.org; Todd Westerhoff
Subject: RE: [IBIS-Users] RE: Trimming V-t curves - IBIS model behavior in over clocking mode

 

Amit Kumar,

 

Thanks for your response. I too experienced the similar results with the hspice on "before trimming
vs after trimming the V-t curves". 

 

Regards,

Venu

  _____  

From: Amit KUMAR [mailto:amit-hpc.kumar@st.com] 
Sent: Thursday, November 29, 2007 4:59 PM
To: Ummalaneni, Venu Babu (Venu)
Cc: Dimitry Eisenshtat; ibis@eda-stds.org; ibis-users@eda.org; Todd Westerhoff
Subject: Re: [IBIS-Users] RE: Trimming V-t curves - IBIS model behavior in over clocking mode

Hello Dmitry

I have been using Hspice to simulate IBIS models for a while and i have observed that
there is no difference(or let me say miniscule diffrences) after trimming V-t curves.
It can make difference only if you have missed many intermediate points before trimming and 
after trimming they are included.
But if you have been careful enough to extract your V-t waveforms 
i feel trimming does not bring any improvement in the results.

Also i have felt that Ramp data is also not important if you have given V-t waveforms.
No matter how weird your ramp data may look simulation results will be good if your 
V-t waveforms are extracted properly.

One parameter which changes the waveform considerably is C_comp.
One should be careful in extracting C_comp as wrong calculation of C_comp can lead to bad results.

I leave to the experts to comment on my observations.

Regards
Amit Kumar
ST Microelectronics-Noida

Ummalaneni, Venu Babu (Venu) wrote:



Dmitry and all,
 
I am curious to know your experiences on the experiments with "trimming
V-t curves". Could some one please comment on the behavior of IBIS model
with Hspice simulator before and after trimming? I mean, whether the
correlation of the IBIS vs golden model in over clocking mode improved
after trimming the V-t curves?
 
Thanks & Best Regards,
Venu
 
- -----Original Message-----
From: owner-ibis-users@eda.org [mailto:owner-ibis-users@eda.org] On
Behalf Of Dimitry Eisenshtat
Sent: Tuesday, January 16, 2007 3:32 AM
To: Todd Westerhoff
Cc: ibis@eda-stds.org; ibis-users@eda.org
Subject: Re: [IBIS-Users] RE: [IBIS] Ibis open drain strange behaviour
 
Hi Todd,
first of all - thanks for your reply, as I said, I'm writing script for
trimming V/T tables in order to satisfy Cookbook recommendation, so your
explanation is really useful. Thank you :)
 
Ok, I see from your virtual DDR example that "over clocking" should
require special treatment on IBIS simulator side, and I finally decide
to avoid such situations and create IBIS models with V/T tables time
window up to  half of minimum signal period the buffer designed for.
 
Now some words about HOW I will do it. I think the most important point
you mentioned is "time correlation" of all given corner curves. I want
use simple algorithm for automatically trimming V/T curves, let me
explain. Lets say we have 12 transients, exactly as in your (most
common) example of push-pull buffer simulated in 3 corners with load of
50 ohm once to supply, once to ground. The steps will be:
 
1) Run spice simulations (with s2ibis* or manually, does not matter)
with as small time step as it possible for simulation time large enough
for weakest conditions (corner/load) transition to be finally completed.
 
The idea is to begin with "ideal" time resolution for all transitions
regions in our 12 curves.
 
2) For each curve find largest time interval (T1,T2) which satisfy
voltage tolerance of delta from initial and final DC solutions, i.e.
  |(V(T1)-Vstart)/VDD|  < Vtol,
  |(V(T2)-Vend)/VDD|    < Vtol
where Vtol tolerance chosen smaller than IBISCHK's one so the checker
will not report "DC endpoints" warning on trimmed tables latter. All
data points outside of this interval (T1,T2) are declared "dead zones" 
and have no importance. So the Vtol value actually plays as "dead zones"
 
definition criteria and should be the parameter to be changed if needed.
 
3) For all curves (rising/falling/load) of given corner find the minimum
T1 value, lets define it as T1_typ, T1_slow, T1_fast or T1_<corner>.
 
4) Calculate maximum interval dT_max = max {|T2-T1_<corner>|} for ALL
curves.
 
5) Shift all curves for given corner left in time by T1_<corner> value.
 
6) Truncate all curves at time dT_max (from new 0 time after shifting)
 
7) Add one points to end of each curve in order to form a line with zero
slope for case of some simulators extrapolation will be needed.
 
8) Remember, we start from "the best" time resolution, so it is possible
that we get desire time window from overclocking point of view, but
number of points in final V/T tables still exceeds the maximum allowed
by IBIS spec. In this case I suggest to use "greatest change algorithm" 
in order to decrease the number of tables points, as it described in
Cookbook (pages 63-64).
 
As the result, if I have no mistake, we will get "corner time-
correlated" tables. However, across corners correlation is not
guaranteed. My assumption is that the user will be interested in
analyzing the buffer's (buffer itself, I mean not control logic but
pullup/pulldown devices which actually drive the pad) corner-specific
behavioral/differences, so I at least do not worsen the model quality,
or even improve it. Anyway,  in some cases there will be no possibility
to satisfy "overclocking free" condition without shifting the corner's
curves one to each other, in other words without trimming different
amounts from different corners.
 
Does it make sense? I like to complete realizing this algorithm in perl
and try it on last DDR2 model I produced. Only IBIS simulator I have is
HSpice, so the plan is to compare the behavioral of IBIS model before
and after trimming. I hope the HSpice is bad enough in "over clocking" 
scenario, otherwise I will see no difference/improvements anyway :)
 
Regards,
    Dmitry
 
 
Todd Westerhoff wrote:
  

Sorry for the delay in reply - I took the weekend off ;-)
 
As far as non-time correlation between IBIS and transistor models goes
- - no, it isn't a problem at all.  It's just important that people 
understand what a model represents and what it doesn't, so that they 
can draw the right conclusions from their simulations.  I was just 
re-iterating one of my favorite points with "time 0 in an IBIS model
    

is arbitrary".
  

To your point, it's worth noting that time 0 in a spice model-based 
simulation is often arbitrary as well.  A spice model represents only 
the output buffer at most, so if you're analyzing a device with a 
clock-to-out timing specification, you still need to figure out how to
    

 
  

combine the delays measured in simulation with the timing spec for the
    

device.
  

I think people often ascribe too much credibility to spice models.  
The model you receive is a function of how the netlist and parasitics 
for the buffer were extracted - it's far too easy to become confused 
about what part of the overall device the spice model represents.
 
As to page 70 of the IBIS cookbook - I agree with what it says.  That 
particular page is assuming a DDR device, so that a 100 MHz clock 
yields 200M transfers/sec, each with a 5 ns UI.  Let's suppose you 
have a model with a 6ns rising V-T curve for this case.  The simulator
    

 
  

will trigger the curve, begin sweeping the output, and then get 
retriggered at the 5ns point
- - before the rising edge is complete.  What should the simulator do?
 
- - should it just jump to the start of the falling curve (if it does, 
you may get a discontinuity on the output that can either glitch the 
output or cause a convergence problem)
 
- - should the simulator "pipeline" the waveform results, and just 
remember the next edge starts 1 ns later - and if the input edges keep
    

 
  

coming faster than the curve length, how long should the simulator 
keep this up before it starts clipping data?
 
... my earlier point was that the IBIS spec has no guidance on how a 
simulator should handle "overclocking" and different simulators DO 
handle this issue different ways.  That being the case, it's best to 
avoid the problem by complying with the strong recommendation on page
    

70.
  

As far as curve trimming goes, allow me to provide a *brief* overview,
    

 
  

although I'm sure this subject has been discussed previously.
Pointers into the archive for this subject from others would be
    

appreciated.
  

Let's consider a push-pull output stage instead of open drain - 
open-drain will just be a simpler case.
 
Each output should have the following V-T curves
  
  [Corners]         x [Edge]             x [Loading]
 
  [Min / Typ / Max] x [Rising / Falling] x [50 ohms GND / 50 ohms
    

VDDQ]
  

... for a total of 12 sets of V-T curves.  
 
... for each [Corner]/[Loading] combination, it is ESSENTIAL that if 
you trim dead time off one curve, you trim the SAME amount of dead 
time off the other.  As an example, if you trim 1ns off the start of 
the [Min]/[Rising]/[50 ohms GND] curve, you MUST trim 1ns off the 
[Min]/[Rising]/[50 ohms VDDQ] curve.  If the second curve was already 
rising at that point, well, you need to trim less.
 
This is what's called "time correlation" between curves, and it must 
be maintained.
 
... good practice dictates that you coordinate your trimming across 
all four of the V-T waveforms for any corner.  If you don't do this, 
you'll introduce duty cycle distortion into the simulated waveform 
without meaning to.  I believe this is now considered to be required 
practice.  So, if you trim 1ns off the start of the [Min]/[Rising]/[50
    

 
  

ohms GND] curve, you really, really should trim 1ns off the following
    

curves:
  

  [Min]/[Rising]/[50 ohms VDDQ]
  [Min]/[Falling]/[50 ohms GND]
  [Min]/[Falling]/[50 ohms VDDQ]
 
... so that time correlation is maintained across all the [Min] 
curves.  As before, if you go to trim any of the curves and find the 
transition was already starting, you need to trim less.
 
I don't believe IBIS requires that you coordinate trimming across
    

corners.
  

Thus, you can trim different amounts from the [Min] and [Typ] curve
    

sets.
  

In practice, you'll find this is useful because if you try to 
coordinate trimming across a 3 corners, the amount you are able to 
trim may be sharply limited.  It's important to understand, though, 
that if you trim different amounts from the different corners, the 
time correlation between the corners will be lost.  Strictly speaking,
    

 
  

that's not a problem, as time 0 in an IBIS simulation is arbitrary.
HOWEVER - if users of the model simulate the [Min] and [Typ] cases and
    

 
  

overlay the results, they will draw incorrect conclusions if they
    

assume the curves are time-correlated.
  

It probably goes without saying, but - you can trim any amount of dead
    

 
  

time you want off the END of a curve once the slope is zero.  Good 
practice says the last two points should form a line with zero slope, 
so that any extrapolation the simulator performs does what you expect.
 
As in all modeling - knowing what you've got is the first step in 
understanding what conclusions you can draw.
 
Arpad & others - please correct me if I've gotten any of this wrong
    

...
  

Todd.
 
Todd Westerhoff
VP, Software Products
SiSoft
6 Clock Tower Place, Suite 250
Maynard, MA  01754
(978) 461-0449 x24
twesterh@sisoft.com
www.sisoft.com
- -----Original Message-----
From: owner-ibis-users@eda.org [mailto:owner-ibis-users@eda.org] On 
Behalf Of Dimitry Eisenshtat
Sent: Saturday, January 13, 2007 3:58 AM
To: Todd Westerhoff
Cc: ibis@eda-stds.org; ibis-users@eda.org
Subject: Re: [IBIS-Users] RE: [IBIS] Ibis open drain strange behaviour
 
Todd,
ok, we understand that time correlation between IBIS and HSpice is not
    

 
  

guaranteed, but is it really problem? I mean, in the most often 
situation there is no place for such comparison at all, because you 
have only IBIS model, no spice netlist is available. This is the first
    

 
  

reason for making IBIS (if simulator speed is not an issue), is it 
right? Lets say, I'm with semiconductor vendor side, I have the 
netlist of the buffer, I  make the IBIS model based on spice 
simulations, not lab measurements, so on final step when the model is 
ready I like to check it vs. original spice behavioral. This is the 
only situation I agree the comparison is important. But in such case 
there is no REAL problem - I know exactly about the delay, and if it 
is the only difference between the IBIS & spice - I don't care.
 
I want ask you about IBIS simulator aspect of the point we are talking
    

 
  

about. Look, I find in "Cookbook for ver4" strongly recommendation to 
trim IBIS model time tables at least to half of max buffer frequency 
period. (http://www.vhdl.org/pub/ibis/cookbook/cookbook-v4.pdf page 
70,
5.4.2 V-T Table Windowing). Can you please prefer from simulator 
software side - is it really problem for the simulator if the time 
table window is more then such time interval? And one additional 
point, you wrote "There are specific restrictions on how the dead time
    

 
  

may be trimmed, which is a longer discussion" - right now I writes 
perl script which will trim tables in order to leave only transition 
region and decrease the time window as the Cookbook recommends to do.
So, can you please explain about these restrictions?
 
Thanks,
  Dmitry
 
... (previous thread clipped)
 
 
    

 
 
- --
  +---------------------------------------------------------+
  | Dmitry Aizenshtat         Circuit Design Engineer, NSTA |
  | Tel : 972-9-9702-020               Fax : 972-9-9702-001 |
  | mailto:dimita@taux01.nsc.com                            |
  +---------------------------------------------------------+
 
 
========================================================================
===================
The privileged confidential information contained in this email is
intended for use only by the addressees as indicated by the original
sender of this email. If you are not the addressee indicated in this
email or are not responsible for delivery of the email to such  a
person, please kindly reply to the sender indicating this fact and
delete all copies of it from your computer and network server
immediately. Your cooperation is highly appreciated. It is advised that
any unauthorized use of confidential information of Winbond is strictly
prohibited; and any information in this email irrelevant to the official
business of Winbond shall be deemed as neither given nor endorsed by
Winbond.
 
- --
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
 
  

 


- -- 
This message has been scanned for viruses and 
dangerous content by  <http://www.mailscanner.info/> MailScanner, and is 
believed to be clean. 

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


- ------=_NextPart_000_006F_01C83732.3A591BF0
Content-Type: text/html;
	charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:st1=3D"urn:schemas-microsoft-com:office:smarttags" xmlns=3D"http://ww=
w.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><o:SmartTagType
 namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags" name=3D"Postal=
Code"/>
<o:SmartTagType namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"State"/>
<o:SmartTagType namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"City"/>
<o:SmartTagType namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"place"/>
<o:SmartTagType namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"Street"/>
<o:SmartTagType namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"address"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:blue;
	text-decoration:underline;}
pre
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";}
span.EmailStyle18
	{mso-style-type:personal-reply;
	font-family:Arial;
	color:navy;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
	{page:Section1;}
- -->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dblue>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'>All,<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'>The simulated behavior of an IBIS model
with properly trimmed IBIS curves shouldn&#8217;t change &#8211; that&#8217=
;s
the definition of &#8220;proper trimming&#8221;.&nbsp; The only time you sh=
ould
see a difference in behavior is when you switch the buffer&#8217;s state be=
fore
the full time in the V-T curve has elapsed (usually referred to as &#8220;o=
verclocking&#8221;).&nbsp;
&nbsp;V-T curves with extra dead time in the start of the curve will overcl=
ock at
lower speeds than trimmed curves will, which is why we trim V-T curves in t=
he
first place. &nbsp;We trim curves based on the understanding that a device
really will operate at a target speed, but that V-T curves with extra dead =
time
will give the incorrect results.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'>You&#8217;re correct that [Ramp] data =
is
generally not used for simulation when V-T curves are present, but that doe=
sn&#8217;t
mean it&#8217;s not important. &nbsp;Some tools use [Ramp] data to choose w=
hat
drivers to use for crosstalk simulations (based on the theory that the fast=
est
edge rate will produce the greatest crosstalk).&nbsp; Some tools will also =
use
[Ramp] data as a fallback if they encounter problems using V-T curves for
analysis.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Hope that helps,<o:p></o:p></span></fo=
nt></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'>Todd<o:p></o:p></span></font></p>

<div>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:navy'><br>
Todd Westerhoff<br>
VP, Software Products<br>
SiSoft<br>
6 Clock Tower Place, Suite 250<br>
Maynard, MA 01754<br>
(978) 461-0449 x24<br>
<a href=3D"mailto:twesterh@sisoft.com">twesterh@sisoft.com</a><br>
<a href=3D"http://www.sisoft.com">www.sisoft.com</a></span></font><o:p></o:=
p></p>

</div>

<div>

<div class=3DMsoNormal align=3Dcenter style=3D'text-align:center'><font siz=
e=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt'>

<hr size=3D2 width=3D"100%" align=3Dcenter tabindex=3D-1>

</span></font></div>

<p class=3DMsoNormal><b><font size=3D2 face=3DTahoma><span style=3D'font-si=
ze:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=3D2
face=3DTahoma><span style=3D'font-size:10.0pt;font-family:Tahoma'>
owner-ibis-users@eda.org [mailto:owner-ibis-users@eda.org] <b><span
style=3D'font-weight:bold'>On Behalf Of </span></b>Ummalaneni, Venu Babu (V=
enu)<br>
<b><span style=3D'font-weight:bold'>Sent:</span></b> Wednesday, December 05=
, 2007
5:17 AM<br>
<b><span style=3D'font-weight:bold'>To:</span></b> Amit KUMAR<br>
<b><span style=3D'font-weight:bold'>Cc:</span></b> Dimitry Eisenshtat;
ibis@eda-stds.org; ibis-users@eda.org; Todd Westerhoff<br>
<b><span style=3D'font-weight:bold'>Subject:</span></b> RE: [IBIS-Users] RE:
Trimming V-t curves - IBIS model behavior in over clocking mode</span></fon=
t><o:p></o:p></p>

</div>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span style=3D=
'font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<div>

<p class=3DMsoNormal><font size=3D2 color=3Dblue face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:blue'>Amit&nbsp;Kumar,</span></font><o:p></o=
:p></p>

</div>

<div>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span style=3D=
'font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=3DMsoNormal><font size=3D2 color=3Dblue face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:blue'>Thanks for your response. I too
experienced the similar results with the hspice on &quot;before trimming vs
after trimming the V-t curves&quot;. </span></font><o:p></o:p></p>

</div>

<div>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span style=3D=
'font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=3DMsoNormal><font size=3D2 color=3Dblue face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:blue'>Regards,</span></font><o:p></o:p></p>

</div>

<div>

<p class=3DMsoNormal><font size=3D2 color=3Dblue face=3DArial><span style=
=3D'font-size:
10.0pt;font-family:Arial;color:blue'>Venu</span></font><o:p></o:p></p>

</div>

<div class=3DMsoNormal align=3Dcenter style=3D'text-align:center'><font siz=
e=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt'>

<hr size=3D2 width=3D"100%" align=3Dcenter tabIndex=3D-1>

</span></font></div>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><b><font size=3D2 face=
=3DTahoma><span
style=3D'font-size:10.0pt;font-family:Tahoma;font-weight:bold'>From:</span>=
</font></b><font
size=3D2 face=3DTahoma><span style=3D'font-size:10.0pt;font-family:Tahoma'>=
 Amit
KUMAR [mailto:amit-hpc.kumar@st.com] <br>
<b><span style=3D'font-weight:bold'>Sent:</span></b> Thursday, November 29,=
 2007
4:59 PM<br>
<b><span style=3D'font-weight:bold'>To:</span></b> Ummalaneni, Venu Babu (V=
enu)<br>
<b><span style=3D'font-weight:bold'>Cc:</span></b> Dimitry Eisenshtat;
ibis@eda-stds.org; ibis-users@eda.org; Todd Westerhoff<br>
<b><span style=3D'font-weight:bold'>Subject:</span></b> Re: [IBIS-Users] RE:
Trimming V-t curves - IBIS model behavior in over clocking mode</span></fon=
t><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span style=3D=
'font-size:
12.0pt'>Hello Dmitry<br>
<br>
I have been using Hspice to simulate IBIS models for a while and i have
observed that<br>
there is no difference(or let me say miniscule diffrences) after trimming V=
- -t
curves.<br>
It can make difference only if you have missed many intermediate points bef=
ore
trimming and <br>
after trimming they are included.<br>
But if you have been careful enough to extract your V-t waveforms <br>
i feel trimming does not bring any improvement in the results.<br>
<br>
Also i have felt that Ramp data is also not important if you have given V-t
waveforms.<br>
No matter how weird your ramp data may look simulation results will be good=
 if
your <br>
V-t waveforms are extracted properly.<br>
<br>
One parameter which changes the waveform considerably is C_comp.<br>
One should be careful in extracting C_comp as wrong calculation of C_comp c=
an
lead to bad results.<br>
<br>
I leave to the experts to comment on my observations.<br>
<br>
Regards<br>
Amit Kumar<br>
ST Microelectronics-Noida<br>
<br>
Ummalaneni, Venu Babu (Venu) wrote:<br>
<br>
<o:p></o:p></span></font></p>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'>Dmitry and all,<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>I am curious=
 to know your experiences on the experiments with &quot;trimming<o:p></o:p>=
</span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>V-t curves&q=
uot;. Could some one please comment on the behavior of IBIS model<o:p></o:p=
></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>with Hspice =
simulator before and after trimming? I mean, whether the<o:p></o:p></span><=
/font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>correlation =
of the IBIS vs golden model in over clocking mode improved<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>after trimmi=
ng the V-t curves?<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Thanks &amp;=
 Best Regards,<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Venu<o:p></o=
:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>-----Origina=
l Message-----<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>From: <a
href=3D"mailto:owner-ibis-users@eda.org">owner-ibis-users@eda.org</a> [<a
href=3D"mailto:owner-ibis-users@eda.org">mailto:owner-ibis-users@eda.org</a=
>] On<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Behalf Of Di=
mitry Eisenshtat<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Sent: Tuesda=
y, January 16, 2007 3:32 AM<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>To: Todd Wes=
terhoff<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Cc: <a
href=3D"mailto:ibis@eda-stds.org">ibis@eda-stds.org</a>; <a
href=3D"mailto:ibis-users@eda.org">ibis-users@eda.org</a><o:p></o:p></span>=
</font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Subject: Re:=
 [IBIS-Users] RE: [IBIS] Ibis open drain strange behaviour<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Hi Todd,<o:p=
></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>first of all=
 - thanks for your reply, as I said, I'm writing script for<o:p></o:p></spa=
n></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>trimming V/T=
 tables in order to satisfy Cookbook recommendation, so your<o:p></o:p></sp=
an></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>explanation =
is really useful. Thank you :)<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Ok, I see fr=
om your virtual DDR example that &quot;over clocking&quot; should<o:p></o:p=
></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>require spec=
ial treatment on IBIS simulator side, and I finally decide<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>to avoid suc=
h situations and create IBIS models with V/T tables time<o:p></o:p></span><=
/font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>window up to=
&nbsp; half of minimum signal period the buffer designed for.<o:p></o:p></s=
pan></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Now some wor=
ds about HOW I will do it. I think the most important point<o:p></o:p></spa=
n></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>you mentione=
d is &quot;time correlation&quot; of all given corner curves. I want<o:p></=
o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>use simple a=
lgorithm for automatically trimming V/T curves, let me<o:p></o:p></span></f=
ont></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>explain. Let=
s say we have 12 transients, exactly as in your (most<o:p></o:p></span></fo=
nt></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>common) exam=
ple of push-pull buffer simulated in 3 corners with load of<o:p></o:p></spa=
n></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>50 ohm once =
to supply, once to ground. The steps will be:<o:p></o:p></span></font></pre=
><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>1) Run spice=
 simulations (with s2ibis* or manually, does not matter)<o:p></o:p></span><=
/font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>with as smal=
l time step as it possible for simulation time large enough<o:p></o:p></spa=
n></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>for weakest =
conditions (corner/load) transition to be finally completed.<o:p></o:p></sp=
an></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>The idea is =
to begin with &quot;ideal&quot; time resolution for all transitions<o:p></o=
:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>regions in o=
ur 12 curves.<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>2) For each =
curve find largest time interval (T1,T2) which satisfy<o:p></o:p></span></f=
ont></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>voltage tole=
rance of delta from initial and final DC solutions, i.e.<o:p></o:p></span><=
/font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; |(V(T=
1)-Vstart)/VDD|&nbsp; &lt; Vtol,<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; |(V(T=
2)-Vend)/VDD|&nbsp;&nbsp;&nbsp; &lt; Vtol<o:p></o:p></span></font></pre><pr=
e><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>where Vtol t=
olerance chosen smaller than IBISCHK's one so the checker<o:p></o:p></span>=
</font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>will not rep=
ort &quot;DC endpoints&quot; warning on trimmed tables latter. All<o:p></o:=
p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>data points =
outside of this interval (T1,T2) are declared &quot;dead zones&quot; <o:p><=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>and have no =
importance. So the Vtol value actually plays as &quot;dead zones&quot;<o:p>=
</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>definition c=
riteria and should be the parameter to be changed if needed.<o:p></o:p></sp=
an></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>3) For all c=
urves (rising/falling/load) of given corner find the minimum<o:p></o:p></sp=
an></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>T1 value, le=
ts define it as T1_typ, T1_slow, T1_fast or T1_&lt;corner&gt;.<o:p></o:p></=
span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>4) Calculate=
 maximum interval dT_max =3D max {|T2-T1_&lt;corner&gt;|} for ALL<o:p></o:p=
></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>curves.<o:p>=
</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>5) Shift all=
 curves for given corner left in time by T1_&lt;corner&gt; value.<o:p></o:p=
></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>6) Truncate =
all curves at time dT_max (from new 0 time after shifting)<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>7) Add one p=
oints to end of each curve in order to form a line with zero<o:p></o:p></sp=
an></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>slope for ca=
se of some simulators extrapolation will be needed.<o:p></o:p></span></font=
></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>8) Remember,=
 we start from &quot;the best&quot; time resolution, so it is possible<o:p>=
</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>that we get =
desire time window from overclocking point of view, but<o:p></o:p></span></=
font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>number of po=
ints in final V/T tables still exceeds the maximum allowed<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>by IBIS spec=
. In this case I suggest to use &quot;greatest change algorithm&quot; <o:p>=
</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>in order to =
decrease the number of tables points, as it described in<o:p></o:p></span><=
/font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Cookbook (pa=
ges 63-64).<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>As the resul=
t, if I have no mistake, we will get &quot;corner time-<o:p></o:p></span></=
font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>correlated&q=
uot; tables. However, across corners correlation is not<o:p></o:p></span></=
font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>guaranteed. =
My assumption is that the user will be interested in<o:p></o:p></span></fon=
t></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>analyzing th=
e buffer's (buffer itself, I mean not control logic but<o:p></o:p></span></=
font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>pullup/pulld=
own devices which actually drive the pad) corner-specific<o:p></o:p></span>=
</font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>behavioral/d=
ifferences, so I at least do not worsen the model quality,<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>or even impr=
ove it. Anyway,&nbsp; in some cases there will be no possibility<o:p></o:p>=
</span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>to satisfy &=
quot;overclocking free&quot; condition without shifting the corner's<o:p></=
o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>curves one t=
o each other, in other words without trimming different<o:p></o:p></span></=
font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>amounts from=
 different corners.<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Does it make=
 sense? I like to complete realizing this algorithm in perl<o:p></o:p></spa=
n></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>and try it o=
n last DDR2 model I produced. Only IBIS simulator I have is<o:p></o:p></spa=
n></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>HSpice, so t=
he plan is to compare the behavioral of IBIS model before<o:p></o:p></span>=
</font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>and after tr=
imming. I hope the HSpice is bad enough in &quot;over clocking&quot; <o:p><=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>scenario, ot=
herwise I will see no difference/improvements anyway :)<o:p></o:p></span></=
font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Regards,<o:p=
></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; Dmitry<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Todd Westerh=
off wrote:<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Sorry for th=
e delay in reply - I took the weekend off ;-)<o:p></o:p></span></font></pre=
><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>As far as no=
n-time correlation between IBIS and transistor models goes<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>- no, it isn=
't a problem at all.&nbsp; It's just important that people <o:p></o:p></spa=
n></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>understand w=
hat a model represents and what it doesn't, so that they <o:p></o:p></span>=
</font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>can draw the=
 right conclusions from their simulations.&nbsp; I was just <o:p></o:p></sp=
an></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>re-iterating=
 one of my favorite points with &quot;time 0 in an IBIS model<o:p></o:p></s=
pan></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'>is arbitrary&quot;.<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>To your poin=
t, it's worth noting that time 0 in a spice model-based <o:p></o:p></span><=
/font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>simulation i=
s often arbitrary as well.&nbsp; A spice model represents only <o:p></o:p><=
/span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>the output b=
uffer at most, so if you're analyzing a device with a <o:p></o:p></span></f=
ont></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>clock-to-out=
 timing specification, you still need to figure out how to<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>combine the =
delays measured in simulation with the timing spec for the<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'>device.<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>I think peop=
le often ascribe too much credibility to spice models.&nbsp; <o:p></o:p></s=
pan></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>The model yo=
u receive is a function of how the netlist and parasitics <o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>for the buff=
er were extracted - it's far too easy to become confused <o:p></o:p></span>=
</font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>about what p=
art of the overall device the spice model represents.<o:p></o:p></span></fo=
nt></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>As to page 7=
0 of the IBIS cookbook - I agree with what it says.&nbsp; That <o:p></o:p><=
/span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>particular p=
age is assuming a DDR device, so that a 100 MHz clock <o:p></o:p></span></f=
ont></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>yields 200M =
transfers/sec, each with a 5 ns UI.&nbsp; Let's suppose you <o:p></o:p></sp=
an></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>have a model=
 with a 6ns rising V-T curve for this case.&nbsp; The simulator<o:p></o:p><=
/span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>will trigger=
 the curve, begin sweeping the output, and then get <o:p></o:p></span></fon=
t></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>retriggered =
at the 5ns point<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>- before the=
 rising edge is complete.&nbsp; What should the simulator do?<o:p></o:p></s=
pan></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>- should it =
just jump to the start of the falling curve (if it does, <o:p></o:p></span>=
</font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>you may get =
a discontinuity on the output that can either glitch the <o:p></o:p></span>=
</font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>output or ca=
use a convergence problem)<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>- should the=
 simulator &quot;pipeline&quot; the waveform results, and just <o:p></o:p><=
/span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>remember the=
 next edge starts 1 ns later - and if the input edges keep<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>coming faste=
r than the curve length, how long should the simulator <o:p></o:p></span></=
font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>keep this up=
 before it starts clipping data?<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>... my earli=
er point was that the IBIS spec has no guidance on how a <o:p></o:p></span>=
</font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>simulator sh=
ould handle &quot;overclocking&quot; and different simulators DO <o:p></o:p=
></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>handle this =
issue different ways.&nbsp; That being the case, it's best to <o:p></o:p></=
span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>avoid the pr=
oblem by complying with the strong recommendation on page<o:p></o:p></span>=
</font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'>70.<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>As far as cu=
rve trimming goes, allow me to provide a *brief* overview,<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>although I'm=
 sure this subject has been discussed previously.<o:p></o:p></span></font><=
/pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Pointers int=
o the archive for this subject from others would be<o:p></o:p></span></font=
></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'>appreciated.<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Let's consid=
er a push-pull output stage instead of open drain - <o:p></o:p></span></fon=
t></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>open-drain w=
ill just be a simpler case.<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Each output =
should have the following V-T curves<o:p></o:p></span></font></pre><pre><fo=
nt
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; [Corn=
ers]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x [Edge]&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x [Loading]<o:p>=
</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; [Min =
/ Typ / Max] x [Rising / Falling] x [50 ohms GND / 50 ohms<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'>VDDQ]<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>... for a to=
tal of 12 sets of V-T curves.&nbsp; <o:p></o:p></span></font></pre><pre><fo=
nt
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>... for each=
 [Corner]/[Loading] combination, it is ESSENTIAL that if <o:p></o:p></span>=
</font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>you trim dea=
d time off one curve, you trim the SAME amount of dead <o:p></o:p></span></=
font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>time off the=
 other.&nbsp; As an example, if you trim 1ns off the start of <o:p></o:p></=
span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>the [Min]/[R=
ising]/[50 ohms GND] curve, you MUST trim 1ns off the <o:p></o:p></span></f=
ont></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>[Min]/[Risin=
g]/[50 ohms VDDQ] curve.&nbsp; If the second curve was already <o:p></o:p><=
/span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>rising at th=
at point, well, you need to trim less.<o:p></o:p></span></font></pre><pre><=
font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>This is what=
's called &quot;time correlation&quot; between curves, and it must <o:p></o=
:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>be maintaine=
d.<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>... good pra=
ctice dictates that you coordinate your trimming across <o:p></o:p></span><=
/font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>all four of =
the V-T waveforms for any corner.&nbsp; If you don't do this, <o:p></o:p></=
span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>you'll intro=
duce duty cycle distortion into the simulated waveform <o:p></o:p></span></=
font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>without mean=
ing to.&nbsp; I believe this is now considered to be required <o:p></o:p></=
span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>practice.&nb=
sp; So, if you trim 1ns off the start of the [Min]/[Rising]/[50<o:p></o:p><=
/span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>ohms GND] cu=
rve, you really, really should trim 1ns off the following<o:p></o:p></span>=
</font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'>curves:<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; [Min]=
/[Rising]/[50 ohms VDDQ]<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; [Min]=
/[Falling]/[50 ohms GND]<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; [Min]=
/[Falling]/[50 ohms VDDQ]<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>... so that =
time correlation is maintained across all the [Min] <o:p></o:p></span></fon=
t></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>curves.&nbsp=
; As before, if you go to trim any of the curves and find the <o:p></o:p></=
span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>transition w=
as already starting, you need to trim less.<o:p></o:p></span></font></pre><=
pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>I don't beli=
eve IBIS requires that you coordinate trimming across<o:p></o:p></span></fo=
nt></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'>corners.<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Thus, you ca=
n trim different amounts from the [Min] and [Typ] curve<o:p></o:p></span></=
font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'>sets.<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>In practice,=
 you'll find this is useful because if you try to <o:p></o:p></span></font>=
</pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>coordinate t=
rimming across a 3 corners, the amount you are able to <o:p></o:p></span></=
font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>trim may be =
sharply limited.&nbsp; It's important to understand, though, <o:p></o:p></s=
pan></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>that if you =
trim different amounts from the different corners, the <o:p></o:p></span></=
font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>time correla=
tion between the corners will be lost.&nbsp; Strictly speaking,<o:p></o:p><=
/span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>that's not a=
 problem, as time 0 in an IBIS simulation is arbitrary.<o:p></o:p></span></=
font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>HOWEVER - if=
 users of the model simulate the [Min] and [Typ] cases and<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>overlay the =
results, they will draw incorrect conclusions if they<o:p></o:p></span></fo=
nt></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'>assume the curves are time-correlated.<o:p></o:p></span></font></p=
re><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>It probably =
goes without saying, but - you can trim any amount of dead<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>time you wan=
t off the END of a curve once the slope is zero.&nbsp; Good <o:p></o:p></sp=
an></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>practice say=
s the last two points should form a line with zero slope, <o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>so that any =
extrapolation the simulator performs does what you expect.<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>As in all mo=
deling - knowing what you've got is the first step in <o:p></o:p></span></f=
ont></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>understandin=
g what conclusions you can draw.<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Arpad &amp; =
others - please correct me if I've gotten any of this wrong<o:p></o:p></spa=
n></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'>...<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Todd.<o:p></=
o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Todd Westerh=
off<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>VP, Software=
 Products<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>SiSoft<o:p><=
/o:p></span></font></pre><pre><st1:Street
w:st=3D"on"><st1:address w:st=3D"on"><font size=3D2 face=3D"Courier New"><s=
pan
  style=3D'font-size:10.0pt'>6 Clock Tower Place, Suite 250</span></font></=
st1:address></st1:Street><o:p></o:p></pre><pre><st1:place
w:st=3D"on"><st1:City w:st=3D"on"><font size=3D2 face=3D"Courier New"><span
  style=3D'font-size:10.0pt'>Maynard</span></font></st1:City>, <st1:State w=
:st=3D"on">MA</st1:State>&nbsp; <st1:PostalCode
 w:st=3D"on">01754</st1:PostalCode></st1:place><o:p></o:p></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>(978) 461-04=
49 x24<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><a
href=3D"mailto:twesterh@sisoft.com">twesterh@sisoft.com</a><o:p></o:p></spa=
n></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><a
href=3D"http://www.sisoft.com">www.sisoft.com</a><o:p></o:p></span></font><=
/pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>-----Origina=
l Message-----<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>From: <a
href=3D"mailto:owner-ibis-users@eda.org">owner-ibis-users@eda.org</a> [<a
href=3D"mailto:owner-ibis-users@eda.org">mailto:owner-ibis-users@eda.org</a=
>] On <o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Behalf Of Di=
mitry Eisenshtat<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Sent: Saturd=
ay, January 13, 2007 3:58 AM<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>To: Todd Wes=
terhoff<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Cc: <a
href=3D"mailto:ibis@eda-stds.org">ibis@eda-stds.org</a>; <a
href=3D"mailto:ibis-users@eda.org">ibis-users@eda.org</a><o:p></o:p></span>=
</font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Subject: Re:=
 [IBIS-Users] RE: [IBIS] Ibis open drain strange behaviour<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Todd,<o:p></=
o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>ok, we under=
stand that time correlation between IBIS and HSpice is not<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>guaranteed, =
but is it really problem? I mean, in the most often <o:p></o:p></span></fon=
t></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>situation th=
ere is no place for such comparison at all, because you <o:p></o:p></span><=
/font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>have only IB=
IS model, no spice netlist is available. This is the first<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>reason for m=
aking IBIS (if simulator speed is not an issue), is it <o:p></o:p></span></=
font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>right? Lets =
say, I'm with semiconductor vendor side, I have the <o:p></o:p></span></fon=
t></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>netlist of t=
he buffer, I&nbsp; make the IBIS model based on spice <o:p></o:p></span></f=
ont></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>simulations,=
 not lab measurements, so on final step when the model is <o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>ready I like=
 to check it vs. original spice behavioral. This is the <o:p></o:p></span><=
/font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>only situati=
on I agree the comparison is important. But in such case <o:p></o:p></span>=
</font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>there is no =
REAL problem - I know exactly about the delay, and if it <o:p></o:p></span>=
</font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>is the only =
difference between the IBIS &amp; spice - I don't care.<o:p></o:p></span></=
font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>I want ask y=
ou about IBIS simulator aspect of the point we are talking<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>about. Look,=
 I find in &quot;Cookbook for ver4&quot; strongly recommendation to <o:p></=
o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>trim IBIS mo=
del time tables at least to half of max buffer frequency <o:p></o:p></span>=
</font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>period. (<a
href=3D"http://www.vhdl.org/pub/ibis/cookbook/cookbook-v4.pdf">http://www.v=
hdl.org/pub/ibis/cookbook/cookbook-v4.pdf</a> page <o:p></o:p></span></font=
></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>70,<o:p></o:=
p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>5.4.2 V-T Ta=
ble Windowing). Can you please prefer from simulator <o:p></o:p></span></fo=
nt></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>software sid=
e - is it really problem for the simulator if the time <o:p></o:p></span></=
font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>table window=
 is more then such time interval? And one additional <o:p></o:p></span></fo=
nt></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>point, you w=
rote &quot;There are specific restrictions on how the dead time<o:p></o:p><=
/span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt' type=3Dcite><pre=
 wrap=3D""><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>may be trimm=
ed, which is a longer discussion&quot; - right now I writes <o:p></o:p></sp=
an></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>perl script =
which will trim tables in order to leave only transition <o:p></o:p></span>=
</font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>region and d=
ecrease the time window as the Cookbook recommends to do.<o:p></o:p></span>=
</font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>So, can you =
please explain about these restrictions?<o:p></o:p></span></font></pre><pre=
><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Thanks,<o:p>=
</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; Dmitr=
y<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>... (previou=
s thread clipped)<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp;&nbsp;=
&nbsp; <o:p></o:p></span></font></pre></blockquote>

<pre wrap=3D""><font size=3D2 face=3D"Courier New"><span style=3D'font-size=
:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>--<o:p></o:p=
></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; +----=
- -----------------------------------------------------+<o:p></o:p></span></f=
ont></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; | Dmi=
try Aizenshtat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Circuit Desi=
gn Engineer, NSTA |<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; | Tel=
 : 972-9-9702-020&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp; Fax : 972-9-9702-001 |<o:p></o:p></span></font><=
/pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; | <a
href=3D"mailto:dimita@taux01.nsc.com">mailto:dimita@taux01.nsc.com</a>&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; |<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; +----=
- -----------------------------------------------------+<o:p></o:p></span></f=
ont></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<o:p></o:p></span></f=
ont></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<o:p></o:p></span></font></pre=
><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>The privileg=
ed confidential information contained in this email is<o:p></o:p></span></f=
ont></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>intended for=
 use only by the addressees as indicated by the original<o:p></o:p></span><=
/font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>sender of th=
is email. If you are not the addressee indicated in this<o:p></o:p></span><=
/font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>email or are=
 not responsible for delivery of the email to such&nbsp; a<o:p></o:p></span=
></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>person, plea=
se kindly reply to the sender indicating this fact and<o:p></o:p></span></f=
ont></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>delete all c=
opies of it from your computer and network server<o:p></o:p></span></font><=
/pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>immediately.=
 Your cooperation is highly appreciated. It is advised that<o:p></o:p></spa=
n></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>any unauthor=
ized use of confidential information of Winbond is strictly<o:p></o:p></spa=
n></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>prohibited; =
and any information in this email irrelevant to the official<o:p></o:p></sp=
an></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>business of =
Winbond shall be deemed as neither given nor endorsed by<o:p></o:p></span><=
/font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>Winbond.<o:p=
></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>--<o:p></o:p=
></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>This message=
 has been scanned for viruses and dangerous content by<o:p></o:p></span></f=
ont></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>MailScanner,=
 and is believed to be clean.<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>------------=
- --------------------------------------------------------<o:p></o:p></span><=
/font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>|For help or=
 to subscribe/unsubscribe, e-mail <a
href=3D"mailto:majordomo@eda-stds.org">majordomo@eda-stds.org</a><o:p></o:p=
></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>|with the ap=
propriate command message(s) in the body:<o:p></o:p></span></font></pre><pr=
e><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>|<o:p></o:p>=
</span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>|&nbsp; help=
<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>|&nbsp; subs=
cribe&nbsp;&nbsp; ibis&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;optional e-m=
ail address, if different&gt;<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>|&nbsp; subs=
cribe&nbsp;&nbsp; ibis-users &lt;optional e-mail address, if different&gt;<=
o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>|&nbsp; unsu=
bscribe ibis&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;optional e-mail addres=
s, if different&gt;<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>|&nbsp; unsu=
bscribe ibis-users &lt;optional e-mail address, if different&gt;<o:p></o:p>=
</span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>|<o:p></o:p>=
</span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>|or e-mail a=
 request to <a
href=3D"mailto:ibis-request@eda-stds.org">ibis-request@eda-stds.org</a>.<o:=
p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>|<o:p></o:p>=
</span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>|IBIS reflec=
tor archives exist under:<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>|<o:p></o:p>=
</span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>|&nbsp; <a
href=3D"http://www.eda-stds.org/pub/ibis/email_archive/">http://www.eda-std=
s.org/pub/ibis/email_archive/</a> Recent<o:p></o:p></span></font></pre><pre=
><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>|&nbsp; <a
href=3D"http://www.eda-stds.org/pub/ibis/users_archive/">http://www.eda-std=
s.org/pub/ibis/users_archive/</a> Recent<o:p></o:p></span></font></pre><pre=
><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>|&nbsp; <a
href=3D"http://www.eda-stds.org/pub/ibis/email/">http://www.eda-stds.org/pu=
b/ibis/email/</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E-mail si=
nce 1993<o:p></o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'><o:p>&nbsp;<=
/o:p></span></font></pre><pre><font
size=3D2 face=3D"Courier New"><span style=3D'font-size:10.0pt'>&nbsp; <o:p>=
</o:p></span></font></pre>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span style=3D=
'font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

<br />--=20
<br />This message has been scanned for viruses and
<br />dangerous content by
<a href=3D"http://www.mailscanner.info/"></b><b>MailScanner</a>, and is
<br />believed to be clean.
<br />--=20
<br />This message has been scanned for viruses and
<br />dangerous content by
<a href=3D"http://www.mailscanner.info/"><b>MailScanner</b></a>, and is
<br />believed to be clean.
</html>

- ------=_NextPart_000_006F_01C83732.3A591BF0--

- --------------------------------------------------------------------
|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

------------------------------

End of ibis-users V1 #108
*************************

