Subject: IBIS datasheets for PCI and DDR

From: [email-masked]
Date: Tue, 16 Nov 1999 10:23:36 -0600

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
[email-masked]

---

From: "Chris Cheng" <[email-masked]>
Date: Tue, 16 Nov 1999 10:41:27 -0800

try this for DDR model
http://www.micron.com/mti/msp/models/index.html
spice only for DDR i/o but then again, why do
u need ibis if u have the full spice......
chris

> -----Original Message-----
> From: [email-masked]
> [mailto:[email-masked]]On Behalf Of [email-masked]
> Sent: Tuesday, November 16, 1999 8:24 AM
> To: [email-masked]
> Cc: [email-masked]
> Subject: [SI-LIST] : IBIS datasheets for PCI and DDR
>
>
> Hello All,
>
> **** To unsubscribe from si-list: send e-mail to
> [email-masked]. 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 ****
>
>

---

From: "D. C. Sessions" <[email-masked]>
Date: Mon, 22 Nov 1999 13:31:05 -0700

> 3650 Hwy. 52 N, Dept. HDC

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

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

* 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