This article includes a list of references, but its sources remain unclear because it has insufficient inline citations. (June 2013) (Learn how and when to remove this template message)
|Developer||Cadence Design Systems|
? / ?
|Cadence Allegro, Cadence APD, Cadence Concept HDL and Cadence Virtuoso. Major LISP implementation — Cadence UniCAD.|
|Scheme, Common Lisp, CLOS|
SKILL is a Lisp dialect used as a scripting language and PCell (parameterized cells) description language used in many EDA software suites by Cadence Design Systems. It was originally put forth in an IEEE paper in 1990.
SKILL was originally based on a flavor of Lisp called “Franz Lisp” created at UC Berkeley by the students of Professor Richard J. Fateman. SKILL is not an acronym; it is a name. For trademark reasons Cadence prefers it be capitalized.
Franz Lisp and all other flavors of LISP were eventually superseded by an ANSI standard for Lisp called "Common Lisp." Historically, SKILL was known as IL. SKILL was a library of IL functions. The name was originally an initialism for Silicon Compiler Interface Language (SCIL), pronounced "SKIL", which then morphed into "SKILL", a plain English word that was easier for everyone to remember.
"IL" was just Interface Language. Although SKILL was used initially to describe the API rather than the language, the snappier name stuck. The name "IL" remains a common file extension used for SKILL code ".il" designating that the code contained in the file has lisp-2 semantics. Another possible file extension is ".ils" designating that the content has lisp-1 semantics.
- G. Wood and H-F S. Law, "SKILL - An Interactive Procedural Design Environment," Proceedings of Custom Integrated Circuits Conference, 1986, pp. 544–547
- Quan Nguyen, "CAD Scripting Languages", "A collection of Perl, Ruby, Python,Tcl and SKILL Scripts". Published by RAMACAD INC. ISBN 0-9777812-2-4, ISBN 978-0-9777812-2-5. A Sample from Google Books
- A Quick Tour of SKILL Programming with command-line examples of SKILL codes versus Perl, Ruby, Python & TCL (go to the end of the blog)