作者:Darren H. Chen
方向:Backend Flow / 后端实现流程 / EDA 工具工程 / Routing
demo:LAY-BE-20_routing
标签:Backend Flow、EDA、Routing、Global Route、Detail Route、Route Optimize、Congestion、DRC、Timing Closure

Routing 经常被描述为后端流程中“把单元和宏模块用金属线连接起来”的阶段。

这个描述是正确的,但它掩盖了大部分工程难点。

一个已经完成 placement 的设计,数据库里已经有了 cell、pin、macro、row、blockage、clock tree、power structure 以及 timing constraint。此时剩下的任务并不是简单地在 pin 之间画线。Routing 阶段必须在容量、设计规则、时序、antenna、信号完整性以及 signoff 约束之下,把逻辑连接转换成可制造的金属和通孔几何形状。

因此,routing 很少是一个单一动作。它通常会被拆分为多个层次:

global route
↓
detail route
↓
route optimization

这些阶段解决的问题不同。

Global route 回答的是:

每条 net 大致应该从哪些区域、哪些层、哪些通道经过?
当前 routing resource 是否足够?

Detail route 回答的是:

如何把每条 net 具体实现为精确的 track、wire、via 和合法几何形状?

Route optimization 回答的是:

连接已经存在之后,routed design 是否仍然满足 timing、DRC、antenna、SI 和最终 QoR 目标?

理解这种分层非常重要。很多 routing failure 会被误解,是因为工程师把 routing 当成一个黑盒命令来看。成熟的 Backend Flow 应该分别检查 global route、detail route 和 route optimization,并且为它们分别建立报告、质量检查和回退决策。


1. Routing 把 connectivity 转换为制造几何

在 routing 之前,一条 net 是一个逻辑连接对象。

例如:

net N1 连接:
  U1/Z
  U2/A
  U3/B

完成 placement 之后,工具已经知道 U1U2U3 的位置,也知道这些 pin 的近似或精确几何信息,这些信息来自 LEF 和设计数据库对象。

但是,此时这条 net 还不是可制造的物理形状。

Routing 必须把它转换成:

metal segment
via
layer
wire width
wire spacing
routing topology
pin access connection
legal geometry

一个简化的转换过程是:

logical net
  ↓
placed pins
  ↓
routing topology
  ↓
track assignment
  ↓
wire and via geometry
  ↓
DRC-clean routed layout

在这里,后端数据库开始非常接近最终 layout。Placement 决定 object 放在哪里;routing 决定这些 object 如何被真实物理连接起来。

一个有用的理解方式是:

placement 把 cell 映射到空间中;
routing 把 net 映射到 metal resource 中。

2. Routing 本质上是多层资源分配问题

Routing 不是在无限空白画布上进行的。

Routing fabric 受到很多因素限制:

metal layer
preferred direction
routing track
via rule
blockage
macro obstruction
power stripe
clock routing structure
spacing rule
width rule
antenna rule
manufacturing grid

一个简化的多层 routing 模型如下:

M1:local connection layer / pin access layer
M2:preferred vertical routing
M3:preferred horizontal routing
M4:preferred vertical routing
M5:preferred horizontal routing
...
VIA12:连接 M1 和 M2
VIA23:连接 M2 和 M3
...

Routing 可以抽象成一个图搜索问题:

RoutingGraph = Nodes + Edges + Capacities + Costs + Rules

其中:

元素 含义
Node routing grid point、gcell、track point、pin access point
Edge 可能的 wire segment 或 layer transition
Capacity 某个区域或 track 上可用的 routing resource
Cost wirelength、congestion、via count、timing cost、rule risk
Rule spacing、width、via、blockage、antenna、NDR、layer constraint

Router 必须为大量 nets 寻找路径,同时共享有限资源。

真正困难的是耦合关系:

一条 net 消耗 routing resource;
resource consumption 会影响其他 nets;
detour 会影响 timing;
timing fix 会影响 congestion;
DRC repair 会改变 geometry;
geometry 会改变 parasitics;
parasitics 会改变 slack。

