• 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 customVia using skill

Stats

  • Locked Locked
  • Replies 10
  • Subscribers 143
  • Views 16439
  • 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 customVia using skill

prasadtammana
prasadtammana over 5 years ago

Hi All,

I'd like to replace a customVia with a different customVia. I'm not able to get the parameters of the old customVia using car(geGetSelSet())~>viaHeader~>overrideParams command, as it returns nil.

Could someone help me on how to get the rows and columns information for customVia and also assign these to a new customVia. 

Thanks,

Prasad

  • Cancel
Parents
  • mbracht
    mbracht over 5 years ago

    car(geGetSelSet())~>viaHeader~>viaDef~>params

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • prasadtammana
    prasadtammana over 5 years ago in reply to mbracht

    Thanks for your reply. But it doesn't work. Return nil again. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • psill000
    psill000 over 5 years ago in reply to prasadtammana

    stdvia
    obj~>cutRows
    obj~>cutColumns

    customVia
    obj~>row
    obj~>column

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • prasadtammana
    prasadtammana over 5 years ago in reply to psill000

    For some reason, even this doesn't work. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • psill000
    psill000 over 5 years ago in reply to prasadtammana

    Select the object and type the command below in the CIW

    What does geGetSelSet()~>?? output in the CIW

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mbracht
    mbracht over 5 years ago in reply to prasadtammana

    sorry - I missed that we talk about a custom via and not a standard via. Custom vias are essentially pcells - can you try this:

    (foreach mapcar param (car (geGetSelSet))~>viaHeader~>master~>parameters~>value (list param~>name param~>value))

    Max

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • mbracht
    mbracht over 5 years ago in reply to prasadtammana

    sorry - I missed that we talk about a custom via and not a standard via. Custom vias are essentially pcells - can you try this:

    (foreach mapcar param (car (geGetSelSet))~>viaHeader~>master~>parameters~>value (list param~>name param~>value))

    Max

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • prasadtammana
    prasadtammana over 5 years ago in reply to mbracht

    Sorry ... I'm getting details until car(geGetSelSet())~>viaHeader~>master. nothing after that. It returns nil for parameters. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to prasadtammana

    Since even for a custom via you would expect that car(geGetSelSet())~>viaHeader~>overrideParams would work, my guess is that your custom via is not actually a parameterised cell and is a fixed layout. The fact that the master doesn't have a parameters hierProp suggests this too.

    If you use Edit Properties on the selected via, does it show any rows/columns or anything like that? Can you change any parameters and do they have an effect?

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • prasadtammana
    prasadtammana over 5 years ago in reply to Andrew Beckett

    Thanks for your reply Andrew. It has rows and columns information in the properties, but they don't have any effect on the layout when changed. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to prasadtammana

    Another way to check is to find the lib/cell/view of the customVia from the tech file and do:

    cv=dbOpenCellViewByType("lib" "cell" "view")

    if cv~>isParamCell returns nil, it is not a pcell. 

    Or you could check:

    car(geGetSelSet())~>viaHeader~>master~>superMaster

    If that is nil, it's not a pcell.

    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