mirror of
git://projects.qi-hardware.com/fped.git
synced 2024-11-26 05:08:27 +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:
parent
9f2ea8cdc2
commit
2d8b36d65c
9
README
9
README
@ -331,6 +331,15 @@ following loop would not execute at all:
|
|||||||
|
|
||||||
loop n = 1, 0
|
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
|
When a loop is executed, the objects contained in the body of the
|
||||||
enclosing frame are generated for each value of the variable. If
|
enclosing frame are generated for each value of the variable. If
|
||||||
a frame contains multiple loops, all possible combinations of the
|
a frame contains multiple loops, all possible combinations of the
|
||||||
|
18
fbga.fpd
18
fbga.fpd
@ -16,7 +16,9 @@ frame pad {
|
|||||||
}
|
}
|
||||||
|
|
||||||
frame inner {
|
frame inner {
|
||||||
loop col = c0, c1
|
loop col = 2, 3
|
||||||
|
|
||||||
|
loop enable = 1, inner
|
||||||
|
|
||||||
frame pad @
|
frame pad @
|
||||||
}
|
}
|
||||||
@ -35,13 +37,13 @@ frame first {
|
|||||||
|
|
||||||
part "Fake_BGA"
|
part "Fake_BGA"
|
||||||
table
|
table
|
||||||
{ row, rname, c0, c1 }
|
{ row, rname, inner }
|
||||||
{ 0, "A", 2, 3 }
|
{ 0, "A", 1 }
|
||||||
{ 1, "B", 2, 3 }
|
{ 1, "B", 1 }
|
||||||
{ 2, "C", 9, 0 }
|
{ 2, "C", 0 }
|
||||||
{ 3, "D", 9, 0 }
|
{ 3, "D", 0 }
|
||||||
{ 4, "E", 2, 3 }
|
{ 4, "E", 1 }
|
||||||
{ 5, "F", 2, 3 }
|
{ 5, "F", 1 }
|
||||||
|
|
||||||
frame last @
|
frame last @
|
||||||
frame first @
|
frame first @
|
||||||
|
74
sc89.fpd
74
sc89.fpd
@ -1,10 +1,10 @@
|
|||||||
/* MACHINE-GENERATED ! */
|
/* MACHINE-GENERATED ! */
|
||||||
|
|
||||||
frame pad {
|
frame pad {
|
||||||
_pad_0: vec @(-Px/2, -Py/2)
|
corner: vec @(-Px/2, -Py/2)
|
||||||
_pad_1: vec .(Px, 0mm)
|
x: vec .(Px, 0mm)
|
||||||
_pad_2: vec _pad_0(0mm, Py)
|
y: vec corner(0mm, Py)
|
||||||
pad "$pad" . _pad_1
|
pad "$pad" . x
|
||||||
}
|
}
|
||||||
|
|
||||||
frame pad_ne {
|
frame pad_ne {
|
||||||
@ -29,25 +29,25 @@ frame pad_sc {
|
|||||||
}
|
}
|
||||||
|
|
||||||
frame outline {
|
frame outline {
|
||||||
__4: vec @(0mm, Oy/2)
|
top: vec @(0mm, Oy/2)
|
||||||
__5: vec @(0mm, -Oy/2)
|
bottom: vec @(0mm, -Oy/2)
|
||||||
__6: vec .(Ox/2, 0mm)
|
bot_right: vec .(Ox/2, 0mm)
|
||||||
__7: vec __5(-Ox/2, 0mm)
|
bot_left: vec bottom(-Ox/2, 0mm)
|
||||||
line . __6 5mil
|
line . bot_right 5mil
|
||||||
__8: vec __4(Ow/2, 0mm)
|
top_right: vec top(Ow/2, 0mm)
|
||||||
__9: vec __4(-Ow/2, 0mm)
|
top_left: vec top(-Ow/2, 0mm)
|
||||||
line . __8 5mil
|
line . top_right 5mil
|
||||||
_outline_6: vec @(0mm, Oh)
|
middle: vec @(0mm, Oh)
|
||||||
_outline_7: vec .(Ox/2, 0mm)
|
mid_rightmost: vec .(Ox/2, 0mm)
|
||||||
line . __6 5mil
|
line . bot_right 5mil
|
||||||
_outline_8: vec _outline_6(-Ox/2, 0mm)
|
mid_leftmost: vec middle(-Ox/2, 0mm)
|
||||||
line . __7 5mil
|
line . bot_left 5mil
|
||||||
_outline_9: vec _outline_6(Ow/2, 0mm)
|
mid_right: vec middle(Ow/2, 0mm)
|
||||||
line __8 . 5mil
|
line top_right . 5mil
|
||||||
line . _outline_7 5mil
|
line . mid_rightmost 5mil
|
||||||
_outline_10: vec _outline_6(-Ow/2, 0mm)
|
mid_left: vec middle(-Ow/2, 0mm)
|
||||||
line _outline_8 . 5mil
|
line mid_leftmost . 5mil
|
||||||
line __9 . 5mil
|
line top_left . 5mil
|
||||||
}
|
}
|
||||||
|
|
||||||
part "SC89"
|
part "SC89"
|
||||||
@ -59,22 +59,22 @@ table
|
|||||||
{ Ox, Oy, Oh, Ow }
|
{ Ox, Oy, Oh, Ow }
|
||||||
{ 2mm, 2.2mm, 0.6mm, 0.85mm }
|
{ 2mm, 2.2mm, 0.6mm, 0.85mm }
|
||||||
|
|
||||||
__0: vec @(0mm, Gy/2)
|
ref_up: vec @(0mm, Gy/2)
|
||||||
frame pad_sc .
|
frame pad_sc .
|
||||||
__1: vec @(0mm, -Gy/2)
|
ref_down_c: vec @(0mm, -Gy/2)
|
||||||
__2: vec .(Wx/2, 0mm)
|
ref_down_r: vec .(Wx/2, 0mm)
|
||||||
frame pad_ne .
|
frame pad_ne .
|
||||||
__3: vec __1(-Wx/2, 0mm)
|
ref_down_l: vec ref_down_c(-Wx/2, 0mm)
|
||||||
frame pad_nw .
|
frame pad_nw .
|
||||||
dummy: vec @(0.2mm, 0mm)
|
dummy: vec @(0.2mm, 0mm)
|
||||||
frame outline @
|
frame outline @
|
||||||
measx pad._pad_0 >> pad._pad_1 -0.6mm
|
measx pad.corner >> pad.x -0.6mm
|
||||||
measy pad._pad_0 >> pad._pad_2 0.8mm
|
measy pad.corner >> pad.y 0.8mm
|
||||||
measy __3 >> pad._pad_0 0.5mm
|
measy ref_down_l >> pad.corner 0.5mm
|
||||||
measx pad._pad_0 -> pad._pad_1 -0.3mm
|
measx pad.corner -> pad.x -0.3mm
|
||||||
measy pad._pad_0 >> __3 0.5mm
|
measy pad.corner >> ref_down_l 0.5mm
|
||||||
measy dummy >> outline.__6 1.1mm
|
measy dummy >> outline.bot_right 1.1mm
|
||||||
measy outline._outline_7 >> dummy 0.3mm
|
measy outline.mid_rightmost >> dummy 0.3mm
|
||||||
measy outline.__8 >> outline.__6 1.2mm
|
measy outline.top_right >> outline.bot_right 1.2mm
|
||||||
measx outline.__9 >> outline.__8 0.3mm
|
measx outline.top_left >> outline.top_right 0.3mm
|
||||||
measx outline.__7 >> outline.__6 -0.8mm
|
measx outline.bot_left >> outline.bot_right -0.8mm
|
||||||
|
Loading…
Reference in New Issue
Block a user