auto place METAL_Dummy

Y

YuAmA

Guest
I used the following to place Metal_Dummy in my layout chip.
x=1200
y=1200
i=1
while((10*i+5<=x)
dbCreatePolygon( "METAL1" "drawing" list((i-1)*10+5:4.5 (i-1)*10+4.5:5
(i-1)*10+0.5:5 (i-1)*10:4.5 (i-1)*10:0.5 (i-1)*10+0.5:0 (i-1)*10+4.5:0
(i-1)*10+5:0.5))
i++
)
i=1
while((10*i+5<=y)
dbCreatePolygon( "METAL1" "drawing" list
(..............................................))
i++
)
use this procedure i can create 1xi or ix1array METAL1 only,who can
tell me how to create ixi array METAL1 Dummy in my layout chip.
please show me detailed procedure,ths!
 
YuAmA wrote, on 07/24/09 16:42:
I used the following to place Metal_Dummy in my layout chip.
x=1200
y=1200
i=1
while((10*i+5<=x)
dbCreatePolygon( "METAL1" "drawing" list((i-1)*10+5:4.5 (i-1)*10+4.5:5
(i-1)*10+0.5:5 (i-1)*10:4.5 (i-1)*10:0.5 (i-1)*10+0.5:0 (i-1)*10+4.5:0
(i-1)*10+5:0.5))
i++
)
i=1
while((10*i+5<=y)
dbCreatePolygon( "METAL1" "drawing" list
(..............................................))
i++
)
use this procedure i can create 1xi or ix1array METAL1 only,who can
tell me how to create ixi array METAL1 Dummy in my layout chip.
please show me detailed procedure,ths!
Your question wasn't that clear, but you just need to nest the two while loops,
and use a different loop variable for each. Please try to use indentation in the
code, it makes it much easier to read:

x=1200
y=1200
i=1
while(10*i+5<=x
j=1
while(10*j+5<=y
; no guarantees the calculations are correct here - I didn't
; check very carefully
dbCreatePolygon( "METAL1" "drawing"
list((i-1)*10+5:(j-1)*10+4.5 (i-1)*10+4.5:(j-1)*10+5
(i-1)*10+0.5:(j-1)*10+5 (i-1)*10:(j-1)*10+4.5
(i-1)*10:(j-1)*10+0.5 (i-1)*10+0.5:(j-1)*10
(i-1)*10+4.5:(j-1)*10 (i-1)*10+5:(j-1)*10+0.5
)
)
j++
) ; while j
i++
) ; while i

Note the code above would be much simpler if you started i and j from 0, as it
would avoid you having to subtract 1 all the time. Also, it would be worth
calculating the *10 product each time. Or just increment i and j by 10 rather
than 1 each time...

Nested loops are very basic programming - I'm amazed you didn't think of doing
that...

Andrew.
 
On 7月27日, 下午4时19分, Andrew Beckett <andr...@DcEaLdEeTnEcTe.HcIoSm>
wrote:
YuAmA wrote, on 07/24/09 16:42:





I used the following to place Metal_Dummy in my layout chip.
x=1200
y=1200
i=1
while((10*i+5<=x)
dbCreatePolygon( "METAL1" "drawing" list((i-1)*10+5:4.5 (i-1)*10+4.5:5
(i-1)*10+0.5:5 (i-1)*10:4.5 (i-1)*10:0.5 (i-1)*10+0.5:0 (i-1)*10+4.5:0
(i-1)*10+5:0.5))
i++
)
i=1
while((10*i+5<=y)
dbCreatePolygon( "METAL1" "drawing" list
(..............................................))
i++
)
use this procedure i can create 1xi or ix1array METAL1 only,who can
tell me how to create ixi array METAL1 Dummy in my layout chip.
please show me detailed procedure,ths!

Your question wasn't that clear, but you just need to nest the two while loops,
and use a different loop variable for each. Please try to use indentation in the
code, it makes it much easier to read:

x=1200
y=1200
i=1
while(10*i+5<=x
   j=1
   while(10*j+5<=y
     ; no guarantees the calculations are correct here - I didn't
     ; check very carefully
     dbCreatePolygon( "METAL1" "drawing"
       list((i-1)*10+5:(j-1)*10+4.5 (i-1)*10+4.5:(j-1)*10+5
         (i-1)*10+0.5:(j-1)*10+5 (i-1)*10:(j-1)*10+4.5
         (i-1)*10:(j-1)*10+0.5 (i-1)*10+0.5:(j-1)*10
         (i-1)*10+4.5:(j-1)*10 (i-1)*10+5:(j-1)*10+0.5
       )
     )
     j++
   ) ; while j
   i++
) ; while i

Note the code above would be much simpler if you started i and j from 0, as it
would avoid you having to subtract 1 all the time. Also, it would be worth
calculating the *10 product each time. Or just increment i and j by 10 rather
than 1 each time...

Nested loops are very basic programming - I'm amazed you didn't think of doing
that...
thank you very much.
Andrew.- 隐藏被引用文字 -

- 显示引用的文字 -
 

Welcome to EDABoard.com

Sponsor

Back
Top