ICC 中有关阻塞(congestion)的设定

ICC 中有关阻塞(congestion)的设定  

   

自动布线最根本的任务是完成布线。在完成布线的前提下,才能考虑到其他方面的优化。虽然ICC提供了强大的布线工具,但在种种条件的约束下,依然会造成布线的失败。我在实际工作中,学习和参考了相关资料,总结了一些方法供大家参考。  

   

参数设定:  

placer_max_cell_density_threshold -1  

placer_enable_high_effort_congestion false  

placer_enable_enhanced_route false  

physopt_ultra_high_area_effort false  

   

以上参数通过set  set_app_var 设定。通过参数字面的意思即可以了解到其用意。可以看到,解决阻塞的方法无非就是降低单元密度(使用率),具体表现在:密度限制、多次阻塞分析、提供更准确的阻塞图、允许删除更多的单元。  

   

此外,set_paramenter还提供了更多变量的设定。过分的时序约束也会造成单元面积的增加。  

   

命令设定:  

使用封装好的命令进行设定更为安全,也可以得到更多的帮助与解释。  

set_pnet_option 限制power rail 下面是否能摆放标准单元。  

   

set_congestion_option 设定最大使用率,其中-layer 选项已被 routing guide 所取代。  

   

set_area_recovery_option 已被 set_congestion_option 所取代。  

   

set_keepout_margin 通常用来为hard macro增加类似 padding 的设定,以阻止标准单元的靠近。实际上,将其应用与标准单元,可以得到意外的效果。  

   

手工设定:  

Placement blockage  

Routing guide  

Bound / plan group/ voltage area  

限制区域或将电路限制在某块区域,以达到减少模块单元密度、理清模块间布线的目的。  

   

辅助设定:  

RP (Relative Placement) 用于理清 data path ,从而达到减少布线的目的。  

Partition 附带使用率的设定,目前还不知道如何更好的进行运用。  

   

优化命令:  

placement with -congestion_driven  

以减少阻塞为目的的计算方式,进行摆放。  

   

VFP (Virtual Flat Placement) with –virtual_IPO 允许单元宽松的摆放,而非紧紧的靠在一起增加布线的难度。  

   

refine_placement 对摆放进行单独的优化。  

Commands with –congestion option: place_opt, psyn_opt, route_opt 优化时调用阻塞优化。  

   

参考数值:  

route_global / route_zrt_global / route_fp_proto –congestion_map_only  

report_congestion   

生成布线阻塞图,提供阻塞依据,产生阻塞信息以评估布线可行性。  

   

Both Dirs: Overflow = 11194 Max = 5 GRCs = 11924 (0.47%)  

max > 10 OR GRCs % > 2% 布线失败的可能性较大。  

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值