所以,routing 不能被理解为“画线”。它是一个受约束的资源分配与物理实现问题。


3. Backend Flow 中的 Routing 架构

Routing 阶段通常消费 placement 和 CTS 的输出,然后生成 signoff 准备所需的物理连接。

Linked Design Database
已链接设计数据库

Routing System
布线系统

Placed Cells and Macros
已放置单元和宏模块

Clock Tree / Clock Route Intent
时钟树与时钟布线意图

Power Network and Blockages
电源网络与阻塞

LEF / Tech Layers / Via Rules
LEF、技术层与 Via 规则

Timing Constraints and Critical Nets
时序约束与关键网络

Routing Rules / NDR / Antenna Rules
布线规则、NDR 与 Antenna 规则

Global Route
全局布线

Congestion and Capacity Reports
拥塞与容量报告

Detail Route
详细布线

DRC / Open / Short / Pin Access Reports
DRC、Open、Short 与 Pin Access 报告

Route Optimization
布线优化

Final Route QoR Reports
最终布线 QoR 报告

Post-Route Timing
布线后时序

Physical Verification Handoff
物理验证交接

Post-Route ECO
布线后 ECO

这个架构图说明了一个关键点:routing 并不是孤立的。它位于 placement、clock implementation、power structure、technology rule、timing constraint 和 signoff requirement 的交汇处。

如果 routing flow 只检查命令是否结束,那是不够的。Routing flow 必须检查物理连接是否健康。


4. Global Route:规划布线走廊和容量

Global route 通常不会产生最终详细的 metal shape。

它解决的是一个更粗粒度的问题:

每条 net 应该大致使用哪些 region、layer 和 corridor?

Routing area 通常被划分成粗粒度 region 或 grid cell。Global router 会估算这些区域中的 routing demand 和 routing capacity。

一个简单的 grid 示例:

+------+------+------+
| G1   | G2   | G3   |
+------+------+------+
| G4   | G5   | G6   |
+------+------+------+
| G7   | G8   | G9   |
+------+------+------+

如果很多 nets 都需要经过 G5,那么 demand 可能超过可用 routing capacity。

Global route 会把这种情况报告为 congestion 或 overflow。

Global route 主要回答:

哪些区域过载?
哪些 nets 可能比较难布?
哪些 layer 使用过多?
哪些 macro channel 太窄?
哪些 pin-dense area 风险较高?
placement 在全局层面是否 routable?

典型 global route 输出包括:

routing guide
congestion map
edge overflow report
estimated wirelength
estimated via count
layer usage summary
critical net routing estimate

良好的 global route 结果并不保证 detail route 一定干净;但是糟糕的 global route 结果通常强烈提示 detail route 会非常困难。


5. Global Route 不能解决什么

Global route 是有意近似的。

它不会完整解决:

exact track assignment
exact pin access
exact via placement
所有 local spacing rule
所有 end-of-line rule
所有 cut spacing rule
所有 min-area rule
所有详细 DRC interaction

这就是为什么 global route 看起来可以接受,但 detail route 仍然可能在局部失败。

例如:

Global route 认为一条 net 可以通过某个 macro channel。
Detail route 发现 pin access 和 local track 已经被阻塞。

或者:

Global route 认为某个 region 有足够 capacity。
Detail route 在 dense pin cluster 附近发现 via spacing conflict。

因此,global route 应该被理解为 routability planning stage,而不是最终 routing success。


6. Global Route 的关键指标

Global route 报告应该结合明确指标来解读。

指标 含义 工程用途
Total overflow 总体 demand 超过 capacity 的数量 判断整体 routability 风险
Max overflow 最严重局部 overflow 判断 hotspot 严重程度
Overflow edges over-capacity grid edge 数量 判断 congestion 分布范围
Layer usage 每层 routing demand 诊断 layer 使用是否失衡
Estimated wirelength 近似 route length timing 和 power 的 proxy
Estimated via count 近似 layer transition 数量 delay、reliability 和 DRC proxy
Critical net detour timing-sensitive nets 上的 detour timing risk
Macro channel overflow macro 附近 congestion floorplan feedback

