1
0
mirror of git://projects.qi-hardware.com/fped.git synced 2024-11-22 08:09:42 +02:00

- named vectors in sc89.fpd

- README: described use of "loop" as "if" and change fbga.fpd to use this



git-svn-id: http://svn.openmoko.org/trunk/eda/fped@5428 99fdad57-331a-0410-800a-d7fa5415bdb3
This commit is contained in:
werner 2009-08-12 17:56:55 +00:00
parent 9f2ea8cdc2
commit 2d8b36d65c
3 changed files with 56 additions and 45 deletions

9
README
View File

@ -331,6 +331,15 @@ following loop would not execute at all:
loop n = 1, 0
This can be used to implement conditional execution. For example,
the items in the following frame would be instantiated if the
variable "enable" is set to 1 but not it is set to 0:
frame ... {
loop dummy = 1, enable
...
}
When a loop is executed, the objects contained in the body of the
enclosing frame are generated for each value of the variable. If
a frame contains multiple loops, all possible combinations of the

View File

@ -16,7 +16,9 @@ frame pad {
}
frame inner {
loop col = c0, c1
loop col = 2, 3
loop enable = 1, inner
frame pad @
}
@ -35,13 +37,13 @@ frame first {
part "Fake_BGA"
table
{ row, rname, c0, c1 }
{ 0, "A", 2, 3 }
{ 1, "B", 2, 3 }
{ 2, "C", 9, 0 }
{ 3, "D", 9, 0 }
{ 4, "E", 2, 3 }
{ 5, "F", 2, 3 }
{ 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 @

View File

@ -1,10 +1,10 @@
/* MACHINE-GENERATED ! */
frame pad {
_pad_0: vec @(-Px/2, -Py/2)
_pad_1: vec .(Px, 0mm)
_pad_2: vec _pad_0(0mm, Py)
pad "$pad" . _pad_1
corner: vec @(-Px/2, -Py/2)
x: vec .(Px, 0mm)
y: vec corner(0mm, Py)
pad "$pad" . x
}
frame pad_ne {
@ -29,25 +29,25 @@ frame pad_sc {
}
frame outline {
__4: vec @(0mm, Oy/2)
__5: vec @(0mm, -Oy/2)
__6: vec .(Ox/2, 0mm)
__7: vec __5(-Ox/2, 0mm)
line . __6 5mil
__8: vec __4(Ow/2, 0mm)
__9: vec __4(-Ow/2, 0mm)
line . __8 5mil
_outline_6: vec @(0mm, Oh)
_outline_7: vec .(Ox/2, 0mm)
line . __6 5mil
_outline_8: vec _outline_6(-Ox/2, 0mm)
line . __7 5mil
_outline_9: vec _outline_6(Ow/2, 0mm)
line __8 . 5mil
line . _outline_7 5mil
_outline_10: vec _outline_6(-Ow/2, 0mm)
line _outline_8 . 5mil
line __9 . 5mil
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
}
part "SC89"
@ -59,22 +59,22 @@ table
{ Ox, Oy, Oh, Ow }
{ 2mm, 2.2mm, 0.6mm, 0.85mm }
__0: vec @(0mm, Gy/2)
ref_up: vec @(0mm, Gy/2)
frame pad_sc .
__1: vec @(0mm, -Gy/2)
__2: vec .(Wx/2, 0mm)
ref_down_c: vec @(0mm, -Gy/2)
ref_down_r: vec .(Wx/2, 0mm)
frame pad_ne .
__3: vec __1(-Wx/2, 0mm)
ref_down_l: vec ref_down_c(-Wx/2, 0mm)
frame pad_nw .
dummy: vec @(0.2mm, 0mm)
frame outline @
measx pad._pad_0 >> pad._pad_1 -0.6mm
measy pad._pad_0 >> pad._pad_2 0.8mm
measy __3 >> pad._pad_0 0.5mm
measx pad._pad_0 -> pad._pad_1 -0.3mm
measy pad._pad_0 >> __3 0.5mm
measy dummy >> outline.__6 1.1mm
measy outline._outline_7 >> dummy 0.3mm
measy outline.__8 >> outline.__6 1.2mm
measx outline.__9 >> outline.__8 0.3mm
measx outline.__7 >> outline.__6 -0.8mm
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