Release notes IPKISS Photonics Design Platform 3.8.0

The IPKISS Photonics Design Platform 3.8 introduces IPKISS IP Manager, a new module to automate the validation of photonic design IP libraries. This release also introduces automation of waveguide bundle routing as well as analysis of optical transmission spectra. A full list of improvements can be found in the changelog.

Highlights are shown below:

Introducing IPKISS IP Manager

IPKISS IP Manager gives design teams the capability to define, run and interpret regression tests on their design IP libraries. In this way, costly mistakes can be avoided by continuously testing various aspects of photonic IP building blocks and circuits, such as layout, connectivity and simulation.

Introduction to IP Manager

Concept of regression testing and change control with IP Manager.

Adding regression tests to a component based on known-good (‘golden’) reference files takes a few lines of code:

from ip_manager.testing import ComponentReferenceTest, Compare
import pytest

@pytest.mark.comparisons([Compare.GdsToGds, Compare.LayoutToXML, Compare.NetlistToXML])
class TestDiskResonatorReference(ComponentReferenceTest):
    def component(self):
        # Create and return a basic disk resonator
        from mylibrary.all import DiskResonator
        my_disk = DiskResonator(name='my_disk')
        return my_disk

All information and resources to get started can be found in the IP Manager manual.

Waveguide bundles

While IPKISS 3.7.0 introduced Connectors for point-to-point connections on a chip, this release adds a bundle connector i3.ConnectManhattanBundle. The bundle connector allows to connect two series of ports to one another, by means of S-bend fanout sections at the start and end, and a parallel array of waveguides in between. This is ideal to cover longer distances over a chip. The bundle connector can be used within the i3.Circuit and i3.place_and_route framework.

Defining a waveguide bundle requires little code while allowing a large degree of customization. You can check i3.ConnectManhattanBundle for documentation and examples.

Waveguide bundle

Waveguide bundle in IPKISS 3.8.

Spectrum Analysis

IPKISS 3.8.0 introduces i3.SpectrumAnalyzer and i3.Spectrum for conveniently performing measurements of key parameters of S-parameter spectra.

i3.Spectrum can detect peaks, extract channel bandwidths, free spectral range, insertion loss and can also trim spectra to the region you are interested in.


i3.SpectrumAnalyzer does the same but operates on a full set of S-parameter spectra between multiple ports of a device. It adds detailed cross-talk analysis (nearest neighbour as well as far neighbour) You can define the passband specification according to your application: as a x-dB bandwidth or as a fixed frequency or wavelength span. The passbands will be extracted and insertion loss and crosstalk measurements are then done across the measured passbands. In this way, you can compare simulated circuit performance to your application specifications.