Home > Community > Forums > Custom IC SKILL > How to flatten mosaic?

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 How to flatten mosaic? 

Last post Thu, Mar 30 2006 2:54 AM by archive. 1 replies.
Started by archive 30 Mar 2006 02:54 AM. Topic has 1 replies and 2141 views
Page 1 of 1 (2 items)
Sort Posts:
  • Thu, Mar 30 2006 2:54 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,950
    How to flatten mosaic? Reply

    I'd like flatten all instances including mosaic in current cellview(layout).

    I have used skill code such like follows.

    A = hiGetCurrentWindow()->cellView
    B = A->instances
    foreach(C B dbFlattenInst(C 32 t nil nil))

    *Error* dbFlattenInst: invalid instId or mosaicId - db:64685232

    If I delete mosaic(db:64685232), everything is ok.
    How to solve this problem?
    I strong guess that "dbFlattenInst" can not flatten mosaic.


    Originally posted in cdnusers.org by BAEK
    • Post Points: 0
  • Fri, Mar 31 2006 1:22 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,950
    RE: How to flatten mosaic? Reply

    Baek,

    For the mosaic instance to be flattened, one needs to pass the mosaicId instead of the instanceID to the leFlattenInst command.
     
    Something like the following (from sourcelink solution 11186852) will work:
    -------------------------
    procedure( CCSleFlattenInst(libName cellName )

      let( (cv topInstList )

          if( ddGetObj( libName cellName "layout" ) then

          cv = dbOpenCellViewByType( libName cellName "layout" "maskLayout" "a")

          ;open the layout in non graphical mode

        )

        topInstList = cv~>instances 

        ;get a list of all instances in the cellview


    foreach(inst topInstList

         if(inst~>mosaic  then

          leFlattenInst( inst~>mosaic 31 t nil nil ) 

        ;flatten the mosaic instance

           );if

    leFlattenInst( inst 31 t nil nil )

    ;if it is not a  mosaic flatten with this code

       );foreach

         ;dbSave(cv)   ;optional save command
           ;dbClose(cv)  ;optional close command

          );let

    );procedure


    Originally posted in cdnusers.org by lindam
    • Post Points: 0
Page 1 of 1 (2 items)
Sort Posts:
Started by archive at 30 Mar 2006 02:54 AM. Topic has 1 replies.