浅记ICC2 placement

ICC2 将placement分为五个阶段,通过place_opt -from -to控制run到placement的哪个阶段,对于要控制placement不同阶段的优化行为可做精细操作,通过ICC2的workshop可知

主要分为五个阶段:

1、initial place:initial place执行buffer tree aware driven的corase placement和scan chain reorder,由options place_opt.initial_place.buffering aware控制 (默认为true)。在2018.06版本之前,纯粹是wire length driven,这一步做的是coarse placement,std cell会产生大量的overlap且不与row对齐等vio,不做legalize

2、initial drc:remove synthesis做的buffer trees,重新根据PR工具的engine插入buffer执行HFNS(high fanout net synthesis)和DRV修复,initial drc可以调用global routing让buffer tree长得更好

通过以下命令调用:

set_app_options -name place_opt.initial_drc.global_routed_based -value true

3、initial opto:legalize前的快速timing优化,banking、debanking等

4、final place:基于global routing评估congestion driven placement和timing driven placement,以及对std cell legalize,最终完成后所有cell都和site row对齐并且不存在overlap

5、final opto:基于final placement的全面优化,会对cell进行重新放置

默认情况下,除了final_place阶段的拥塞估计和移除之外,Place_opt始终使用virtual routing。


Innovus placement

innovus做placement的engine叫Giga opt engine

1、Global placement = coarse placement,place运行时首先remove综合做的buffer tree(atomic cmd:deletBufferTree)由于综合时候考量因素较少,摆放这些buffer没有必要,PR工具engine可以将buffer tree插得更好,工具默认所有std cell都在core中间,一步步往外扩,每做一个iteration都会把std cell往外扩一点,最后所有iteration global placement完成扩散至整个区域,做完后产生大量overlap且cell不与site row对齐

2、scan reorder:scan chain reorder

3、Detail placement:legalization(atomic cmd:refinePlace)

4、congestion Repair:调用early global route engine,评估overflow,修正局部violation,只关心基本spacing等一些rule,不care大部分DRC(atomic cmd:congRepair)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值