4、拥塞分析工具:主流EDA工具(如Innovus、ICC2)中的拥塞分析功能、报告解读

聊到拥塞分析,咱们得先搞清楚一件事:工具到底是怎么判断“这里堵了”的?

我个人习惯把拥塞分析工具比作“芯片的交通摄像头”。它不直接告诉你“怎么修路”,而是告诉你“哪个路口在几点几分堵成了什么样”。你拿到数据,自己判断要不要拓宽车道、要不要改红绿灯。

嗯,今天咱们就重点看看两大主流工具——Innovus(Cadence家的)和ICC2(Synopsys家的)——它们是怎么做这个事的。

4.1 Innovus 的拥塞分析功能

Innovus 的拥塞分析,说白了就是基于“布线资源”和“绕线需求”的对比。它把芯片切成一个个小格子(G-Cell),然后算每个格子里有多少线要过,能过多少线。

我记得刚用 Innovus 那会儿,最常用的命令就是:

# 运行全局拥塞评估
set_ccopt_property -congestion_effort high
route_global -congestion_map_only true

# 查看拥塞热力图
gui_set_current_view -view congestion

这里有个小细节:-congestion_map_only true 这个选项,只做全局布线的拥塞评估,不真正走线。速度很快,适合早期快速迭代。

Innovus 的拥塞报告,我一般看这几个关键指标:

指标 含义 我关注的阈值
Overflow 超出可用轨道的线数 > 0 就要警惕
Congestion Map 热力图上的红色区域 红色面积 > 5% 需干预
Routing Utilization 布线资源利用率 > 85% 容易出问题

我曾经在一个 7nm 的项目上,看到 Overflow 显示为 0,但热力图上一片红。后来发现是工具把一些“伪路径”也算进去了。所以我的建议是:别只看数字,一定要看热力图。

4.2 ICC2 的拥塞分析功能

ICC2 的思路其实差不多,但叫法不一样。它用的是 Congestion Map 和 Routing Congestion Report。

ICC2 里我常用的命令是:

# 运行拥塞分析
create_congestion_map -layers {M1 M2 M3 M4} -output congestion_map.png

# 生成详细报告
report_congestion -overflow -verbose > congestion.rpt

你想想看,ICC2 的 report_congestion 报告里,我最关注的是 Overflow by Layer 这个表。它能告诉你具体是哪一层金属堵了。

举个例子,有一次我遇到 M2 层 Overflow 特别高,但 M3 层几乎没怎么用。后来发现是 power stripe 把 M2 的轨道占得太狠了。调整了 power plan 之后,问题就解决了。

核心区别总结:

  • Innovus 用 G-Cell 做网格,ICC2 用 Tile 做网格
  • Innovus 的 Overflow 是值,ICC2 的 Overflow 是百分比
  • 两个工具都能导出热力图,但 ICC2 的图层分离更细

4.3 报告解读:别被数字骗了

报告解读这块,我踩过不少坑。说几个常见的:

  1. Overflow 为 0 不代表不拥塞——工具可能把线绕到了更远的区域,导致时序变差。
  2. 热力图上的红色区域——要结合标准单元密度一起看。有时候是单元太挤,不是线太多。
  3. 层利用率——M1、M2 层利用率高是正常的,但如果 M5、M6 也红了,那就要小心了。

避坑指南:

我曾经在一个 28nm 的项目上,看到 ICC2 报告显示 Overflow 只有 0.3%,觉得没问题就 tapeout 了。结果回来发现 M3 层有几条长线绕了很远,导致 IR drop 超标。从那以后,我每次看报告都会把 Overflow by Layer 和 Wire Length Distribution 一起看。

4.4 知识体系:拥塞分析的核心逻辑

为了让你更直观地理解,我画了一张图。这张图展示了从“布局后”到“拥塞分析完成”的整个流程:

拥塞分析核心流程 布局后数据 标准单元位置 全局布线评估 G-Cell / Tile 网格 拥塞计算 需求 vs 容量 输出 报告/热力图 Innovus:G-Cell + Overflow ICC2:Tile + Overflow% 输出结果解读 Overflow 数值 → 拥塞严重程度 热力图 → 拥塞位置分布 层利用率 → 具体哪层金属堵了

我的小技巧:

不管是 Innovus 还是 ICC2,我建议你在 place_opt 之后就跑一次拥塞分析。这时候改 floorplan 还来得及。等 route_opt 跑完再看,黄花菜都凉了。

好了,关于拥塞分析工具的功能和报告解读,今天就聊到这儿。记住一句话:工具给你的数字是参考,你的经验才是决策依据。