The case of the disappearing PCell
PCell caching in a multi-vendor custom IC design environment
Used in the design of analog and custom digital circuits, parameterized
cells (PCells) are software scripts used to define physical layout based
upon a prescribed set of variable parameters. PCells are the basic
building blocks of custom IC design, offering a single programmable
PCell in place of many different versions of a drawn cell. PCells can
automate very sophisticated functions, maintain complex relationships,
and can even interact with their environment. So you can imagine how
disconcerting it is when your PCells disappear!
Historically, PCells have been written in proprietary scripting
languages (such as Cadence SKILL) developed for each specific layout
tool, which means that most PCells in existence today cannot be “seen”
by tools from other vendors because they do not have the software needed
to evaluate the proprietary scripts.
Recently, the Interoperable PDK Library (IPL) Alliance (see www.IPLnow.com)
has initiated a standard for executing interoperable PCells which,
coupled with the broad adoption of the OpenAccess interoperable database
standard, is addressing the issue of disappearing PCells for new
designs. But what about your legacy data? How do you protect your legacy
PCells?
For a solution to that problem, a long-time programming methodology
called “caching” has been pressed into service. In computer programs,
caching is used to store on disk the output from commonly used functions
so that when executing a repeated instruction, the results may be
obtained more quickly without having to reprocess the request. This same
mechanism has been used by some companies to speed up the display of
PCells in custom IC design environments and to make tool-specific PCells
visible to multiple tools in the design flow.
The significance of these developments is clear: The implementation of
interoperable PCells and PCell caching using an interoperable database
can solve the Case of the Missing PCell.

