rick
Guest
Wed Jun 09, 2010 12:23 am
Im looking for a way to do an incremental placement of a via-array or
mosaic . The number of times is a parameter. The placement of the
second via will start at the initial plus an offset which will be
determined by the number of times it needs to go through th e look,
Hope this makes sense!
if incNumber >1 then we start
place first via at "x" <--anchor/
start location
loop incNumber -1 <--number of
times
place next via at "x+(incNumber * offset) <--compute the next
location
Thanks
Andrew Beckett
Guest
Mon Jun 14, 2010 5:14 pm
rick wrote, on 06/08/10 22:23:
Quote:
Im looking for a way to do an incremental placement of a via-array or
mosaic . The number of times is a parameter. The placement of the
second via will start at the initial plus an offset which will be
determined by the number of times it needs to go through th e look,
Hope this makes sense!
if incNumber>1 then we start
place first via at "x"<--anchor/
start location
loop incNumber -1<--number of
times
place next via at "x+(incNumber * offset)<--compute the next
location
Thanks
Isn't this just a for() loop (or "look" ;->) with some dbCreate.* functions
inside, and a bit of maths to compute the location.
Or you could use a while() loop.
I must be missing something - this seems particularly straightforward?
Regards,
Andrew.
rick
Guest
Tue Jun 15, 2010 5:27 pm
On Jun 14, 9:14 am, Andrew Beckett <andr...@DcEaLdEeTnEcTe.HcIoSm>
wrote:
Quote:
rick wrote, on 06/08/10 22:23:
Im looking for a way to do an incremental placement of a via-array or
mosaic . The number of times is a parameter. The placement of the
second via will start at the initial plus an offset which will be
determined by the number of times it needs to go through th e look,
Hope this makes sense!
if incNumber>1 then we start
place first via at "x"<--anchor/
start location
loop incNumber -1<--number of
times
place next via at "x+(incNumber * offset)<--compute the next
location
Thanks
Isn't this just a for() loop (or "look" ;->) with some dbCreate.* functions
inside, and a bit of maths to compute the location.
Or you could use a while() loop.
I must be missing something - this seems particularly straightforward?
Regards,
Andrew.
The number of placements are fingers in my pcell and are variable.
There is an issue with the
the for loop looking at the re-evaluated pcell. This is a pcell that
instantiates a pcell. Currently
the code places 1 since the native cell has only one even though the
user has just keyed in 4
fingers. I have one working solution that instatiates a mosaic but
the its one piece metal with
the correct number of vias. I have not been able to replicate what
can be done in VXL where you
can create an array of 2x1 vias. That was the root of the question
but I would prefer a more elegant
solution. This function can be used for dropping the poly contacts
and finger connections to power
and ground
Rick