新闻动态

News Center

Lumerical | 使用 INTERCONNECT 对光子电路热串扰进行建模

发布日期:
2026-07-10

浏览次数:

在本示例中,我们使用 INTERCONNECT 对一个四通道 WDM(波分复用)电路中的热串扰效应进行建模。我们将介绍两种不同的热串扰建模流程。



Lumerical | 使用 INTERCONNECT 对光子电路热串扰进行建模




方法1:使用 HEAT(或其他热求解器,例如 Synopsys RedHawk-SC Electrothermal - RHSC ET)对光子电路进行多次三维热仿真,并计算得到一个热耦合矩阵。INTERCONNECT 利用该矩阵对电路中的热串扰进行精确建模,并执行热感知电路仿真。这种方法精度较高,但计算开销较大,因此适合用于设计流程中的签核阶段。


方法2:针对电路中的加热器进行简化的三维 HEAT 仿真,并计算温度分布函数。INTERCONNECT 利用这些信息,并结合电路中各器件的版图位置来计算热耦合矩阵,随后执行热感知电路仿真,从而捕获热串扰效应。该方法以一定的精度折衷来换取更高的仿真速度,同时具备预测性仿真能力,因此非常适用于设计早期阶段。




概述


光子集成电路(Photonic Integrated Circuits,PIC)利用光子器件通过波导对光信号进行操控与传输,可应用于多种场景。许多此类光子器件会产生热量,这种发热既可能是有意的,也可能是无意的。例如,热光移相器(thermal phase shifter)或环形谐振器(ring resonator)等器件会有意使用加热器来调节其光学特性。而激光器或载流子注入型电移相器(carrier injection-type electrical phase shifter)等器件,则可能由于欧姆损耗(ohmic loss)而非有意地产生热量。


这些器件产生的热量会使邻近的光子器件升温,并改变其工作特性,从而影响整个光子集成电路的性能。因此,设计人员需要在设计过程中考虑这种热串扰效应,以确保电路具有稳健的性能表现。INTERCONNECT 提供了两种不同的方法来对光子集成电路中的热串扰进行建模。方法 1 适用于版图已经固定的电路(即器件已经完成版图布局,并且波导已经完成布线)。方法 2 适用于尚未定义版图的电路。


在这两种情况下,用户都需要向 INTERCONNECT 提供一些额外输入(将在后文“重要模型设置”部分进行说明),包括热配置文件以及热耦合矩阵(仅方法 1 需要),以便 INTERCONNECT 能够对热串扰进行建模。两种方法均需要执行如下所示的一般步骤。


Lumerical | 使用 INTERCONNECT 对光子电路热串扰进行建模




步骤 1:在 HEAT 中进行热仿真

对于方法 1,需要针对整个光子电路进行热仿真;对于方法 2,则需要针对每个独立加热器分别进行热仿真。该步骤会生成 INTERCONNECT 在进行包含热串扰效应的仿真时所需的信息。


在使用方法 1 时,必须已经具备光子电路的固定版图。在这种情况下,需要首先在 HEAT 或其他热求解器(例如 RHSC ET)中创建电路的三维几何结构,并对整个电路进行热仿真。为了提取可供 INTERCONNECT 使用的信息,需要进行多次仿真。在每一次仿真中,仅激活电路中的一个加热器,并记录所有光子器件的温度。待收集完所有加热器贡献下的器件温度数据后,利用脚本计算热耦合矩阵。随后,该热耦合矩阵将在步骤 2 中提供给 INTERCONNECT 使用。


在使用方法 2 时,则无需定义整个电路的版图。在这种情况下,需要针对每一种具有加热器的唯一器件建立热仿真(例如,如果存在多个完全相同的环形谐振器,则只需进行一次仿真即可覆盖全部器件)。随后,对每一种唯一器件分别运行一次仿真。对于每次仿真,利用脚本提取加热器周围的温度分布,并将其转换为一个一维分布曲线,用于描述温度随距离变化的函数关系。最后,使用指数模型对该温度分布进行拟合,并将拟合得到的系数在步骤 2 中提供给 INTERCONNECT。




步骤 2:在 INTERCONNECT 中进行电路仿真

第二步是在 INTERCONNECT 中利用脚本化工作流程,对包含热串扰效应的电路进行仿真。该步骤需要以下输入:


−热耦合矩阵(方法 1),或拟合系数(方法 2)

