一、版图设计流程:从电路到硅片的“翻译”过程

版图设计,说白了就是把电路工程师画好的原理图,变成芯片制造厂能用的掩模版图。这活儿有点像翻译——你得把电路的语言,转成物理世界的几何图形。

我个人习惯把流程分成五步走:

  1. 布局规划——先看芯片有多大,IO放哪,核心模块怎么摆
  2. 单元设计——画标准单元、IO单元、模拟模块的版图
  3. 布线——把各个模块用金属线连起来
  4. 验证——DRC、LVS、PEX三步走
  5. 流片输出——生成GDSII文件交给代工厂

我在项目中遇到过最头疼的事,就是布局阶段没考虑好电源网络。结果后面布线时发现IR Drop超标,整个版图几乎重来。所以我现在做布局,第一件事就是先把电源地线网络画好,再谈别的。

核心原则:版图设计不是画画,是工程。每一步都要为下一步留余地。

布局规划 Floorplan 单元设计 Layout 布线 Routing 验证 Verification 流片 Tapeout 验证三步走 ① DRC — 设计规则检查 ② LVS — 版图与电路一致性检查 ③ PEX — 寄生参数提取 版图设计流程概览

二、设计规则检查(DRC):别让代工厂骂你

DRC是什么?就是检查你的版图有没有违反代工厂的制造规则。比如两根金属线离得太近,光刻时可能短路;或者通孔开得太小,刻蚀时可能断掉。

我记得刚入行时,有个同事画了一版很漂亮的版图,结果DRC报了三千多个错误。为什么?因为他用的最小线宽是0.18μm,但代工厂给的规则是0.13μm工艺,最小线宽要求0.16μm。差这0.02μm,流片出来就是废品。

常见的DRC检查项

检查项 说明 典型规则(0.18μm工艺)
最小宽度 金属/多晶硅的最小线宽 0.18μm
最小间距 同层图形之间的最小距离 0.18μm
最小包围 通孔被金属包围的最小尺寸 0.06μm(每边)
最小面积 某些层图形的最小面积要求 0.5μm²
天线效应 长金属线收集电荷损坏栅氧 天线比 < 1000

我的小技巧:跑DRC时别只看错误数量,要看错误类型。如果全是同一类错误(比如间距问题),那可能是你某个参数设错了。我曾经花了两天时间改版图,最后发现是DRC rule deck版本不对——白干了。

三、版图与电路一致性检查(LVS):你的版图真的连对了吗?

LVS检查,就是拿你的版图提取出一个网表,再跟原始电路网表做比对。说白了,就是确认你画的版图,电气连接跟原理图一模一样。

你想想看,DRC只检查几何规则,它不管你的连线对不对。你就算画得再漂亮,如果该连的没连,不该连的短了路,流片回来就是一块废硅片。

LVS检查的核心流程

  1. 版图网表提取——从版图中识别出器件(MOS管、电阻、电容等)和连线
  2. 电路网表比对——跟原理图网表做节点匹配
  3. 错误报告——列出不匹配的节点、器件或连接

⚠️ 避坑指南:我曾经遇到过一个LVS错误,查了三天才发现——是一个MOS管的源漏接反了。版图上看着没问题,但实际电流方向反了。所以LVS通过后,我还会手动检查关键信号路径。

四、寄生参数提取(PEX):看不见的“敌人”

寄生参数提取,就是从版图中提取出那些“不想要”的电阻、电容和电感。这些寄生参数会影响芯片的速度、功耗和信号完整性。

为什么需要PEX?因为理想电路里没有寄生参数,但实际芯片上每根金属线都有电阻,每两条相邻的线之间都有耦合电容。这些寄生效应,轻则让芯片性能下降,重则让功能失效。

寄生参数的类型

  • 寄生电阻(R)——金属线、通孔、扩散区都有电阻。线越长越细,电阻越大
  • 寄生电容(C)——金属线之间、金属线与衬底之间都有电容。线越近,电容越大
  • 寄生电感(L)——高频信号下,金属线的电感效应不可忽略

PEX的输出格式

PEX工具通常会输出两种文件:

// 寄生参数文件示例(SPEF格式)
*SPEF "1.0"
*DESIGN "display_driver"
*DATE "2024-01-15"
*VENDOR "TSMC"
*PROGRAM "StarRC"

*NET CLK
*CAP 1.23e-14
*RES 5.67e+02

// 或者输出DSPF格式
*NET CLK 1.23e-14
R1 CLK:A CLK:B 5.67e+02
C1 CLK:A GND 8.90e-15

关键点:PEX提取的寄生参数,要反标回电路做后仿真。如果后仿真通过了,才能放心流片。我见过太多“前仿真OK,后仿真挂掉”的案例了。

五、三个验证步骤的关系

DRC、LVS、PEX这三个步骤,顺序不能乱。为什么?

先跑DRC,确保版图几何没问题。如果DRC都过不了,后面的LVS和PEX跑出来也没意义——因为你的版图根本造不出来。

再跑LVS,确保电气连接正确。LVS过了,说明你的版图“翻译”对了。

最后跑PEX,提取寄生参数做后仿真。这一步是验证你的芯片在实际制造后能不能正常工作。

我个人习惯是:每画完一个模块,就立刻跑DRC和LVS。别等到整个芯片画完了再跑,否则错误堆成山,改都改不过来。

经验之谈:显示驱动芯片里,模拟模块(比如DAC、OPA)的版图对寄生特别敏感。我一般会单独给这些模块跑PEX,提取寄生参数做后仿真。数字模块可以等全芯片一起跑。


好了,版图设计的基础流程就这些。DRC、LVS、PEX这三个验证步骤,是每个版图设计师的必修课。别嫌麻烦,每一步都是在帮你省钱——流片一次几十万,出错了可没人替你买单。

专注资料整理