签核与验证

工艺角(PVT corner)

下线的芯片没有两颗是一模一样的,而且谁也不会运行在一间温控完美的房间里。晶体管做出来会比教科书上的标称值略快或略慢(这就是制造上的离散性),供电电压会有些下陷或冲高,硅片则可能在从冰冷到滚烫的任何温度下工作。工艺角就是一份刻意悲观的配方,它把这三个旋钮一次性钉在最坏(或最好)的设定上——Process(工艺)、Voltage(电压)、Temperature(温度),因此叫 PVT——并且规定:芯片在这里也必须能用。你可以把它想象成给一座桥做应力测试时,不按平均车流量来压,而是在最热的那天、用最便宜那批钢材、压上最重的卡车。如果它扛得住这些极端角,你就相信它扛得住中间的一切情况。

这些角的简称来自晶体管最终做成什么样。SS 指慢-慢硅片(NMOS 慢、PMOS 也慢),FF 指快-快,TT 是典型的中心点,而 SF / FS 描述的是偏斜情形——一种类型的晶体管偏快、另一种偏慢。你把每个工艺点再配上一个电压和一个温度。哪个角会咬人,直觉是这样的:建立时间检查(setup,数据是否足够快、能赶在时钟沿之前到达?)通常在慢、低电压的角最糟,因为一切都拖沓迟缓;保持时间检查(hold,数据是否停留得够久?)通常在快、高电压的角最糟,因为信号抢跑冲在了前面。温度过去很简单——越热越慢——但在如今的低电压工艺节点上这关系可能反转,于是冷的硅片有时反而是慢的那一种情况。这正是为什么你不该靠手算去推某一个角;你要让工具把所有角都扫一遍。

一个角一个角地查会查到天荒地老,还会漏掉它们之间的相互作用,所以签核采用 MMMC——多模式多工艺角(multi-mode multi-corner)。一个模式(mode)就是芯片所处的一种工作场景(正常功能、扫描测试 scan、低功耗休眠态、加速 turbo 态),每个模式关心的是不同的时钟和不同的约束集合。MMMC 会把每一个模式与每一个相关工艺角交叉,搭出完整的网格,并在布线之后、把真实提取出的寄生参数(parasitics)放进时序模型里,对它们一次性一起分析。所谓收敛时序(close timing),就是这张网格里的任何一格都没有失败的路径——只有到这一步,设计才算真正在它将要面对的硅片、供电、温度的整个包络范围内都满足了时序。

setup-worst ≈ SS, Vmin, T(worst for the node); hold-worst ≈ FF, Vmax

一个粗略的经验法则,告诉你哪个 PVT 工艺角会对哪种时序检查施加最大压力——但务必用工具来确认,因为在先进节点上温度反转可能会把最坏情况的温度翻转过来。

工艺角本身就是刻意留了悲观的,所以别把同一份余量算两遍——基于工艺角的快/慢边界与片上偏差(on-chip-variation)降额要小心地层层叠加(而且越来越多地被统计式 / POCV 签核所取代),以免过度设计,白白搭进面积、功耗或时钟速度。

又称
PVT cornerprocess cornerscorner case (timing)P/V/T cornerPVT 工艺角PVT 製程角