Update "missing" (automake) script to a later version
[geda-pcb/pcjc2.git] / lib / bga.inc
blob6c81757ab67fd476e7df50973fc5c16b3856abf6
1 #  BGA packages
2 #  A. G. Major, 2000
4 # $1: canonical name
5 # $2: name on PCB
6 # $3: value
7 # $4: number of pins along outer edge
8 # $5: number of rows
10 define(`PKG_BGA',
11         `define(`XBLOCK', `$4')
12         define(`YBLOCK', `$5')
13         define(`PITCH', `50')
14         define(`DIAMETER', `25')
15         define(`NUMPINS', `eval(4*(XBLOCK-4)*YBLOCK)')
16 Element(0x00 "$1" "`$2'" "$3" 100 0 0 100 0x00)
18         forloop(`i', 0, eval(XBLOCK-1),
19                 `forloop(`j', 0, eval(YBLOCK-1),
20                         `PAD(eval(i*PITCH), eval(j*PITCH), eval(i*PITCH), eval(j*PITCH), DIAMETER, 1)'
21                         `PAD(eval((XBLOCK+YBLOCK-j-1)*PITCH), eval(i*PITCH), eval((XBLOCK+YBLOCK-j-1)*PITCH), eval(i*PITCH), DIAMETER, 1)'
22                         `PAD(eval((XBLOCK+YBLOCK-i-1)*PITCH), eval((XBLOCK+YBLOCK-j-1)*PITCH), eval((XBLOCK+YBLOCK-i-1)*PITCH), eval((XBLOCK+YBLOCK-j-1)*PITCH), DIAMETER, 1)'
23                         `PAD(eval(j*PITCH), eval((XBLOCK+YBLOCK-i-1)*PITCH), eval(j*PITCH), eval((XBLOCK+YBLOCK-i-1)*PITCH), DIAMETER, 1)'
24                 )'
25         )
26         ElementLine(eval(-PITCH/2) eval(-1*PITCH) eval((XBLOCK+YBLOCK)*PITCH) eval(-1*PITCH) 10)
27         ElementLine(eval((XBLOCK+YBLOCK)*PITCH) eval(-1*PITCH) eval((XBLOCK+YBLOCK)*PITCH) eval((XBLOCK+YBLOCK)*PITCH) 10)
28         ElementLine(eval(-1*PITCH) eval((XBLOCK+YBLOCK)*PITCH) eval((XBLOCK+YBLOCK)*PITCH) eval((XBLOCK+YBLOCK)*PITCH) 10)
29         ElementLine(eval(-1*PITCH) eval(-PITCH/2) eval(-1*PITCH) eval((XBLOCK+YBLOCK)*PITCH) 10)
30         ElementLine(eval(-PITCH/2) eval(-PITCH) eval(-PITCH/2) eval(-PITCH/2) 10)
31         ElementLine(eval(-PITCH) eval(-PITCH/2) eval(-PITCH/2) eval(-PITCH/2) 10)
32         Mark(eval((YBLOCK+1)*PITCH) eval((YBLOCK+1)*PITCH))
33 )')
35 # -------------------------------------------------------------------