最重要的是趋势分析。

单次 global route report 有用;但跨 placement 或 floorplan iteration 比较 global route report 更有用。

例如:

Iteration A:macro channel 附近 max overflow 很高
Iteration B:移动 macro 后,max overflow 降低
Iteration C:降低 local density 后,overflow edges 减少

这种比较能够把 routing 从后期意外,变成早期 physical feedback loop。


7. Detail Route:把 routing intent 转换成合法几何

Detail route 使用 global route intent,创建精确 routing geometry。

它决定:

使用哪条 track
使用哪一层 layer
从哪里进入每个 pin
在哪里放置 via
如何绕开 blockage
如何满足 spacing rule
如何解决 short 和 open
如何修复 local DRC

Detail route 是 abstract connectivity 变成真实 layout geometry 的阶段。

它必须解决很多 global route 没有完整建模的局部约束:

pin access
track assignment
via enclosure
cut spacing
end-of-line spacing
minimum area
short avoidance
open avoidance
macro obstruction avoidance
route blockage compliance

这个阶段通常对 rule 更敏感。

如果 detail route 失败,原因可能非常局部:

某个 pin 没有合法 access point;
某个 macro blockage 阻塞了所有可用 tracks;
某个 via 无法合法放置;
两条密集 nets 产生无法避免的 spacing conflict;
一个小 detour 产生 min-area 或 notch 问题;
local power 和 clock structure 消耗了过多 tracks。

8. Pin Access 经常是局部 routing 的第一个瓶颈

Router 必须把 wire 连接到 pin。

听起来简单,但 pin access 经常很困难。

标准单元或 macro pin 可能形状有限、层数有限,而且附近存在 obstruction。如果很多 pin 挤在一个小区域中,合法 access point 会非常稀缺。

典型 pin access 问题包括:

pin shape 太小
pin 被 cell obstruction 阻挡
pin 被 macro obstruction 阻挡
相邻 pin spacing conflict
没有合法 via access
routing layer preference 不合适
local pin density 太高

Pin access 在以下区域尤其重要:

standard-cell pin cluster
macro boundary
clock buffer
scan register cluster
power strap intersection
high-density placement region

pin 附近的 route failure 不一定是 router 能力弱。它可能说明 placement density、library pin geometry、macro channel 或 blockage 设计存在问题。


9. Detail Route 的关键指标

Detail route report 不应该只说 route completed

它应该总结物理健康状态。

指标 含义 指示风险
Open count 没有完全连接的 nets 功能失败
Short count 非预期连接 功能和 signoff 失败
DRC count by type 各类规则违反 可制造性风险
Pin access failures 无合法 route access 的 pins library / placement / macro channel 问题
Via count via 数量 delay、reliability 和 DRC 风险
Wirelength by layer 不同 layer 上的 wire length 分布 layer overuse 或 timing risk
Detour estimate route path 比预期更长 timing 和 congestion risk
Antenna risk count potential antenna violation 制造可靠性风险
Local hotspot list 重复 repair 的区域 routing convergence risk

健康的 detail route 不只是 connected。它还应该 DRC-clean 或接近 clean、timing-aware、没有过度 detour,并且不被局部 route repair loop 主导。


10. Route Optimization:修复 routed design

Detail route 之后,设计已经具有真实或接近真实的 routing geometry。

这会暴露前面阶段只能估算的问题。

Route optimization 处理的问题包括:

routing 是否恶化了 timing?
transition 和 capacitance 是否仍可接受?
是否存在 antenna risk?
是否存在 DRC hotspot?
critical nets 是否有过度 detour?
coupling effect 是否显著?
via count 是否可以改善?
是否需要对部分 net 加宽或加大 spacing?
incremental reroute 是否可以提升 QoR?

Route optimization 可能包括:

