M. T. Homer Reid MIT Home Page
Physics Problems Research teaching My Music About Me Miscellany

SKILL Routines for the CADENCE CAD Suite

I like to collect all my SKILL files into a common directory, in my case /home/homer/circuits/skill. Then I append this directory to the system SKILL search path by adding the following line to the .cdsinit file in my home directory:
setSkillPath( cons( "/home/homer/circuits/skill" getSkillPath() ) )
Now if I have a skill file named filename.il in /home/homer/circuits/skill, then I can just type load "filename.il" into the CIW window and the file will automatically be found.

SKILL Routines for Cadence Composer

nseq.il

This is a remake of the nseq command from SCHEMA. Does anybody remember this command? It can be very useful at times.

The situation is that you have just done a merciless hack job on your circuit, deleting and inserting and redeleting and reinserting devices, and now the numbering of the devices makes absolutely no sense. You have a diff pair with devices named M39 and M103, a current mirror with device M18 mirrored to devices M62 and M87, and other places where the numbering is an obstruction, not an aid, to understanding. Now that the dust has settled, you want to go through and rename all the devices in a logical order. But it's a pain to click on each device and select its properties, and, moreover, often when you want to rename a device to the next logical sequence number, another device already has that name, so you have to go rename that device, and it's all a big hassle.

When you're in that situation, type load("nseq.il") into the CIW. You'll be prompted to enter a base name. For MOSFETS, for example, you would probably choose M; for bipolars, B, and so on. Then you just go through your circuit, clicking on devices in sequence; each device on which you click will be renamed BASENAMEn, where BASENAME is the text string you enter into the initial text box, and n rises from 0 (for the first device on which you click) on up. When you're finished, click on the bare background window to exit the routine.

SKILL Routines for Cadence Virtuoso (Layout)

homlayer.il

This is an edit of a similar file I got from Jay Norton. After typing load("homlayer.il") into the CIW, you have a pop-up menu on the center mouse button from which you can select various metal layer options. This differs from Jay's script in two ways: (1) it toggles the selectability of layers along with the visibility; and (2) at the beginning of the function it sets all layers valid, which gives it the power to turn off ALL layers except, for example, MT1 layers or MT4 layers or whatever you choose. In Jay's original script, selecting "MT1" only turned off whatever other layers happened to be valid at the time, which meant that even after selecting this option you were seeing a lot of non-MT1 layers in your layout.


Homer Reid's SKILL Files For Cadence CAD Tools, by Homer Reid
Last Modified: 11/16/16