Get email delivery of the Cadence blog featured here
The difference between generic departmental store clothing and premium custom tailoring is what the effective use of SKILL scripts can bring to your PCB Layout design world.
While our layout applications come loaded with power-packed features to help you accomplish PCB and substrate design tasks and collect design information, you can take the standard, out-of-the-box features to the next level by customizing the default features. With just a few tweaks you can create solutions that are tailor-made for your teams and help you save time and effort.
Let’s look at some custom tasks that might come handy:
As you can see, these tasks offer you greater control and you can make specific changes or collect information that is not easily available in standard reports or menus.
SKILL, as you might already know, is the extension language for Cadence applications, using which you can add powerful new capabilities, such as designing custom GUIs, automating design tasks, creating specific reports, and so on. All these help in achieving the greater goal of improving designer productivity and shortening the overall design cycle.
In this post, let's take a quick look at how SKILL scripts can be implemented and how the Support site has a library full of SKILL Code to help you get started. All you need to do is download code, make changes as needed for your setup, and run the scripts.
Before that a reminder:
A Cadence ID is required for accessing this and other troubleshooting and product information available at the Support site.
How do I run SKILL scripts in Allegro PCB Editor and APD Plus?
You can run SKILL scripts in any of the following ways.
You can load SKILL files automatically when PCB Editor starts by using the allegro.ilinit file. Place this file in the pcbenv directory. Replace the SKILL path with your SKILL files, just remember to use forward slashes (/) in the path.
Now, when PCB Editor starts, it looks for the allegro.ilinit file in the $HOME/pcbenv directory, and then in the <CDSROOT>\share\local\pcb\skill directory.
2. Running the SKILL script without setting up allegro.ilinit
To load a SKILL file, use the following command at the command line:
Command > skill load("skill_file_name.il")
If it is successfully loaded, the command line reports a t as the last entry. The SKILL file must be in the SKILL search path.
3. Running the SKILL script from the command line
Here is an example of the syntax used to execute the SKILL file within a script:
allegro <boardname.brd> -s <script.scr>
This will look for the script.scr file in the current working directory.
4. Attaching SKILL scripts to menu options
To add your scripts or SKILL programs to a menu:
a. Copy the allegro.men file from $CDSROOT/share/pcb/text/cuimenus to $CDSROOT/share/local/pcb/menus.
This is a default location specified by MENUPATH for user menus.
b. Place your scripts in:
This is a default location for user scripts specified by SCRIPTPATH.
c. Edit a copy of the allegro.men file and add the new menu items.
d. Place the copy in the menupath as described in step a.
For more details and videos for each implementation, head over to the Support site and read an article on How to load Custom Allegro® PCB SKILL Functionality.
Yes, you can head over to the Support site and check the SKILL Code Library. We keep adding more scripts here, so bookmark this page. Do share your feedback with us once you have tried the scripts!
You can explore the various scripts and download them and use. The scripts are categorized based on the design area they are meant for, such as:
Just remember, these SKILL scripts are samples and you might have to make changes for your setup.
You can download SKILL scripts, set them up in the designated locations, and harness the full power of your layout application!
If you are interested in understanding more of SKILL and even creating your own scripts:
In the next post, we’ll check out a few samples and get a better idea of the scripts available and how they work. So, SKILL up and get more done with Cadence applications and custom programming!