Note: In 2026 R1, a series of new workflows that connects OptoCompiler and Lumerical tools are now available. This workflow contains manual steps which is obsolete after the new version. Please see the Knowledge Base article on Lumerical-OptoCompiler integration for more details.
This article demonstrates a workflow to import a passive photonic component layout developed in Synopsys OptoCompiler™ into Lumerical products for optical circuit simulation. This workflow leverages the EME (Eigenmode Expansion) solver in Ansys Lumerical MODE™ for optical simulation, Ansys Lumerical CML Compiler™ for compact model generation, and Ansys Lumerical INTERCONNECT™ for photonic circuit design and simulation.
This workflow provides an in-house solution with only Synopsys products to address complex challenges in photonic integrated circuit design, where different tools are often required to handle the layout design, component simulation, and circuit simulation. Using this workflow, you can build components in OptoCompiler, run multiphysics simulation using Lumerical component design tools, and leverage CML Compiler to build a model for INTERCONNECT circuit simulation, creating a powerful bridge between layout and design.
This article showcases this workflow using a passive 1x2 MMI (Multi-Mode Interferometer) photonic component from OptoCompiler reference optical SOI (Silicon-On-Insulator) PDK (Process Development Kit). However, you can adapt the workflow to custom passive photonic components, and PDK of your choosing, depending on your specific application case.
Required licenses
- Synopsys OptoCompiler™ license
- Ansys Lumerical MODE™ license
- Ansys Lumerical CML Compiler™ License
- Ansys Lumerical INTERCONNECT™ license
Package contents
A package containing an example 1x2 MMI from the OptoCompiler reference optical SOI PDK is attached to this article. You can use these files to try the workflow on this component or customize it for your needs.
- roMMI1x2.gds – Exported GDS file from OptoCompiler.
- referenceOpticalSOI.lbr – Process technology file used for layer builder for the OptoCompiler optical SOI PDK.
- MMI_EME_FDE_setup.lsf – Setup script that configures and runs MODE simulation.
- roMMI1x2.lms – Simulation file for the imported 1x2 MMI.
- mmi.svg – Custom symbol file for the component.
- Compiled_roMMI1x2_model directory – Directory containing a compiled INTERCONNECT model for the 1x2 MMI from the OptoCompiler reference optical SOI PDK.
Workflow summary
The points below summarize each step, and subsections below describe each step in further detail:
-
Step 1 – OptoCompiler export
- In this step, the reference optical SOI PDK library, included with OptoCompiler, is exported into a GDS (Graphic Design System) file “roMMI1x2.gds”. The GDS layout file contains 2D geometric shapes with layer information, the layer information can work as the reference for process technology data, and Lumerical tools will utilize them in the next step.
-
Step 2 – Import and simulation of 3D structure using MODE
- In this step, the process technology file “referenceOpticalSOI.lbr” for the SOI PDK is imported along with the GDS file from the previous step using the Layer Builder utility. The simulation is then set up and run using Lumerical scripts in MODE, utilizing the EME solver. Finally, it generates the simulation file “roMM1x2.lms”.
-
Step 3 – S-parameter extraction
- In this step, a compact model suitable for circuit simulation is created using the CML Compiler S-parameter data extraction wizard, which utilizes the Lumerical Python API along with CML Compiler.
-
Step 4 – INTERCONNECT simulation
- In this step, the final compiled model, “lum_roMM1x2_gds”, consisting of one input and two outputs, is simulated in INTERCONNECT in a simple photonic circuit configuration along with an ONA (Optical Network Analyzer).
In-depth steps
Step 1 – OptoCompiler export
Follow the steps below to export the 1x2 MMI layout from OptoCompiler.
- Run a terminal in the project directory and use the command optocompiler to open an OptoCompiler window.
- Double-click the Library Manager icon in Applications group under Home tab to open a Library Manager tab.
- Click the File->Library Definitions Editor option from dropdown menu under Library Manager tab to open a Library Definitions tab.
- Click the statement column in next blank definition row, enter an entry “DEFINE”, and add the path to the “referenceOpticalSOI” PDK library, which is in the OptoCompiler installation directory as follows.
<installation_directory>/<tool_version_number>/auxx/libs/referenceOpticalSOI_<PDK_version_number>/referenceOpticalSOI/
Save the definition after entering this value. The screenshot below provides an example path. - In Library Manager, find the Library “referenceOpticalSOI” and Cell “roMMI1x2”, and double-click the View “layout” to open its layout.
The layout is shown below: - Click the File->Export->Stream option from dropdown menu under the Library Manager tab to open an Export Stream window.
- Select and click the Library option “referenceOpticalSOI” from the dropdown menu in Input box under Main tab of the Export Stream window to set the Library option.
- Click the folder icon next to View entry field in input box under Main tab to open a Select Cellview window.
- Select and click the Libraries, Cell Categories, Cells and Views options “referenceOpticalSOI”, “All”, “roMMI1x2” and “layout”, respectively, and click OK button to set these options.
- If necessary, update the Run Directory and Stream File name entries in Output box under Main tab of the Export Stream window
- Click OK button to export the GDS file “roMMI1x2.gds”. This file is saved in the previously selected run directory.
Export is now complete, you can now verify that the exported GDS file is in the project directory, and then proceed onto the next step.
Step 2 – Import and simulation of 3D structure using MODE
Import component from layout
Follow the steps below to import the structure into MODE. This process utilizes the Layer Builder utility to set up the geometry for simulation using the GDS file exported in the last step and combining it with a process file.
- Open Ansys Lumerical MODE™.
- Click the File->Working Directory option from top dropdown menu to open a Choose New Working Directory window and select the project directory where the .gds file is exported in the previous step. Click Choose to confirm the selection and close this window.
- Click the Build icon or Build->Layer Builder icon from dropdown menu in toolbar to create a Layer Builder Model object.
- Open the options window for the layer builder object by right-clicking it in the Objects Tree and selecting Edit. This opens a new window for you to import layout and process files.
- Import the process file by clicking on the Import Process File button in the Layer Builder window and locating the OptoCompiler reference optical SOI process technology file “referenceOpticalSOI.lbr”.
- Adjust the process technology properties in Layers box of the Layer Builder window if necessary.
- Import the GDS file by clicking on the Import GDS File button in the Layout box and locate the “roMMI1x2.gds” file exported from the last step to import the 2D layout.
- Adjust the Background Geometry and GDS Pattern Reference Frame of the Layer Builder window to relocate and modify the imported 3D structure. For this example, use the following setup:
- Background geometry box:
- x span: 200 μm
- y span: 200 μm
- Pattern reference frame box:
- View: Centered at custom coordinates
- x: -20 μm
- y: 0 μm
- Background geometry box:
- Press OK to finalize the setup and save your project file as “roMMI1x2.lms”.
Import of the component is now complete, and you can proceed to the next step of setting up and running the simulation.
Simulate component
Follow the steps below to run the simulation in MODE to prepare it for S-parameter extraction. In this workflow, this process is automated by using the Lumerical script file “MMI_EME_FDE_script.lsf” in the package.
Follow the steps below to run the script file.
- In the Script File Editor, open the script file “MMI_EME_FDE_script.lsf” using the Open button with the project open.
- Click the run button to run the script. The script file cleans the simulation and sweep environment and then adds various objects such as the EME solver, EME cell, EME port, mesh, and monitors. It also creates the parameter sweep, runs the sweep and saves the model file. The screenshot below shows the final state of the simulation file.
Running the simulation is now complete, you can now proceed to the next step to extract the S-parameters from the simulation file.
Step 3 – S-parameter extraction
This step of the workflow utilizes the CML-Compiler S-parameter data collection wizard to extract the S-parameter compact model from the simulation file generated from the previous step.
The instructions below provide only information that pertains to the MMI example for this workflow and brief description of steps. For further information and detailed instructions on how to use the wizard with the meanings of specific settings, see the S-parameter data collection wizard page.
- Download and run the data collection wizard.
- On the first page, load the simulation file generated in Step 2, and fill in the basic information below. The following information must match the previously generated simulation file:
- A note property value that matches the wavelength sweep parameter name and count.
- QA wavelength range that matches the wavelength sweep range.
- S-parameter Sweep name that matches match the S-parameter sweep
- Select the simulation file generated from the previous step.
- On the second page, fill in the element information as follows, you can optionally select the included 1x2 MMI icon.
In this step, ensure that the CML Compiler path points to your CML Compiler executable file. A custom icon is provided in the package attached to this article.
On Windows, it is in the following directory by default:<Lumerical installation directory>/CML_Compiler/bin/
- Press Execute to compile the model.
The compiled model is in the /wizard/ directory of the S-parameter data collection wizard and is ready for use in the next step. The attached package also provides a pre-compiled version of the 1x2 MMI model in the “Compiled_roMMI1x2_model” directory.
As an alternative, you can also add this model to your own master JSON file by following instructions from the S-parameter data collection wizard page, and compile that library before proceeding to the next step.
Step 4 – INTERCONNECT simulation
In this step, INTERCONNECT simulation is conducted with the compact model generated from the previous step. To add the model such that it appears in the Element Library, you either need to redirect the custom element folder to where the model was generated or add a CML that contains the component.
You only need to perform one of the options below. If you have not used CML Compiler at all and only used the data collection wizard, follow Option 1.
Option 1 - Adding the component by redirecting the Custom folder
Follow the steps below to add the generated compact model from the last step to the Element Library by redirecting the custom folder.
- Open Ansys Lumerical INTERCONNECT™.
- Right-click Custom folder in the Element Library and press redirect.
- Select the folder where the compiled compact model is located. The compact models has a file extension of
.x.ice. For the 1x2 MMI example, the compiled compact model is in the/wizard/folder of the S-parameter data collection wizard, with a pre-compiled version also available in the “Compiled_roMMI1x2_model” directory in the attached package.
You can now add the exported component to INTERCONNECT and proceed to simulation.
Option 2 - Adding the component by installing a CML
Follow the steps below to add the generated compact model to the Element Library by installing a compiled CML. For the 1x2 MMI example, you will need to add it to your own master JSON file and run CML Compiler to compile a CML before using the steps below to add the custom component to INTERCONNECT.
- Open Ansys Lumerical INTERCONNECT™.
- Right-click Design Kits folder in the Element Library and left-click the Install option from dropdown menu in Element Library panel to open a Choose Compact Model Library Package and Definition Folder window.
- Click the ellipsis button “…” next to Compact Model Library Package entry field to open an Install Compact Model Library window, and select the CML file “lumfoundry_template.cml” in your foundry template directory.
You can now add the exported component to INTERCONNECT and proceed to simulation.
Running INTERCONNECT Simulation
After you add the component into INTERCONNECT, follow these steps to run an example simulation on the 1x2 MMI component. A schematic of the circuit is shown below with instructions following the schematic.
- Add the component compact model and an ONA element to the INTERCONNECT schematic. Set the ONA element as follows:
- Set the number of input ports to 2.
- Set the wavelength range to match the s-parameter matrix sweep in previously conducted in MODE.
- Save the project.
- Connect port 1 of the 1x2 MMI to the output port of the ONA, and port 2 and 3 of the 1x2 MMI to the input ports of the ONA.
- Run the simulation by clicking the Run Simulation icon
in the side toolbar.
- Examine the results by right clicking the ONA and selecting Display results. The 1x2 MMI power gain spectral plot in the visualizer window.
Model settings
The following important model settings were used in this example workflow.
- In MODE, layer builder uses the layer location, geometry and variation data from process technology file and the layer and geometry from GDS file together to build a 3D structure.
- In S-parameter CML wizard, the S-parameter sweep entries need to align with the corresponding wavelength sweep parameter name “wavelength”, count “11”, range from “1.5e-6” m to “1.6e-6” m, and sweep name “sweep_s_parameter_matrix” in the simulation model file.
- S-parameter CML wizard will memorize the wavelength range, S-parameter sweep name, and CML Compiler path entries in the corresponding QA, simulation file, and simulation setting boxes after these entries are updated.
- In the S-parameter CML wizard, if you use the library mode option “Add to Existing CML Database”, you need to run CML Compiler to generate and load a compact model into INTERCONNECT solver manually.
- S-parameter CML wizard only support SVG image for the element icon (symbol).
Customizing the model
Use the following information to further customize this workflow for your purposes:
- You can customize the workflow to export other passive photonic component layouts from OptoCompiler reference optical SOI PDK library or your own design and then simulate these photonic components.
- The Lumerical script in the file “MMI_EME_FDE_script.lsf” is developed for the photonic component “roMMI1x2” from OptoCompiler W-2024.09 Reference Optical SOI v3.1.0 PDK library. You can customize the Lumerical script to work with other photonic components.
- The OptoCompiler reference optical SOI process technology file “referenceOpticalSOI.lbr” is provided for the OptoCompiler W-2024.09 Reference Optical SOI v3.1.0 PDK library. Please refer to the layer builder knowledge base page if you want to use your own process technology file.
See Also
S-parameter (Fixed) data collection wizard, CML Compiler product reference manual, INTERCONNECT product reference manual, MODE product reference manual