ICC拥塞怎么解决
时间:10-02
整理:3721RD
点击:
小弟在做一个模块的PR,遇到如下的问题,望热心人多多帮忙:
模块有30多的macro, 在floorplan 阶段摆好后,跑了一下place—opt,用gui 看congestion,很可观。然后就布电源网络,用的是65nm工艺。电源网络是布的间距相等的VDD VSS 的pg strap,水平和垂直方向的,遍布整个模块。问题出来了,怎么再看拥塞时,情况相当严重,hot 几乎遍布整个block,而且都是在strap 和rail 的链接处。本人经验有限,有点束手无策了,大家看看问题是出在哪了?是floorplan的问题呢 还是电源网络的问题啊?解决的办法?
模块有30多的macro, 在floorplan 阶段摆好后,跑了一下place—opt,用gui 看congestion,很可观。然后就布电源网络,用的是65nm工艺。电源网络是布的间距相等的VDD VSS 的pg strap,水平和垂直方向的,遍布整个模块。问题出来了,怎么再看拥塞时,情况相当严重,hot 几乎遍布整个block,而且都是在strap 和rail 的链接处。本人经验有限,有点束手无策了,大家看看问题是出在哪了?是floorplan的问题呢 还是电源网络的问题啊?解决的办法?
可能原因:因为rail是METAL1,可能你的strap用的是较高层的金属,它与rail连接时通过了所有的VIA,可能这就阻挡了route,造成了congestion问题。可以设置strap的金属属性。set_pnet_options -comp/part {METALX}。你place_opt试试看。
试了一下你说的,不过-partial 时的拥塞更严重了,如果-complete 就报错了。
请问一下,这是不是说明问题出在floorplan 了呢?
你的工艺是几层,你的strap用的第几层?
你应该先布电源线再做place吧
觉得应该是先布电源,再place
楼上正解
block的摆放不合理,合理的划分高频和低频block,优先高频bock的考虑周围预先留的区域能够放单元,与起高频module尽能放在一起,目的减少高拼模块的net长度,考虑足够的布线通道,低频可放在比较远的地方和芯片的四周,各个block保留一定区域,以便布线和放单元,floorplan不合理,最容易导致部分区域拥塞严整,而有的区域确象大沙漠一样,这样floorplan需要重新调整.
8层,电源布线在7和8层
不全啊
打电源是在Place_opt之前做,摆完floorplan就应该打电源,然后placement优化
因为做完placement
因为做完placement优化后工具会实验布线,此时才会评估是否存在congestion。如果在此以后再打电源,之前做的placement优化必须由得来一遍才行,这次优化可能能解决congestion问题,但不一定,
一个block内部也有高频低频之分?