在encounter中有无判定一个Inst是否存在的命令?
时间:10-02
整理:3721RD
点击:
如题:比如我想在一个module中的所有inst添加Pad,用的如下脚本:
proc place_area_expand {name} {
foreach_in_collection inst [get_cells $name/*] {
set inst_name [get_object_name $inst]
specifyInstPad $inst_name 2
}
}
问题来了,这个module下还有sub module。这样script遇到sub module 的名字时,会将这个sub module当做inst来处理,结果很自然,找不到这个inst,那么该怎么处理呢?
proc place_area_expand {name} {
foreach_in_collection inst [get_cells $name/*] {
set inst_name [get_object_name $inst]
specifyInstPad $inst_name 2
}
}
问题来了,这个module下还有sub module。这样script遇到sub module 的名字时,会将这个sub module当做inst来处理,结果很自然,找不到这个inst,那么该怎么处理呢?
proc place_area_expand {HInstName} {
set InstPtr [dbGetHInstByName $HInstName
foreach tmp [dbGet $InstPtr.allInsts.name] {
if {![dbIsHInstHInst $tmp]} {
specifyInstPad $tmp 2 }}}
你试试我这个
最好用edi的 db** 来编程,
synopsis的 get_xxx tcl在edi里面不见得好用
setPlaceMode -modulePadding moduleName 2
多谢提醒
恩刚发现这样的确更简单