−热配置文件(thermal configuration file)


基于这些输入数据,脚本首先确定施加在各器件加热器上的电压,并利用热配置文件中的信息计算其产生的热功率。对于方法 2,脚本还会进一步利用加热器温度分布以及不同器件的 x、y 坐标来计算热耦合矩阵。随后,脚本结合热功率与热耦合矩阵,计算由于热串扰导致各器件的温升,并将该温升施加到对应器件上。至此,用户即可运行标准的 INTERCONNECT 仿真,并分析热串扰对电路性能所带来的影响。




仿真运行与结果


方法 1




步骤 1:在 HEAT 中进行热仿真

1.打开文件 wdm_for_coupling_matrix.ldev

2.加载并运行脚本文件 extract_thermal_coupling_matrix.lsf


wdm_for_coupling_matrix.ldev 文件用于构建一个四通道 WDM 电路发射端的三维几何结构模型。该结构包含 4 个环形调制器,每个调制器均配备独立的镍铬加热器。模型中设置了边界条件,用于对每个加热器施加 0 至 2.5 V 的电压扫描。同时,在硅层上放置了一个二维温度监视器,用于记录不同环形波导上的温度分布。


extract_thermal_coupling_matrix.lsf 脚本文件被配置为运行 4 次仿真。在每一次仿真中,脚本对其中一个加热器进行电压扫描,并记录硅波导上的温度。通过对每个环形波导上的 4 个不同位置进行温度采样,脚本计算得到每个加热器对应下各环形器件的平均温升。随后,脚本利用每个激活加热器中的热功率,对各环形波导中的温升进行归一化处理,并据此构建热耦合矩阵。最后,该矩阵被保存至 wdm_thermal_coupling_matrix.json JSON 文件中。脚本还会保存步骤 2 所需的热配置文件;其内容将在下一节中进行说明。




Lumerical | 使用 INTERCONNECT 对光子电路热串扰进行建模




上图展示了当通道 4 的环形调制器加热器施加 2.5 V 电压时,硅层上的温度分布(左图);在脚本提示窗口中输出的热耦合矩阵计算结果(右图)。 需要注意的是,该热耦合矩阵理论上应当是对称矩阵。在上述示例中,为了提高 HEAT 仿真的运行速度,采用了相对较粗的网格,因此导致矩阵中出现了轻微的不对称误差。这种偏差可以通过使用更精细的网格划分来改善。




步骤 2:在 INTERCONNECT 中进行电路仿真

1.在 INTERCONNECT 中安装附带的 lumfoundry_rm.cml 紧凑模型库

2.打开并检查 lumfoundry_rm_thermal_config_1.json 文件

3.打开文件 wdm_freq_spectrum.icp 并运行仿真

4.加载并运行脚本文件 thermal_crosstalk_calculator.lsf

5.运行保存生成的 wdm_freq_spectrum_therm_xtalk.icp 文件


为了在 INTERCONNECT 中安装 lumfoundry_rm.cml 库,请导航至 Element Library,右键点击 Design Kits,并选择 Install。在弹出的新窗口中,选择 lumfoundry_rm.cml 文件作为 Compact Model Library Package; 选择用于安装该库的目标文件夹。 必须在打开 ICP 文件之前完成设计工具包的安装;否则,可能需要重新加载文件,以确保自定义器件能够正确显示。


lumfoundry_rm_thermal_config_1.json 文件包含环形调制器加热器的相关信息。该文件为 lum_rm_strip_te_c 模型提供了电流—电压特性,同时,它还提供了加热器两个电端口的名称。偏置约定(V_scheme)采用 Lumerical Script 的表示方式,以便 INTERCONNECT 能够计算电路中不同环形调制器加热器上的施加电压。此外,该文件还可以选择性地包含波导分段信息,以提高计算精度。在本示例中,环形波导被划分为 4 个分段,并将每个分段中心点的坐标记录在热配置文件中。


wdm_freq_spectrum.icp 文件被配置为使用 ONA(Optical Network Analyzer,光网络分析仪)驱动四通道 WDM 发射器,以执行频域仿真。通过向加热器施加适当电压,4 个环形调制器被热调谐至 4 个不同的信道波长,信道间隔为 0.8 nm。首次运行仿真时(室温条件下),ONA 会测量该发射器的频谱响应,并显示 4 个环形谐振器在目标信道波长处的谐振峰。


