2. 硅光工艺平台与设计套件(PDK)入门

做硅光芯片设计,头一回接触工艺平台和PDK时,我觉得这玩意儿就是个黑盒子。厂家给你一堆文件,告诉你“照着这个画就行”,但你真正落笔的时候才发现——这黑盒子里面的门道多了去了。今天就聊聊这个黑盒子怎么打开,里面到底装了些啥。

2.1 硅光工艺平台:不是你想的那样

很多人以为硅光工艺和纯电子CMOS工艺差不多,其实差远了。说白了,硅光工艺是在标准CMOS生产线上加了一套光学层。这套光学层包括硅波导、氮化硅波导、锗光电探测器、热光调制器这些核心光器件。

市面上主流的硅光工艺平台,我整理了一个对比表:

平台类型 典型厂家 核心光层 适用场景
CMOS兼容平台 意法半导体、台积电 220nm硅、锗探测器 高速收发器、计算芯片
SiN平台 LioniX、imec 氮化硅波导 窄线宽激光器、传感
SOI平台 SOITEC、格芯 220nm SOI、空气桥 低损耗、密集集成
SiPhotonics标准化平台 IMEC iSiPP50G 多晶硅、无源/有源 标准化设计、多项目流片

我在项目中遇到过,选平台时只盯着损耗看,结果到了后期发现调制器速度上不去。所以选平台不能只看一两个指标,得通盘考虑。

2.2 PDK到底是什么?我理解它是个“翻译器”

PDK全称是Process Design Kit。你想想看,工艺厂造芯片用的是物理掩模版,我们画版图用的是电子数据。这两者之间怎么沟通?靠的就是PDK这个“翻译器”。

PDK里包含了:

  • 器件库:各种光器件的版图模板与模型
  • 工艺参数:每层的厚度、折射率、刻蚀深度
  • DRC规则:设计规则检查文件
  • PEX规则:版图寄生参数提取文件
  • LVS规则:版图-电路一致性检查文件

我个人习惯拿到一个新PDK后,第一件事不是跑仿真,而是打开它的技术文档,把层号定义和关键尺寸表格抄一遍。为什么?因为后面你在画版图时,90%的bug都出在这些基础配置上。

2.3 PDK的“三层结构”

别被PDK一堆文件夹吓到。我把它拆成三层去看:

基础层:材料与工艺参数

包括波导宽度、刻蚀深度、掺杂浓度等。这些数字你做仿真时得用,画版图时也得用。我有一个习惯,把这些参数贴到自己的设计笔记本里,随时查。

功能层:光学器件单元

比如MMI多模干涉器、MZI马赫-曾德尔干涉仪、光栅耦合器、环形谐振器等。这些器件我一般不自己从头画,而是调用PDK给的pcell(参数化单元)。pcell的好处是你改一个参数,版图自动跟着变。

但要注意——PDK给的pcell不一定都是最优解。我曾经用PDK自带的MMI做分光,结果回来测试时发现分光比偏了。后来查原因,发现是厂家给的模型是理想版,实际版图里波导拐角处的圆角没算进去。这就是典型的“PDK陷阱”。

设计层:规则文件与检查脚本

DRC、LVS、PEX这些文件,我建议你第一次用的时候,拿厂家给的样例版图跑一遍。如果跑不通,那就说明你的环境配置有问题。别急着画自己的电路,先确认基础环境跑通了再说。

2.4 硅光PDK的设计流程:从选平台到出GDS

实际做设计时,流程大概是下面这样。我画了个图,你对照着看:

硅光芯片PDK设计流程 1. 选取工艺平台 2. 安装PDK、配置环境 3. 跑通厂家样例版图 4. 调用pcell、构建电路 5. 版图设计与仿真 6. DRC/LVS/PEX验证 7. 生成GDS、提交流片 确认光层与电子层是否 对齐,避免走线冲突 这一步能暴露90%的 环境配置问题 不要跳过! 定期手动检查热门器件 的版图几何

为什么会这样设计流程?我的经验是,很多人忽视第3步(跑通厂家样例版图),上来就画自己的芯片。结果环境没配好,后面光DRC就跑了三个月。浪费时间。

2.5 常见PDK陷阱与避坑指南

做PDK设计时,有几件事特别容易踩坑:

  • 层号搞混——光层和电子层有时候命名很类似。我见过有人把“光刻层”当成“刻蚀层”,结果芯片回来完全不能工作。
  • 忽略版图密度规则——工艺厂对每个层的面积密度有要求。光波导太细或是太疏,都会导致CMP不均匀。我曾经吃过这个亏,后来养成了一个习惯:画完版图后,用脚本扫一遍各层的面积密度。
  • pcell依赖大——pcell虽然方便,但版本管理要小心。有的pcell有bug,更新了PDK版本后,老库里的pcell可能不兼容。我的做法是:每一个重要版图快照都保留对应的PDK版本信息。

特别提醒:文件命名规范

PDK文件路径里不要有中文、空格、特殊符号。我以前有个学生,把PDK放在“桌面/新建文件夹/PDK_最终版(2)/”下面,结果DRC脚本直接认不出路径里的括号。折腾了两天才搞明白。

2.6 小结:想清楚再动手

PDK这东西,说白了就是工艺厂给你的“乐高积木包”。你得知道每块积木怎么拼、拼错了什么后果。我个人建议你在开始画版图之前,至少花一周时间把PDK文档吃透。

尤其是层号定义和DRC规则。很多问题不是设计出来的,而是配置出来的。我见过太多人花了半年画版图,结果因为PDK版本没对齐、层号选错了,整个项目重来。

嗯,这些就是我关于PDK入门的核心体会。下一部分,我们会深入到具体的器件pcell调用,聊聊光波导、MMI、环形谐振器在PDK里是怎么定义的。