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 plac