PCell

From Wikipedia, the free 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") which is automatically generated by electronic design automation (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" are basic units of functionality. 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. 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.

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.


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.

edited by: Momchil (talk) 07:35, 9 April 2008 (UTC)

[edit] External links