timing-driven reroute
wire spreading
wire widening
via optimization
antenna fixing
buffer insertion
cell resizing
incremental placement repair
crosstalk-aware cleanup
DRC cleanup
hold/setup repair

这个阶段高度耦合。

例如:

修复 DRC 可能增加 wirelength;
降低 coupling 可能增加 congestion;
添加 buffer 需要 placement space;
修复 hold 可能增加 power 和 area;
修复 antenna 可能需要 diode cell 或 layer jump;
重布一条 net 可能在附近产生新的 violation。

因此 route optimization 应该被当成 convergence process,而不是一个单命令 cleanup step。


11. 为什么 routing 后 timing 会变化

在详细布线之前,net delay 通常是估算的。

布线之后,wire geometry 更加真实。工具可以计算或估算更准确的 RC。

Timing 变化是因为 routing 改变了:

wirelength
layer assignment
via count
wire resistance
wire capacitance
coupling capacitance
route detour
pin access path
clock route realization
shielding or spacing

在 timing equation 中,net delay 既影响 data path,也影响 clock path。

因此 post-route timing 可能和 pre-route timing 有明显差异。

一个 placement 后看起来可接受的 path,routing 后可能失败,原因包括:

routed net 为绕开 macro 产生 detour;
route 前使用了过于乐观的 low-resistance assumption;
最终 via count 很高;
coupling capacitance 比估算更大;
clock path 和 data path 变化不同。

这就是为什么 post-route timing 不是可选项。它是基于更具体物理连接的第一次关键 timing analysis。


12. Routing 与 DRC 紧密耦合

Detail route 必须遵守设计规则。

这些规则可能包括:

minimum width
minimum spacing
end-of-line spacing
minimum area
via enclosure
cut spacing
parallel run length rules
antenna rules
density-related rules
non-default route rules
blockage rules

在先进工艺节点,rule interaction 可能非常复杂。

一个 topologically correct 的 route 仍然可能是 illegal 的。

例如:

net 已连接,但 spacing violation;
wire 单独看合法,但靠近 via 后非法;
route 避免了 short,但产生 min-area violation;
detour 修复了 congestion,却产生 antenna risk。

因此 route DRC report 必须成为 routing evidence chain 的一部分。

Routing 不是 connectivity exists 就完成。只有 connectivity、legality、timing 和 signoff readiness 都可以接受,routing 才算真正完成。


13. Routing 与 Antenna Effect

Antenna risk 通常出现在制造过程中:连接到 gate input 的长金属段,在形成放电路径之前可能积累电荷。

Routing 会从多个方面影响 antenna:

long metal segment length
layer usage
via jumping strategy
connection order
presence of diode cells
connection to diffusion

Antenna repair 可能需要:

jumping to higher layers
inserting antenna diodes
changing route topology
adding vias
rerouting selected nets

这些修复会影响:

timing
area
congestion
DRC
power

因此 antenna fixing 不能被当成一个互不相关的最终 cleanup。它是 post-route convergence 的组成部分。


14. Routing 与 Signal Integrity

Routing 之后,wire 之间具有真实的邻近关系。

这会引入 coupling 和 crosstalk effect。

Signal integrity 关注的问题包括:

coupling capacitance
crosstalk delay
noise glitch
aggressor / victim interaction
clock sensitivity
hold degradation
setup degradation

可能的缓解方法包括:

wire spacing
shielding
critical net protection
slew control
layer reassignment
reroute
buffer insertion

SI 在 routing 之前无法被完整理解,因为 adjacency 还不具体。

这也是为什么 post-route analysis 经常重新打开 timing 和 optimization loop。


15. Routing 与 Congestion Feedback

Congestion 指 routing demand 超过可用 routing resource。

它可能来自:

high placement density
narrow macro channels
high pin density
limited routing layers
power stripes consuming tracks
clock routes consuming preferred resources
scan chains crossing regions
bus structures crossing the chip
IO placement mismatch
floorplan constraints

Routing congestion 应该被当成对前面阶段的 feedback。

Router 可以修复一些局部问题,但它并不总能修复一个本质上过约束的 floorplan 或 placement。

