Cadence SKILL
Programming language dialect
title: "Cadence SKILL" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["scripting-languages", "lisp-programming-language-family"] description: "Programming language dialect" topic_path: "technology/programming-languages" source: "https://en.wikipedia.org/wiki/Cadence_SKILL" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0
::summary Programming language dialect ::
::data[format=table title="Infobox programming language"]
| Field | Value |
|---|---|
| name | SKILL |
| paradigm | functional, object-oriented |
| year | |
| developer | Cadence Design Systems |
| latest release version | ? |
| latest release date | ? |
| typing | Dynamic |
| implementations | Cadence Allegro, Cadence APD, Cadence Concept HDL and Cadence Virtuoso. Major LISP implementation: Cadence UniCAD |
| dialects | SKILL, SKILL++ |
| influenced by | Scheme, Common Lisp, CLOS |
| :: |
|name = SKILL |logo = |paradigm = functional, object-oriented |year = |developer = Cadence Design Systems |latest release version = ? |latest release date = ? |typing = Dynamic |implementations = Cadence Allegro, Cadence APD, Cadence Concept HDL and Cadence Virtuoso. Major LISP implementation: Cadence UniCAD |dialects = SKILL, SKILL++ |influenced by = Scheme, Common Lisp, CLOS |influenced = SKILL is a Lisp dialect used as a scripting language and PCell (parameterized cells) description language used in many electronic design automation (EDA) software suites by Cadence Design Systems. It was originally put forth in an Institute of Electrical and Electronics Engineers (IEEE) paper in 1990.
History
SKILL was originally based on a flavor of Lisp called Franz Lisp created at University of California, 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.{{cite web | url=https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/12204/skill-stands-for | title=Re: SKILL stands for ...?
Franz Lisp and all other flavors of LISP were eventually superseded by an ANSI standard for 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 only Interface Language. Although SKILL was used initially to describe the application programming interface (API) rather than the language, the snappier name stuck. The name IL remains a common file extension used for SKILL code designating that the code contained in the file has lisp-2 semantics. Another possible file extension is , designating that the content has lisp-1 semantics.
References
Academic:
- 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. , . 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)
References
- Barnes, {{nobr
::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::