• 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. Resetting SKILL IDE when debugging.

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 143
  • Views 16076
  • 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

Resetting SKILL IDE when debugging.

stephbur
stephbur over 6 years ago

I am currently taking a course on developing PCell using SKILL IDE.
I am looking for a way for rerunning a SKILL script after I made some changes.

As an example I might have the following routine:

procedure(test()
    cv = geGetEditCellView()
    rect = rodCreateRect(?cvId cv ?name "myrect" ?layer "poly" ?bBox list(1:1 4:4))
)

I run the function test and in the editor I will see the created rectangle.
Now I decide I want the rectangle starting in the origin and thus change the list for the bBox to list(0:0 3:3).
When rerunning the code there is an error as there already is a "myrect" in this cell view.

What is the easiest way to "reset" the environment such that the rectangle with the new parameters replaces the old one?
So far the only way I have found is to restart Virtuoso, which is obviously not ideal.

  • Cancel
  • mbracht
    mbracht over 6 years ago

    You may create as many rectangles as  you like - the problem is the ROD name which needs to be unique just like it was an instance name.

    Simply omit the ?name "myrect"  argument and the system will create a unique name

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • stephbur
    stephbur over 6 years ago in reply to mbracht

    Thank you for your reply. I figured this much. But then the old rectangle will still be there, which is obviously not what I want. And since I want to use the skill code in production at some point I would really like to keep the name argument.
    In the end, I would like to have the code IDE and the layout view side by side, and on the press of the button have the corresponding layout in the layout view. This would somehow require that all objects will be removed from the execution context. A "start over" functionality so to speak.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to stephbur

    Use dbReopen(cv "w") - this will erase everything in the cellView.

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • stephbur
    stephbur over 6 years ago in reply to Andrew Beckett

    Thank you Andrew, that is exactly what I was looking for.  I have added a breakpoint and the dbReopen line as the last two lines of my procedure.
    Now an IDE button doing exactly this would be nice, I am surely not the only one looking for something like this. :)
    Thank you again and have a nice day!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mbracht
    mbracht over 6 years ago in reply to stephbur

    To use the PCell IDE you need to put your code as part of the pcDefinePcell() function. In the PCell IDE choose 'Debug Supermaster' whereupon you will be prompted to enter the name of the file containing the pcDefinePcell() definition. A temporary cell view will open in the Layout Editor along with the SKILl IDE. Click the green "Run" button in VLE and the code will stop in the first line of the pcDefinePcell function. Click "Continue" in the SKILl IDE and the rectangle will be drawn in the temporary cell view. Make any changes to your code and then click again the green "Run" button in VLE and the cell view will be redrawn. That green "Run" button in VLE is exactly the "start over" functionality you are looking for.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • stephbur
    stephbur over 6 years ago in reply to mbracht

    Thanks! Huh, strange that was how I initially thought it would work. But for some reason, the run button was always grayed out. I changed some things and now suddenly it is working.

    • 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