4、天线效应与ESD:天线效应原理、天线规则检查、ESD保护结构设计、IO设计要点
好,咱们今天聊两个在芯片设计里特别「要命」的话题——天线效应和ESD。这两个东西,说白了都是物理层面的坑。你逻辑设计得再漂亮,布局布线再紧凑,要是天线效应没处理好,或者ESD保护没做够,流片回来一测就废了。我当年刚入行时,就吃过天线效应的亏,那叫一个刻骨铭心。
4.1 天线效应原理
天线效应,英文叫Plasma Induced Damage,简称PID。为什么会发生?
你想想看,芯片制造过程中,尤其是金属刻蚀那一步,会用到等离子体。等离子体里全是带电离子和自由电子。这些电荷会像「天线」一样,被长金属线收集起来。
嗯,这里要注意:金属线越长,收集的电荷就越多。如果这根金属线直接连到了栅极上,电荷就会在栅氧化层上形成高压。栅氧化层有多薄?现在先进工艺也就1纳米出头。这么薄的一层,稍微来点高压就击穿了。
我遇到过最典型的情况:一条很长的金属1走线,直接连到某个标准单元的输入栅上。DRC检查时天线规则报了一大片违例。当时我还觉得「这能有多大问题?」结果老工程师跟我说:「等你流片回来,这批芯片的漏电会大到让你怀疑人生。」
天线效应的本质,就是制造过程中的电荷积累。它跟芯片工作时的电学行为无关,纯粹是工艺过程引入的损伤。
4.2 天线规则检查
天线规则,在台积电的Design Rule Manual里叫Antenna Rule。它用「天线比」来衡量风险。
天线比 = 金属面积 / 栅极面积
这个比值不能超过工艺规定的上限。比如某个工艺节点要求天线比小于1000:1。
实际检查时,规则会分好几层。我列个常见的检查项:
| 检查项 | 说明 | 典型限值 |
|---|---|---|
| M1天线比 | 第一层金属的累计面积 | ≤ 800:1 |
| M2天线比 | 第二层金属的累计面积 | ≤ 1200:1 |
| Via天线比 | 通孔连接处的累计面积 | ≤ 500:1 |
| 累计天线比 | 所有金属层累加 | ≤ 2000:1 |
我个人习惯,在跑完Route之后,第一件事就是看天线规则报告。不要等到最后做Signoff DRC时再处理,那时候改起来太痛苦了。
避坑指南: 我曾经遇到过一个案例,天线规则检查全部通过,但芯片回来后还是出现了漏电问题。后来查了半天,发现是跨层天线效应——金属1和金属2通过via连接后,累计面积超过了限值。所以,一定要看累计天线比,不能只看单层。
4.3 天线效应修复方法
天线违例了怎么办?别慌,有几种常用方法:
- 跳层法:把长金属线打断,通过上层金属跳过去。这样每段金属的面积都变小了。
- 插入天线二极管:在靠近栅极的地方加一个反向二极管。制造过程中,电荷可以通过二极管泄放掉。
- 加缓冲器:在长走线中间插入一个Buffer,把长线分成两段。
- 减小金属宽度:在不影响电流能力的前提下,把金属线做窄一点。
实际项目中,我最常用的是跳层法和插二极管。跳层法不占太多面积,而且对时序影响小。插二极管的话,要注意二极管的尺寸不能太大,否则会引入额外的寄生电容。
这里给个简单的Verilog代码示例,展示如何在网表中插入天线二极管:
// 原始网表:长走线直接连到栅极
AND2X1 U1 (.A(net_long), .B(net_b), .Y(net_out));
// 修复后:插入天线二极管
ANTDIODE U_ANT (.A(net_long), .C(VSS));
AND2X1 U1 (.A(net_long), .B(net_b), .Y(net_out));
ANTDIODE是工艺库里的标准单元,专门用来做天线保护的。你只要把它放在靠近栅极的位置就行。
4.4 ESD保护结构设计
ESD,静电放电。这东西比天线效应更常见。你想想,一颗芯片从封装到贴片,再到用户手里,中间要经历多少静电环境?人体模型、机器模型、充电器件模型,随便来一下就是几千伏。
ESD保护的核心思路就一句话:给静电提供一条低阻抗的泄放路径。不能让静电跑到内部电路里去。
常见的ESD保护结构有:
- GGNMOS:栅接地NMOS,利用寄生BJT的snapback效应泄放电流。
- 二极管串:正向和反向二极管组合,把电压钳位在安全范围内。
- SCR:可控硅结构,触发电压低,泄放能力强。
- RC触发PMOS:利用RC延时触发PMOS导通。
我个人比较喜欢用GGNMOS,因为它结构简单,占用面积小。但要注意,GGNMOS的触发电压要设计得比内部电路的击穿电压低。否则静电还没触发GGNMOS,内部电路先挂了。
经验之谈: 台积电的IO库通常会提供多种ESD保护方案。我建议你优先选用工艺厂推荐的方案。不要自己瞎创新,ESD这东西,验证周期长,一次失败就是几百万的损失。
4.5 IO设计要点
IO设计,说白了就是芯片和外部世界的接口。它既要保证信号质量,又要扛得住ESD。这里有几个要点:
第一,IO的驱动能力要匹配。 驱动能力太弱,信号上升沿太慢,时序会出问题。驱动能力太强,又会产生过冲和振铃。我一般会根据负载电容和频率要求,选择2mA、4mA、8mA或16mA的驱动档位。
第二,IO的ESD等级要达标。 台积电通常要求HBM达到2kV以上,CDM达到500V以上。如果芯片用在汽车或工业场景,要求会更高。
第三,IO的布局要合理。 电源IO和地IO要均匀分布,不能把所有电源IO挤在一侧。信号IO之间要留足够的间距,避免串扰。
第四,IO的时序要收敛。 输入IO有setup/hold时间要求,输出IO有clock-to-output延迟要求。这些都要在STA中仔细检查。
我记得有一次,一个同事设计的IO,ESD保护做得很好,但信号质量一塌糊涂。原因是他在输出IO上用了太大的ESD二极管,导致输出电容过大,信号边沿变得很缓。后来我们换用了低电容的ESD结构,问题才解决。
重要提醒: IO设计时,一定要做全芯片ESD仿真。不要只看单个IO的ESD能力。有时候,两个IO之间的电源轨耦合,会导致ESD电流走意想不到的路径。我见过最惨的案例,就是ESD电流从IO1进去,经过内部电路,从IO2出来,直接把核心逻辑烧了。
好了,天线效应和ESD就聊这么多。这两个东西,你设计时觉得烦,但流片回来就知道它们的好了。记住一句话:宁可多花点面积做保护,也不要省那点成本赌运气。下一章我们聊时钟树综合,那个又是另一番天地了。