S
SS
Guest
I want to move all the via pcells from every level of the cell
hierarchy to the topmost level .
How can I do this.
Thanks,
Srriram
hierarchy to the topmost level .
How can I do this.
Thanks,
Srriram
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Why do you want to do this? It's not going to be that easy, as you'd have toI want to move all the via pcells from every level of the cell
hierarchy to the topmost level .
How can I do this.
Thanks,
Srriram
SS wrote, on 12/05/08 14:44:
I want to move all the via pcells from every level of the cell
hierarchy to the topmost level .
How can I do this.
Thanks,
Srriram
Why do you want to do this? It's not going to be that easy, as you'd have to
modify each cell down in the hierarchy and remove the vias, and re-instantiate
them at the top level.
Andrew.
Jim,hi andrew, you're right, it is pretty difficult, but with the right
tools it is easier.
I also wonder why Srriram would like this, but perhaps the following
simple
solution will help????
(1) you need a skill function (Srriram_getTransform) that takes an
instance list such as a list of which is returned
from dbGetOverlaps and returns the transform to be used with
dbMoveFig. Srriram_getTransform has to work
on mosaics.
if there were no mosaics the function would look something like the
following...
(defun Srriram_getTransform (path) ;; untested
(if (atom path)
'((0 0) "R0")
(dbConcatTransform (car path)~>transform
(Srriram_getTransform (cadr
path)))))
However to work with mosaics the function must be quite a bit more
complicated and different
for CDBA and OpenAccess.
(2) you need a skill function (Srriram_isViaPcell?) which will match
"via pcells"; the customer will have to decide
a necessary and sufficient condition for being a "via pcell".
(3) a function (Srriram_bottomObj) which takes an instance path and
returns the bottom object. this function basically keeps calling cadr
until it finds an atom.
(defun Srriram_bottomObj (obj) ;; untested
(if (atom obj)
obj
(Srriram_bottomObj (cadr obj))))
(4) the following loop will do the moves
(defun Srriram_moveup_via_pcells (cv) ;; untested
(foreach path (dbGetOverlaps cv cv~>bBox t 1:32)
(when (Srriram_isViaPcell? (Srriram_bottomObj path))
(dbReopen cv "a")
(dbMoveFig (Srriram_bottomObj path) cv (Srriram_getTransform
path)))))
Of these function, Srriram_getTransform, is quite tricky to write
correctly.
but maybe the example above is helpful.
-jim
On Dec 24 2008, 11:08 am, Andrew Beckett
andr...@DcEaLdEeTnEcTe.HcIoSm> wrote:
SS wrote, on 12/05/08 14:44:
I want to move all the via pcells from every level of the cell
hierarchy to the topmost level .
How can I do this.
Thanks,
Srriram
Why do you want to do this? It's not going to be that easy, as you'd have to
modify each cell down in the hierarchy and remove the vias, and re-instantiate
them at the top level.
Andrew.