下图可通过以下步骤生成: 进入ONA 的 Result View 窗口(需要先选择 ONA_1 才能看到可用结果),随后右键点击 mode1/gain 结果,并选择 Visualize。



Lumerical | 使用 INTERCONNECT 对光子电路热串扰进行建模



thermal_crosstalk_calculator.lsf 文件被配置为适用于固定版图的仿真流程。这是通过将 load_thermal_coupling_matrix 标志设置为 true 来实现的。另外两个用户输入参数分别用于指定热配置文件的名称和热耦合矩阵文件的名称。


当脚本运行时,它会计算施加在 4 个加热器上的热功率,并将其与热耦合矩阵相乘,从而得到每个环形器件中的总温升。随后,脚本会创建当前 INTERCONNECT 工程文件的一个副本,并在文件名后添加 _therm_xtalk 后缀。同时,它会更新该新工程文件中各环形器件的温度参数,使其包含热串扰效应带来的温升影响。运行仿真并通过 ONA 绘制发射器频谱后,可以观察到由于热串扰导致的不同环形谐振器谐振波长漂移。


下图可通过以下步骤生成:进入 ONA 的 Result View 窗口(需要先选择 ONA_1 才能查看可用结果),右键点击 mode1/gain 结果,然后在 Visualize 选项中选择 Add to Visualizer 1。





方法 2

步骤 1:在 HEAT 中进行热仿真

1.打开并运行文件 ring_heater_Tprofile.ldev

2.加载并运行脚本文件 get_temp_profile_ring.lsf

3.在脚本编辑器中打开并运行 fit_Tprofile.py




ring_heater_temp_profile.ldev 工程文件仅包含通道 2 的环形调制器,其余加热器已被移除。针对通道 2 加热器设置了边界条件,用于执行 0 至 2 V 的电压扫描。二维温度监视器被配置为获取硅层中的温度分布,其监测区域覆盖加热器周围至少 50 微米范围内的所有方向。


get_temp_profile_ring.lsf 脚本文件用于从二维温度监视器中读取温度分布,并利用这些数据计算环形加热器周围的径向温度分布。该径向分布的计算范围从环形边缘开始,延伸至距离其 70 微米的位置。径向温度分布采用 18° 的角度间隔进行采样,因此共得到 20 条沿不同方向延伸的一维温度分布曲线。所得结果表明,除负 y 方向(252° 至 288° 区间)之外,温度分布在各方向上基本均匀。这种非均匀性来源于加热器中的金属引线同样会发热,从而导致该方向上的高温区域具有更深的热扩散穿透。为了简化处理,我们忽略这种方向性差异,因为器件恰好位于这一较小角度范围内的概率较低。因此,我们选取36°方向上的一维温度分布曲线作为该加热器的代表性温度分布。该温度分布最终被保存至 Tprofile_ring_heater.txt 文件中。


fit_Tprofile.py 文件用于将 HEAT 仿真得到的一维温度分布曲线拟合为指数函数,并输出四个拟合参数。这些参数将写入步骤 2 中所使用的热配置文件(thermal config file)。


Lumerical | 使用 INTERCONNECT 对光子电路热串扰进行建模


注意:该 Python 脚本运行时需要安装 Python 模块 numpy、scipy 和 matplotlib。


这里,T(x)表示在最高偏置电压(本例中为 2 V)下,距离加热器中心 x 处的温度。其中,加热器中心同时假定为版图中该器件的中心坐标。c1、c2、c3和 c4为指数拟合得到的拟合系数。


Lumerical | 使用 INTERCONNECT 对光子电路热串扰进行建模


Lumerical | 使用 INTERCONNECT 对光子电路热串扰进行建模


Lumerical | 使用 INTERCONNECT 对光子电路热串扰进行建模




这些拟合系数会被保存到热配置文件(thermal config file)中,以支持方法 2 的 INTERCONNECT 仿真。打开 lumfoundry_rm_thermal_config_1.json 文件,并在 heater_data 字段下新增一个名为 temp_profile 的结构体。


该结构体包含以下三个字段:

−Q_0:记录用于生成温度分布的仿真加热器功率(单位:W),其数据类型为数值;

−T_0:记录环境温度(单位:K),其数据类型为数值;

−T_coeff:记录四个拟合系数(c1,c2,c3,c4),其数据类型为一个 4×1 矩阵。


