• 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. SKILL for changing via.

Stats

  • Locked Locked
  • Replies 10
  • Subscribers 144
  • Views 19102
  • 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

SKILL for changing via.

Leonardo Vinci
Leonardo Vinci over 7 years ago

I want to write a skill code for changing vias. For eg: 
I will make 2 bindkeys, one for changing via to up metal level and other for changing via to down metal level. 

Below i am planning to change via M1V1M2 to via M2V2M3.

What am i planning to do is to select a via, and querying it to get its via definition name as shown below:

geGetSelSet()~>viaHeader~>viaDefName ........(1)                                                          =>("M1V1M2")

Now i planned to change this list(destructively) to the via definition since i want to change the via one metal level up: 

setcar(geGetSelSet()~>viaHeader~>viaDefName "M2V2M3") ............(2)                         =>("M2V2M3")

But nothing happens. After running code(2), when i again run code(1), it gives me code(1)'s output i.e ("M1V1M2"). 

I am doing wrong. Can you help?! 

Thanks!

Leonardo da Vinci

  • Cancel
Parents
  • Deeksha D
    Deeksha D over 6 years ago

    Hi,

        Even iam facing the same issues while changing layout fom M2_M1 to M3_M2 and vice versa.. If you found the solution can you please share it??

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

    As I explained above, you have to either use leReplace, or delete and re-add the via (dbDeleteObject() and then dbCreateVia()).

    Regards,

    Andrew.

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

    I used leReplace but while doing that it will take lot of time to change the via any solution for that?

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

    That's not very specific - you've not given any clue as to what exactly the problem is - how much is a lot of time? What precisely are you doing? Which version are you using? This really should be a new thread - see Guidelines for the Custom IC SKILL Forum

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to Deeksha D

    That's not very specific - you've not given any clue as to what exactly the problem is - how much is a lot of time? What precisely are you doing? Which version are you using? This really should be a new thread - see Guidelines for the Custom IC SKILL Forum

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Deeksha D
    Deeksha D over 6 years ago in reply to Andrew Beckett

    I am using a version of 6.1 after the bindkey it starts buffering until I press shift+c on the virtuoso then the via will be changed

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

    That doesn't give anywhere enough information. "A version of 6.1" could mean one of IC6.1.0, IC6.1.1, IC6.1.2, IC6.1.3, IC6.1.4, IC6.1.5, IC6.1.6, IC6.1.7, IC6.1.8 - that's nine major releases over 13 years. You didn't give any indication on how you were calling leReplace - what are the arguments? 

    I suggest you contact customer support, so that at least an application engineer could have a web session with you to look at your data.

    Regards,

    Andrew

    • 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