area-based的placement blockage有四种,hard、hard macro、soft,partial。hard 属性限制所有standard cell、hard macro放进hard blockage中;hard macro仅限制hard macro(如sram);soft属性限制placement的init_place阶段(也叫coarse placement)把standard cell和hard macro放进soft blockage区域,但是后续的legalization和optimization和CTS阶段都可以放cell进去;partial属性限制coarse place阶段放入cell的密度,legalization和optimization不受partial blockage的影响。
1 Defining a Placement Blockage
通过create_placement_blockage创建一个placement blockage需要指定创建区域(-boundary )和类型(-type)。
create_placement_blockage -boundary {120 75 230 200} -type soft
set_app_options -name place.coarse.enable_enhanced_soft_blockages -value true
## soft blockage默认只影响coarse place