1
0
mirror of git://projects.qi-hardware.com/fped.git synced 2025-04-21 12:27:27 +03:00

A bit of cleanup, as suggested by Chitlesh Goorah.

- moved all examples to examples/
- README: updated and corrected example invocation



git-svn-id: http://svn.openmoko.org/trunk/eda/fped@5748 99fdad57-331a-0410-800a-d7fa5415bdb3
This commit is contained in:
werner
2009-12-02 15:36:00 +00:00
parent 582e2391de
commit c6312cd313
7 changed files with 1 additions and 1 deletions

56
examples/fbga.fpd Normal file
View File

@@ -0,0 +1,56 @@
/* MACHINE-GENERATED ! */
frame pad {
set Px = 0.5mm
set Py = 0.5mm
set cname = col+1
set e = 1mm
__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 = 2, 3
loop enable = 1, inner
frame pad @
}
frame last {
loop col = 4, 5
frame pad @
}
frame first {
loop col = 0, 1
frame pad @
}
package "Fake_BGA"
table
{ row, rname, inner }
{ 0, "A", 1 }
{ 1, "B", 1 }
{ 2, "C", 0 }
{ 3, "D", 0 }
{ 4, "E", 1 }
{ 5, "F", 1 }
frame last @
frame first @
frame inner @
measy pad.__0 -> pad.__1 0.2mm
measy pad.__0 -> pad.__0 0.5mm
measx pad.__0 -> pad.__2 -0.3mm
measx pad.__0 -> pad.__0 -0.6mm
measy pad.__0 >> pad.__1 0.8mm
measx pad.__0 >> pad.__2 -0.9mm

24
examples/meas.fpd Normal file
View File

@@ -0,0 +1,24 @@
/*
* new-style measurements demo
*/
part "measurements"
loop x = -2, 2
A: vec @(0mm, 0mm)
B: vec @(x*2mm, 2mm)
C: vec @(0mm, 4mm)
/*
* If we measure (x, y), y trumps x
*/
meas "A -> B = " A -> B 0.2mm
meas "A <- B = " A <- B 0.5mm
meas "A >> B = " A >> B 1.5mm
measx "x(A -> B) = " A -> B -0.5mm
measx "x(A >> B) = " A >> B -1mm
measy "y(A -> B) = " A -> B -2mm
measy "y(A >> B) = " A >> B -4.5mm
meas "B -> C = " B -> C 0.5mm

73
examples/qfn.fpd Normal file
View File

@@ -0,0 +1,73 @@
/*
* Example of a QFN package (and general construction site to experiment with
* fped features during development)
*
* Everything you see here is likely to change sooner or later.
*
* http://www.nxp.com/acrobat/packages/footprint/SOT616-1_fp_reflow.pdf
*/
frame pad_up {
c: vec @(-D/2, 0mm)
o: vec c(D, C)
set pad = n+1
pad "$pad" c .
}
frame pads {
loop n = 0, N/4-1
vec @(P*(n-(N/4-1)/2), -Ay/2)
frame pad_up .
}
part "qfn"
set N = 24
/*
* Note that this table is not a great example because it contains lots of
* fields we don't really need for iterations. But it's useful for driving
* the GUI to extremes.
*/
table
{ P, Ax, Ay, Bx, By, C, D, SLx, SLy, SPx_tot, SPy_tot, SPx, SPy, Gx, Gy, Hx, Hy }
{ 0.5mm, 5mm, 5mm, 3.2mm, 3.2mm, 0.9mm, 0.24mm, 2.1mm, 2.1mm, 1.2mm,
1.2mm, 0.45mm, 0.45mm, 4.3mm, 4.3mm, 5.25mm, 5.25mm }
h_x0y0: vec @(-Hx/2, -Hy/2)
h_x1y1: vec .(Hx, Hy)
rect h_x0y0 h_x1y1 8mil
/*
* we can't draw the package outline on the silk screen for it would print
* over the pads.
*/
#if 0
g_x0y0: vec @(-Gx/2, -Gy/2)
g_x1y1: vec .(Gx, Gy)
#endif
frame pads @
// ARC, just for testing
c: vec @(-1mm, 1mm)
r: vec c(0mm, 0.5mm)
e: vec c(-0.5mm, 0mm)
arc c r e 2mil
r2: vec c(0mm, 0.8mm)
circ c r2 5mil
/*
x1 = 1+2*3
x2 = (1+2)*3
x3 = 1-(2+3)
*/
measy pad_up.c -> pad_up.o 0.2mm

