-
-
Notifications
You must be signed in to change notification settings - Fork 90
KLayout INTERCONNECT custom component
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:
-
existing data for the compact model, previously verified to be working in INTERCONNECT. e.g., S-Parameters (ebeam_taper_475_500_te1550_sparams.txt)
-
existing layout for the component (start with the PCell ebeam_taper_te1550); we start with a layout that already has the required marking layers, as described in the Component-and-PCell-Layout wiki page
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
Load the S-parameters into an "Optical N Port S-Parameter" element:
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"
[Optional] Set the S-Parameters to be enforced passive & reciprocal:
Create an icon, in the SVG format (taper.svg, open and right-click, save as), and add it to the element:
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":
Verify that you can drag and drop the new Custom::ebeam_user element to the canvas:
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:
Close INTERCONNECT. Next time INTERCONNECT opens, you should find your new component under Element Library > Custom::ebeam_user
Use the PCell ebeam_taper_te1550, and configure as per the design of the component:
![screenshot 2016-04-24 14 30 30](https://cloud.githubusercontent.com/assets/15843200/14770546/2c8add8c-0a29-11e6-8b66-b55c7998d441.png)
Select the PCell, and flatten it: Edit > Selection > Flatten Instances, and "All hierarchical levels"
Select all:
Edit properties ("q"), and cycle through them using the "Next" button to find Lumerical_INTERCONNECT_library=Design kits/ebeam_v1.2:
Replace with Lumerical_INTERCONNECT_library=Custom/ebeam_user, then "Apply":
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
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
Exit KLayout
Open KLayout, and create a new layout.
add an Instance. Under Library, you should see the new library you created:
Place the component.
Create a test circuit consisting of pairs of tapers: 500 to 475, then 475 to 500. Rotate as necessary:
Add the ebeam_gc_te1550 grating couplers, paths, path-to-waveguides, Laser, Detector. Verify that there are no errors:
Click on Circuit Simulation:
Observe the simulated results:
If you wish to share your Compact Model Library and GDS cell:
This will generate a CML file which others can install under "Design kits".
The GDS label needs to be updated to read "Design Kits" instead of "Custom": Lumerical_INTERCONNECT_library=Design Kits/ebeam_user
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.