什么是IR Drop
芯片中的电源(VDD 和 VSS)通过metal rail和metal stripe均匀分布,称为电源传输网络(Power Delivery Network,PDN)或power grid。PDN 中使用的每个金属层都具有一定的电阻率。当电流流过供电网络时,一部分施加的电压将根据欧姆定律在 PDN 中下降。电压降的量将是 V = I.R,称为 IR drop。
图 1 显示了电源网络中的 IR drop。任何金属网络都可以假设为小 的R 和 C 的组合。
图1 金属网络中的IR drop
如果金属线的电阻率很高或通过电源网络的电流量很大,则电力输送网络中可能会下降大量电压,这将导致标准电池可用的电压低于实际电压施加的电压。
如果在电源端口施加 V1 电压并且电流 I 在具有总电阻 R 的特定网络中跟随,则标准电池另一端的可用电压 (V2) 将为:
V2 = V1 – I.R
由于供电网络中的 IR 下降,即使在电源端口中应用了足够的电压,标准单元或macro有时也无法获得运行它们所需的最低工作电压。在到达标准电压之前,电力输送网络中的电压降称为 IR drop。
这种下降可能会由于标准单元延迟的增加而导致芯片性能不佳,并可能由于建立/保持时序违规而导致芯片功能故障。为避免此问题,必须进行 IR 分析,并在设计中考虑其对时序分析的影响。
静态IR drop和动态IR drop
静态 IR 压降是在没有输入切换时供电网络 (PDN) 中的电压降,这意味着电路处于静态阶段。而动态 IR 压降是输入连续切换时供电网络中的电压降,这意味着电路处于功能状态。动态 IR drop 将取决于instance的切换速率。
图2 静态和动态IR drop示意图
当输入连续切换时,更多电流将流入实例和 PDN。所以PDN中会有更多的IR drop。因此,一般动态 IR 压降大于静态 IR 压降。
引起IR drop的原因
引起IR drop主要由如下原因。
1. pg plan较差,power stripe宽度太小,间距太大;
2. 供电网络中via(通孔)数量不足;
3. decap cells 数量不足;
4. high local cell density(局部实例density过高);
5. high local switching ratio(局部翻转率过高);
6. 较大浪涌电流;
7. 电压源数量不足;
8. Pg plan使用的metal具有较大RC;
IR drop引起的后果
标准单元的延迟取决于单元的实际输入电压,如果电压减少,则单元的延迟会增加。单元延迟的增加可能会影响设计的性能。如果标准单元的可用电压低于特定水平,则该单元可能会完全停止工作,并可能导致设计功能失效。或者有时 IR 压降在限制范围内,只有单元延迟增加,这会影响设计的建立和保持时序,有时会导致建立和保持时序失败。
如果由于特定设计区域中的大量开关活动而导致电流需求突然增加,则 VDD 也可能突然下降。这种类型的 VDD 电平下降称为voltage drop。或者它可能导致地电压水平突然升高,这称为ground bounce。这些统称为电源噪声。图 3 显示了由 IR 压降引起的电源噪声。
图3 IR drop引起的电源噪音
IR drop分析和修复
常用的IR 分析工具是:Ansys的RedHawk和Cadence 的Voltus。
常用fix IR drop的方法有:
插入足够数量的decap cell,这将促进电力输送网络;规划更合理的pg plan;合理控制local cell density;将高翻转的的cell留足一定的keep-out margin;等。