描述
获取单元列表。
语法
get_cells [-regexp] [-filter <arg>] [-hierarchical] [-of_objects <args>] [-quiet] [-verbose] [<patterns>...]
返回
单元对象。如果该命令失败,则不返回任何结果。
用法
名称 | 描述 |
---|---|
[-regexp ] |
模式为正则表达式 |
[-filter ] |
使用表达式筛选列表 |
[-hierarchical ] |
从分层单元的所有层级中获取单元 |
[-of_objects ] |
获取下列类型的“cell”对象:“hw_design port bus_intf net intf_net”。 |
[-quiet ] |
忽略命令错误 |
[-verbose ] |
命令执行期间暂挂消息限制 |
[<patterns>] | 根据模式匹配单元名称;默认设置:* |
类别
硬件
描述
获取当前设计中与指定搜索模式相匹配的 IP 实例对象列表。默认命令会返回设计中的所有 IP 实例的列表。
注释: 为改善存储器和性能, 命令会返回单一类型的对象(例如,单元、信号线或端口)的容器列表。您可向该列表添加新对象(例如,使用 lappend),但只能添加与列表中当前对象相同类型的对象。不允许向该列表添加不同类型的对象或字符串,否则会导致 Tcl 错误。
实参
-regexp
-(可选)指定以正则表达式方式编写搜索 <patterns>。使用该实参时,搜索 <patterns> 和 -filter
表达式都必须以正则表达式方式来编写。AMD 正则表达式 Tcl 命令始终锚定到搜索字符串开始位置。您可在搜索字符串开始或结束处添加 .*
来拓宽搜索范围,以包含子字符串。如需获取正则表达式语法相关帮助信息,请参阅该网页。
-filter
<args> -(可选)使用指定表达式来筛选结果列表。-filter
实参会根据对象的属性值来筛选返回的对象列表。您可使用 report_property
或 list_property
命令来查找对象上的属性。
使用引号将筛选搜索模式括起,可以避免对信号线、管脚或单元名称中可能出现的特殊字符或者其他属性进行转义。字符串匹配区分大小写,并且始终锚定到搜索字符串的开始和结束位置。在搜索字符串的开始或结束位置,可以使用通配符字符
*
来拓宽搜索范围,以包含属性值的子字符串。 注释: 如果在对象上存在指定的属性,并且指定的模式与该对象上的属性值相匹配,那么筛选会返回该对象。对于
*
通配符字符,它与含已定义的值 "" 的属性相匹配。为便于字符串比较,在筛选表达式中可使用下列特定运算符:equal
(==
)、not-equal
(!=
)、match
(=~
) 和 not-match
(!~
)。数字比较运算符 <
、>
、<=
和 >=
同样可供使用。通过 AND
和 OR
(&&
和 ||
)即可将多个筛选表达式连接在一起。
对于单元对象,您可使用“IP_TYPE”和“IP_NAME”等属性来筛选结果。以下命令可获取 IP_TYPE 为“PROCESSOR”且名称包含“ps7”的单元:
get_cells * -filter {IP_TYPE == PROCESSOR && NAME !~ "*ps7*"}
-hierarchical
-(可选)从分层单元的所有层级中获取单元。
-of_objects
<arg> -(可选)获取连接到指定管脚、时序路径、信号线、BEL、时钟区域、站点 (site) 或 DRC 违例对象的单元。
-quiet
-(可选)以静默方式执行命令,不返回来自该命令的任何消息。此命令还会返回 TCL_OK
,忽略执行期间遇到的所有错误。 注释: 启动该命令时,会返回命令行上遇到的任何错误。仅捕获该命令内部发生的错误。
-verbose
-(可选)暂时改写任何消息限制,并返回来自该命令的所有消息。注释: 可使用
set_msg_config
命令定义消息限制。<patterns> -(可选)将单元与指定模式相匹配。默认模式为通配符 `*`,用于获取工程内的所有单元的列表。您可指定多个模式,根据不同搜索条件来查找多个单元。
注释: 您必须使用括号 {} 或引号 "" 将多个搜索模式括起,表示此列表是单个元素。
示例
以下示例会返回处理器实例列表:
hsi::get_cells -filter { IP_TYPE == "PROCESSOR" }
此示例可获取已连接到 get_cells 所返回的列表的第二个对象的属性和属性值列表:
common::report_property [lindex [get_cells] 1]
注释: 如果未找到与该模式匹配的单元,则将显示警告。