• 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. Import symbol with property list into Skill++

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 142
  • Views 3073
  • 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

Import symbol with property list into Skill++

FormerMember
FormerMember over 3 years ago

Hello,

I have a global variable/symbol in normal Skill mode, where I store several settings in its property list. Some parts of the code must be run with Skill++, but it seems I can not import the symbols property list.

Example:

Normal Skill:

Var = 'Var
Var.a = 1
Var.b = 2

Skill++:

importSkillVar( Var )
Var.a >>> is nil

Is there a way to make the property list available in Skill++? I could not find any example or documentation for this case.

Best regards
Paul

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago

    Paul,

    There's no importing that needs to be done. The property list should be visible in both language modes, because the properties are associated with the symbol, and the symbols are shared anyway. The Var='Var in your code doesn't do anything - it's just creating a variable called Var which references the symbol Var. The properties are on the symbol Var - so in either language mode doing:

    plist('Var)

    would return

    (b 2 a 1)

    You can indirectly access the properties this way:

    myVar='Var
    myVar->a ; outputs 1
    myVar->c=5 ; adds a new property to the Var symbol

    In that case you might want to import myVar so you can do the same indirection operation, but the property lists are shared anyway. 

    I simply don't see what you're seeing. If I do:

    > Var.a = 1
    1
    > Var.b = 2
    2
    > toplevel('ils)
    ILS-<2> Var.a
    1
    ILS-<2> Var.b
    2
    ILS-<2> Var.c=5
    5
    ILS-<2> resume()
    nil
    > Var.c
    5

    as you can see, everything works. Doing the importSkillVar() or Var='Var makes no difference to the above behaviour.

    Regards,

    Andrew

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

    Thank you Andrew for your quick answer. I guess I made a mistake somewhere, because now it works as expected.

    • 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