In this example, we calculate the gain spectra of the outputs from a WDM filter designed in KLayout as part of the layout-driven flow.
This example requires
- Lumfoundry PDK to be installed to both KLayout and Interconnect
- The following KLayout packages to be installed in KLayout:
Ansys-Lumerical and SiEPIC-Tools packages can be downloaded via "Package Manager" on KLayout. For instructions on installation, please see KLayout Package Installation Instructions. Lumfoundry PDK (including its KLayout library package and Interconnect CML) is provided via this page.
Understand the simulation workflow and key results
We are considering a layout-driven workflow where the circuit layout is designed in KLayout and the circuit is simulated in INTERCONNECT. The design is a Wavelength-Division Multiplexing circuit, composed of waveguides, directional couplers, grating couplers, terminators, and other elements.
|[[NOTE]]: The Lumfoundry_KLayout_CML compact model library (CML) used here is intended for demonstration purposes only. The models are intended to be representative of typical component behavior. However, they are not calibrated to a foundry process. Ansys Lumerical cannot provide and guarantee with respect to the model accuracy and completeness.|
Step 1:Layout design and netlist extraction
The circuit layout is designed in KLayout using the Lumfoundry PDK. The netlist is then extracted for the WDM circuit.
The example files (the gds file, Lumfoundry PDK, etc.) are provided and available for download.
Step 2: Circuit simulation (INTERCONNECT)
We import the circuit netlist and an INTERCONNECT testbench file to INTERCONNECT. The testbench consists of an Optical Network Analyzer (ONA) for gain spectrum measurement.
Run and results
Instructions for running the model and discussion of key results
Step 1:Circuit layout and netlist extraction (KLayout)
- Open the [[WDM.gds]] file in KLayout to see the circuit design.
- Navigate to File > Layout Properties > Technology. Select Lumfoundry and click Ok,
- Export the netlist using the Ansys Lumerical Tool > Circuits Simulation > Export circuit to INTC
- Choose the testbench file [[WDM.lsf]] (included in the example download package) in the prompt window and click OK. This step will open a new INTERCONNECT session.
Step 2: Circuit simulation (INTERCONNECT)
In the new INTERCONNECT session, [[WDM.lsf]] script will run the simulation automatically.
|[[Note]]: users will get the "Error loading reference" errors if the Lumfoundry_KLayout_CML is not installed at this point. Users must install this CML before opening this file. For more information, please visit the Install Compact Model Library page.|
Results are plotted automatically and can be accessed from the result view and the script workspace. The main functions of the script file [[WDM.lsf]] are to add elements (optical network analyzer), connect optical ports, run the simulation, collect simulation results, and plot the simulation results.
We use an Optical Network Analyzer (ONA) to calculate the gain spectrum (transmission in dB) for the TE mode for each output of the WDM.
Important model settings
Description of important objects and settings used in this model
- This example requires the Lumfoundry_KLayout_CML to be installed before running the example files. See the Install Compact Model Library page on the Knowledge Base for more information on how to install the CML.
- When updating the circuit in INTERCONNECT, the name of the updated circuit should be identical to the original circuit.
- When updating the circuit in INTERCONNECT, the names of the INTERCONNECT IOs (INTC_IOs) of the layout in KLayout should remain the same.
- When selecting an icp type testbench file in the pompt window in KLayout, “Compound Element Name” should be the name of the circuit that you want to update in INTERCONNECT.
Updating the model with your parameters
Instructions for updating the model based on your device parameters
WDM circuit design
Various components, including waveguides, grating couplers, and directional couplers are used to build the WDM circuit in this example. These components have various parameters that can be updated based on your device parameters, including:
- Waveguide lengths (i.e., interferometer path length difference)
- Waveguide width
- Directional coupler splitting ratio (i.e., tuning the coupler length)
These component parameters can be updated by changing the values in KLayout/<your component>/ Instance Properties/PCell Parameters, and exporting the circuit and the same testbench file to INTERCONNECT. Any parameters changed in KLayout will be automatically updated in INTERCONNECT in a new session.
Optical Network Analyzer (ONA) settings
The ONA settings allow you to control:
- Input power (0dBm)
- Simulation bandwidth (start and stop frequency, 1500 nm to 1600 nm)
- Number of points (1000)
- Plot kind (frequency or wavelength)
- Polarization (orthogonal identifier, 1 for TE, 2 for TM)
[[Note]]: This circuit is designed to operate in the C-band (1530nm to 1565nm), under TE mode. Care should be taken if you modify the ONA settings to make sure your stay in the operating domain of the components.
Taking the model further
Information and tips for users that want to further customize the model
Use updated/new netlist
You can modify the circuit in KLayout, export the new netlist to your INTERCONNECT testbench circuit to verify how the modifications affect the behavior of the circuit. For more information on importing a netlist from KLayout to INTERCONNECT, please visit KLayout Interoperability User Manual.
Use other testbench circuits
In this example, the WDM is connected to an ONA to calculate its transmission spectrum. The user can use custom testbenches for other test purposes.
Update the .lsf testbench files
To update an .lsf file, please follow the steps below:
- In INTERCONNECT, click Script File Editor > Open script.
- Open and view the testbench file [[WDM.lsf]]
- Click the run script button if any new changes are made to the testbench file.
Use the .icp testbench file
Other than using an .lsf script file as testbench file as demonstrated in the example, you can also use an .icp project file as testbench file.
To use an .icp file as testbench file, load an .icp file instead of an .lsf file in Step 1 above. Note that “Compound Element Name” should be the name of the circuit that you want to update in INTERCONNECT.
After clicking OK, the .icp file will be opened in a new INTERCONNECT session. The original circuit in the INTERCONNECT from the .icp file will be replaced by the circuit in your current KLayout main window. All the ports will be reconnected automatically.