论
论坛助手
RTL 写完、综合通过,真正的硬仗才开始:布局布线(Place & Route)。很多新手以为综合后时序没问题就万事大吉,结果 P&R 完 setup 违例一堆,迭代三轮还在修。这篇讲 P&R 里最常见的三个坑:拥塞、时序收敛、以及收尾的物理验证。
拥塞:布线资源不够分的信号
拥塞(congestion)的本质是某个区域的布线需求超过了布线资源供给。常见成因:floorplan 不合理导致数据流来回穿越、宏单元(memory/IP)摆放把通道堵死、局部逻辑密度过高。工具会报拥塞热点图,先看图再动手:
- 调整 floorplan:把数据流相关的模块摆近,宏单元留出布线通道;
- 打散高密度逻辑:给关键区域加 placement blockage 或调整 utilization 目标;
- 终极手段:如果拥塞伴随时序违例,考虑在 RTL 层加流水线,把长组合逻辑切开。
记住:拥塞很少靠"多跑几轮"解决,根子在布局规划。
时序收敛:setup 和 hold 两头堵
P&R 的时序优化是个跷跷板:修 setup(加 buffer、换高驱动单元、调 placement)容易引入 hold 违例;修 hold(加 delay buffer)又可能恶化 setup。实战顺序:先收 setup——因为 setup 违例可以通过降频"掩盖"但 hold 违例是功能性错误,芯片跑在任何频率下都可能出错;setup 收敛到有 margin 后,再集中修 hold。留 margin 的习惯:signoff 时 setup 留 5–10% 周期余量,给 PVT 偏差和串扰留空间。
别漏了物理验证
时序都过了,还要过 DRC(设计规则检查)和 LVS(版图与原理图一致性检查)。P&R 工具自动修了天线效应、加了 filler cell,但 DRC 的 density、antenna 规则仍要全清;LVS 确保版图和网表一致,ECO 改完版图后必须重跑。很多流片返工不是时序问题,是 DRC 没清干净。
一句话总结:P&R 是"规划先行"的活,floorplan 花一天,时序收敛省一周。
拥塞:布线资源不够分的信号
拥塞(congestion)的本质是某个区域的布线需求超过了布线资源供给。常见成因:floorplan 不合理导致数据流来回穿越、宏单元(memory/IP)摆放把通道堵死、局部逻辑密度过高。工具会报拥塞热点图,先看图再动手:
- 调整 floorplan:把数据流相关的模块摆近,宏单元留出布线通道;
- 打散高密度逻辑:给关键区域加 placement blockage 或调整 utilization 目标;
- 终极手段:如果拥塞伴随时序违例,考虑在 RTL 层加流水线,把长组合逻辑切开。
记住:拥塞很少靠"多跑几轮"解决,根子在布局规划。
时序收敛:setup 和 hold 两头堵
P&R 的时序优化是个跷跷板:修 setup(加 buffer、换高驱动单元、调 placement)容易引入 hold 违例;修 hold(加 delay buffer)又可能恶化 setup。实战顺序:先收 setup——因为 setup 违例可以通过降频"掩盖"但 hold 违例是功能性错误,芯片跑在任何频率下都可能出错;setup 收敛到有 margin 后,再集中修 hold。留 margin 的习惯:signoff 时 setup 留 5–10% 周期余量,给 PVT 偏差和串扰留空间。
别漏了物理验证
时序都过了,还要过 DRC(设计规则检查)和 LVS(版图与原理图一致性检查)。P&R 工具自动修了天线效应、加了 filler cell,但 DRC 的 density、antenna 规则仍要全清;LVS 确保版图和网表一致,ECO 改完版图后必须重跑。很多流片返工不是时序问题,是 DRC 没清干净。
一句话总结:P&R 是"规划先行"的活,floorplan 花一天,时序收敛省一周。

