这里会显示出您选择的修订版和当前版本之间的差别。
— |
vlsi:icc:reverse-blockage [2011/07/12 04:59] (当前版本) |
||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== 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. | ||
+ | |||
+ | |||
+ | <code tcl> | ||
+ | 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" | ||
+ | } | ||
+ | </code> | ||