PCell stands for parameterized cell, a concept used widely in the automated design of analog (or custom digital) electronic circuits. A PCell is a ("cell") which is automatically generated by electronic design automation (EDA) software based on the value of its governing parameters. A cell in the context of Electronic design automation (EDA is an abstract representation of a component within a schematic diagram or physical layout of an electronic circuit Electronic design automation ( EDA) is the category of tools for designing and producing electronic systems ranging from Hence, a PCell represents a part or a component of the circuit that is dependent on one or more parameters and is not a fixed element.
In electronic circuit designs, "cells" are basic units of functionality. A cell in the context of Electronic design automation (EDA is an abstract representation of a component within a schematic diagram or physical layout of an electronic circuit A given cell may be "placed," or "instanced," many times. A PCell is more flexible than a non-parameterized cell because different instances may have different parameter values; for example, rather than have many different cell definitions to represent the variously sized transistors in a given design, a single pcell may take a transistor's dimensions (width and length) as parameters. Different instances of a single pcell can then represent transistors of different sizes, but otherwise similar characteristics.
The structures within an integrated circuit and the rules (design rules) governing their physical dimensions are often complex making the structures tedious to draw by hand. Design Rule Checking or Check(s ( DRC) is the area of Electronic Design Automation that determines whether a particular chip layout satisfies a series of By using PCell(s) a circuit designer can be helped signifficantly in generating a large number of various structures that only differ in a few parameters, thus increasing design productivity and consistency.
Most often, PCell implies a Physical PCell - a physical (layout) representation (drawing) of an electronic component, showing the physical structure of the latter inside an integrated circuit (IC). Although most PCells are physical (layout) PCells, a PCell is not limited in functionality or scope to only represent physical sructures inside the IC. Device symbols in circuit schematics may also be implemented as PCells.
Underlying characteristics of all PCells are:
1. dependence on (input) parameters
2. ability to generate design data based on the latter parameters
Hence, a PCell is a piece of programming code. This code is responsible of the process of creating the proper structure of the PCell variants based on its (input) parameters. For the example of a Physical (layout) PCell, this code generates (draws) the actual shapes of the ( mask design data) that comprise the circuit. Integrated circuit layout, also known IC layout, IC mask layout, or mask design, is the representation of an Integrated circuit in terms of planar
Since one piece of PCell code can create many different objects (with different parameter values), it is refered to as a PCell Master. The object/shapes/data that this code creates is called an instance of the PCell. Typically, one Master PCell produces many(1) instances/variants.
Although the programming language in which a PCell is written is not of importance, SKILL(2) or Python are most often used to write PCell's code. SKILL is the LISP -like scripting language and PCell (Parameterized Cells description language of Cadence Design Systems IC design software that was originally put Python is a general-purpose High-level programming language. Its design philosophy emphasizes programmer productivity and code readability
notes:
edited by: Momchil (talk) 07:35, 9 April 2008 (UTC)