2021年7月22日 星期四

如何避免 tap cell 距離 macro 太近

在 ICC 加入 tap cell 時,有時會發生 tap cell 距離 macro 太近,產生 DRC error 的問題。可能是 tap cell 的 nwell 和 macro 內部的 nwell 距離太近。也有可能是 tap cell 的 metal 和 macro 內的 metal 距離太近等。我們可以用 create_placement_blockage 在 macro 周圍設置一個禁止 placement 的區域,就可以避免 tap cell 離 macro 太近。以下的指令是在 macro 周圍 1um 的範圍內設置 placement blockage。

foreach_in_collection z $MACRO_LIST {
    set px1 [expr [lindex [lindex [get_attribute $z bbox] 0] 0]-1]
    set py1 [expr [lindex [lindex [get_attribute $z bbox] 0] 1]-1]
    set px2 [expr [lindex [lindex [get_attribute $z bbox] 1] 0]+1]
    set py2 [expr [lindex [lindex [get_attribute $z bbox] 1] 1]+1]
    create_placement_blockage -type hard -bbox [list $px1 $py1 $px2 $py2]
}

沒有留言:

張貼留言