• 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. Problem with tables

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 142
  • Views 8963
  • 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

Problem with tables

RicardoGV1
RicardoGV1 over 3 years ago

Hi everybody,

I'm having troubles with a table that is overwriting every Route value within the keys.

In this case I created the keys Skills and SetupSMIC. 
as it's shown, first they both have "a" in the Route parameter, then I set SetupSMIC route as "b"
but when printing skill route also get changed


And I created this two keys and they are working correctly 


Also I was working with another table like that and I didn't have that problem
the problem are the ones that were created this way, It looks like they have the same memory space.

Does anybody know what I'm doing wrong? 

getVersion()->virtuoso version 6.1.8-64b

getVersion("virtuoso")->sub-version IC6.1.8-64b.500.22



Best regards,
R. Gómez

  • Cancel
Parents
  • AaronSymko
    AaronSymko over 3 years ago

    When creating a new DPL, use list(nil) instead of '(nil).

    In SKILL, using '(nil) in a local scope (i.e. within a procedure) will actually create a global (i.e. statically constructed) DPL. As a result of this, you get data sharing when using '(nil), which is usually not what is intended.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • RicardoGV1
    RicardoGV1 over 3 years ago in reply to AaronSymko

    Hi AaronSymko,

    Thank you very much for that clarification.

    That worked very well. Slight smile

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to RicardoGV1

    Just to add a little more to @AaronSymko's explanation, what is happening if you use a quoted list is that the variable (or table in this case) is storing a pointer to the literal list in the code - and you're not getting a newly allocated list each time the assignment happens to different table entries.

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to RicardoGV1

    Just to add a little more to @AaronSymko's explanation, what is happening if you use a quoted list is that the variable (or table in this case) is storing a pointer to the literal list in the code - and you're not getting a newly allocated list each time the assignment happens to different table entries.

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
Children
  • RicardoGV1
    RicardoGV1 over 3 years ago in reply to Andrew Beckett

    Thanks 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