15
examples/quad.fpd Normal file
View File

@@ -0,0 +1,15 @@
frame c {
vec @(1mm, 0mm)
circ . @
}
part "quad"
vec @(-1mm, 1mm)
frame c .
vec @(1mm, -1mm)
frame c .
vec @(-1mm, -1mm)
frame c .
vec @(1mm, 1mm)
frame c .

80
examples/sc89.fpd Normal file
View File

@@ -0,0 +1,80 @@
/* MACHINE-GENERATED ! */
frame pad {
corner: vec @(-Px/2, -Py/2)
x: vec .(Px, 0mm)
y: vec corner(0mm, Py)
pad "$pad" . x
}
frame pad_ne {
set pad = 2
_pad_ne_0: vec @(-Px/2, -Py/2)
frame pad .
}
frame pad_nw {
set pad = 1
_pad_nw_0: vec @(Px/2, -Py/2)
frame pad .
}
frame pad_sc {
set pad = 3
_pad_sc_0: vec @(0mm, Py/2)
frame pad .
}
frame outline {
top: vec @(0mm, Oy/2)
bottom: vec @(0mm, -Oy/2)
bot_right: vec .(Ox/2, 0mm)
bot_left: vec bottom(-Ox/2, 0mm)
line . bot_right 5mil
top_right: vec top(Ow/2, 0mm)
top_left: vec top(-Ow/2, 0mm)
line . top_right 5mil
middle: vec @(0mm, Oh)
mid_rightmost: vec .(Ox/2, 0mm)
line . bot_right 5mil
mid_leftmost: vec middle(-Ox/2, 0mm)
line . bot_left 5mil
mid_right: vec middle(Ow/2, 0mm)
line top_right . 5mil
line . mid_rightmost 5mil
mid_left: vec middle(-Ow/2, 0mm)
line mid_leftmost . 5mil
line top_left . 5mil
}
package "SC89"
table
{ Px, Py, Gy, Wx }
{ 0.5mm, 0.6mm, 0.7mm, 1.5mm }
table
{ Ox, Oy, Oh, Ow }
{ 2mm, 2.2mm, 0.6mm, 0.85mm }
ref_up: vec @(0mm, Gy/2)
frame pad_sc .
ref_down_c: vec @(0mm, -Gy/2)
ref_down_r: vec .(Wx/2, 0mm)
frame pad_ne .
ref_down_l: vec ref_down_c(-Wx/2, 0mm)
frame pad_nw .
dummy: vec @(0.2mm, 0mm)
frame outline @
measx pad.corner >> pad.x -0.6mm
measy pad.corner >> pad.y 0.8mm
measy ref_down_l >> pad.corner 0.5mm
measx pad.corner -> pad.x -0.3mm
measy pad.corner >> ref_down_l 0.5mm
measy dummy >> outline.bot_right 1.1mm
measy outline.mid_rightmost >> dummy 0.3mm
measy outline.top_right >> outline.bot_right 1.2mm
measx outline.top_left >> outline.top_right 0.3mm
measx outline.bot_left >> outline.bot_right -0.8mm

16
examples/tab.fpd Normal file
View File

@@ -0,0 +1,16 @@
/*
* row selection example
*/
part "tab"
table
{ x, x2 }
{ 1mm, 1 }
{ 2mm, 4 }
{ 3mm, 9 }
vec @(x, 0mm)
circ @ .
c: vec @(x-1mm, -4mm)
vec c(0.5mm, 0.5mm)
pad "$x2" c .