[SI-LIST] : Re: IBIS datasheets for PCI and DDR

About this list Date view Thread view Subject view Author view

From: D. C. Sessions (dc.sessions@vlsi.com)
Date: Mon Nov 22 1999 - 12:31:05 PST


gedlund@us.ibm.com wrote:
>
> Hello All,
>
> My modeling group has a need for a generic IBIS datasheet that would
> represent the full range of the PCI spec. I guess it would be pretty easy
> to make from the spec (except the VT tables), but I figured why reinvent
> the wheel. A behavioral HSPICE model would be nice, too. We're planning
> to use these models in simulations to evaluate spec compliance.
>
> I'm also looking for the same thing for the DDR SDRAM spec.
>
> Greg Edlund
> Advisory Engineer, Critical Net Analysis
> IBM
> 3650 Hwy. 52 N, Dept. HDC
> Rochester, MN 55901
> gedlund@us.ibm.com

I've attached some behavioral HSPICE models for DDR 4x;
the same approach should work for PCI.

-- 
D. C. Sessions
dc.sessions@vlsi.com

* AGP 2.0 V/I curve functions * Source: * AGP specification rev. 2.0 Figure 4-29 (3.3v) * AGP specification rev. 2.0 Figure 4-30 (1.5v) * AGP specification rev. 2.0 Figure 4-33 (1.5v)

* Maximum pullup current at 3.3v .SUBCKT ioh33max pad vddq vssq E1 vddq offs + VOL='0.3*v(vddq,vssq)' E2 offs pad + VOL='((i(E1)/54m)*v(vddq,vssq)/(v(pad,vssq)+(0.4*v(vddq,vssq))))-v(vddq,offs)' + MAX=0 .ENDS ioh33max

* Maximum pulldown current at 3.3v .SUBCKT iol33max pad vddq vssq E1 offs vssq + VOL='0.18*v(vddq,vssq)' E2 pad offs + VOL='((i(E1)/141m)*v(vddq,vssq)/v(vddq,pad))-v(offs,vssq)' + MAX=0 .ENDS iol33max

* Minimum pullup current at 3.3v .SUBCKT ioh33min pad vddq vssq .PARAM + rline = '0.7/9m' E1 vddq offs VOL='0.1*v(vddq,vssq)' E2 offs pad + VOL='(i(E2)*rline)-v(vddq,offs)' + MIN=0 MAX=4 G1 offs pad + CUR='(v(vddq,vssq)*0.7/rline)-i(E2)' MIN=-50m MAX=0 R1 vddq pad 1e8 .ENDS ioh33min

* Minimum pulldown current at 3.3v .SUBCKT iol33min pad vddq vssq .PARAM + rline = '0.6/12m' E1 offs vssq VOL='0.1*v(vddq,vssq)' E2 pad offs + VOL='(i(E2)*rline)-v(offs,vssq)' + MIN=0 MAX=4 G1 pad offs + CUR='(v(vddq,vssq)*0.6/rline)-i(E2)' + MIN=-50m MAX=0 R1 pad vssq 1e8 .ENDS iol33min

* 1.5v constraint curves

* Maximum pullup current at 1.5v (per 4-30) .SUBCKT ioh15max1 pad vddq vssq E1 vddq offs + VOL='0.3*v(vddq,vssq)' E2 offs pad + VOL='((i(E1)/111m)*v(vddq,vssq)/v(pad,vssq))-v(vddq,offs)' + MAX=0 .ENDS ioh15max1

* Maximum pulldown current at 1.5v (per 4-30) .SUBCKT iol15max1 pad vddq vssq E1 offs vssq + VOL='0.3*v(vddq,vssq)' E2 pad offs + VOL='((i(E1)/111m)*v(vddq,vssq)/v(vddq,pad))-v(offs,vssq)' + MAX=0 .ENDS iol15max1

* Minimum pullup current at 1.5v (per 4-30) .SUBCKT ioh15min1 pad vddq vssq .PARAM + rline = '0.675/11m' E1 vddq offs VOL='0.1*v(vddq,vssq)' E2 offs pad + VOL='(i(E2)*rline)-v(vddq,offs)' + MIN=0 MAX=2 G1 offs pad + CUR='(v(vddq,vssq)*0.675/rline)-i(E2)' MIN=-50m MAX=0 R1 vddq pad 1e8 .ENDS ioh15min1

* Minimum pulldown current at 1.5v (per 4-30) .SUBCKT iol15min1 pad vddq vssq .PARAM + rline = '0.675/11m' E1 offs vssq VOL='0.1*v(vddq,vssq)' E2 pad offs + VOL='(i(E2)*rline)-v(offs,vssq)' + MIN=0 MAX=2 G1 pad offs + CUR='(v(vddq,vssq)*0.675/rline)-i(E2)' + MIN=-50m MAX=0 R1 pad vssq 1e8 .ENDS iol15min1

* Maximum pullup current at 1.5v (per 4-33) .SUBCKT ioh15max2 pad vddq vssq .PARAM + ib1 = '200m/9' E1 vddq pad2 VOL='MIN(v(vddq,pad),v(vddq,vssq)/2) G1 vddq pad + CUR='ib1*(v(vddq,pad)+(v(pad2,vssq)*v(vddq,pad2)/v(vddq,vssq)))' R1 vddq pad 1e8 .ENDS ioh15max2

* Maximum pulldown current at 1.5v (per 4-33) .SUBCKT iol15max2 pad vddq vssq .PARAM + ib1 = '200m/9' E1 pad2 vssq VOL='MIN(v(pad,vssq),v(vddq,vssq)/2) G1 pad vssq + CUR='ib1*(v(pad,vssq)+(v(pad2,vssq)*v(vddq,pad2)/v(vddq,vssq)))' R1 pad vssq 1e8 .ENDS iol15max2

* Minimum pullup current at 1.5v (per 4-33) .SUBCKT ioh15min2 pad vddq vssq .PARAM + k1 = 48 $ 1/20.833m + k2 = 600 $ 1/1.667m + k3 = 'k2-k1' E1 n1 vddq VOL='MIN(-0.15*v(vddq,vssq),48*i(E1))' E2 pad n1 VOL='MIN(0,k3*(i(E1)+(0.5*v(vddq,vssq)/k1)))' .ENDS ioh15min2

* Minimum pulldown current at 1.5v (per 4-33) .SUBCKT iol15min2 pad vddq vssq .PARAM + k1 = 48 $ 1/20.833m + k2 = 600 $ 1/1.667m + k3 = 'k2-k1' E1 n1 vssq VOL='MAX(0.15*v(vddq,vssq),48*i(E1))' E2 pad n1 VOL='MAX(0,k3*(i(E1)-(0.5*v(vddq,vssq)/k1)))' .ENDS iol15min2

**** To unsubscribe from si-list: send e-mail to majordomo@silab.eng.sun.com. In the BODY of message put: UNSUBSCRIBE si-list, for more help, put HELP. si-list archives are accessible at http://www.qsl.net/wb6tpu/si-list ****


About this list Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Tue Feb 29 2000 - 11:39:02 PST