今天我们要介绍的时序分析基本概念是collection。代表的是一个集合,类似指针。在数字后端工具中,我们可以通过命令get_*来寻找想要的Object。这些get_*命令返回的就是collection。不同类型的object对应不同的get命令。
比如说:如何得到设计中所有名字中含有_clk的net名字
innovus》 get_nets *_clk*
{ p_aps_clk_data0 p_aps_clk_data1 p_aps_clk_data2 }
0xd6b679
如果你直接去puts抓取到的东西,返回的是一个指针的名字,而不是你想要抓取的物体的名字
innovus》 puts [get_nets p_aps_clk_data0]
0xd6b679
如果想要得到物体的名字,可以在collection前面使用get_object_name的命令
innovus》 puts [get_object_name [get_nets p_aps_clk_data0]]
p_aps_clk_data0
我们也可以对collection进行很多操作,比如:
append_to_collection 添加到一个collection中
remove_from_collection 从某个collection中删除具体一项
compare_collections 比较两个collection内容是否一样
copy_collection 复制一个新的collection
filter_collection 过滤某个collection
sizeof_collection 统计某个collection内的数量
当我们想抓取和某个collection相关的objects时,可以采用-of_objects的选项,如:
抓取net p_aps_clk所连接的pins,可以采用以下命令
innovus 》 get_pins -of_objects [get_nets p_aps_clk]
{CLK_181 CLK_182 }
编辑:jq
全部0条评论
快来发表一下你的评论吧 !