• 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. Smart snapping API / Edit-in-place question

Stats

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

Smart snapping API / Edit-in-place question

dmay
dmay over 9 years ago

Has Cadence provided a Skill API to do smart snapping or highlighting in 6.1.6? The Ruler, Quick Align and Edit-in-place commands all have some great shape highlighting features that are pretty efficient. I'd prefer not to write my own if we can use a built-in Skill command.

My next question is if there is a way to turn off the error message for editing-in-place pcells? For years we have had our own edit-in-place Skill procedure that uses leEditInPlace(window instPath) to perform the eip. Our designs use a lot of pcells, and this code will actually eip into the pcell without an error message. Our Skill would then ascend to one level above the pcell automatically. This makes it very easy for a designer to get to the level of hierarchy where the edit needs to be performed.

In 6.1.6, the leHiEditInPlace command has a nice feature that dynamically highlights the shapes under the cursor to help you pick where you want to descend. The problem is that if you click on a pcell, you get the pop-up error message that won't let you descend into a pcell, and no hierarchy is traversed at all. If I can't turn off this warning, then I am forced to write this dynamically highlighting myself.

What I find interesting is that leHiEditInPlace will not highlight shapes inside a pcell (seems consistent based on feature that won't let you eip into the pcell), but if my pcell has customVias in it, it will let me descend into the customVia inside the mos pcell. Sounds like a bug, but this at least allows me to ascend back to a level above the mos. If I can just disable the pcell error and descend wherever I want, then I can write a descend wrapper around leHiEditInPlace with built-in highlighting and auto-ascend as needed. If I can't disable the error, then I need to write my own highlighting routine, and continue with our code that builds the inst path and calls leEditInPlace.

Derek

  • Cancel
  • skillUser
    skillUser over 9 years ago
    Hi Derek, This question is best asked directly of Cadence through a case, I doubt that many on this forum would be able to answer (with perhaps one exception ;-) ). If the desired API doesn't exist then your question can turn into an enhancement request. Cheers! Lawrence.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Derek,

    The answer to both questions is no - there's no public SKILL API for the smart snapping, and there's no option to turn off the EIP error (or enable EIP highlighting within pcells).

    For the second, you should contact customer support to request this, although this needs to be done with caution, since potentially it's possible to edit a pcell submaster in memory which could cause problems - so it may not be quite such a trivial option as providing a switch - we may need to force the editor to be in read mode when within the pcell submaster. For the first, I'm not sure there's any plan to provide such an API - the difficulty is that often the requirements of smart snapping are particular to the application for which its needed, so generalizing it may not be that straightforward.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • theopaone
    theopaone over 9 years ago

    I haven't tested this as I have no access to Virtuoso at this time but here is an idea:

    1. Find the element using dbGetTrueOverlaps. This returns a list of the hierarchy down to the element ID itself.

    2. Step through the list using geEditInPlace. Check the master of the instance before each EIP,  if it is a pcell, stop before entering the pcell.

    It may have performance issues.

    Ted

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • dmay
    dmay over 9 years ago

    Ted, Actually, we already have a routine that traverses the hierarchy the way we want. Ideally, I'd like to go back to using the built-in leHiEditInPlace for two reasons:

    1. It has the dynamic highlighting feature that shows you the shape it will use for edit-in-place

    2. It supports groups/clones (ours doesn't and needs to be overhauled)

    Our extensive use of pcells prevents us from making that change.

    Derek

    • 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