Release notes Luceda Photonics Design Platform 3.10.0¶
Luceda 3.10 is a major release featuring many improvements and new functionalities to our design platform. Notably, it marks the introduction of IPKISS Canvas, which is available to all IPKISS users without requiring any additional licenses.
In addition, there are many other highlights in this release:
Our netlist extraction now also extracts electrical nets, with the ability to extract multilayer nets through VIAs.
IPKISS is now significantly faster, building upon the performance enhancements from our previous releases.
There is a new drawing primitive for functionally describing shapes.
For a comprehensive list of new features, improvements and bugfixes, please consult the changelog.
Introducing IPKISS Canvas¶
We are proud to present to you IPKISS Canvas, which is a completely new Graphical User Interface (GUI) that interacts with IPKISS. IPKISS Canvas allows you to explore and verify existing IPKISS designs that are generated through Python code in a schematic view. You can also use it to intuitively create new PIC designs in a matter of minutes. At the same time, code remains at the center of the IPKISS experience, as the expressiveness and precision of code are crucial in building complex PICs.
Canvas acts as a copilot by providing an alternative way to look at your PIC circuits - from a schematic perspective. This assists in creating and modifying your circuits throughout the design process leading up to tape-out. It helps discover, review, and adjust critical parts of your PICs, from important information about your PDK and design parameters, to connectivity and annotation of important parameters.
IPKISS Canvas offers a wide range of functionalities:
Functional verification: check design connectivity, parameters of your PCells, and annotate layouts with critical information, such as waveguide lengths.
Communication: share your in-progress designs, containing the most relevant and up-to-date information, with colleagues.
Boosting productivity: streamline your workflow by browsing through libraries and PDKs. Discover what a component looks like, easily find port names to implement circuit connectivity, and obtain tips about the Python code needed to achieve specific functionality.
Schematic capture: quickly develop your PIC designs from scratch in a schematic environment, then transition these schematics into code, while avoiding any implementation mistakes through our code generation capabilities or direct design loading in IPKISS.
Luceda Academy tutorial: Introduction to IPKISS Canvas for schematic capture.
Luceda Academy example: Example of an Optical phased array.
Netlist extraction: support for electrical nets¶
IPKISS 3.10 introduces new advanced netlist extraction capabilities. In previous versions, it was possible to extract the optical netlist and overlapping electrical ports, such as exposed ports. With IPKISS 3.10, we have expanded this functionality to include the extraction of connections between electrical ports of instances. This provides the ability to extract the complete electrical netlist based on the physical implementation, including transitions between metal layers through VIAs.
When your designs are exported to IPKISS Canvas using
to_canvas, both optical and electrical connectivity will be extracted.
Please note that the behavior of
i3.NetlistFromLayout has not changed: it still extracts optical connectivity and exposed electrical ports, but it does not include electrical nets between instances.
In terms of the schematic visualized in IPKISS Canvas, this means the following:
Optical waveguides are shown as waveguide cells, each with their own annotations, such as waveguide length.
Electrical traces (both DC/RF) are shown as nets.
For a complete insight, check
i3.NetlistExtractionSettings to further explore how the netlist extraction can be used for design verification.
IPKISS has been made faster in various areas of the platform. The startup time for importing IPKISS and PDKs has been notably reduced, and numerous aspects of layout generation have been improved, enhancing the code run time across the whole Luceda Photonics Design Platform. In addition, layout visualization using Matplotlib is now several order of magnitudes faster! This improvement applies both when running scripts directly and when using Jupyter notebooks.
IPKISS 3.10 introduces a new drawing primitive for creating parametric shapes, by specifying a function curve(t) -> x(t), y(t).
You can check
i3.ParametricShape for documentation and examples.
Based on the parametric shape, three specialized curves are defined, e.g. the raised sine, cosine and radial s-bends. See S-bend Shapes.
As part of our ongoing efforts to enhance our place and route engine, we have introduced a new electrical connector in this release:
This connector allows to connect two electrical ports and can be used within the
Compared to the optical Manhattan connector, the electrical connector doesn’t round by default (but a rounding algorithm can still be provided if rounding is needed), and allows to start/finish the route at arbitrary angles.