IR 压降(IR drop)
IR 压降,就是电流在抵达“墙上插座”的路上损失掉的那部分电压——只不过这里的“墙上插座”指的是芯片的电源分配网络,也就是把 VDD 和地送到每一个单元的那张稠密金属网。金属并不是完美的导体,它有电阻。而只要有电流流过电阻,就会有一部分电压单纯耗费在“推着电流穿过这根线”上,这正是欧姆定律说的:V = I*R。于是,一个深埋在繁忙区域里的单元,并不会拿到封装送来的完整 0.8 V——它拿到的是 0.8 V 再减去电流一路穿过金属网才到达它所烧掉的那一部分。这个名字是字面意思:I(电流)乘以 R(电阻),就是那段“凭空消失”的电压。你可以想象一栋高楼早高峰时顶层水龙头的水压——水要爬完那么长的管道、还要赶上大家同时洗澡,到顶层时水压自然就软了下来。
为什么要在意它?当供电塌下去,晶体管的开关会变慢,因为电源轨电压越低,可用来给下一个节点充电的栅极过驱(gate overdrive)就越少。于是 IR 压降会悄悄地把受影响区域里每一条门延迟都拉长,一条在标称电压下原本能过的时序路径,到了被压低的电压下就可能突然错过它的建立(setup)期限——这也正是为什么现代时序签核是电压感知的,它会按照单元真正看到的本地电源轨电压来校验路径,而不是数据手册上那个数字。如果压降进一步加深,逻辑就不只是变慢,而是干脆判不准,触发器可能锁存到错误的值。它有两种类型。静态 IR 压降是平均电流流过金属网电阻所造成的稳态下塌——靠更强壮的 PDN 来解决:更宽的电源带(power strap)、更多排的电源带、更多过孔把各层缝合起来。动态 IR 压降则是当一大块逻辑同时翻转、在几皮秒内猛地抽走一大股电流时出现的快速瞬态;这时路径上的 di/dt 和电感也开始起作用,电源轨会瞬间塌陷、然后回弹振荡,对策是片上去耦电容(decap),再加上把高活动度的单元铺开,别让它们在同一瞬间、从同一个点一起猛灌电流。
一个单元真正看到的本地电源轨电压,等于供电电压减去电流穿过有电阻的电源网、到达它这一路上损失掉的 I*R。
预算是很紧的:电源完整性签核通常只允许 VDD 被 IR 压降吃掉一个很小的、个位数百分比的份额,因为这部分被损失的电压,正是你的时序裕量再也拿不回来的电压——而且在先进节点上,承载这股电流的同一段金属还必须扛得住电迁移(electromigration),所以这两项检查是放在一起求解的。