From 2f182e5e37b3781bea11563754a36af593e4eca8 Mon Sep 17 00:00:00 2001 From: Adam Wang Date: Tue, 5 Jun 2012 14:27:02 +0800 Subject: [PATCH] bga.fpd: added module for Altera 484-FineLine BGA(FBGA) and Xilinx FG(G)484 Fine-Pitch BGA, 1.00 mm pitch --- modules/INFO | 10 +++++ modules/bga.fpd | 105 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+) create mode 100644 modules/bga.fpd diff --git a/modules/INFO b/modules/INFO index 479de69..d95ebd4 100644 --- a/modules/INFO +++ b/modules/INFO @@ -8,6 +8,16 @@ # Printed 8:10 card contacs F: 8_10-card +# BGA +F: bga +# - 484-Pin FineLine BGA(FBGA), from Altera +# http://www.altera.com/devicepackaging/04R00416-02.pdf +# +# - FG(G)484 Fine-Pitch BGA, from Xilinx +# http://www.xilinx.com/support/documentation/user_guides/ug385.pdf +# + + # EUS (R-PDSS-T6) F: eus # diff --git a/modules/bga.fpd b/modules/bga.fpd new file mode 100644 index 0000000..fe3420c --- /dev/null +++ b/modules/bga.fpd @@ -0,0 +1,105 @@ +/* MACHINE-GENERATED ! */ + +frame pad { + set cname = col+1 + + __0: vec @(col*e-Px/2, row*-e-Py/2) + __1: vec .(0mm, Py) + __2: vec __0(Px, 0mm) + rpad "$rname$cname" __1 . +} + +frame inner { + loop col = inner_col_start, inner_col_end + + loop enable = 1, inner + + frame pad @ +} + +frame last { + loop col = inner_col_end+1, Nc-1 + + frame pad @ +} + +frame first { + loop col = 0, inner_col_start-1 + + frame pad @ +} + +frame outline { + __0: vec @(D1/2, -E1/2) + __1: vec .(D/2, E/2) + __2: vec __0(-D/2, -E/2) + rect __1 . 5mil + __3: vec @(0mm, (E-E1)/2) + __4: vec @(-(D-D1)/2, 0mm) + line __3 . 5mil +} + +package "BGA-484" +unit mm + +table + { row, rname, inner } + { 0, "A", 1 } + { 1, "B", 1 } + { 2, "C", 1 } + { 3, "D", 1 } + { 4, "E", 1 } + { 5, "F", 1 } + { 6, "G", 1 } + { 7, "H", 1 } + { 8, "J", 1 } + { 9, "K", 1 } + { 10, "L", 1 } + { 11, "M", 1 } + { 12, "N", 1 } + { 13, "P", 1 } + { 14, "R", 1 } + { 15, "T", 1 } + { 16, "U", 1 } + { 17, "V", 1 } + { 18, "W", 1 } + { 19, "Y", 1 } + { 20, "AA", 1 } + { 21, "AB", 1 } + +set Nr = 22 + +set Nc = 22 + +set inner_col_start = 10 + +set inner_col_end = 11 + +set Px = 0.6mm + +set Py = 0.6mm + +set e = 1mm + +set D1 = 21mm + +set E1 = D1 + +set D = 23mm + +set E = D + +frame last @ +frame first @ +frame inner @ +frame outline @ +measy pad.__0 -> pad.__1 1mm +measy pad.__0 -> pad.__0 1.5mm +measx pad.__0 -> pad.__2 -1mm +measx pad.__0 -> pad.__0 -1.5mm +measy pad.__0 >> pad.__1 2.4mm +measx pad.__0 >> pad.__2 -2.4mm +measy outline.__2 >> outline.__1 2.5mm +measx outline.__2 >> outline.__1 -2.5mm +measx pad.__0 >> pad.__0 -1.8mm +measy pad.__0 >> pad.__0 1.7mm