Interoperable PCell Standard 1.0 Released by IPL Alliance
By now, you may know that the IPL (Interoperable PDK Libraries) Alliance has released the first interoperable PCell standard. What you may not know is that SpringSoft is a founding member of the IPL. The release of the Standard is the culmination of more than two years of effort by the founders and members of the IPL. You can see and download this new Standard on the IPL web site at www.iplnow.com. The download includes a generic 90nm interoperable process design kit (iPDK), reference design, sample PyCellTM library (including PyCell source code), User's Guide, and a Developer's Guide that includes information about how to create PCells that are interoperable with most major EDA tools running on OpenAccess.
IPL iPDKs are based on the OpenAccess database and API from Silicon Integration Initiative (Si2), the free Ciranova PyCell StudioTM software/API, and use standard scripting languages such as Tcl and Python that enable advanced PCell functionality and unparalleled interoperability.
Today there are more than 20 IPL members, including founding members AWR, Ciranova, SpringSoft, Synopsys and foundries L-foundry, Tower-Jazz and TSMC. The up to date member list is available on the web site. Companies may join at no cost by applying on the site. Members enjoy access to additional technical details of the Standard.
The IPL Alliance, an industry-wide collaborative effort to create and promote standards for interoperable PDKs was announced in April 2007 with the release of the first interoperable PyCell library. Since that time, this sample library has been downloaded more than 1,000 times, which tells us that we were on the right track. By DAC in 2008, TSMC had joined the IPL and the first multi-vendor interoperable PCell-based design was demonstrated by passing design and layout data back and forth among 8 tools from 5 different EDA vendors. This was done in real time, and without any data translation from a single disk file. At DAC in 2009, TSMC announced the world's first commercial iPDK, a comprehensive interoperable 65nm MS/RF PCell library which uses the IPL technology. Support for the TSMC iPDK was announced by every major EDA vendor including SpringSoft, one of the iPDK validation partners. With the release of IPL Standard 1.0, the same capability is now available to everybody who wants to create or use interoperable PDKs.
The IPL interoperable PyCells are written in the open Python scripting language using the free Ciranova PyCell Studio which includes extensive PCell-specific extensions, an interactive environment for PyCell development and the OpenAccess-compatible API. PyCells can enable stretch handles and autoabut capability and all of the most advanced PCell features. Users tell us that PyCells have significantly fewer lines of code, and execute more quickly than comparable PCells in common use today.


Tools based on OpenAccess, like the SpringSoft Laker Custom Layout System are able to open, read, and modify schematics and layout for IPL-compatible PyCells that are implemented by the tools of other vendors. Changes implemented in one tool will be reflected in the next tool in the flow because the format has been agreed to by all members.
Besides PyCells, the IPL standard includes syntax and methodologies for writing interoperable properties and parameters - often referred to as iCDF (interoperable Component Description Format). iCDF is an interoperable format for a file that describes the parameter names, how they are displayed, which parameters are editable by the user, and the default parameter values for the PyCells. iCDF essentially contains the contents of the form that pops up when a PyCell (layout) or its symbol (schematic) are placed. The forms will look different in different tools, but the values, permissions and naming will be the same because they have been made interoperable.
Callbacks are another essential - previously proprietary - part of PCells. Advanced PCells offer the ability to substitute formulas or functions ("callbacks") for some variables so that necessary relationships between the shapes are maintained. At a simple level, the callbacks can not only control the input of legal values (such as width > 0) but can define what the tools should do if an illegal value is entered in the parameter attribute form: should it be a warning message, should it automatically supply the nearest legal value, or both? In addition, callbacks are used to maintain dependent parameters: In the first example above, when the poly gate width is increased by stretching the OD (diffusion) layer, callbacks maintain the poly endcap dimension; make the change symmetrical to the center of the transistor; and adds additional contacts when enough space is created. Callback function names are usually stored in the CDF but the callbacks themselves, like PCells, are written in the scripting language Tcl with an agreed upon syntax so that they will behave identically in all tools.
The OA-based version of Laker Custom Layout has undergone extensive interoperability testing during the TSMC iPDK development as well as in independent testing among the IPL partners. Comprehensive testing of advanced PyCell, CDF and callback functions was done to "road test" the standard before release.
An interoperable PDK benefits the entire silicon design chain including users, semiconductor companies, foundries and EDA vendors. The standardization of PDKs benefits custom IC designers by removing bottlenecks in multiple-vendor flows and providing access to innovative new tools. iPDKs can reduce PDK development cost and cycle time for foundries and IDMs while providing designers quicker access to new advanced process technologies.
The IPL Standard adds full interoperability, the ability to use TSMC iPDKs and is supported by most OpenAccess-compatible EDA tools. Long-time users of Laker will be pleased to know that the familiar Laker MCellTM built-in parameterized devices, UDD (User-Defined Device) GUI-driven parameterized devices, Tcl PCells and their related automation features continue to be supported and improved in the OpenAccess-based version of Laker. As always, all Laker parameterized devices are readable in other tools without additional software. In addition, the iPDK PyCells may be mixed and matched with any combination of other Laker devices to optimize your work flow.