需要注意的是,加热器功率参数用于对温度进行归一化处理,并在 INTERCONNECT 进行电路仿真时,用于计算不同功率条件下加热器的温度分布。这里假设加热器功率与温度之间满足线性关系,该假设在大多数应用场景中都是成立的。完成修改后,将文件保存为 lumfoundry_rm_thermal_config_2.json。请注意,本示例已经附带该文件,因此你也可以跳过手动创建步骤。关于 Lumerical JSON 文件格式的更多细节,请参考页面:Using JSON files with Lumerical's software – Ansys Optics。




步骤 2:在 INTERCONNECT 中进行电路仿真

1.在 INTERCONNECT 中安装附带的 lumfoundry_rm.cml 紧凑模型库

2.打开并检查 lumfoundry_rm_thermal_config_2.json 文件

3.打开文件 wdm_freq_spectrum.icp 并运行仿真

4.加载脚本文件 thermal_crosstalk_calculator.lsf,并将load_thermal_coupling_matrix 标志设置为 false

5.将 thermal_config_filename 更新为 lumfoundry_rm_thermal_config_2.json,然后运行脚本

6.运行保存生成的 wdm_freq_spectrum_therm_xtalk.icp 文件


在 INTERCONNECT 中安装 lumfoundry_rm.cml 库的操作和相关注意事项与方法一相同,请参考方法一。lumfoundry_rm_thermal_config_2.json 文件包含环形调制器加热器的相关信息。该文件提供了lum_rm_strip_te_c 模型所需的电流—电压特性、加热器两个电端口的名称和使用 Lumerical Script 表示的偏置约定; 从而使 INTERCONNECT 能够计算电路中不同环形调制器加热器上的施加电压。此外,该文件还包含一维加热器温度分布的拟合系数和记录该温度分布时对应的温度与加热器功率。


wdm_freq_spectrum.icp 文件被配置为使用 ONA驱动四通道 WDM 发射器,以执行频域仿真。通过向加热器施加适当电压,4 个环形调制器被调谐至 4 个不同的信道波长,信道间隔为 0.8 nm。首次运行仿真时(室温条件下),ONA 会测量发射器的频谱响应,并显示 4 个环形谐振器在目标信道波长处的谐振位置。


thermal_crosstalk_calculator.lsf 文件包含三个用户输入参数。其中load_thermal_coupling_matrix 标志被设置为 false,从而使 INTERCONNECT 使用方法 2,并基于热配置文件中的加热器温度分布来计算热耦合矩阵;thermal_config_filename 用于指定热配置文件的名称;thermal_coupling_matrix_filename 仅在方法 1 中需要,用于指定热耦合矩阵文件的名称。 当脚本运行时,它会计算施加在 4 个加热器上的热功率,并将其与所计算得到的热耦合矩阵相乘,从而得到每个环形器件中的总温升。随后,脚本会创建当前 INTERCONNECT 工程文件的一个副本,并在文件名后添加 _therm_xtalk 后缀,同时根据对应的温升值更新每个环形器件的温度。


运行仿真并通过 ONA 绘制发射器频谱后,可以观察到由于热串扰导致的不同环形谐振器谐振波长漂移。


Lumerical | 使用 INTERCONNECT 对光子电路热串扰进行建模


下表展示了采用方法 1 和方法 2 计算得到的 4 个环形器件在热串扰作用下的温度,并与直接使用 HEAT 对整个电路进行仿真所得的温度结果进行了对比。可以看出:方法 1 的精度较高,与 HEAT 仿真结果的误差在 3% 以内,这与预期一致; 方法 2 的精度略低,与 HEAT 仿真结果的误差约为 5%~8%。


精度下降主要来源于以下两个因素:

1.对仿真几何结构进行了简化(即忽略了加热器周围的版图结构);

2.对温度分布曲线进行了拟合处理。


通过进一步优化温度分布的拟合质量,方法 2 的精度有望提升至 5% 以内。需要注意的是,使用 HEAT 仿真得到包含热串扰效应的环形器件温度时,采用的是 wdm_for_crosstalk.ldev 工程文件以及 wdm_crosstalk.lsf 脚本文件。


Lumerical | 使用 INTERCONNECT 对光子电路热串扰进行建模




重要模型设置

Lumerical | 使用 INTERCONNECT 对光子电路热串扰进行建模


上方的工作流程图展示了 INTERCONNECT 用于热串扰建模的整体流程。同时,该图还标识了方法 1 与方法 2 所需的不同输入参数,具体说明如下:


