SDC命令详解:使用report_cell命令进行报告

📅 2026/7/31 18:33:58 👁️ 阅读次数 📝 编程学习
SDC命令详解:使用report_cell命令进行报告

相关阅读

SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm=1001.2014.3001.5482


目录

指定单元

指定不换行

指定连接信息

指定物理信息

指定详细信息

指定物理仅有单元

指定小数精度

报告中的属性含义

Multicorner-Multimode支持


report_cell命令可以报告设计中的单元信息,包括单元面积、单元属性、单元连接关系等(其实它并不是一个SDC命令,归为此类只是为了方便管理)。

本文针对Design Compiler,但该命令同样存在于PrimeTime、IC Compiler等工具中,它们大致相同,略有差别。report_cell命令的BNF范式(有关BNF范式,可以参考以往文章)为:

report_cell [cells] [-nosplit] [-connections] [-physical] [-verbose] [-only_physical] [-significant_digits digits] //注:该命令的选项和参数顺序任意

指定单元

可以使用cells参数指定要报告的单元(可层次),如图1所示。如果未指定,将列出当前实例中的所有单元(非层次),如图2所示。默认报告的包括单元实例名、单元模块名、库名、面积、属性。对于列表而言,如果有多于一个对象,需要使用引号或大括号包围(对使用集合无效),关于列表和集合的区别,可以参考下面的博客。

SDC命令详解:使用集合(Collection)而不是字符串(String)/列表(List)作为命令参数https://chenzhang.blog.csdn.net/article/details/147144571

report_cell FA0/FA0

图1 某个单元的报告

report_cell

图2 当前实例的所有单元的报告

指定不换行

-nosplit选项用于指定报告不会自动换行,即使某个字段的信息超出了列的固定宽度。设计中的大部分信息都被组织成定宽的列(即每一列的宽度是固定的),如果某个字段的内容过长超出当前列的宽度,默认情况下,后面的字段会在下一行显示,并对齐到相应的列位置,如图3所示。如果使用了-nosplit选项,则后面的字段无法对齐,如图4所示,这样做的目的是方便软件从报告中提取信息。

report_cell FA0/FA*

图3 未指定-nosplit选项的报告

report_cell FA0/FA* -nosplit

图4 指定-nosplit选项的报告

指定连接信息

-connections选项用于指定报告单元所有引脚及其连接的网络,如图5所示。这改变了默认的报告信息。

report_cell FA0 -connections

图5 某个单元的连接信息的报告

指定物理信息

-physical选项用于指定报告单元的物理位置和方向,DC不支持该选项,可以在ICC中使用。

指定详细信息

-verbose选项只能与-connections选项或-physical选项一起使用,使用它会让报告更加详细,如图6所示。

report_cell FA0 -connections -verbose

图6 某个单元的连接信息的详细报告

指定物理仅有单元

-only_physical选项用于指定报告物理仅有单元(填充单元等)。

指定小数精度

-significant_digits选项用于指定单元信息的小数精度(可设置为0-13,默认为6)。

报告中的标记含义

报告中的单元标记有多种,它们的含义如下表所示(对于Design Compiler)。

标记名含义属性
b该单元为黑盒,或者说unresolvedis_black_box为true
bo该单元允许边界优化boundary_optimization属性为true
BO该单元对应的设计允许边界优化boundary_optimization属性为true
c该单元是控制逻辑-
d该单元被设置了dont_touch属性dont_touch属性为true
h该单元是层次化的,即不是叶单元is_hierarchical属性为true
n该单元非纯组合逻辑is_sequential属性为true
r该单元可以被移除并使用更小的单元实现功能-
mo该单元是map_only的,不会在综合过程中进行逻辑级优化map_only属性为true
s该单元是可综合的操作符is_oper属性为true
S该单元是DesignWare组件-
u该单元包含未映射的逻辑is_unmapped为true
p该单元为参数化设计-
cg该单元为门控时钟单元(或其一部分)clock_gating_logic属性为true

Multicorner-Multimode支持

该命令仅对当前场景生效,换句话说只能报告当前场景中的单元信息。

关于场景的更多介绍,可以参考下面的博客。

Design Compiler:多工艺角和多工作模式(Multicorner-Multimode, MCMM)https://blog.csdn.net/weixin_45791458/article/details/149578771?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522e3267dcc7cc26380435f53994dc8b9b8%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=e3267dcc7cc26380435f53994dc8b9b8&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-149578771-null-null.nonecase&utm_term=MCMM&spm=1018.2226.3001.4450