1
0
mirror of git://projects.qi-hardware.com/fped.git synced 2024-11-22 20:11:53 +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 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

View File

@ -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 @

View File

@ -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