1.热配置文件:

对于方法 1 和方法 2,该 JSON 文件均用于提供所有带有加热器器件的加热器信息。这些信息包括加热器的电流—电压特性,用于向加热器施加电压的电端口名称。 对于方法 2,该文件还需要提供加热器的温度分布信息,其形式为指数拟合曲线的系数值。


此外,该文件还可以选择性地包含所有器件波导的分段信息,以便 INTERCONNECT 更准确地计算热串扰引起的波导温度变化。使用该选项时,用户需要将器件(波导)划分为一个或多个等长分段,并为每个分段提供其中心坐标 (x,y)。


2.热耦合矩阵(仅方法 1):

这是一个保存在 JSON 文件中的 N×N矩阵,其中 N为电路中的器件数量。用户通过对光子电路执行多次热仿真,并在每次仿真中仅开启一个加热器,即可提取该矩阵。当热耦合矩阵与各器件热功率构成的向量相乘时,即可得到由热串扰引起的温度变化。关于热耦合矩阵的更多信息,请参阅“重要模型设置”部分。


3.版图坐标(仅方法 2):

使用方法 2 时,用户需要在 INTERCONNECT 搭建电路时,为所有器件设置其 x / y 坐标。


thermal_crosstalk_calculator.lsf 文件用于计算热串扰,并将由热串扰导致的温升施加到各器件上。该脚本需要三个用户输入参数:

1.load_thermal_coupling_matrix:用于指定电路是否已经具备热耦合矩阵,已具备(方法 1);未具备(方法 2 )。

2.thermal_coupling_matrix_filename:热耦合矩阵 JSON 文件的名称,仅在方法 1 中需要。

3.thermal_config_filename:热配置 JSON 文件的名称。




使用你的器件参数更新模型


热配置文件可以扩展,以包含任意数量的器件。该文件中包含一个名为 elements 的 cell,其中每一个条目对应电路中的不同器件/模型。每个 cell 条目均为一个 struct,其字段包括heater_data 、model 、segments。


对于电路中每一个带有加热器的器件,都需要在 elements cell 中新增一个对应条目。用户需要通过 HEAT 仿真获取加热器的电流—电压特性,并提供电端口名称和使用 Lumerical Script 表示的偏置约定。


如果采用方法 2,则需要对每种加热器类型分别执行 HEAT 仿真,使用 get_temp_profile_ring.lsf 与 fit_Tprofile.py 文件提取温度分布系数并将这些系数写入热配置文件。同时,还需要提供环境温度和仿真中使用的加热器功率。




模型扩展





在本示例中,我们仅对环形波导使用了 4 个分段。为了更准确地计算平均温度,可以增加波导分段数量。extract_thermal_coupling_matrix.lsf 脚本文件展示了如何将波导分段信息保存到热配置文件中,用户可以对其进行修改,以支持更多分段。


本示例中的 HEAT 仿真采用了相对较粗的网格设置,以便快速完成计算。用户可以启用 mesh override 对象,使用更精细的网格,从而获得更精确的热耦合矩阵和更准确的加热器温度分布。


本示例中的电路热仿真采用 HEAT 进行演示。然而,对于大规模电路,这些热仿真同样可以使用其他求解器完成,例如 RHSC ET。

相关阅读


Lumerical案例 | 使用表面电极和光栅耦合器的集成离子阱

Lumerical亚波长模型:如何模拟具有空间变化的光栅

Lumerical案例 | 具有分布式电极的行波调制器

Lumerical | AR光波导:空间渐变光栅设计

Lumerical案例 | OLED显示中的反射式偏振片

Lumerical案例 | INTERCONNECT和photonic Verilog-A紧凑模型的说明和应用




相关推荐

Lumerical | 使用 INTERCONNECT 对光子电路热串扰进行建模
在本示例中,我们使用 INTERCONNECT 对一个四通道 WDM(波...
Lumerical案例 | 多量子阱(MQW)边发射激光器
引言在本示例中,我们演示了模拟InGaAsP-InP多量子阱(MQW)边...
Zemax案例 | 基于Zemax的视向与景深可调的硬性内窥物镜解决方案
引言微创外科是现代临床医学核心发展方向,硬性腹腔内窥镜作为术中病灶可视化...
Speos使用进阶:从基础到提效的15个关键技巧
01 List file references 文件引用参考列...