IPKISS Reference
The reference is a detailed documentation of the full IPKISS API. Its main goal is to help you to discover all functionality and explain how use it. We structured all functionality by topic, so it is easy to find the methods and classes you need.
A parametric cell or PCell provides the base on which you can start building your designs. This section of the reference will help you in using pcells effectively in your designs.
- Properties
Properties are used in virtually every component of IPKISS. They are used to store variables and to restrict the range & type of values that can be assigned to an object.
- Views
We use views to store all data related to your design, views are a ‘view’ on a certain part of your design. This might be a
i3.LayoutView
,i3.NetlistView
or a custom view you’ve provided yourself.
- Library
Cells are stored in a library.
The physical implementation of your design, or layout is represented in IPKISS using the LayoutView. A LayoutView will typically contain geometric elements & layers.
- Elements & Layers
Elements are the basic building blocks you put on a certain layer. You use these elements to construct the layout of your design. These Elements can be references to layoutviews or basic geometric blocks.
- Shapes & Geometry
All layoutviews are in the end composed of a set of the geometrical primitives. Use this part of the reference to find out how to build the geometry of your layout.
- Placement and Routing
Functions for placing PCells and routing between their ports according to a predefined set of constraints.
- Importing from GDSII
If you have existing GDSII layouts it is possible to import them into IPKISS.
- Transformations
Predefined transformations in IPKISS used to transform (i.e., rotate, translate) layout instances and geometrical primitives.
- Shape modifiers
Predefined shape modifiers for modifying existing shapes.
- Ports
Ports are locations on the layout where connections are made.
The NetlistView defines the logical structure of your design, when defining a netlist you’ll specify the connectivity, the logical blocks and the ‘endpoints’ ( terms ) of your pcell.
- Instances
Instances are the logical blocks of your design.
- Nets
Nets enable you to specify the connection between your logical blocks.
- Terms
Nets enable you to specify the connection between your logical blocks.
Connect two ports using a predefined algorithm.
- Create a connector
Demonstrates the basics needed to create your own connectors.
- Connector algorithms
List of existing connectors and other relevant functions.
- Defining CircuitModel
This documents the basic circuit model API, which allows you to define basic linear frequency models based on S-parameters.
- Simulation using caphe
The caphe solver is used to simulate the behavior of your cell. Based on the compact models of your design.
- Waveguide concepts
Waveguides and other ‘traces’ are based on powerful templating concepts.
- Defining device simulations
Device simulations with physics solvers (e.g. FDTD) can be specified and run from IPKISS.
PDK reference
- PDK structure reference
How to structure a PDK for use with IPKISS.