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都走一遍。别偷懒,少一步都可能出问题。
4.6 总结
ERC检查,说白了就是给芯片做“体检”。
- 电源地连接检查:确保血管通畅。
- 浮空节点检查:确保没有“没人管”的节点。
- 驱动能力检查:确保每个门都能带动后面的负载。
- 短路/断路检查:确保物理连接正确。
最后说一句:ERC检查虽然基础,但不能忽视。我见过太多因为ERC没跑干净而流片失败的案例。记住,细节决定成败。
可可精品资料库