例如:

如果 macro spacing 太窄,detail route 无法发明新的 routing tracks。
如果 pin density 太高,route optimization 可能只是把 violation 移到别处。
如果 placement 把太多 cells 挤在 blocked region 附近,global route overflow 可能一直存在。

成熟的 routing debug 会问:

这是 routing 问题?
还是 floorplan / placement / macro / IO / power-structure 问题,只是在 routing 中暴露出来?

16. Timing-Driven Routing 与 Congestion-Driven Routing

Routing resource 是有限的。

Timing-driven routing 会尝试给重要 nets 更好的 routing resource:

shorter path
higher metal layer
fewer vias
less coupling
better shielding
less detour

Congestion-driven routing 会尝试分散 demand 并避免 overflow。

这两个目标可能冲突。

例如:

critical net 希望通过 congested region 走最短路径;
congestion avoidance 希望它绕开这个区域。

成熟的 routing strategy 会对 nets 进行分类:

Net 类型 典型 routing priority
clock net controlled route rule,对 skew 和 latency 敏感
critical data net timing-aware resource priority
high-fanout control net capacitance 和 congestion awareness
scan chain net routability 和 test-mode timing awareness
power/ground net special routing 和 reliability priority
non-critical data net 可以容忍一定 detour

关键工程问题是:

哪些 nets 值得占用稀缺 routing resource?
哪些 nets 可以接受较低质量路径?

这个问题无法只靠 connectivity 回答。它需要 timing、physical 和 design intent context。


17. Routing State Machine

Routing 可以表示为一个阶段状态机。

placement, clock, power, layers ready

missing route prerequisites

severe overflow

congestion acceptable

DRC / open / short issues

connectivity and DRC close enough

timing or SI issue

timing, DRC, antenna, SI acceptable

Route_Precheck

Global_Route

Blocked

Global_Route_Report

Floorplan_Placement_Feedback

Detail_Route

Detail_Route_Report

Local_Route_Repair

Route_Optimize

Post_Route_Timing

Incremental_Route_Optimize

Final_Route_QoR

这个状态机有助于避免一个常见错误:把所有 routing problem 都强行推给 local detail-route repair。

有些问题应该回到 floorplan 或 placement;有些问题应该通过 route optimization 修复;有些问题应该通过 constraint correction 修复;有些问题可能需要调查 library 或 pin access。


18. Route Precheck

在 routing 之前,flow 应该确认设计已经 ready。

Route precheck 应该包括:

placement legality
cell overlap status
unplaced cell count
clock tree availability
power network availability
routing layer definition
via rule availability
macro obstruction status
route blockage status
NDR / route rule availability
critical net marking
antenna rule availability
pre-route timing baseline
congestion estimate

一个 route precheck report 可能如下:

[PASS] placement legal
[PASS] clock tree exists
[PASS] routing layers defined
[PASS] via rules loaded
[WARN] macro channel congestion near u_sram0
[WARN] high pin density near region R12
[FAIL] route rule CLK_NDR is referenced but not defined

如果 route precheck 失败,继续运行 global route 或 detail route 可能只是浪费时间,并产生难以理解的日志。


19. 成熟 Routing 阶段需要的报告

Routing 需要一套 report stack,而不是一份最终 log。

推荐报告包括:

报告 作用
route_precheck.rpt 验证 routing entry condition
global_route_summary.rpt 总结 guide、overflow、layer usage、estimated wirelength
congestion_summary.rpt 识别 routing hotspot 和 capacity 问题
detail_route_summary.rpt 总结 open、short、DRC category、pin-access issue
route_drc_summary.rpt 分类剩余 route-related violation
antenna_fix_summary.rpt 记录 antenna risk 和 repair action
route_opt_summary.rpt 记录 timing / DRC / SI optimization 变化
post_route_timing.rpt 报告 route parasitic impact 之后的 timing
final_route_qor.rpt 汇总 routing health metrics

这些报告回答的是不同问题。

一句 route completed 无法替代它们。


