Example of KLayout INTERCONNECT custom component - SiEPIC/SiEPIC_EBeam_PDK GitHub Wiki

Tutorial on creating a custom component for the KLayout-INTERCONNECT integration.

This tutorial demonstrates how to create a custom component in both KLayout and INTERCONNECT, so that you can perform verification and circuit simulations.

This is based on a fixed GDS layout. The design has fixed dimensions, and isn't parameterized. This is the simplest case.

Requirements:

Desired Outcome:

  • Compact model in INTERCONNECT, called Custom::ebeam_taper_475_500_te1550
  • KLayout cell, called ebeam_taper_475_500_te1550
  • Ability to perform circuit simulations using the new component

##Step 1: Compact model

Load the S-parameters into an "Optical N Port S-Parameter" element: image

After loading, turn off "load from file" for the S-parameters.

Set the parameters on the component:

  • model & prefix = ebeam_taper_475_500_te1550
  • description: up to you
  • annotation on for "model" image

[Optional] Set the S-Parameters to be enforced passive & reciprocal: image

Create an icon, in the SVG format (taper.svg, open and right-click, save as), and add it to the element: image

Select "Custom" in the Elements Library, right-click and "New folder", and call it "ebeam_user". Then right-click on your new component, and "Copy to Element Library": image

Verify that you can drag and drop the new Custom::ebeam_user element to the canvas:

image

Test it using an Optical Network Analyzer to make sure it works. This S-parameter set shows insertion loss of about 0.002 and reflection of -65 dB: image

Close INTERCONNECT. Next time INTERCONNECT opens, you should find your new component under Element Library > Custom::ebeam_user

##Step 2: KLayout cell

Use the PCell ebeam_taper_te1550, and configure as per the design of the component:

Select the PCell, and flatten it: Edit > Selection > Flatten Instances, and "All hierarchical levels" image

Select all:

image

Edit properties ("q"), and cycle through them using the "Next" button to find Lumerical_INTERCONNECT_library=Design kits/ebeam_v1.2: image

Replace with Lumerical_INTERCONNECT_library=Custom/ebeam_user, then "Apply": image

Continue using the "Next" button. Similarly, replace Lumerical_INTERCONNECT_component=ebeam_taper_te1550 with Lumerical_INTERCONNECT_component=ebeam_taper_475_500_te1550, and "Apply".

You may add some text descriptions about your component. Use Layer "10_Text", and place a Text object inside the DevRec layer. e.g., "Ref: journal paper xxx"

Rename the top cell in your layout (the one that contains the taper) to be ebeam_taper_475_500_te1550

image

image

Save the layout so that KLayout can access it as a new Library, in the "libraries" folder.

  • In Windows, the path is C:\Users\USERNAME\KLayout\libraries
  • In OSX the folder is hidden and is a pain to get to: in KLayout, do Save As; leave this dialog open. Run Terminal.App, and type in:
  • cd $HOME/.klayout/libraries
  • open .
  • Drag the "libraries" folder to the KLayout dialog
  • Save the file as ebeam_taper_475_500_te1550.gds
  • Under GDS2 Writer Options, Library name, type in ebeam_user

image

Exit KLayout

Open KLayout, and create a new layout.

image

add an Instance. Under Library, you should see the new library you created: image

Place the component.

Create a test circuit consisting of pairs of tapers: 500 to 475, then 475 to 500. Rotate as necessary:

image

Add the ebeam_gc_te1550 grating couplers, paths, path-to-waveguides, Laser, Detector. Verify that there are no errors: image

Click on Circuit Simulation:

image

Observe the simulated results: image

##Step 3: Publishing / sharing

If you wish to share your Compact Model Library and GDS cell:

###Publish the CML: image

This will generate a CML file which others can install under "Design kits".

###Update and share the GDS: The GDS label needs to be updated to read "Design Kits" instead of "Custom": Lumerical_INTERCONNECT_library=Design Kits/ebeam_user image

Save the GDS.

Distribute the two files: ebeam_user.cml, and the gds. Installation of the two files by the users is similar, namely INTERCONNECT > Element Library > Design Kits > Install, and in KLayout, place the GDS in the "libraries" folder and restart KLayout.