Root/modules/ssop.fpd

Source at commit d37268a6ba7dd08f54960a03ca755dc943e3636c created 7 years 1 month ago.
By Werner Almesberger, modules/: add PAD_S_120x120; correct classification of PAD_S_150x150
1/* MACHINE-GENERATED ! */
2
3frame pin {
4    __0: vec @(D/2, C/2)
5    __1: vec @(-D/2, -C/2)
6    pad "$n" . __0
7}
8
9frame pins_top {
10    set n = N-i
11
12    __0: vec @(x, 0mm)
13    frame pin .
14}
15
16frame pins_bottom {
17    set n = i+1
18
19    __0: vec @(x, 0mm)
20    frame pin .
21}
22
23frame pins {
24    set y = (A+B)/4
25
26    set x = (i-(N/2-1)/2)*P
27
28    loop i = 0, N/2-1
29
30    __0: vec @(0mm, y)
31    frame pins_top .
32    __1: vec @(0mm, -y)
33    frame pins_bottom .
34}
35
36frame outline {
37    set w = 5mil
38
39    table
40        { r, d }
41        { 0.3mm, 2*r }
42
43    __0: vec @(H/2, F/2)
44    __1: vec @(-H/2, -F/2)
45    rect . __0 w
46    __2: vec @(-(H/2+2*r), -(A+B)/4)
47    __3: vec .(r, 0mm)
48    circ __2 . w
49}
50
51package "$name-$N"
52unit mm
53
54set P = 0.65mm
55
56set D = 0.4mm
57
58table
59    { name, N, A, B, C, F, H }
60    { "SSOP", 14, 8.1mm, 5.7mm, 1.2mm, 8.35mm, 4.55mm }
61    { "SSOP", 16, 8.1mm, 5.7mm, 1.2mm, 8.35mm, 5.2mm }
62    { "SSOP", 20, 8.1mm, 5.9mm, 1.1mm, 8.35mm, 6.5mm }
63    { "SSOP", 24, 8.1mm, 5.9mm, 1.1mm, 8.35mm, 7.8mm }
64    { "SSOP", 28, 8.1mm, 5.9mm, 1.1mm, 8.35mm, 9.1mm }
65    { "TSSOP", 14, 6.8mm, 4.6mm, 1.1mm, 7.05mm, 5mm }
66    { "TSSOP", 20, 6.8mm, 4.6mm, 1.1mm, 7.05mm, 6.75mm }
67
68frame outline @
69frame pins @
70measy outline.__1 >> outline.__0 2mm
71measx outline.__1 >> outline.__0 F+1mm
72measy pin.__1 -> pin.__0 1.5mm
73measy pin.__1 >> pin.__0 -H-2mm
74measy pin.__0 >> pin.__1 -H
75measx pin.__1 -> pin.__0 -1mm
76measx pins_top.__0 -> pins_top.__0 -2mm
77measy pins.__0 << pins_bottom.__0 -2mm
78

Archive Download this file

Branches:
master



interactive