• 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 delete a instance in layout view

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 143
  • Views 16551
  • 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 delete a instance in layout view

Carlsberg
Carlsberg over 5 years ago

Hello everyone,In my layout there are many instances named via_pcell. I want to select all of these instances and then delete them. How to do these actions used by skill. I just want the way to do these by skill

Thanks for your help!

  • Cancel
  • AurelBuche
    AurelBuche over 5 years ago

    In current cellView: to delete all instances whose name contains "via_pcell" you can use the following line in your CIW but this might be brutal:

    (mapcar 'dbDeleteObject (setof instance (get (geGetEditCellView) 'instances) (pcreMatchp "via_pcell" (get instance 'name))))

    You can replace pcreMatchp by equal if you want to delete instances whose name is exactly "via_pcell" but I don't think you can have many instances with the exact same name

    You can just try (setof instance (get (geGetEditCellView) 'instances) (pcreMatchp "via_pcell" (get instance 'name))) to have an idea of all the matching instances

    Use this at your own risk

    Hope this will help anyway,

    Cheers,

    Aurel

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

    If there are a lot of instances in the cellView, you may be better off using:

    foreach(instHeader geGetEditCellView() ~>instHeaders
      when(instHeader>cellName=="via_pcell"
        foreach(instance instHeader~>instances
          dbDeleteObject(instance)
        )
      )
    )

    This avoids traversing every single instance when you can directly narrow it down to the right cell - this is assuming that when you were talking about instances called "via_pcell" you really meant that the cellName was via_pcell (you cannot have more than one instance with the same name).

    If you are basing the decision to delete on via_pcell on a partial match to the instance name, then an approach similar to that suggested by Aurel would be necessary (sometimes with a lot of instances you may be better off just looping with a foreach and when the match occurs do the delete, rather than using setof - that will create more garbage to be collected - however I doubt that would be a significant speed issue even in that case compared with the cost of deleting instances).

    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