2. 硅光器件建模与PDK集成

硅光芯片的设计闭环,本质上依赖一条从“物理结构”到“可仿真模型”再到“版图可制造”的数据链。这条链的起点是核心器件的紧凑模型(Compact Model),终点是代工厂可接受的 PDK(Process Design Kit)。如果模型与 PDK 脱节,仿真结果再漂亮也无法流片;如果 PDK 与代工厂数据脱节,版图再规范也可能因工艺偏差而失效。本节围绕波导、调制器、探测器三类核心器件,说明紧凑模型如何建立、PDK 如何组织,以及代工厂数据如何导入并验证。

一、紧凑模型:从物理结构到可计算参数

紧凑模型不是全波仿真的替代品,而是把器件行为压缩成一组频率、电压、几何相关的解析或查表表达式,使电路级仿真器能在秒级完成成千上万个器件的光电联合仿真。对硅光而言,紧凑模型必须同时描述光域与电域,并给出两者的耦合关系。

波导模型的核心参数是有效折射率 n_eff、群折射率 n_g、传播损耗 α(dB/cm)和模式重叠因子。以 220 nm SOI 条形波导为例,在 1550 nm 波长、宽 500 nm、刻蚀深度 220 nm 的典型条件下,n_eff 约 2.44,n_g 约 4.2,单模传播损耗约 2~3 dB/cm。这些值通常由 Lumerical MODE 或类似模式求解器扫描得到,再拟合成关于宽度 w 和波长 λ 的多项式或查表。模型输出的是相位变化 Δφ = 2π n_eff L / λ 和功率衰减 P_out = P_in · 10^(-αL/10),供后续干涉结构使用。

调制器模型以马赫-曾德尔调制器(MZM)和微环调制器为主。MZM 紧凑模型需要描述:PN 结耗尽区电容 C(V)、串联电阻 R、调制效率 V_πL、以及载流子吸收引起的附加损耗。一个可用的教学示例是:在 500 μm 相移臂长下,V_πL 取 1.2 V·cm,则 V_π 约 2.4 V;当偏置从 0 V 扫到 -3 V 时,n_eff 变化约 1.5×10⁻³,对应相位变化约 3.0 rad。模型最终给出的是“电压—相位—损耗”三元关系,仿真器据此计算眼图与消光比。

探测器模型关注响应度 R(A/W)、暗电流 I_dark、结电容 C_j 和带宽 f_3dB。以 Ge 波导探测器为例,在 1550 nm、-2 V 反偏下,响应度典型值约 0.8~1.0 A/W,暗电流约 10~100 nA,结电容约 10~20 fF。带宽由 f_3dB ≈ 1/(2πR_load C_j) 与载流子渡越时间共同决定,模型需同时给出 RC 限制和渡越限制两条曲线,取较小者。

硅光核心器件紧凑模型 → PDK → 代工厂数据链 核心器件紧凑模型 波导模型 n_eff ≈ 2.44,n_g ≈ 4.2 α ≈ 2~3 dB/cm 输出:Δφ、P_out 调制器模型 V_πL ≈ 1.2 V·cm C(V)、R、附加损耗 输出:V–φ–损耗关系 探测器模型 R ≈ 0.8~1.0 A/W I_dark ≈ 10~100 nA C_j ≈ 10~20 fF PDK 组织层 器件库 符号 + 紧凑模型 + 版图单元 参数化 PCell 工艺层定义 层号、GDS 映射、设计规则 最小线宽 / 间距 / 覆盖 仿真设置 波长扫描、偏置、温度 S 参数 / 眼图模板 验证与版本 模型-版图一致性检查 PDK 版本号与变更记录 代工厂数据导入 工艺数据 层堆叠、掺杂、厚度 折射率色散表 实测/标定数据 损耗、V_π、响应度 统计分布与角点 导入与映射 数据格式转换 模型参数回填 PDK 回归验证:仿真 vs 实测 模型封装 数据对接 标定结果反馈修正紧凑模型参数

二、PDK 开发流程:把模型变成可调用的设计资产

PDK 不是简单的模型集合,而是一套“符号—模型—版图—规则—验证”的绑定关系。开发流程通常从代工厂提供的工艺定义文件出发,先建立层映射表,再为每类器件创建参数化单元(PCell)。以波导 PCell 为例,输入参数包括宽度、长度、弯曲半径、掺杂类型;输出包括符号视图、紧凑模型实例和 GDS 版图。关键约束是:符号引脚位置必须与版图端口一致,模型参数必须与版图几何一致,否则 LVS(版图与原理图一致性检查)会失败。

一个可执行的 PDK 目录结构示例如下:

PDK_SiPhotonics/
├── tech/
│   ├── layer_map.csv        # 层号, GDS层, 名称, 颜色
│   └── stack.mat            # 各层折射率、厚度
├── models/
│   ├── waveguide.scs        # 波导紧凑模型
│   ├── mzm.scs              # MZM 紧凑模型
│   └── pd.scs               # 探测器紧凑模型
├── pcell/
│   ├── wg_strip.py          # 条形波导 PCell
│   └── ring_mod.py          # 微环调制器 PCell
├── drc/
│   └── si_photonics.drc     # 设计规则检查
└── verification/
    └── lvs_runset.lvs       # LVS 规则

代工厂数据导入时,最容易被忽视的是“角点”处理。工艺角点通常包括慢速、快速、典型三种,对应波导宽度偏差 ±10 nm、掺杂浓度偏差 ±5%、氧化层厚度偏差 ±5%。导入后应在 PDK 中建立角点选择开关,使仿真能一键切换。例如,波导宽度从 500 nm 变为 510 nm 时,n_eff 约变化 0.008,对应 1 mm 长度上的相位变化约 0.032 rad,对 MZM 消光比影响约 0.5 dB。这类数值必须在导入后通过回归验证确认。

三、代工厂数据导入后的验证闭环

数据导入完成不等于 PDK 可用。必须建立“仿真—实测—修正”的回归验证。以探测器为例,代工厂提供 -2 V 下响应度实测均值 0.92 A/W、标准差 0.03 A/W;导入后先用紧凑模型仿真同一偏置下的响应度,若仿真值 0.95 A/W 与实测均值偏差在 5% 以内,可认为模型可用;若偏差超过 10%,则需检查结电容或吸收区长度参数是否与版图一致。验证通过后,将修正后的参数写回 PDK 模型文件,并记录版本号。

实践提示:PDK 版本号建议采用“主版本.次版本.修订号”格式,例如 1.2.3。主版本变更表示层定义或器件接口不兼容;次版本表示新增器件或模型参数更新;修订号表示文档或注释修正。每次流片前必须锁定 PDK 版本,避免不同设计者使用不同版本导致版图合并失败。
常见问题:代工厂数据导入后,若发现 LVS 报“器件参数不匹配”,优先检查 PCell 中几何参数是否与紧凑模型中的长度、宽度参数使用同一变量。很多错误源于版图用 L=500,而模型用 L=500e-6,单位不一致导致参数错位。

总结来看,硅光器件建模与 PDK 集成的核心是“三对齐”:模型参数与物理结构对齐、PDK 单元与代工厂规则对齐、仿真结果与实测数据对齐。波导、调制器、探测器三类器件的紧凑模型各有侧重,但都必须经过代工厂数据导入和回归验证,才能成为可流片的设计资产。