• 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. How to change via level with skill in IC6

Stats

  • Locked Locked
  • Replies 31
  • Subscribers 148
  • Views 29611
  • 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

How to change via level with skill in IC6

Eric L14
Eric L14 over 14 years ago

 In IC6, I have a bindkey which change via level (via1 to via2) . Main part of the code is:

; Current selected via
viaToBeChanged=car(geGetSelSet())

; new via identifier
newVia=dbOpenCellViewByType( technName viaName "layout" nil "r")
if( newVia then
  viaToBeChanged~>master=newVia
)

Do you know how doing the same thing in IC6 ?

Thanks in advance

Eric

  • Cancel
Parents
  • Antonios
    Antonios over 12 years ago

    Let me try to be more explicit:

    We have created a layout migration flow which does the following:

    1. Migrates cdb2oa layouts

    2. Scans all the via instances and extracts their parameters i.e.: rows, cols, enclosures, space etc.

    3. Based on a via mapping table which maps the old viaDefs to the new ones, the script recreates the vias with dbCreateVia and assigns to them the extracted in step 2 properties. It is then erasing the old via instances.

    4. It re-compiles hierarchically the pcells.

    We have pcells which can instantiate or not several vias of the the available ones in the technology's viaDefs, based on a metal stack pcell variable.

    The issue is that these pcells are created in a different technology in which the vias where named differently. i.e the name of via 1 was "via1" in the previous technology while in the new one it is "V1". By replacing all "via1" by "V1" in step 3 renders our pcells non functional. We must recreate them from scratch.

    We were wondering if we could change the pcell definitions before recompiling them to account for the new via naming.

    We would like to avoid dumping in a text file the pcell definitions, parse them and reload them. We would prefer the rename the vias directly in the pcell db. Are there functions doing this?

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Antonios
    Antonios over 12 years ago

    Let me try to be more explicit:

    We have created a layout migration flow which does the following:

    1. Migrates cdb2oa layouts

    2. Scans all the via instances and extracts their parameters i.e.: rows, cols, enclosures, space etc.

    3. Based on a via mapping table which maps the old viaDefs to the new ones, the script recreates the vias with dbCreateVia and assigns to them the extracted in step 2 properties. It is then erasing the old via instances.

    4. It re-compiles hierarchically the pcells.

    We have pcells which can instantiate or not several vias of the the available ones in the technology's viaDefs, based on a metal stack pcell variable.

    The issue is that these pcells are created in a different technology in which the vias where named differently. i.e the name of via 1 was "via1" in the previous technology while in the new one it is "V1". By replacing all "via1" by "V1" in step 3 renders our pcells non functional. We must recreate them from scratch.

    We were wondering if we could change the pcell definitions before recompiling them to account for the new via naming.

    We would like to avoid dumping in a text file the pcell definitions, parse them and reload them. We would prefer the rename the vias directly in the pcell db. Are there functions doing this?

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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