PCell
Encyclopedia
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
Cell (EDA)
A cell in the context of electronic design automation is an abstract representation of a component within a schematic diagram or physical layout of an electronic circuit in software....

 which is automatically generated by electronic design automation
Electronic design automation
Electronic design automation is a category of software tools for designing electronic systems such as printed circuit boards and integrated circuits...

 (EDA) software based on the value of its governing parameters. 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
Cell (EDA)
A cell in the context of electronic design automation is an abstract representation of a component within a schematic diagram or physical layout of an electronic circuit in software....

 are basic units of functionality. A given cell may be "placed," or "instantiated," 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
Design rule checking
Design Rule Checking or Check is the area of Electronic Design Automation that determines whether the physical layout of a particular chip layout satisfies a series of recommended parameters called Design Rules...

) governing their physical dimensions are often complex making the structures tedious to draw by hand. By using PCells a circuit designer can easily generate 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
Ic
IC, ic, or i.c. may stand for:In computing and technology:* .ic.gov, a second-level domain name administered by the US Government for members of the intelligence community* Integrated circuit* Initial condition...

). Although most PCells are physical (layout) PCells, a PCell is not limited in functionality or scope to only represent physical structures 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
Integrated circuit layout
Integrated circuit layout, also known IC layout, IC mask layout, or mask design, is the representation of an integrated circuit in terms of planar geometric shapes which correspond to the patterns of metal, oxide, or semiconductor layers that make up the components of the integrated circuit.When...

 data) that comprise the circuit.

Since one piece of PCell code can create many different objects (with different parameter values), it is referred 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
Cadence SKILL
SKILL is a Lisp dialect used as a scripting language and PCell description language used in many EDA software suites by Cadence Design Systems...

(2) or Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

are most often used to write PCell's code.

----
notes:
  • (1) This is not only helpful during design entry and specification but also in reducing memory resources required to represent the design data.
  • (2) SKILL is a programming language proprietary to Cadence Design Systems Inc.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK