Example of a Mach-Zehnder Lattice filter¶
In this example, we construct a PCell for a Mach-Zehnder Lattice filter which lays out its own stages based on a few parameters supplied by the user.
This is an advanced example for which sufficient experience with Ipkiss is a prerequisite.
- how to define a basic pcell with layout and compact model view
- how to define a complex pcell generating its own variable number of subcells, with layout, netlist and compact model view
- how to override a RoundedWaveguide (provided by Ipkiss) to create a new type of waveguide calculating its own properties
- how to setup and run a frequency domain simulation with Caphe
- how to plot the resulting transmission characteristics using matplotlib
Files (see: samples/ipkiss3/samples/mzi_lattice)
There are four files contained in this sample.
arm.py: this file contains the self-contained PCell definition of a MZI lattice arm waveguide
dc.py: this file contains the self-contained PCell definition of a directional coupler
mzilattice.py: this file contains the PCell definition of a Mach-Zehnder Lattice
execute.py: this is the file that is executed by python. It instantiates a disk and shows it.
How to run this example
To run the example, run ‘execute.py’.
In this examples we built up a Mach-Zehnder Lattice filter from the ground up.
- First simple circuit design
- Example of a Disk Resonator with Wraparound waveguide
- Example of an athermal Mach-Zehnder Interferometer
- Example of a Mach-Zehnder Lattice filter
- Example of a customized Place and Route cell
- Example of defining a customized technology
- Creating a Cell from an Existing GDSII file