• 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 execute a skill script at command line

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 143
  • Views 21749
  • 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 execute a skill script at command line

harishgurram
harishgurram over 11 years ago

Hi,

I written a skill script which creates a widget, I want to run this script at command line. How to do this. And Is there any way to execute skill script with out opening the tool.

Thanks,

Harish.

  • Cancel
  • skillUser
    skillUser over 11 years ago

    Hi Harish,

    SKILL can only be executed or run in an executable that has a SKILL interpreter built into it.  From the command line you can use skill for programs that only use core-SKILL functions, dbAccess for those that need to interact with the database, and virtuoso -nograph for all other programs.  Since you mention "widget", I'm assuming this is a GUI/graphical entity, in which case you will need the last of the above, since dbAccess and skill do not contain any GUI programming. In addition to the -nograph argument you will probably need to use the -replay argument to load and run a SKILL script.

    Hopefully this answers your question?

    Regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • harishgurram
    harishgurram over 11 years ago

     I have tried virtuoso -nograph -replay <skill file>, but this does not opening a widget, written in the skill file.

    If I use virtuoso -replay <skillfile>, it is working fine, and opening my widget along with CIW.

    The dbAccess <skillfile> also does not open widgets.

    Is there any way to execute a skill code having widgets, at command line with out opening the CIW. 

    Is there any alternate solution to this.

    Thanks,

    Harish

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • skillUser
    skillUser over 11 years ago

    Hi Harish,

    I presume that by 'widget' you mean a form or other GUI objects written in SKILL - the answer is No, you need the graphics to be available to do this, so -nograph is not what you want.  Likewise, as I mentioned earlier, skill and dbAccess have no graphical interfaces.

    What are you trying to do?  Does it have to be done by a GUI, and does that have to be done using SKILL?

    With more details we might be able to suggest alternatives.

    Regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • harishgurram
    harishgurram over 11 years ago

     Hi,

    I have written a skill code which creates a GUI object, and based on the inputs given to the GUI object, my skill code is executed. The skill code consists of db* commands.

    So, my doubt is can we create a GUI object, with out opening the CIW window with -nograph option, and execute the skill code having db* commands.

    Creating GUI with out opening CIW, and executing skill procedure is possible at a time ?

    I think you got my problem now..

    Thanks,

    Harish

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • theopaone
    theopaone over 11 years ago

    You have to have graphics if you use a GUI. -nograph will not work. You need the hi- functions.

    Consider your architecture. You should actually have 3 levels of code:

    1.  create and display the GUI

    2. the form callback: This interprets the form and fields and calls the database operation function.

    3. The database operation function. It is independent from the GUI and knows nothing about it. It is driven by the values of the arguments to the function. When executed as part of the form, the form callback reads the form fields, generates the database operation argument values and calls the function. When called from a script, the script figures out the argument values and then calls the function, no form involved.

    It is not hard to refactor your code in this way. You already create the form. From your database operation function, separate the form analysis into a callback and the execution into its own function. Probably about 10 lines of code. The database operation function should not reference the form at all, everything should be passed through the arguments. The callback calls the database operation function with the arguments gathered from the form.

    For the nonGUI script, the script figures out the arguments, and then calls the database operation function without the GUI or the callback.

    By structuring your form/callback/functionality in this way, you increase your testability, you can run unit tests on the database operation function independently from the form and insert them into regression tests. It also improves maintainability, you can make changes with minimal impact. 

    Ted

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

    You could use "virtuoso -restore code.il -nographE". This will give you a text prompt (after the code has been loaded, assuming that it "finishes") and no CIW, but the graphics are still enabled - so any forms or windows opened will still appear.

    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