• 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. is virtuoso can create unique runtime space for each cx...

Stats

  • Locked Locked
  • Replies 8
  • Subscribers 143
  • Views 3431
  • 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

is virtuoso can create unique runtime space for each cxt

JamesJames
JamesJames 9 months ago

Hi,

Background inforamtion: we create a form GUI that restrict launch one only in a virtuoso seesion, and it creates a lot of global variables.

And now, client wants to launch multiple GUI in a virtuoso seesion, but our history code is too huge that we can not modify all the callbacks bind to their own widget.

So I want to ask a question that is there a way to create unique runtime space for a form or "cxt(contents file)" ?

or any other way to achieve this goal ?

Thanks,

James

  • Cancel
  • JamesJames
    JamesJames 8 months ago

    Ok, 6 days past, it seems that there is not exist method to reach it.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ebecheto
    ebecheto 8 months ago in reply to JamesJames

    Hi James²,

    I am not sure to understand your question.

    If you want every Gui to have their own context, use the let() function to restrict every variable locally to the call of your app.

    Or do you want to have acces to a common name variable to all your app' ?

    In this case, a unique variable name can be used for every process i assume.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett 8 months ago in reply to ebecheto
    JamesJames said:
    Ok, 6 days past, it seems that there is not exist method to reach it.

    If this was urgent, you should have contacted customer support (using the Case menu to submit a case). Even those of us from Cadence on these forums answer in our free time - and I have been away or busy with the day job over the last few weeks.

    Anyway, whilst SKILL does have a namespace mechanism, I don't think it really helps in this case (in fact it's debatable whether the namespace mechanism is useful anyway - I've posted about this in the past - it doesn't quite solve the problems you might hope it would). There are absolutely things you can do to avoid global variables, but you have to design that in - automatic retrofitting is not really something that can be done.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • JamesJames
    JamesJames 8 months ago in reply to Andrew Beckett

    ![cadenceForm1.jpg](s2.loli.net/.../KGeFQWd1kBh7jri.jpg)

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • JamesJames
    JamesJames 8 months ago in reply to Andrew Beckett

    let me explain:

    1. my app launched by user from layout editor in a virtuoso session, and at the very begining of developing it, we use a lot of golbal variables and absolute path (formSymbol~>field~>attribute) to mainpluate the GUI and defined behavior, so, there is a restriction, we let user launch one app in one virtuoso session only for easy to implment it, which means if customer want to use my app in another layout, they must close my app first, then launch it from another layout edit window.

    2. now, customer wants to use my app multiples in one virtuoso seesion. I've did some investiagtion that I think it's really tough to reach it, not only for global varibales, absolute gui path but also need to find a way to reorginize the data, and bind the my main app form to layout window, and bind the sub forms to app main forms. it's really a big tough task and very much time consumption.

    3. so I want to ask if there is a simple way to reach goal ? if there is anything not clear, please ask.

    Thanks

    James.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett 8 months ago in reply to JamesJames

    James,

    I did spend a fair bit of time today trying to see whether I could convince SKILL's namespace mechanism to do wha you want. I got as far as getting (say) two forms appearing from the common code, each maintaining their own state if they are launched one at a time and with the namespace active only when that form is displayed. However, if both are displayed at the same time they misbehave - something in the UI code is not playing nicely with this (as I said, the namespace mechanism is quite painful to use).

    I will check with the R&D team as to why this is going wrong, but I don't have high hopes of this working correctly (well, not without a software fix).

    That means you almost certainly need to design in the support for multiple invocations of the form each maintaining separate state and interacting with their own "global" data. That's not something you can magically get forms to do unless you design them to behave that way.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • JamesJames
    JamesJames 8 months ago in reply to Andrew Beckett

    Thanks for your clarificatiuon,Andrew Beckett

    I'm aware that there is no simple way to get to my goal.

    if it's possible please share the R&D's reply.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett 8 months ago in reply to JamesJames
    JamesJames said:
    if it's possible please share the R&D's reply

    Of course, happy to do that once I get something back (it probably needs some investigation so it may have to wait a bit because of other priorities).

    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