• 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 Design
  3. Selecting a lot of objects in Virtuoso Layout Editor, Cadence...

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 125
  • Views 7354
  • 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

Selecting a lot of objects in Virtuoso Layout Editor, Cadence 5141.

TiNat
TiNat over 11 years ago
Hello. I use Cadence 5141. In Virtuoso Layout Editor I want replace library of elements in layout drsign. Use command  Search... and  then option replace.  In case number of elements, for example,  70000, tool select them  ~10 seconds,  In case number of elements 120000, then tool need more time, but  negligible: ~30 seconds. But   In case number of elements 180000 (for example), then cadence doesn't response. I wait one hour, but elements didn't select, and memory in computer does't busy. Somebody can give a hint, is it a bug of Cadence, or tool have a limit of selected elements. Can I solve this problem?
Thanks for your answers.
Best regards. 

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    Hi TiNat,

    I just tried creating a million rectangles in IC5141 (latest hotfix) and then selecting them. The selection took maybe 2-3 seconds.

    If I then tried doing length(geGetSelSet()) it was very slow, as it was spending a lot of time garbage collecting. This is because it has to build SKILL list and dbobjects for each item, and that exceeds the pool size for each object, which results in it performing a fair number of garbage collections prior to each memory allocation.

    I improved that by using:

    needNCells('list 1500000)
    needNCells('dbobject 1500000)

    And then the length() was almost instantaneous. Maybe there's something in your environment which is looking at the SKILL objects, so doing this needNCells might help? Although I'm not convinced...

    Note that the numbers I chose above (1.5 million) maybe a bit high for the size of data you have, but it shouldn't be too expensive in terms of memory usage.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    Hi TiNat,

    I just tried creating a million rectangles in IC5141 (latest hotfix) and then selecting them. The selection took maybe 2-3 seconds.

    If I then tried doing length(geGetSelSet()) it was very slow, as it was spending a lot of time garbage collecting. This is because it has to build SKILL list and dbobjects for each item, and that exceeds the pool size for each object, which results in it performing a fair number of garbage collections prior to each memory allocation.

    I improved that by using:

    needNCells('list 1500000)
    needNCells('dbobject 1500000)

    And then the length() was almost instantaneous. Maybe there's something in your environment which is looking at the SKILL objects, so doing this needNCells might help? Although I'm not convinced...

    Note that the numbers I chose above (1.5 million) maybe a bit high for the size of data you have, but it shouldn't be too expensive in terms of memory usage.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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