1.关于Cell Count 
①leaf cell = sequential cell + combination cell
②利用sizeof_collection命令去抓取hier_cell、leaf_cell以及当前设计的总cell数。
③A cell is an instance of a netlist logic object, which can either be a leaf-cell or a hierarchical cell. A leaf-cell is a primitive, or a primitive macro, with no further logic detail in the netlist. A hierarchical cell is a module or block that contains one or more additional levels of logic,and eventually concludes at leaf-cells.
2.full_name和ref_name
左侧 | 右侧 |
hierarchy/instance | module |
full_name | ref_name |
3.get_*命令
3.1.basic commands get_*
参数
-hierarchical
逐层搜索与当前instance相关的cells
-filter expression
根据表达式对collection进行筛选;筛选基于expression的attributes
-quiet
关闭没有匹配结果时的警告和错误信息;不会关闭语法警告
-regexp
利用正则表达式进行匹配;注:与-exact选项互斥
-nocase
与-regexp一起使用时使得大小写不敏感
-of_objects objects
创建一个连接到当前object的所有cells的collection。在这种情况下,该objects可以是
pin、pin collection、net、net collection、library cell、library cell collection。
注意:该参数和patterns参数互斥(只能同时使用其中一个);且该参数不可以和
-hierarchical参数同时使用。
pattern
利用通配符进行模糊匹配;或配合-regexp进行正则匹配。
举个例子解释-of的用法:
3.2.get_clock_relationship
命令:get_clock_relationship {clkA clkB}
4.all_fanout命令
创建一个collection,包含指定objects的扇出pin、port或cell。
参数
-from from_list
声明一个起点list,包括pin、port或net。如果同时声明了-to_list参数,则会返回一个同时
满足是起点fanout、终点fanin的collection。
-through through_list
声明一个经过list。如果声明了-to_list,返回结果同上。
-to to_list
声明一个终点list。
-clock_tree
使用设计中所有clock source pin、port作为from_list中的objects。注意:如果没有clock
或者clock没有source,该命令会返回空collection;该参数限制了objects只能在clock网
络中选取;该参数与-from_list互斥。
-endpoints_only
仅在结果中包含timing endpoints。
-only_cells
仅在from_list的扇出结果中包含cells。
-flat
all_fanout主要有两种模式:hierarchical模式(默认)和flat模式。在hierarchical模式
下,结果中仅包含在当前objects同层级下的objects;在flat模式下,结果中仅有根据pin
hierarchical搜索到的non-leaf objects。
-quiet
消除没有找到扇出结果时的警告消息。
-step_into_hierarchy
只能在hierarchical模式下使用这个参数,与-levels或-pin_levels配合。不使用这个参数
时,命令仅会在同层级搜索;使用该参数后,命令会往下层级搜索一定深度。
-levels level_count
命令会在遍历一定level_count后停止。
-pin_levels pin_count
命令会在遍历一定pin_count后停止。
-trace_arcs timing | enabled | all
声明遍历时combinational arcs的类型:
timing(默认):仅允许trace有效timing arc
enabled:允许trace所有enabled arcs,舍弃case analysis value
all:允许trace所有combinational arcs,不管case analysis或是arc disabling
-continue_trace pin_types
声明允许遍历只所有timing的endpoint,且指定pin_types有且仅有:
generated_clock_source:通过生成时钟的source继续追踪。
5.tcl之当前文件路径
命令:
set file_path [ file dirname [ file normalize [ info script ] ] ]
或者:
set file_path [ file dirname [ info script ] ]
解析如下:
① info script:如果当前有脚本文件正在Tcl解释器中执行,则返回最内层处于激活状态的脚本文件名(即当前文件的绝对路径);否则将返回一个空的字符串。
链接:TCL - info命令_Augusdi的专栏-CSDN博客
②file normalize $file_path:返回追加当前文件路径的绝对路径。
③file dirname $file_path:返回路径中最后一个分隔符(’/’)之前的内容(即只包含路径,去除掉文件名)。
链接:03 tcl提取文件路径操作_风翼世纪的博客-CSDN博客
6.补充
set USER [ sh whoami ]
返回当前用户名