Spyglass:在batch/shell模式下运行目标的顶层是什么?

相关阅读

Spyglasshttps://blog.csdn.net/weixin_45791458/category_12828934.html?spm=1001.2014.3001.5482


除了可以在图形用户界面(GUI)中运行目标外,使用Batch模式或Shell模式也可以运行目标,如下面的命令所示。

复制代码
% spyglass -project test.prj -batch -goal lint/lint_rtl

但是有一点确是不明确的,尽管运行的目标是明确的,但这个目标属于哪个顶层模块,也就是以什么模块作为顶层模块?首先来看下面的项目文件中的节选。

复制代码
##Goal Setup Section
current_methodology $SPYGLASS_HOME/GuideWare/latest/block/rtl_handoff

current_goal lint/lint_rtl -alltop
set_parameter check_parameter no

current_goal lint/lint_rtl -top comparator
set_parameter check_parameter yes

可以看到,两条set_parameter命令分别设置了同一个目标的参数,但它们属于不同的顶层模块,-alltop选项表示将以Spyglass自动识别未被例化过的模块作为顶层模块,而-top选项则显式指定了一个顶层模块。

它们是不一样的,观察执行current_goal命令时的终端输出可以发现区别,如下所示。

复制代码
current_goal lint/lint_rtl -alltop
输出:current_goal: info: loading goal `lint/lint_rtl' (in progress)

current_goal lint/lint_rtl -top comparator
输出:current_goal: info: loading goal `lint/lint_rtl' with top `comparator' (in progress)

通过目标运行后结果报告的保存位置也可以发现区别,如下所示。

复制代码
current_goal lint/lint_rtl -alltop
报告保存位置:<project-working-directory>/<project-name>/lint/lint_rtl/spyglass_reports

current_goal lint/lint_rtl -top comparator
报告保存位置:<project-working-directory>/<project-name>/comparator/lint/lint_rtl/spyglass_reports

既然如此,那它们的参数设置也是独立的,对于属于alltop的目标来说check_parameter选项被设置为了no,而对于属于comparator模块的目标来说check_parameter参数被设置为了yes。

那么最开始的命令,究竟是运行了哪个目标?这取决于项目文件中是否使用set_option top命令进行了设置,下面给出了几种情况并对其进行分析。

情况一

复制代码
##Common Options Section

##Goal Setup Section
current_methodology $SPYGLASS_HOME/GuideWare/latest/block/rtl_handoff

current_goal lint/lint_rtl -alltop
set_parameter check_parameter no

current_goal lint/lint_rtl -top comparator
set_parameter check_parameter yes

在情况一中,没有使用set_option top命令进行设置,在这种情况下,属于alltop的目标被运行,该目标的check_parameter参数为no。

情况二

复制代码
##Common Options Section
set_option top comparator

##Goal Setup Section
current_methodology $SPYGLASS_HOME/GuideWare/latest/block/rtl_handoff

current_goal lint/lint_rtl -alltop
set_parameter check_parameter no

current_goal lint/lint_rtl -top comparator
set_parameter check_parameter yes

在情况二中,使用了set_option top命令进行设置,在这种情况下,属于comparator模块的目标被运行,该目标的check_parameter参数为yes。

情况三

复制代码
##Common Options Section
set_option top comparator

##Goal Setup Section
current_methodology $SPYGLASS_HOME/GuideWare/latest/block/rtl_handoff

current_goal lint/lint_rtl -alltop
set_parameter check_parameter no

current_goal lint/lint_rtl
set_parameter check_parameter yes

在情况三中,使用了set_option top命令进行设置,在这种情况下,属于comparator模块的目标被运行,但是第二条current_goal命令没有指定-alltop选项或-top选项,在这种情况下,默认使用-top选项并使用set_option top命令设置的模块作为顶层模块,因此该目标的check_parameter参数为yes。

情况四

复制代码
##Common Options Section

##Goal Setup Section
current_methodology $SPYGLASS_HOME/GuideWare/latest/block/rtl_handoff

current_goal lint/lint_rtl
set_parameter check_parameter no

current_goal lint/lint_rtl -top comparator
set_parameter check_parameter yes

在情况四中,没有使用set_option top命令进行设置,在这种情况下,属于alltop的目标被运行,但是第一条current_goal命令没有指定-alltop选项或-top选项,在这种情况下,默认使用-alltop选项,因此该目标的check_parameter参数为no。

相关推荐
来生硬件工程师8 小时前
【硬件笔记】负载是如何烧MOS的?
笔记·嵌入式硬件·硬件架构·硬件工程·硬件设计
码界奇点15 小时前
豆包新模型矩阵与PromptPilot构建企业级AI开发的体系化解决方案
人工智能·线性代数·ai·语言模型·矩阵·硬件工程
陌夏微秋3 天前
FPGA硬件设计4 ZYNQ外围-以太网-PL/PS
stm32·单片机·嵌入式硬件·fpga开发·硬件架构·硬件工程·信息与通信
先做个垃圾出来………3 天前
显存与内存
硬件工程
逼子格4 天前
【Proteus仿真】蜂鸣器控制系列仿真——蜂鸣器控制/蜂鸣器播放音乐/蜂鸣器播放多种音乐/蜂鸣器和LED组成报警装置
单片机·嵌入式硬件·proteus·硬件工程·蜂鸣器·流水灯
XH183226561936 天前
关于PXIe工控机的网速问题XH-PXIe7313万兆网卡
硬件工程
国科安芯12 天前
高速CANFD收发器ASM1042在割草机器人轮毂电机通信系统中的适配性研究
网络·单片机·嵌入式硬件·性能优化·机器人·硬件工程
逼子格12 天前
【Protues仿真】基于AT89C52单片机的数码管驱动事例
单片机·嵌入式硬件·硬件工程·硬件工程师·protues·数码管·电路仿真
智能物联实验室15 天前
如何低门槛自制Zigbee 3.0温湿度计?涂鸦上新开发包,开箱即用、完全开源
嵌入式硬件·开源·硬件工程
逼子格15 天前
【Protues仿真】基于AT89C52单片机的舵机和直流电机控制
单片机·嵌入式硬件·硬件工程·硬件工程师·电机驱动·l298n·直流电机控制