If you already know about Process Design Kits (PDKs) in general, please skip to the section Getting started.
A PDK helps to bridge the gap between the fab or foundry offering IC technology and the designer who creates an IC design in that technology, as shown byFigure 2.1. In order to create a design, the designer needs to have the library cells created by the fab available, as well as technology details required for custom design of components. A PDK is implemented for a specific set of software tools.
Fig. 2.1: Concept of a Process Design Kit (PDK)
Luceda develops such a PDK so that it can be used by the IPKISS tools (IPKISS Link for Siemens EDAorIPKISS).
To this end, in general, an IPKISS PDK has several components:
• Technology settings that allow for custom design:
– Layers for drawing on, in accordance with the foundry’s definitions.
– Design rules, which provide dimensional constraints for the design to be manufacturable.
– A design rule checking (DRC) deck, checking that the designer’s mask layout adheres to the foundry’s design rules.
– A technology description that allows to generate 2D and 3D models that can be sent to physical simulation tools such as for FDTD or mode propagation.
– Routing settings for optical waveguides and electrical wiring
• The fab’s cell library, providing validated building blocks to the designer:
– Layout models that allow to place and connect the cells in the layout. These can be ‘black-box’: the detailed layout may not be visible, only the optical and electrical I/O and the bounding box.
– Simulation models that allow for simulation and functional verification of a circuit based on these cells.
• Parametric cells for typical complex cells or repetitive tasks that a designer would like to do
• Examples and (this) manual to get started
The combination between Luceda’s design software and the IPKISS PDK for CORNERSTONE is what enables the designer to create a design specific for the CORNERSTONE technology.
Note: In this text, the words cell, component and building block are used interchangeably. In the context of a PDK, a cell, building block or component usually delivers a specific unit function, such as a fiber coupler, splitter or phase modulator. There could also be more complex cells in the PDK library though. In the context of the user design, cell could mean any design or hierarchical part thereof.
Use case: PDK cell library based design
The IPKISS PDK for CORNERSTONE provides a library with a number of predefined cells for the C band (1550nm) and O band (1310nm). With this library available from IPKISS, the designer can create a circuit directly in code (IPKISS) or from the L-Edit GUI using drag-and-drop of devices from the library (IPKISS Link for Siemens EDA).
After placing the PDK cells, optical waveguides can be drawn in a manual or semi-automated fashion. In addition, the PDK provides the necessary settings to use picazzo, Luceda’s pcell template library with functions like ring resonators, MMIs, modulators, Mach-Zehnder interferometers, fanouts, and many more.
This approach allows for fast prototyping of designs using the CORNERSTONE technology.
Use case: Custom cell design
In a lot of cases, the user will want to design custom components and include them in the design. IPKISS provides several functions for that purpose:
• Parametric cells can be defined fully in Python script, with their parameters (properties in IPKISS), layout and simulation model.
• Basic building blocks can be virtually fabricated and sent to electromagnetic simulation tools such as FDTD and EME. IPKISS has a built-in mode solver CAMFR and provides interfaces to CST Studio suite and other 3rd party tools.
• More complex subcircuits defined in IPKISS can be simulated using the built-in compact model solver Caphe.
The designer can provide models for the basic building blocks, or generate them from simulation or measure-ment data.
• The designer can maintain the resulting parametric cells in a library and use them from the IPKISS Link for Siemens EDA environment or in an IPKISS python code design.
Use case: Using internal and 3rd party libraries
In a larger design team or in the case of consecutive design projects, a designer or a design team will typically build up their own library of subcircuits that perform specific reusable functions. Using Luceda’s software, the designer or design team can create such proprietary libraries that work together with the IPKISS PDK for CORNERSTONE.
These re-usable libraries can then be shared within the team, outside of the company or used in consecutive projects.
The designer can in this way embed and sustain design knowledge in a library, and base a new design both on the PDK as well as these internal libraries.
One step further, a designer can also acquire 3rd party libraries and use them in a design project in the same way.
Fig. 2.2: Designing with reuseable design libraries and a PDK.
3 Getting Started
This section explains how to load the PDK in IPKISS and basics of how to use it.
If you are unfamiliar with IPKISS, please have a look at the IPKISS documentation and samples. The documentation and samples are available from the IPKISS Control Center.
The latest IPKISS documentation is also available online athttp://docs.lucedaphotonics.com/index.html.
3.1 Extracting the PDK
The PDK is distributed as a zip file, which you can extract with the unzip utility of your choice (unzip, WinZip, 7-zip, . . . ).
For the purpose of this manual, we assume you have unzipped “cornerstone-2.5.zip” as C:\temp\cornerstone.
You can inspect the directory structure of the PDK:
• data/: Contains GDS files of some fixed cells
• docs/: Contains this file
• docs/examples/scripts: Example IPKISS python scripts
• docs/examples/lib.defs: Example of IPKISS Link for Siemens EDA design project
• ipkiss/: IPKISS technology, pcells, models and functions (Python)
• openaccess/: Design libraries
• openaccess/cornerstone/: OpenAccess database for the PDK (L-Edit)
• techfiles/: Tech files (layers, display) for various tools
• techfiles/klayout/: Layer settings for KLayout GDSII visualization