Home
  • Products
  • Solutions
  • Support
  • Company

This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  • Products
  • Solutions
  • Support
  • Company
Community Blogs Analog/Custom Design > Knowledge Booster Training Bytes - Using SKILL IDE in Virtuoso…
Vishnu Teja S
Vishnu Teja S

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
CDNS - RequestDemo

Have a question? Need more information?

Contact Us
Virtuoso
SKILL IDE
Custom IC Design
Virtuoso Layout Suite
SKILL

Knowledge Booster Training Bytes - Using SKILL IDE in Virtuoso Studio

15 Dec 2023 • 7 minute read

 The semiconductor industry is rapidly developing new advanced technology nodes, leading to increased design complexity and time taken to design a layout. In such a scenario, automation is the solution to speed up the layout design process. The Cadence SKILL scripting language is a powerful language you can use extensively for layout design context within the Virtuoso Studio design environment. The ability of the SKILL scripting language to automate various integrated circuit (IC) layout design aspects significantly enhances productivity. You can use the SKILL Integrated Development Environment (SKILL IDE) tool in the Virtuoso Studio design environment to develop your SKILL code.

What Is the SKILL IDE?

The SKILL Integrated Development Environment (IDE) provides an excellent platform for writing, debugging, and running SKILL code. It offers various features like syntax highlighting, debugging tools, and an interface that is specifically designed to support the nuances of SKILL programming. The SKILL IDE streamlines the process of creating automation scripts, customizing design flows, and addressing the intricate requirements of the layout design and allows you to load and debug only SKILL and SKILL++ programs.

The SKILL IDE is built around a multi-file system that offers a wide range of editing and debugging features. These features include auto-indentation, function name auto-completion, syntax highlighting, step-by-step program execution, breakpoint setup and removal, saving and loading debugging information, real-time variable tracing and editing, and variable and stack trace display during program execution. In this blog, we will discuss the different capabilities of the SKILL IDE.

Visit the What Is the SKILL IDE training byte to know more about the tool.

How Does the SKILL IDE Work?

  • When you open a file in SKILL IDE, it automatically opens in the SKILL IDE editor window.
  • The load() function can load a SKILL file directly from the Command Interpreter Window(CIW).
  • If you load the SKILL file when the SKILL IDE is open, the functions in that file are also available for debugging.
  • When you run a function, SKILL IDE checks for the presence of the function in the files that have been loaded and implements it. Before implementing the function, you can use various debugging facilities, such as breakpoints – to identify the source of errors in the code.
  • SKILL IDE saves a backup copy each time you edit a SKILL file. This backup copy is saved in the same directory as the original file and has .skillide prefixed to the original file's name.

Debug Using the SKILL IDE

The SKILL IDE comes with strong debugging capabilities. Some of its noteworthy features include:

Configurable Breakpoints: This feature can set breakpoints based on certain conditions. The program pauses when those conditions are met, allowing you to examine the program variables and their values, making SKILL IDE a valuable debugging tool for your code.

For further micro-level debugging, you can rely on the following features supported by SKILL IDE:

Variable and Function Tracing: When running a program execution, you can use the Trace option to follow the changes in variables and functions. You can also track function calls and view the functions at the top of the call stack. When selected for tracing, the variables, functions, their values, and scope are listed in the Trace assistant. If there are any changes in the value of a function or variable while the program is being run, you can easily trace it using the Trace assistant. You can modify the value of the traced variables either in the Trace assistant or use the source code pane.

Stack Tracing: When there is an error in your code, it might be challenging to identify the exact location of the problem. This is where the stack tracing feature comes in handy. It displays a list of functions and their arguments in the order in which they are called in code. The Stack Assistant shows the list of functions that have been called up to the point of error. By analyzing the stack trace, you can determine the function that was called when the error occurred and jump directly to the exact location in the code where the problem arose.

To know more about the debugging capabilities of the tool, visit the How to use the Tracing assistant in the SKILL IDE training byte.

SKILL Lint is a tool that examines SKILL code to identify potential errors and inefficiencies that may have gone undetected during normal testing. SKILL Lint is particularly useful for programmers in identifying unused local variables, global variables that should be declared as locals, functions that have been passed the wrong number of arguments, and suggestions on improving the efficiency of your SKILL code. It provides a summary of your code with an overall rating, helping you improve the overall quality of your code.

To learn more about the SKILL Lint tool, visit the Improve your code with the SKILL Lint Manager training byte.

In the upcoming blog post, we will discuss additional features of the SKILL IDE, such as the Code Browser, Method Browser, Profiler assistant, and more... Stay tuned!

To learn more about the Cadence SKILL Language, check out our SKILL Language Programming Introduction and SKILL Language Programming courses in the Cadence Support Portal.

Note that there are also Digital Badges available for the trainings mentioned above. 

            

Do You Have Access to the Cadence Support Portal?

If not, follow the steps below to create your account:

  • On the Cadence Support portal, select Register Now and provide the requested information on the Registration page.
  • You will need an email address and host ID to sign up.
  • If you need help with registration, contact support@cadence.com.

To stay up-to-date with the latest news and information about Cadence training and webinars, subscribe to the Cadence Training emails.

If you have questions about courses, schedules, online, public, or live onsite training, reach out to us at Cadence Training.

Related Resources

Online
Courses

SKILL Language Programming Introduction

SKILL Language Programming

SKILL Development of Parameterized Cells

Advanced SKILL Language Programming

Product
Manuals

Cadence SKILL IDE User Guide

Cadence SKILL Development Reference

Cadence SKILL Language User Guide

Cadence SKILL Language Reference

Virtuoso Studio Design Environment SKILL Reference

Virtuoso Parameterized Cell SKILL Reference

Cadence SKILL++ Object System Reference


Training
Bytes

What Is the SKILL IDE?

How to Use the SKILL IDE to Debug a SKILL Program?

Improve your code with the SKILL Lint Manager

About Knowledge Booster Training Bytes

Knowledge Booster Training Bytes is an online journal that relays information about Cadence Training videos, online courses, and upcoming webinars in the Learning section of the Cadence Learning and Support portal. This blog category brings you direct links to these videos, courses, and other related material on a regular basis. Subscribe to receive email notifications about our latest Custom IC Design blog posts.

Vishnu Teja Salagrama, on behalf of the Cadence Training Team


CDNS - RequestDemo

Try Cadence Software for your next design!

Free Trials

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information