modules/eus.fpd |
1 | 1 | /* MACHINE-GENERATED ! */ |
2 | 2 | |
3 | | frame pin_b { |
4 | | __0: vec @(Hole/2, Hole/2) |
5 | | __1: vec @(-Hole/2, -Hole/2) |
6 | | hole . __0 |
7 | | __2: vec @(-ratio*Hole/2, ratio*Hole/2) |
8 | | __3: vec @(ratio*Hole/2, -ratio*Hole/2) |
9 | | rpad "$n" __2 . |
10 | | } |
11 | | |
12 | | frame pins_bottom { |
13 | | set n = i+1 |
14 | | |
15 | | __0: vec @(x, 0mm) |
16 | | frame pin_b . |
17 | | } |
18 | | |
19 | | frame pins_b { |
20 | | set y = h/2 |
21 | | |
22 | | set x = (i-(N/2-1)/2)*Pitch |
23 | | |
24 | | loop i = 0, N/2-1 |
25 | | |
26 | | __1: vec @(0mm, -y) |
27 | | frame pins_bottom . |
28 | | } |
29 | | |
30 | | frame pin_t { |
| 3 | frame pin { |
31 | 4 | __0: vec @(Hole/2, Hole/2) |
32 | 5 | __1: vec @(-Hole/2, -Hole/2) |
33 | 6 | hole . __0 |
... | ... | |
36 | 9 | rpad "$n" . __2 |
37 | 10 | } |
38 | 11 | |
39 | | frame pins_top { |
40 | | set n = N-i-2 |
41 | | |
42 | | __0: vec @(x, 0mm) |
43 | | frame pin_t . |
44 | | } |
45 | | |
46 | | frame pins_t { |
47 | | set y = h/2 |
| 12 | frame pins { |
| 13 | table |
| 14 | { n, top, ix } |
| 15 | { 1, 0, 0 } |
| 16 | { 2, 0, 1 } |
| 17 | { 3, 0, 2 } |
| 18 | { 4, 0, 3 } |
| 19 | { 5, 1, 3 } |
| 20 | { 6, 1, 0 } |
48 | 21 | |
49 | | set x = (3*i-(N/2-1)/2)*Pitch |
| 22 | set x = (ix-N/4+0.5)*Pitch |
50 | 23 | |
51 | | loop i = 0, 1 |
| 24 | set y = h*(top-0.5) |
52 | 25 | |
53 | | __0: vec @(0mm, y) |
54 | | frame pins_top . |
| 26 | __0: vec @(x, y) |
| 27 | frame pin . |
55 | 28 | } |
56 | 29 | |
57 | 30 | frame marker { |
... | ... | |
73 | 46 | __1: vec @(-x/2, -y/2) |
74 | 47 | rect . __0 w |
75 | 48 | frame marker @ |
76 | | frame pins_t @ |
77 | 49 | } |
78 | 50 | |
79 | 51 | package "EUS" |
80 | | unit mm |
| 52 | unit auto |
81 | 53 | |
82 | 54 | set Pitch = 3.18mm |
83 | 55 | |
... | ... | |
87 | 59 | |
88 | 60 | table |
89 | 61 | { name, N, B, H, h, W } |
90 | | { "SOIC", 8, 2.8mm, 19.94mm, 15.88mm, 13.59mm } |
| 62 | { "EUS", 8, 2.8mm, 19.94mm, 15.88mm, 13.59mm } |
91 | 63 | |
92 | 64 | frame outline @ |
93 | | frame pins_b @ |
94 | | measy pin_b.__1 >> pin_b.__0 -16mm |
95 | | measx pin_b.__1 -> pin_b.__0 -2mm |
96 | | measy outline.__0 >> outline.__1 -19mm |
97 | | measx outline.__1 >> outline.__0 -2mm |
98 | | measy pin_b.__3 -> pin_b.__2 7.5mm |
99 | | measy pins_bottom.__0 >> outline.__1 -5mm |
100 | | measx outline.__1 -> pins_bottom.__0 5mm |
101 | | measx pins_bottom.__0 -> pins_bottom.__0 3mm |
102 | | measy outline.__0 << pins_top.__0 -4mm |
103 | | measx outline.__0 << pins_top.__0 3mm |
104 | | meas pins_top.__0 >> pins_top.__0 3mm |
| 65 | frame pins @ |
| 66 | measy outline.__0 >> outline.__1 -18mm |
| 67 | measx outline.__1 >> outline.__0 -3mm |
| 68 | measx outline.__0 << pins.__0 3mm |
| 69 | measy outline.__0 << pins.__0 -4mm |
| 70 | measx pins.__0 >> pins.__0 h+3mm |
| 71 | measx outline.__1 -> pins.__0 5mm |
| 72 | measx pins.__0 -> pins.__0 3mm |
| 73 | measx pin.__1 -> pin.__0 -2.5mm |
| 74 | measy pin.__2 -> pin.__3 6mm |
| 75 | measx pin.__3 -> pin.__2 -6mm |