■tap cell
tap に関しては
ここ。
●ソース
============================================================
./scripts/addTapArray.tcl
============================================================
# remove
geNameSelect
formDefault name_select
setFormField name_select name .*TAP.*
setFormField name_select pattern_match 1
setFormField name_select type cell
setFormField name_select select "members of object"
formOK name_select
geDelete
formYes dialog_box
# run before auto place
axSetIntParam "apl" "tapCellUniformPlacement" 1
switch $library_type {
"normal" {
set tapName "SC23YUZTAP021"
}
"nm2pg" {
set tapName "SC23NMYUZTAP021"
}
"pg" {
set tapName "SC23NMYUZTAP021"
}
}
axgArrayTapCell
formDefault array_tap_cell
setFormField array_tap_cell tap_master_name $tapName
setFormField array_tap_cell pattern Offset
setFormField array_tap_cell tap_cell_distance_in_array $tapPitch
setFormField array_tap_cell offset_distance $tapOffset
setToggleField array_tap_cell no_tap_under_mx m1 1
setToggleField array_tap_cell no_tap_under_mx m2 1
#setFormField array_tap_cell connect_to_power_net_(optional) $vddNet
#setFormField array_tap_cell connect_to_ground_net_(optional) $vssNet
formOK array_tap_cell
# insert both side of row
axAddEndCap [geGetEditCell] $tapName 0 0 0 1
色々と余計な設定も入っているので分からないのとかは調べてもらいますが、
- "tapCellUniformPlacement" 1
tap をまっすぐ置け
- axgArrayTapCell
tap 置くっす
- axAddEndCap [geGetEditCell] $tapName 0 0 0 1
マクロ端とかにも tap 置けよ。 0 0 0 1 の部分変えると色々細かく出来るよ。
となってます。
tap を挿入するコマンドは他にもあるので、調べて見てください。
また、何か他のセルが配置されていると axgArrayTapCell は tap を配置出来
なくなるので注意して下さい。
なので、axAddEndCap の後に axgArrayTapCell は出来ません。
レイアウトによって axgArrayTapCell を複数回実行して tap を入れたくなったとしても、
何か工夫しないと出来ません。
結局 tap は filler と同じ扱いなので axgAddFillerCell/axgAddFillerCellByArea 等でも
強引に挿入できるので覚えておいても損はないと思います。
tap の入れ方は電源供給方法にも関係し、結構奥が深いので
ここ
にも目を通しておくと良いかも。