相关阅读
Spyglasshttps://blog.csdn.net/weixin_45791458/category_12828934.html?spm=1001.2014.3001.5482
前言
在使用Spyglass进行分析时,会产生多种报告用于调试(这在不使用GUI时很有用),例如moresimple.rpt、elab_summary.rpt等。
本文将详细说明不同情况下的报告结构在项目目录中的结构。在Spyglass中运行目标(Goal)后,它会创建以下两种并行的目录结构:
- 包含报告文件链接的目录结构
- 包含实际报告文件的汇总目录结构
与链接目录结构相比,汇总目录结构更简单和紧凑。例如,当运行多个目标后,链接目录结构可能会嵌套得很深,用户需要在目录层级中查找报告,为了解决这个问题,Spyglass提供了汇总目录结构,它是链接目录结构的扁平化版本。
未设置顶层模块的Design_Read目标
当运行Design_Read目标后,Spyglass在以下目录结构下生成实际报告文件。
<project-working-directory>/<project-name>/consolidated_report/Design_Read/
以下目录结构包含指向实际报告文件的链接。
<project-working-directory>/<project-name>/Design_Read/spyglass_reports/
设置顶层模块的Design_Read目标
可以使用GUI界面或者top选项设置顶层模块,如果指定了顶层模块(使用current_goal命令时指定-top选项也可),运行Design_Read目标后,Spyglass在以下目录结构下生成实际报告文件。
<project-working-directory>/<project-name>/consolidated_report/<top-module>_Design_Read/
以下目录结构包含指向实际报告文件的链接。
<project-working-directory>/<project-name>/<top-module>/Design_Read/spyglass_reports/
未设置顶层模块的一般目标(未指定Scenario)
当运行一般目标后,Spyglass在以下目录结构下生成实际报告文件。
<project-working-directory>/<project-name>/consolidated_report/<goal-path-name>/
例如对于未设置顶层模块的lint/lint_rtl目标,Spyglass在以下目录结构下生成实际报告文件。
<project-working-directory>/<project-name>/consolidated_report/lint_lint_rtl/
以下目录结构包含指向实际报告文件的链接,其中的...表示多级目录。
<project-working-directory>/<project-name>/<goal-path...>/spyglass_reports/
例如对于未设置顶层模块的lint/lint_rtl目标,Spyglass在以下目录结构下生成指向实际报告文件的链接。
<project-working-directory>/<project-name>/lint/lint_rtl/spyglass_reports/
设置顶层模块的一般目标(未指定Scenario)
可以使用GUI界面或者top选项设置顶层模块,如果指定了顶层模块(使用current_goal命令时指定-top选项也可),运行一般目标后,Spyglass在以下目录结构下生成实际报告文件。
<project-working-directory>/<project-name>/consolidated_report/<top-module>_<goal-path-name>/
例如对于设置顶层模块为top的lint/lint_rtl目标,Spyglass在以下目录结构下生成实际报告文件。
<project-working-directory>/<project-name>/consolidated_report/top_lint_lint_rtl
以下目录结构包含指向实际报告文件的链接,其中的...表示多级目录。
<project-working-directory>/<project-name>/<top-module>/<goal-path...>/spyglass_reports/
例如对于设置顶层模块为top的lint/lint_rtl目标,Spyglass在以下目录结构下生成指向实际报告文件的链接。
<project-working-directory>/<project-name>/top/lint/lint_rtl/spyglass_reports/
未设置顶层模块的一般目标(指定Scenario)
如果指定了场景(使用current_goal命令时指定-scenario选项),运行一般目标后,Spyglass在以下目录结构下生成实际报告文件。
<project-working-directory>/<project-name>/consolidated_report/<goal-path-name>@<scenario-name>/
例如对于指定场景为S1的lint/lint_rtl目标,Spyglass在以下目录结构下生成实际报告文件。
<project-working-directory>/<project-name>/consolidated_report/lint_lint_rtl@S1/
以下目录结构包含指向实际报告文件的链接,其中的...表示多级目录。
<project-working-directory>/<project-name>/<goal-path...>/<scenario-name>/spyglass_reports/
例如对于指定场景为S1的lint/lint_rtl目标,Spyglass在以下目录结构下生成指向实际报告文件的链接。
<project-working-directory>/<project-name>/lint/lint_rtl/S1/spyglass_reports/
设置顶层模块的一般目标(指定Scenario)
可以使用GUI界面或者top选项设置顶层模块,如果指定了顶层模块(使用current_goal命令时指定-top选项也可),又指定了场景(使用current_goal命令时指定-scenario选项),运行一般目标后,Spyglass在以下目录结构下生成实际报告文件。
<project-working-directory>/<project-name>/consolidated_report/<top-module>_<goal-path-name>@<scenario-name>/
例如对于设置顶层模块为top,指定场景为S1的lint/lint_rtl目标,Spyglass在以下目录结构下生成实际报告文件。
<project-working-directory>/<project-name>/consolidated_report/top_lint_lint_rtl@S1/
以下目录结构包含指向实际报告文件的链接,其中的...表示多级目录。
<project-working-directory>/<project-name>/<top-module>/<goal-path...>/<scenario-name>/spyglass_reports/
例如对于设置顶层模块为top,指定场景为S1的lint/lint_rtl目标,Spyglass在以下目录结构下生成指向实际报告文件的链接。
<project-working-directory>/<project-name>/top/lint/lint_rtl/S1/spyglass_reports/
写在最后
实际报告文件生成的目录可以使用consolidate_reportdir选项进行修改。