• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. Using SKILL to copy content between layout views

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 143
  • Views 15127
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Using SKILL to copy content between layout views

jaleco
jaleco over 6 years ago

I am using SKILL to (select and) copy layout content between Virtuoso layout views.

From previous posts, there seem to be 2 commonly recommended approaches - (1) using dbCopyFig(), and (2) dbCreateInst() followed by dbFlattenInst().

I would like to use both in different situations, but whereas dbCopyFig() will capture selected prBoundaries, they are not retained by the flattening functions dbFlattenInst() and leFlattenInst().

How to retain a cell boundary when removing hierarchy / using the flatten operations?

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago

    You can use dbFlattenInst2 as this has an option called mergePRBoundary (it can't just preserve it, because you may have an existing prBoundary, and you can only have one - so it offers the choice of merging them).

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • jaleco
    jaleco over 6 years ago in reply to Andrew Beckett

    Thanks Andrew!

    This did not work if , as in my case, a prBoundary object did not exist in the destination cell view. 

    Apparently the merge option cannot merge the source prBoundary with a non-existent destination cell prBoundary.

    However, based on your feedback, I realized there were multiple descriptions of the dbFlattenInst functions found in the Cadence Help browser.

    The ones I had been looking at in the Virtuoso Shared Tools/.../CDBA Figure Functions/Instance Creation and Modification section do not include a description of the mergePRBoundary option.

    So it was very hlepful to realize I needed to be looking in the SKILL/Virtuoso Design Environment SKILL Reference/Cellview InputOutput Database Access Functions section!!

      :  )

    I'm working around this by grabbing the prBoundary of the source cellview after the flatten function removes it:

    dbFlattenInst(new_inst 1)

    if(cv_src~>prBoundary then dbCopyFig(cv_src~>prBoundary cv_dest))

    Thanks again very much for your feedback!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information