====== Add Reverse Blockage ====== Add tap cell not support add to a specified area. As a wrok around, we can block all other area except the blockage. The following script is used to create reverse hard blockages. proc remove_reverse_hard_blockage { } { remove_placement_blockage tap_blockage_* } proc add_reverse_hard_blockage { llx lly rtx rty } { set core_bbox [ get_attribute [get_core_area] bbox ] set core_llx [ lindex $core_bbox 0 0 ] set core_lly [ lindex $core_bbox 0 1 ] set core_rtx [ lindex $core_bbox 1 0 ] set core_rty [ lindex $core_bbox 1 1 ] create_placement_blockage \ -type hard \ -name tap_blockage_l \ -bbox "$core_llx $core_lly $llx $core_rty" create_placement_blockage \ -type hard \ -name tap_blockage_b \ -bbox "$core_llx $core_lly $core_rtx $lly" create_placement_blockage \ -type hard \ -name tap_blockage_r \ -bbox "$rtx $core_lly $core_rtx $core_rty" create_placement_blockage \ -type hard \ -name tap_blockage_t \ -bbox "$core_llx $rty $core_rtx $core_rty" }