第二章 CMOS工艺基础:从晶体管到时序的底层逻辑

做时序收敛,说白了就是在跟物理世界打交道。

你写的RTL代码再漂亮,最终都要映射到硅片上的晶体管和金属连线。我见过不少前端工程师,时序违例了只会调约束、改代码,却不知道根本原因可能是工艺库选错了,或者PVT corner没选对。嗯,这一章我们就来扒一扒CMOS工艺的底裤。

2.1 MOS管工作原理:开关的物理本质

MOS管,就是一颗电压控制的开关。

NMOS管,栅极电压高的时候导通,低的时候关断。PMOS管正好相反。你想想看,CMOS反相器就是用一个NMOS和一个PMOS搭起来的——输入高电平,NMOS导通拉低输出;输入低电平,PMOS导通拉高输出。

这里有个关键参数:阈值电压Vth。

Vth决定了管子什么时候开始导通。我做过一个项目,选用了低Vth的库来追求速度,结果漏电大得吓人,芯片待机功耗直接超标。后来换回标准Vth,时序虽然紧了一点,但功耗总算压住了。

核心要点:

  • NMOS:Vgs > Vth 时导通
  • PMOS:Vgs < Vth 时导通(注意是负的)
  • 沟道长度L越短,开关速度越快,但漏电也越大
  • 宽长比W/L越大,驱动能力越强,但面积也越大

2.2 标准单元库:你的积木盒子

标准单元库,就是芯片设计的基础积木。每个库包含几百到几千种逻辑单元:与门、或门、触发器、锁存器、缓冲器……

我个人习惯,拿到一个新库先看三样东西:

  1. 库名称和工艺节点——比如tsmc28nm、samsung7nm,决定了基础速度
  2. PVT corner列表——看看有多少个工作条件
  3. 时序模型文件——.lib文件里藏着所有延迟信息

库里的每个单元都有多个版本:

  • X1、X2、X4……表示驱动强度倍数
  • L表示低功耗(面积小、速度慢)
  • H表示高性能(面积大、速度快)
  • ULVT、LVT、SVT、HVT表示不同阈值电压

我的经验:做时序收敛时,优先用SVT(标准阈值)单元。只有关键路径实在收不拢了,才换LVT或ULVT。因为低阈值单元漏电大,一颗芯片上换太多,功耗会崩。

2.3 互连线延迟:被忽视的时序杀手

很多人以为延迟主要来自门电路。其实到了先进工艺,互连线延迟占比越来越高。

28nm工艺,互连线延迟大概占30%-40%。到了7nm,这个比例能到60%以上。为什么会这样?因为晶体管越做越快,但金属线的电阻电容并没有同比例缩小。

互连线延迟可以用Elmore模型估算:

Delay = R * C
其中:
R = 方块电阻 × (线长/线宽)
C = 单位面积电容 × 线宽 × 线长 + 边缘电容 × 2 × 线长

说白了,线越长、越细,延迟越大。我遇到过一条全局时钟线,从芯片一端绕到另一端,延迟占了整个时钟周期的40%。后来用了H-tree结构重新分配时钟,才把延迟降下来。

注意:互连线延迟对温度非常敏感。温度升高,金属电阻增大,延迟也跟着涨。这就是为什么高温corner下时序最容易违例。

2.4 PVT对延迟的影响:三个维度,一个都不能少

PVT就是工艺、电压、温度。这三个因素共同决定了芯片的实际延迟。

参数 变化方向 对延迟的影响 典型场景
工艺(Process) Slow → Fast 延迟减小20%-40% 晶圆边缘 vs 中心
电压(Voltage) 0.9V → 1.1V 延迟减小30%-50% 电池供电 vs 充电状态
温度(Temperature) -40°C → 125°C 延迟增大15%-25% 寒冷开机 vs 高负载运行

做STA时,我们通常要检查多个corner:

  • 最差情况(Worst Case):Slow工艺 + 低电压 + 高温 → 延迟最大
  • 最好情况(Best Case):Fast工艺 + 高电压 + 低温 → 延迟最小
  • 典型情况(Typical):中间值 → 用于功耗估算

我曾经踩过一个坑:只检查了最差corner,以为时序没问题。结果芯片在低温低压下工作,hold time违例了。因为低温下管子跑得更快,数据到达时间提前,hold反而变差了。嗯,从那以后我每次都会把setup和hold的corner分开检查。

记住这个口诀:

Setup看最慢,Hold看最快。

Setup用最差corner(慢工艺、低电压、高温),Hold用最好corner(快工艺、高电压、低温)。

知识体系总览

下面这张图把本章的核心逻辑串起来了。你可以看到,从MOS管到标准单元,再到互连线和PVT,最终都指向同一个目标——理解延迟是怎么来的。

CMOS工艺基础 · 知识体系 时序延迟 MOS管工作原理 标准单元库 互连线延迟 PVT影响 NMOS / PMOS 阈值电压 Vth 驱动强度 X1/X2/X4 阈值类型 HVT/LVT Elmore模型 RC延迟 工艺 Slow/Fast 电压 0.9V-1.1V 温度 -40~125°C Setup看最差corner · Hold看最好corner

这一章的内容就到这里。理解CMOS工艺基础,是做好时序收敛的第一步。后面我们会一步步深入,把STA的每个细节都掰开揉碎讲清楚。

可可精品资料库