Release notes IPKISS 3.4.0

he IPKISS 3.4 design platform brings significant improvements to the performance and stability of IPKISS.eda, our module to integrate IPKISS with EDA tools. In addition, it brings a long list of quality improvements and bug fixes to the IPKISS Integrated Photonics design platform. The detailed account of improvements can be found in the changelog.

Highlights are shown below:

Product structure

From IPKISS 3.4 onwards, we work from a single design platform upon which several design modules are put into place. In this way we want to offer design teams maximum flexibility. For existing users there will be no changes in the functionality we deliver. The new structure looks as following:

Version 3.3 and previous As of version 3.4
IPKISS.flow IPKISS
IPKISS.eda IPKISS + IPKISS.eda module

IPKISS.eda module

With IPKISS 3.4, you can continue your work using the most recent versions of L-Edit from Mentor Graphics (version 2019 and up) in a faster and more stable design environment:

  • The biggest change to the user experience is that it is no longer required to launch L-Edit through the Luceda Control Center. Any design you open in L-Edit with an IPKISS 3.4-compatible PDK will now properly recognize IPKISS out-of-the-box.
  • The launch time, as well as the waveguide generation and PCell generation times, have been reduced.
  • In terms of multilibrary support, you can now work with projects that contain both IPKISS- and PyCell-based libraries at the same time. In addition, multiple IPKISS libraries based on the same technology work together seamlessly in L-Edit (e.g. a new waveguide type defined in the new library is recognized by the original library). This is similar to what’s possible to achieve when using IPKISS in Python.
  • It’s easier to define your own waveguide routes for use in IPKISS.eda (see changelog for more details and documentation links).
  • New ‘Join’ macro (in L-Edit: ‘Luceda’ -> ‘SDL’ -> ‘Join’) that connects devices based on a specified netlist (either imported from S-Edit, or imported from a spice file). Similar to the i3.Join method. This was previously only available for selected PDKs, but is now available generally.

It’s important to note that, when using L-Edit 2019 or newer, you need to have the latest version of the PDK which is compatible with IPKISS 3.4. Please get in contact with your foundry to retrieve an IPKISS 3.4 compatible PDK or check the porting guide if you are building libraries yourself

IPKISS

Quality-of-life improvements include:

  • A faster startup time
  • In some cases, a significant speedup compared to IPKISS 3.3 when generating large layouts with IPKISS (with > 1000 components)
  • New documentation
  • Updated packages: matplotlib upgraded from 1.5.3 to 2.2.3
  • Handling of more complex use cases by our new placement engine

It’s also important to note that as of the next IPKISS version, we will completely remove old-style CapheModels. New-style models are easier to build, maintain, and are equally fast or faster. Please check the changelog for more information.

Documentation

These are the improvements we made to the IPKISS documentation:

  • Terminology is important. When working together, it’s essential that we use the same ‘language’ to reduce communication barriers. In this release, we’ve added a glossary for topics around design automation, photonics, IPKISS, and programming: Luceda glossary. Let us know if you think terms are missing and we’ll add them!
  • We’ve updated the documentation theme to a modern format that’s easier to read on your smartphone or tablet.
  • We added a new reference on how PDKs are structured in IPKISS: PDK structure.
  • We wrote a small guide on how to update your conda environment (in case you want to install additional packages): conda envrionment setup.