Cadence SKILL

Summary

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.[1]

SKILL
Paradigmfunctional, object-oriented
DeveloperCadence Design Systems
First appeared1990; 34 years ago (1990)
Stable release
? / ?
Typing disciplineDynamic
Major 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

History edit

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.[2]

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 .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.

References edit

  1. ^ Barnes, T. J.: “SKILL: a CAD system extension language”, 27th ACM/IEEE Design Automation Conference, 1990. Proceedings; pp. 266-271
  2. ^ "Re: SKILL stands for ...?".

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. 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)

External links edit

  • Official website, Cadence Design Systems
  • Pill on GitHub, open-source implementation