Innovus用GUI菜单手工复制的inst命名有些奇怪。每次复制后,会在原inst名字后再加上"_copy_xxx"。如果复制好几次,就会一直加"_copy_xxx",这并不友好,如下图。
我们可以用命令把所有的"_copy_xxx" inst都取出来,进行重命名。方法如下:
set mycopiedinst [dbGet top.insts.name WELLTAP_*_copy_*]
set totalcopiedinst [llength $mycopiedinst]
for {set i 0} {$i < $totalcopiedinst} {incr i} {
set oldfullname [lindex $mycopiedinst $i]
if {[string match {*/*} $oldfullname]} {
# ...
} else {
set oldbasename $oldfullname
}
# ...
changeInstName -inst $oldfullname -newBaseName $newbasename
}