罗风 · 2021年07月05日

物理综合 | congestion 报告解读

粽子节快乐,长胖了吗?热晕了吗?加班了吗?

物理综合的一大目标是优化congestion, 衡量congestion 的指标有:

  • Overflow
  • Hotspots

Overflow 跟Hotspots 是如何计算的,是用什么来表征的?Congestion 分析基于一个基本『单元』称为GCELL: Routing Grid cell. Gcell 是工具自己定义的一个单位格子,通常是一个ROW 的高度的小正方形,用户可以根据自己的需求在工具里设置Gcell 的大小。当Gcell 定义好之后,每个Gcell 包含固定的绕线资源,如一个Gcell 有5 个track, 如果有7 条线要经过该Gcell 那该Gcell 的overflow 就是2.

1.png

在Ispatial flow 或Innovus 中分析Congestion 时常会看到以下两个关键词,其具体含义是:

eGR: Early Global Router - It is the router used by the timing and optimization engine at pre-route stages.

NR-GR: NanoRoute Global Router - It is a global router which does global routing before the detail routing engine of NanoRoute kicks in.

Ispaital flow 使用同Innovus 相同的Early Global Routing 引擎,所以Overflow 的计算方式也一样。Innovus 在Early Global Route 跟Global Route 时Overflow的计算公式有所差别。

  • Early Global Route Congestion Formula: 

222.jpg

  • Global Route Congestion Formula:
    333.jpg

计算公式中 “unblocked GCells ” 指未被完全blocked 住的Gcell, 比如hardmacro 占住的routing 资源,routing blockage 占住的routing 资源。

444.jpg

在分析Congestion 时,对于面积大density 低的设计,只看overflow 并不能确定congestion 是否有问题,此时Hotspot 更能反应真实情况。

  • HotspotAdjacent G-Cells which have overflow.

5.png

在Innovus 的log 中有两张重要的表,可以得到routing 资源信息:

6.png

该表中每一项的意义:

  • Avail Track = Number of routing tracks in the design for each layer.
  • Track Blocked = Number of routing tracks blocked by a large blockage. A large blockage is a blockage that is greater than 2x2 Gcells. Small objects, such as pins or wires on a track, do not count here. The reason is that even if a pin is on a track, the track is still usable by the net to the pin.
  • Total Gcell = Total number of Gcells in the design for each layer.
  • %Gcell Blocked = Percentage of Gcells in which all the routing tracks inside the Gcell are blocked by a large or small blockage. When all the tracks are blocked, a wire cannot pass through that Gcell for the specific layer.

777.jpg

该表中每一项的意义:

  • Max overcon = The highest difference between the needed number of routing tracks for a Gcell and the number of available tracks.
  • Total overcon = Percentage of Gcells whose needed number of tracks exceeds the number of tracks available.
  • Worst layer Gcell overcon rate = Percentage for the layer with the highest percentage of overcongested Gcells.
  • The worst congested Gcell overcon = the Gcell with the highest difference between the number of tracks needed and the number of tracks available. In the above example, the worst congested Gcell requires six more routing tracks than it has available.

除此之外, 最直接明了的方式是打开congestion map, 黄红白的区域就是congestion 严重的区域,通常如果congestion 在macro 周围多是floorplan 不合理造成的,如果congestion 在逻辑中间多是设计本身或综合没做好造成的。

888.jpg

作者:陌上风骑驴
原文链接:https://mp.weixin.qq.com/s/h6w2h3\_7e3-IOB5m3fgFsw
微信公众号:
陌上风.jpg

相关文章推荐

更多IC设计技术干货请关注IC设计技术专栏。
推荐阅读
关注数
11114
内容数
1220
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息