本文演示了一种将Synopsys OptoCompiler中开发的无源光子器件版图导入Lumerical产品进行光路仿真的工作流程。该工作流程利用Ansys Lumerical MODE中的EME(特征模扩展)求解器进行光学仿真,利用Ansys Lumerical CML Compiler生成紧凑模型,并利用Ansys Lumerical INTERCONNECT进行光子电路设计和仿真。
此工作流程仅使用Synopsys产品即可提供一套内部解决方案,以应对光子集成电路设计中的复杂挑战。在光子集成电路设计中,通常需要使用不同的工具来处理版图设计、器件仿真和线路仿真。使用此工作流程,您可以在OptoCompiler中构建器件,使用Lumerical器件设计工具运行多物理场仿真,并利用CML Compiler构建用于INTERCONNECT线路仿真的模型,从而在版图和设计之间架起一座强大的桥梁。
本文以OptoCompiler reference optical SOI(绝缘体上硅)PDK(工艺开发套件)中的无源1x2MMI(多模干涉仪)光子器件为例,展示了该工作流程。当然,您也可以根据具体应用场景,将此工作流程调整为使用您选择的自定义无源光子器件和PDK。
Synopsys OptoCompiler license
Ansys Lumerical MODE license
Ansys Lumerical CML Compiler license
Ansys Lumerical INTERCONNECT license
本文附带一个包含示例1x2MMI的软件包,该示例来自OptoCompiler reference optical SOI PDK。您可以在此器件上使用这些文件来体验工作流程,或根据您的需要进行自定义。
roMMI1x2.gds–从OptoCompiler导出的GDS文件。
referenceOpticalSOI.lbr–用于OptoCompiler光学SOI PDK的层构建器的工艺技术文件。
MMI_EME_FDE_setup.lsf–配置和运行MODE仿真的设置脚本。
roMMI1x2.lms–导入的1x2MMI的仿真文件。
mmi.svg–器件的自定义符号文件。
Compiled_roMMI1x2_model目录–包含来自OptoCompiler reference optical SOI PDK的1x2MMI的已编译INTERCONNECT模型的目录。

以下要点概述了每个步骤,下面的小节将更详细地描述每个步骤:
步骤1–OptoCompiler导出
在此步骤中,OptoCompiler自带的reference optical SOI PDK库被导出为GDS文件“roMMI1x2.gds”。该GDS布局文件包含带有层信息的二维几何形状,这些层信息可作为工艺技术数据的参考,Lumerical工具将在下一步中使用它们。
步骤2–使用MODE导入和仿真3D结构
在此步骤中,使用Layer Builder工具导入SOI PDK的工艺技术文件“referenceOpticalSOI.lbr”以及上一步中的GDS文件。然后,使用Lumerical脚本在MODE中设置并运行仿真,并采用EME求解器。最后,生成仿真文件“roMM1x2.lms”。
步骤3–S参数提取
在此步骤中,使用CML Compiler S-parameter data extraction wizard创建适合线路仿真的紧凑模型,该向导利用Lumerical Python API和CML Compiler。
步骤4–INTERCONNECT仿真
在此步骤中,最终编译的模型“lum_roMM1x2_gds”(由一个输入和两个输出组成)在INTERCONNECT中以简单的光子线路进行配置并使用ONA(光网络分析仪)进行仿真。
步骤1–OptoCompiler导出
按照以下步骤从OptoCompiler导出1x2MMI版图。
1.在项目目录中运行终端,并使用命令optocompiler打开OptoCompiler窗口。
2.双击“主页”选项卡下“应用程序”组中的“库管理器”图标,打开“库管理器”选项卡。

3.点击“库管理器”选项卡下下拉菜单中的“文件->库定义编辑器”选项,打开“库定义”选项卡。
4.单击下一个空白定义行中的语句列,输入条目“DEFINE”,然后添加“referenceOpticalSOI”PDK库的路径,该库位于OptoCompiler安装目录中,如下所示。输入此值后保存定义。下面的屏幕截图提供了一个示例路径。


5.在库管理器中,找到库“referenceOpticalSOI”和单元“roMMI1x2”,双击视图“layout”打开其版图。

版图如下所示:

6.点击“库管理器”选项卡下下拉菜单中的“文件”->“导出”->“Stream”选项,打开“Export Stream”窗口。