20. 如何判断 Routing Health

一个 routed design 应该从多个角度评估。

最终 route health checklist 可以包括:

all nets connected
no shorts
open count is zero
DRC count is acceptable or zero
antenna violations are resolved or planned
post-route timing is acceptable
transition and capacitance are acceptable
route detours are not excessive
via count is not abnormal
critical nets are not over-detoured
clock route rules are respected
congestion hotspots are explained
SI risk is acceptable
route reports are reproducible

Routing health 不能只看一个指标。

例如:

DRC-clean 但 timing-broken,并不健康。
Timing-clean 但存在严重 antenna violation,也不健康。
Connected 但 detour 过大,也不健康。
Low congestion 但 pin-access failure 很多,也不健康。

只有 connectivity、manufacturability、timing 和 handoff readiness 同时可以接受,routing 才算健康。


21. 常见 Failure Pattern

Failure Pattern 症状 可能 root cause 典型 action
Global overflow selected gcells 中 routing demand 很高 placement density、macro channel、insufficient layers 调整 floorplan 或 placement
Pin access failure pins 无法合法连接 cell pin geometry、local density、obstruction placement spreading、library review、local reroute
Persistent DRC hotspot 同一区域反复违反规则 local over-constraint、macro boundary、power/clock interference 检查 local blockage / routing strategy
Post-route timing degradation route 后 WNS/TNS 变差 detour、RC、coupling、via count route optimize、placement/timing feedback
High via count layer transition 很多 routing topology、obstruction、layer strategy via optimization、NDR review
Antenna violations long metal connected to gates route topology 和 manufacturing sequence diode insertion、layer jump、reroute
Open nets connectivity incomplete pin access、blockage、router failure local debug and reroute
Shorts unintended metal contact DRC/routing conflict、rule issue route cleanup and rule inspection
Clock route deviation clock net 未按预期 rule routing missing route rule 或 NDR setup route-rule precheck and reroute
Recurrent route ECO churn 一个 fix 产生另一个 failure over-constrained region 回到 placement/floorplan 检查

这个表的重要性在于把 symptom 和 root cause 分开。

并不是每个 route failure 都应该通过 reroute 修复。有些 failure 只是由 routing 暴露出来,但根因在更早阶段。


22. 方法论:把 Planning、Realization 和 Cleanup 分开

稳健的 routing flow 应该分清三个概念:

planning
realization
cleanup

Global route 是 planning。

它估算 resource demand 和 routing corridor。

Detail route 是 realization。

它创建精确的可制造 geometry。

Route optimization 是 cleanup 和 convergence。

它修复并改善 timing、DRC、antenna、SI 和最终 QoR。

如果这三者混在一起,debug 会非常困难。

如果把它们分开,每个阶段就可以拥有自己的 entry condition、report、failure classification 和 corrective action。


23. Demo 设计:LAY-BE-20_routing

LAY-BE-20_routing 的目标不是复现一个完整工业级 routing。它的目标是展示 routing 应该如何作为一个分阶段工程过程被观察、记录和评估。

推荐目录结构:

LAY-BE-20_routing/
├─ data/
│  ├─ sample_global_route.rpt
│  ├─ sample_detail_route.rpt
│  ├─ sample_congestion.rpt
│  ├─ sample_route_drc.rpt
│  └─ sample_post_route_timing.rpt
├─ scripts/
│  ├─ run_routing_demo.csh
│  └─ clean.csh
├─ tcl/
│  ├─ 01_route_precheck.tcl
│  ├─ 02_run_global_route.tcl
│  ├─ 03_report_congestion.tcl
│  ├─ 04_run_detail_route.tcl
│  ├─ 05_run_route_optimize.tcl
│  └─ 06_report_route_qor.tcl
├─ reports/
│  ├─ route_precheck.rpt
│  ├─ global_route_summary.rpt
│  ├─ congestion_summary.rpt
│  ├─ detail_route_summary.rpt
│  ├─ route_opt_summary.rpt
│  └─ final_route_qor.rpt
└─ README.md

