IPKISS - PICAZZO software framework for design of photonic integrated
components and circuits
Introduction
The IPKISS/PICAZZO
software was developed by the Photonic Research Group at Gent
University/IMEC over a period of many years, starting in 2002. It is a generic
and modular software framework : its main use case is currently the
design of photonic components and integrated circuits.
However, the IPKISS engine is generic and flexible
:
it can be used (and is used) for the design of other types of
lithography mask.
A radically new version 2.0
was released in September 2010,
version 2.1
in January 2011.
The toolkit is under very active development and we offer access to the
software to other universities and research institutions (see
below).
General description
The framework is based on Python scripting,
both 'under the hood' and from a user perspective. We essentially provide a
parametric design environment, which starts from the concept of a component or
building block.
Through Python scripting, the user specifies in an analytical manner how
a component is represented in terms of parameters. Internally, the
component describes its layout, its input/output connections with other
components, etc. Thisensures a separation between the formal specification of a
component or circuit and different representations that can be derived
(e.g. a mask layout in GDSII, a 2D or 3Dmodel, a circuit model …).
This approach is very powerful and flexible, while at the same
time very accurate, resulting in a productive design cycle.
This contrasts with a design workflow which is static and cannot be influenced by the user.
Parametric mask layout reduces design time considerably by enabling re-use of
design and fault-robust design control. Parametric layout is essential in a
closed design loop, where physical simulation, circuit simulation, mask layout
and simulated (or “virtual”) fabrication are passed through in subsequent cycles
to obtain an optimized result. A set of extensions (under development) enables
interfacing with physical simulations, circuit simulations, etc.
Available functionality
The software platform is conceived as
a modular system.
At its core is the IPKISS engine, which consists of basic
functionality and management routines. It provides:
an object-oriented approach
towards defining parametric components (PCells), including hierarchical
structuring of components
a large number of geometrical primitives for easily
generating complex shapes (arc, bend, circle, ellipse, rectangle, wedge,
Bezier curves, etc.)
complex transformations such as rotation, translation,
magnification, scaling, vmirror, hmirror, cmirror, etc.
single referencing and array referencing of components
exporting to GDS2, importing and manipulating
existing GDS2 files into a layout
filter functions for
manipulating paths and boundaries
importing of HPGL plotter files that can be converted
to paths or boundaries
For application in photonics,
the following plug-ins to IPKISSare provided :
a plug-in for the design
of photonic components, which adds
the following functionalities to IPKISS :
optical input and output ports of a component
waveguide definitions : any combination of layers
can be applied to a geometrical shape to generate complex waveguides
automatic routing between components
process/purpose layers
technology settings for the
ePixFab processes at IMEC and the advanced passives process at LETI
a plug-in for virtual
fabrication and visualization :
provides a simulation of the physical fabrication, with advanced
visualization. It is used to verify if a
complex superposition of layers in a design will match the expected
result after fabrication with a particular process.
integration with the simulation framework Pysimul (see
below)
proof-of-concept / under development : interfacing
layout with OpenAccess compliant EDA tools like Cadence
ThePICAZZO component library : a
collection of photonic components,
such as :
splitters
tapers
ring resonators
gratings and fiber couplers
MMI's
MZI's
spirals
apertures
crossings
classes for ordering components in a structured layout
containers which can apply operations on a component,
such as fanning out at the input/output ports, automatically routing at
the ports, suppressing ports, etc.
Specific, more
advanced components can be provided by Ghent University on a selective basis to
partners for specific research projects.
Pysimul
offers integration with simulation tools :
interfacing a component’s 2D geometry with simulation
tools such as the mode solver
CAMFR and
Meep FDTD
calculation of mode profiles with CAMFR and shaping of
a source in Meep FDTD according to this mode profile
higher
level commands to parameterize and run the simulation, which can
optionally be used as alternatives to the lower-level Python-Meep or
CAMFR commands
Examples
Simple IPKISS script
: generation of circular
and elliptic arcs on GDS layer 0. Export to GDSII file.
The GDSII file looks as follows :
Definition of a simple ring
resonator with access waveguide using the IPKISS photonics
plug-in :
The GDSII file looks as follows :
Manhattan routing
between two MMI's and a ring resonator from the Picazzo component
library.
Virtual fabrication and 2D visualization of the this structure.
Licensing terms
IPKISS - PICAZZO version 2 is currently offered :
to universities and
non-profit research
institutions
Interested parties
become member of our software
initiative and get access to the complete
source code under a specific license agreement.
Participation in co-development of the framework will be
possible under a contributor license agreement : we
are currently investigating the means to formally structure such
collaborative initiatives (to be set up in 2011).
Contact information :
You cane-mail us at ipkiss@intec.ugent.be or call at +32-9-264 3324
(ask for Emmanuel Lambert or Pieter Dumon or Wim Bogaerts).