4、ERC规则详解:电源地连接检查、浮空节点检查、驱动能力检查、短路/断路检查

ERC,全称是电气规则检查。

说白了,就是检查你的芯片电路“通不通电”、“能不能干活”。

我刚开始做后端设计那会儿,总觉得ERC是小问题。直到有一次,一个浮空节点没处理干净,导致整个模块在低功耗模式下漏电严重。从那以后,我对ERC再也不敢马虎了。

4.1 电源地连接检查

这是ERC里最基础,也是最容易出问题的一环。

电源和地,是整个芯片的“血管”。血管没接好,芯片肯定没法正常工作。

检查什么?

  • 电源域是否完整:每个标准单元、宏单元,是不是都正确接到了对应的VDD和VSS上?
  • 电源网络是否短路:不同电压域的电源,有没有意外连在一起?
  • 电源地是否反接:VDD和VSS有没有接反?

重点:多电压域设计中,一定要检查每个域的电源地连接是否正确。我见过有人把1.8V的电源接到了3.3V的单元上,结果一上电就冒烟了。

常见违例及修复

违例类型 原因 修复方法
电源未连接 单元缺少电源引脚连接 检查网表,补全电源连接
电源短路 不同电压域电源短接 检查版图,隔离不同电源域
电源地反接 VDD和VSS接反 修正网表或版图连接

4.2 浮空节点检查

浮空节点,就是那些“没人管”的节点。

它们既没接到电源,也没接到地,更没接到其他驱动源。这样的节点,电压是不确定的。

为什么浮空节点很危险?

  • 漏电:浮空节点会通过栅氧化层漏电,增加静态功耗。
  • 噪声:浮空节点容易耦合噪声,影响周围电路。
  • 逻辑错误:如果浮空节点被当作输入,会导致逻辑功能紊乱。

注意:我曾经在一个项目中,发现一个关键的复位信号竟然是浮空的。结果芯片在特定条件下无法正常复位,排查了整整两周才找到原因。嗯,从那以后,我每次跑ERC都会特别关注浮空节点。

修复方法

  • 上拉/下拉:给浮空节点加上拉电阻(接到VDD)或下拉电阻(接到VSS)。
  • 接固定电平:如果节点不需要动态变化,直接接到电源或地。
  • 接缓冲器:如果节点需要驱动,可以接一个缓冲器。

4.3 驱动能力检查

驱动能力,说白了就是“一个门能不能带动后面的负载”。

你想想看,一个小个子要拉一车货,肯定拉不动。电路也是一样。

检查什么?

  • 扇出:一个输出端接了多少个输入端?扇出太大,驱动能力就不够。
  • 线长:输出端到输入端的连线有多长?线越长,负载电容越大。
  • 驱动强度:驱动单元本身的驱动能力是否足够?

小技巧:我个人习惯在综合阶段就检查驱动能力。如果发现某个节点的扇出超过10,我就会考虑插入缓冲器。这样可以避免后端布线时出现时序问题。

驱动能力不足的后果

  • 信号上升/下降时间变长:信号跳变变慢,影响时序。
  • 信号完整性变差:信号容易受到噪声干扰。
  • 功耗增加:驱动能力不足的单元会消耗更多电流。

修复方法

  • 换大驱动单元:把驱动能力弱的单元换成驱动能力强的。
  • 插入缓冲器:在长线或高扇出节点上插入缓冲器。
  • 优化布线:缩短关键路径的连线长度。

4.4 短路/断路检查

短路和断路,是物理层面的问题。

短路,就是不该连的连在了一起。断路,就是该连的没连上。

短路检查

  • 电源短路:不同电压域的电源短接,会导致大电流甚至烧毁芯片。
  • 信号短路:两个不同的信号线短接,会导致逻辑错误。
  • 电源地短路:VDD和VSS短接,直接烧毁芯片。

断路检查

  • 电源断路:某个单元没接到电源,无法工作。
  • 信号断路:信号路径中断,逻辑功能失效。
  • 时钟断路:时钟信号中断,时序逻辑无法工作。

经验之谈:短路和断路,很多时候是版图设计阶段引入的。比如金属线间距不够,或者通孔没打上。我建议在版图完成后,一定要跑一遍完整的ERC,特别是电源网络的短路检查。

4.5 ERC检查流程

下面这张图,是我自己总结的ERC检查流程。你可以参考一下。

ERC检查流程 输入网表/版图 电源地连接检查 浮空节点检查 驱动能力检查 短路/断路检查 输出ERC报告

这个流程,我建议你每次跑ERC都走一遍。别偷懒,少一步都可能出问题。

4.6 总结

ERC检查,说白了就是给芯片做“体检”。

  • 电源地连接检查:确保血管通畅。
  • 浮空节点检查:确保没有“没人管”的节点。
  • 驱动能力检查:确保每个门都能带动后面的负载。
  • 短路/断路检查:确保物理连接正确。

最后说一句:ERC检查虽然基础,但不能忽视。我见过太多因为ERC没跑干净而流片失败的案例。记住,细节决定成败。

可可精品资料库