一个通用 shell entry 可以是:

#!/bin/csh -f

set nonomatch

setenv EDA_TOOL_BIN /path/to/eda_tool
setenv DESIGN_ROOT  /path/to/LAY-BE-20_routing

$EDA_TOOL_BIN -batch $DESIGN_ROOT/tcl/01_route_precheck.tcl \
  >&! $DESIGN_ROOT/reports/run_route_precheck.log

$EDA_TOOL_BIN -batch $DESIGN_ROOT/tcl/02_run_global_route.tcl \
  >&! $DESIGN_ROOT/reports/run_global_route.log

$EDA_TOOL_BIN -batch $DESIGN_ROOT/tcl/04_run_detail_route.tcl \
  >&! $DESIGN_ROOT/reports/run_detail_route.log

该 demo 应该验证:

global route 和 detail route 分开报告;
congestion 被独立总结;
route optimization 有 before/after evidence;
post-route timing 被归档;
route QoR 从多个 metrics 判断;
routing failure 按可能 root cause 分类。

24. Demo 输入与输出

24.1 输入

Demo 可以使用 minimal design,也可以使用 sample reports。

推荐输入:

linked and placed design database
floorplan and routing layer context
clock tree or clock route intent
sample global route report
sample detail route report
sample congestion report
sample route DRC report
sample post-route timing report

24.2 输出

推荐输出:

route_precheck.rpt
global_route_summary.rpt
congestion_summary.rpt
detail_route_summary.rpt
route_drc_summary.rpt
route_opt_summary.rpt
post_route_timing_summary.rpt
final_route_qor.rpt

其中最重要的输出是 final_route_qor.rpt

它应该总结:

connectivity status
open / short count
DRC count by category
congestion hotspots
wirelength / via metrics
timing impact
antenna risk
SI risk
route stage PASS / WARN / FAIL

这个报告让 routing review 系统化。


25. 从 Routing 到 Signoff

Routing 是一个重要 milestone,但它不是 Backend Flow 的终点。

Routing 之后,设计会进入更接近 signoff 的检查:

post-route timing
physical verification
antenna check
parasitic extraction
signal integrity analysis
IR / EM analysis
metal fill
ECO
final export

Routing quality 会强烈影响这些阶段。

Poor route 可能看起来已经 connected,但后续仍然失败,原因包括:

post-route timing 太差;
DRC violation 难以清理;
antenna repair 改变 timing;
extraction 产生比预期更差的 parasitics;
SI effect 让 critical path 变差;
ECO 没有可用 routing space。

因此,routing 应该被看成 implementation 进入 signoff preparation 的 gateway。


26. 总结

Routing 是把 design connectivity 转换成可制造 metal 和 via geometry 的过程。

它应该分层理解:

global route  -> routing plan and congestion visibility
detail route  -> legal track / via / pin-access geometry
route optimize -> timing / DRC / antenna / SI / QoR convergence

关键结论是:

  1. Routing 是一个多层资源分配和几何实现问题。
  2. Global route 规划 routing corridor,并暴露 congestion risk。
  3. Detail route 创建精确合法 geometry,处理 pin access、via、track、open、short 和 DRC。
  4. Route optimization 修复 timing、DRC、antenna、SI 以及其他 post-route 问题。
  5. Post-route timing 会变化,因为 routed RC 和 coupling 更具体。
  6. Congestion 的根源可能来自 floorplan、placement、macro、power、clock、IO 或 scan structure。
  7. 成熟的 routing flow 需要独立的 precheck、global route report、detail route report、optimization report 和 final QoR report。
  8. Routing 不是 Backend Flow 的结束,而是进入 signoff preparation 的入口。

Final Takeaway

Global route 决定道路大致应该从哪里经过。

Detail route 决定道路具体如何建造。

Route optimization 决定已经建好的道路是否满足 timing、manufacturability、signal integrity、antenna 和 signoff 目标。

成熟的 backend routing flow 必须分别检查这三个层次,因为每个层次回答的是不同的工程问题。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