7.在Export Stream窗口的主选项卡下的输入框的下拉菜单中选择并单击“referenceOpticalSOI”库选项,以设置库选项。
8.单击“主选项卡”下“输入框中的查看输入字段”旁边的文件夹图标,打开“选择Cellview”窗口。
9.分别选择并单击Libraries,Cell Categories,Cells和Views选项为“referenceOpticalSOI”,“All”,“roMMI1x2”和“layout”,然后单击“确定”按钮来设置这些选项。
10.如有必要,请更新“Export Stream”窗口“主”选项卡下“输出”框中的Run Directory和Stream File名条目。
11.单击“确定”按钮导出GDS文件“roMMI1x2.gds”。该文件将保存在之前选择的运行目录中。
导出现已完成,您现在可以验证导出的GDS文件是否位于项目目录中,然后继续进行下一步。
步骤2–使用MODE导入和仿真3D结构
请按照以下步骤将结构导入MODE。此过程使用Layer Builder实用程序,根据上一步导出的GDS文件并将其与process文件结合,来设置用于仿真的几何体。
1.打开Ansys Lumerical MODE。
2.点击顶部下拉菜单中的“文件”->“工作目录”选项,打开“选择新工作目录”窗口,然后选择上一步中导出.gds文件的项目目录。点击“选择”确认选择并关闭此窗口。

3.单击工具栏下拉菜单中的Build图标或Build->Layer Builder图标,即可创建Layer Builder模型对象。

4.在对象树中右键单击Layer Builder对象,然后选择“编辑”,即可打开其选项窗口。这将打开一个新窗口,供您导入版图和process文件。

5.在图层构建器窗口中单击“导入工艺文件”按钮,找到OptoCompiler reference optical SOI工艺技术文件“referenceOpticalSOI.lbr”,即可导入工艺文件。
6.如有必要,请在Layer Builder窗口的Layers框中调整工艺技术属性。
7.单击布局框中的“导入GDS文件”按钮导入GDS文件,找到上一步导出的“roMMI1x2.gds”文件,导入2D版图。
8.调整Layer Builder窗口中的Background Geometry和GDS Pattern Reference Frame,以重新定位和修改导入的3D结构。在本示例中,请使用以下设置:
9.按OK完成设置并将项目文件保存为“roMMI1x2.lms”。
器件导入现已完成,您可以继续进行下一步,即设置和运行仿真。
仿真器件
请按照以下步骤在MODE中运行仿真,为提取S参数做好准备。在本工作流程中,该过程通过使用软件包中的Lumerical脚本文件“MMI_EME_FDE_script.lsf”实现自动化。
请按照以下步骤运行脚本文件。
1.在脚本文件编辑器中,打开项目后,使用“打开”按钮打开脚本文件“MMI_EME_FDE_script.lsf”。

2.点击运行按钮运行脚本。该脚本文件会清理仿真和扫描环境,然后添加各种对象,例如EME求解器、EME单元、EME端口、网格和监视器。它还会创建参数扫描,运行扫描并保存模型文件。下面的屏幕截图显示了仿真文件的最终状态。

仿真运行现已完成,您现在可以进行下一步,从仿真文件中提取S参数。
步骤3–S参数提取
工作流程的这一步骤利用CML-Compiler S-parameter data collection wizard,从上一步生成的仿真文件中提取S参数紧凑模型。
以下说明仅提供与此工作流程中的MMI示例相关的信息以及步骤的简要描述。有关如何使用向导以及特定设置含义的更多信息和详细说明,请参阅S-parameter data collection wizard page。
相关链接:https://optics.ansys.com/hc/en-us/articles/45266900204563-S-parameter-Fixed-data-collection-wizard
1.下载并运行数据收集向导。
2.在第一页,加载步骤2中生成的仿真文件,并填写以下基本信息。以下信息必须与之前生成的仿真文件一致:
一个与波长扫描参数名称和计数相匹配的注释属性值。
QA波长范围与波长扫描范围相匹配。
与S参数扫描匹配的S参数扫描名称

3.选择上一步生成的仿真文件。
4.在第二页,按如下方式填写单元信息,您可以选择包含的1x2MMI图标。

在此步骤中,请确保CML编译器路径指向您的CML编译器可执行文件。本文附带的软件包中提供了一个自定义图标。
在Windows系统中,它默认位于以下目录中:

5.按“执行”按钮编译模型。
编译后的模型位于S-parameter data collection wizard的/wizard/目录中,可用于下一步操作。附件软件包还在“Compiled_roMMI1x2_model”目录中提供了一个预编译的1x2MMI模型。
作为替代方案,您还可以按照S-parameter data collection wizard page中的说明,将此模型添加到您自己的主JSON文件中,并在继续下一步之前编译该库。
相关链接:https://optics.ansys.com/hc/en-us/articles/45266900204563-S-parameter-Fixed-data-collection-wizard
步骤4–INTERCONNECT仿真
在此步骤中,将使用上一步生成的紧凑模型进行INTERCONNECT仿真。要将该模型添加到Element库中,您需要将custom element文件夹重定向到模型生成位置,或者添加包含该组件的CML文件。
您只需执行以下选项之一。如果您完全没有使用过CML编译器,而只是使用了数据收集向导,请按照选项1操作。
选项1-通过重定向Custom文件夹添加器件
按照以下步骤,通过重定向custom文件夹,将上一步生成的紧凑模型添加到Element库中。
1.Open Ansys Lumerical INTERCONNECT。
2.在Element库中右键单击Custom文件夹,然后按“重定向”。
3.选择已编译的紧凑模型所在的文件夹。紧凑模型的文件扩展名为.x.ice。对于1x2MMI示例,已编译的紧凑模型位于S-parameter data collection wizard的/wizard/文件夹中,预编译版本也可在附件包的“Compiled_roMMI1x2_model”目录中找到。
现在您可以将导出的器件添加到INTERCONNECT并继续进行仿真。
选项2-通过安装CML添加器件
请按照以下步骤,通过安装已编译的CML文件,将生成的紧凑模型添加到Element库中。对于1x2MMI示例,您需要将其添加到您自己的主JSON文件中,并运行CML编译器编译CML文件,然后再按照以下步骤将自定义器件添加到INTERCONNECT。
1.Open Ansys Lumerical INTERCONNECT。
2.在Element库中右键单击Design Kits文件夹,然后在Element库面板的下拉菜单中左键单击“安装”选项,打开“选择紧凑模型库包和定义文件夹”窗口。
3.单击“紧凑模型库包”输入字段旁边的省略号按钮“…”打开“安装紧凑模型库”窗口,然后选择foundry template目录中的CML文件“lumfoundry_template.cml”。
现在您可以将导出的器件添加到INTERCONNECT并继续进行仿真。
运行INTERCONNECT仿真
将器件添加到INTERCONNECT后,请按照以下步骤对1x2MMI器件运行示例仿真。线路原理图如下所示,原理图后附有说明。

1.在INTERCONNECT原理图中添加器件紧凑模型和ONA元件。按如下方式设置ONA元件:
2.保存项目。
3.将1x2MMI的端口1连接到ONA的输出端口,将1x2MMI的端口2和3连接到ONA的输入端口。
4.点击侧边工具栏中的“运行仿真”图标来运行仿真。
5.右键单击ONA并选择“显示结果”来查看结果。可视化窗口中将显示1x2MMI功率增益频谱图。

本示例工作流程中使用了以下重要模型设置。
在MODE模式下,Layer Builder使用来自工艺技术文件的图层位置、几何形状和variation数据,以及来自GDS文件的图层和几何形状,共同构建3D结构。
在S-parameter CML wizard中,S参数扫描条目需要与仿真模型文件中的相应波长扫描参数名称“wavelength”,count“11”、范围从“1.5e-6”m到“1.6e-6”m以及扫描名称“sweep_s_parameter_matrix”对齐。
S-parameter CML wizard在这些条目更新后,会在相应的QA、仿真文件和仿真设置框中记住波长范围、S参数扫描名称和CML编译器路径条目。
在S-parameter CML wizard中,如果您使用库模式选项“Add to Existing CML Database”,则需要运行CML编译器手动生成紧凑模型并将其加载到INTERCONNECT求解器中。
S参数CML向导仅支持SVG图像作为element图标(符号)。
请使用以下信息进一步客制化此工作流程以满足您的需求:
您可以自定义工作流程,从OptoCompiler reference optical SOI PDK库或您自己的设计中导出其他无源光子元件版图,然后仿真这些光子元件。
文件“MMI_EME_FDE_script.lsf”中的Lumerical脚本是为OptoCompiler W-2024.09 Reference Optical SOI v3.1.0 PDK库中的光子元件“roMMI1x2”开发的。您可以自定义Lumerical脚本以使其适用于其他光子元件。
OptoCompiler W-2024.09 Reference Optical SOI v3.1.0 PDK库提供了OptoCompiler reference optical SOI工艺技术文件“referenceOpticalSOI.lbr”。如果您想使用自己的工艺技术文件,请参阅Layer Builder知识库页面。