/* MACHINE-GENERATED ! */

frame col {
	table
	    { rname, row }
	    { "A", 0 }
	    { "B", 1 }
	    { "C", 2 }
	    { "D", 3 }
	    { "E", 4 }
	    { "F", 5 }
	    { "G", 6 }
	    { "H", 7 }
	    { "J", 8 }
	    { "K", 9 }
	    { "L", 10 }
	    { "M", 11 }
	    { "N", 12 }
	    { "P", 13 }
	    { "R", 14 }

	y: vec @(0mm, -e*row)
	tl: vec .(-b/2, b/2)
	br: vec .(b, -b)
	rpad "$rname$cname" . tl
}

frame col_l {
	set cname = col+1

	frame col @
}

frame col_r {
	set cname = 9-col

	frame col @
}

frame Pads {
	loop col = 0, 2

	__0: vec @((4-col)*e, 7*e)
	frame col_r .
	__1: vec @(-(4-col)*e, 7*e)
	frame col_l .
}

package "90vfbga_mobile_ddr"
unit mm
set E = 10mm

set D = 13mm

set e = 0.8mm

set b = 0.4mm

set silk = 0.1mm

__0: vec @(-E/2, -D/2)
__1: vec .(E, D)
rect __0 . silk
__2: vec @(-4mm, 5.6mm)
__3: vec .(0.2mm, 0mm)
circ __2 . 0.05mm
frame Pads @
measy col.y -> col.y 0.5mm
measx Pads.__0 -> Pads.__0 1.5mm
measx Pads.__1 >> Pads.__0 2mm
measy col.y -> Pads.__1 1mm
measx Pads.__0 << Pads.__1 1.5mm
measx __0 >> __1 -0.5mm
measy __0 >> __1 0.5mm
measy col.br -> col.tl -2mm
