• 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. viaGenerateViasAtPoint very slow

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 143
  • Views 14273
  • 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

viaGenerateViasAtPoint very slow

Manolo Envido
Manolo Envido over 6 years ago

We create a SKILL script to generate a lot of vias with viaGenerateViasAtPoint, everything is working fine but it takes a lot of time (more than 500 different points can take up to 20 minutes).

Doing a quick search in this forum we found this thead form a couple of month ago with a similar problem:

https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/38456/using-auto-vias-through-skill

They said that the issue is related to checkout and check-in of license each time this functions is executed, so when executed in loop for putting vias, it takes time. It takes check-out/in 12 tokens each time and thus takes time.

Because of that we suspect is this check-out/in of tokens that make the delay. We used to have a very similar problem with viaGenerateViasFromShapes but it was solved by using a list of shapes as a parameter in stead of a loop but viaGenerateViasAtPoint only takes a single point in stead of a list of points.

Replacing this:

    foreach( point ptsList
        viaGenerateViasAtPoint(cvID point myViaOptions)
    )

With this:

        viaGenerateViasAtPoint(cvID ptsList myViaOptions)

Gives an "Invalid point" error.

Is there a workaround? Are we making a mistake in the usage of viaGenerateViasAtPoint? Maybe there is another similar Via Function to use instead we are not aware of?

Thanks

  • Cancel
Parents
  • mbracht
    mbracht over 6 years ago

    Hi Manolo,

    Well if you read the cdnshelp documentation for these functions you will find that viaGenerateViasAtPoint(..) expects exactly _one_ specific point as it's second argument as opposed to viaGenerateViasFromShape() which expects a _list_  of shapes...so no I don't think there is a way to achieve this...sorry!

    Max

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Manolo Envido
    Manolo Envido over 6 years ago in reply to mbracht

    Yes, that is exactly the problem. For what I read is a relatively new function so it could be a nice upgreade.

    But in the mean time maybe there is a way of retaining the tokens while on the loop in stead of check-out/12 each time?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Manolo Envido
    Manolo Envido over 6 years ago in reply to mbracht

    Yes, that is exactly the problem. For what I read is a relatively new function so it could be a nice upgreade.

    But in the mean time maybe there is a way of retaining the tokens while on the loop in stead of check-out/12 each time?

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

    This has been fixed in IC617 ISR21 and ICADV123 ISR21 (so that's the .500.21 subversion). When a script or function containing multiple calls to these via functions, the license is checked out at the first call, and is returned when the script finishes. This was as a result of CCR 1879723. So I suggest you ensure you're using the latest hotfix of IC617/ICADV123, and that should improve your performance.

    Regards,

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Manolo Envido
    Manolo Envido over 6 years ago in reply to Andrew Beckett

    Thanks, that's good to know. I'll  confirm if it's fixed after doing the update.

    • 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