Innovus(common)筛选命令

1.用if语句根据cell name筛选insts

get_db insts -if { .name == .../*}
llength [get_db insts -if { .name == .../*}]
select_obj [get_db insts -if { .name == .../*}] #在gui中选择
get_db [ [get_db insts -if { .name == .../*}] .name ] #返回全称
get_db [ [get_db insts -if { .name == .../*}] .base_name ] #返回最后一级名称
get_db [ [get_db insts -if { .name == .../*}] .base_cell.name ] #返回cell类型

2.用filter_collection筛选cell的fanout

all_fanout -from A/* -only_cells 
filter_collection [[all_fanout -from A/* -only_cells] "full_name !~ .../* && full_name !~ .../*"] #不以...为名的fanout

3.用filter筛选cell的CK端

get_cells -hierarchical -filter "name =~ A*B"
sizeof_collection [get_cells -hierarchical -filter "name =~ A*B"] #计算数量
get_pins -of_objects [get_cells -hierarchical -filter "name =~ A*B"] -filter "name =~ CK"]#获取cell的CK
get_object_name [get_pins -of_objects [get_cells -hierarchical -filter "name =~ A*B"] -filter "name =~ CK"]] #将上面的CK集合转换为list,否则有编码

#########在CTS前给名为A的cell列表的CK端加insertion delay的方法###############
foreach ck_pin [get_object_name [get_pins -of_objects [get_cells -hierarchical -filter "name =~ A*B"] -filter "name =~ CK"] {
  eval_legacy "set_ccopt_property insertion_delay -pin $ck_pin 0.1"
} #做短100ps,做长为负数

4.用eco_delete-repeater删除与A相连的fanin

eco_delete_repeater -insts [get_object_name [filter_connection [all_fanin -to A -only_cells] "ref_name  =~ *nPmT*"]]
 #删除IP上的pin连接, 排除nPmT为其本身,IP不是nPmT,只有std cell为nPmT

########检查是否删除干净#########
set pin_name A
set net_name [[get_db pins $pin_name] .net_name]
get_db ports -if {.net.name == $net_name } #返回为1证明该cell只有与自身的联系

5.获取所有filler的base.cell.name

lsort -u [get_db [get_db insts -if {.base_name ==FILLER*}] .base_cell.name ]
lsort -u [get_db [get_db insts -if {.is_physical == true && base_cell_name != ENDCAP*}]  .base_cell.name ]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值