用户工具

站点工具


vlsi:icc:macro-blockage

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

vlsi:icc:macro-blockage [2011/04/20 06:24] (当前版本)
行 1: 行 1:
 +====== Add Macro Placement & Route Blockage ======
  
 +===== Scripts =====
 +
 +<code tcl>
 +###  NOTE : WARNING
 +###
 +###  add_macro_cover takes two arguments. ​ The first is the hard blockage distance
 +###  around the macro. ​ The second is the amount the PG route guide is INSET from
 +###  that blockage -- a number picked to be slightly larger than half the standard
 +###  cell PG rail width. ​ The reason for the inset is to prevent a situation where
 +###  placement rows wind up without a PG rail.
 +
 +###  d = blockage border [one row default], e is half M1 pwr rail width + margin
 +proc add_macro_cover { d e } {
 +  set x 0
 +  foreach_in_collection c [get_cells -hier -filter "​is_hard_macro==true"​] {
 +    set coord [get_attribute $c bbox]
 +    set low_x [expr [lindex [lindex $coord 0] 0] - $d]
 +    set low_y [expr [lindex [lindex $coord 0] 1] - $d]
 +    set high_x [expr [lindex [lindex $coord 1] 0] + $d]
 +    set high_y [expr [lindex [lindex $coord 1] 1] + $d]
 +    create_placement_blockage -bbox "​$low_x $low_y $high_x $high_y"​ -type hard -name McBlockH_$x
 +    set newCord [list [list [expr $low_x ​ + $e ] [expr $low_y ​ + $e ]] [list [expr $high_x - $e ] [expr $high_y - $e ]] ]
 +    create_route_guide -name McBlockR_$x -no_preroute_layers {M1 M2 M3 M4} -coordinate $newCord -no_snap
 +  incr x
 +  }
 +}
 +
 +add_macro_cover 1.8 0.14
 +</​code>​
vlsi/icc/macro-blockage.txt · 最后更改: 2011/04/20 06:24 (外部编辑)