当前位置: 首页 > news >正文

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_handoffcurrent_goal lint/lint_rtl -alltop
set_parameter check_parameter nocurrent_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_reportscurrent_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_handoffcurrent_goal lint/lint_rtl -alltop
set_parameter check_parameter nocurrent_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_handoffcurrent_goal lint/lint_rtl -alltop
set_parameter check_parameter nocurrent_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_handoffcurrent_goal lint/lint_rtl -alltop
set_parameter check_parameter nocurrent_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_handoffcurrent_goal lint/lint_rtl
set_parameter check_parameter nocurrent_goal lint/lint_rtl -top comparator
set_parameter check_parameter yes

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

相关文章:

  • 【project】--数据挖掘
  • Docker 部署 - Crawl4AI 文档 (v0.5.x)
  • 【TI MSPM0】CCS工程管理
  • 【LwIP源码学习6】UDP部分源码分析
  • 研修室智慧化升级实践:线上预约+智能门锁的融合方案
  • 高级数据结构:线段树
  • Problem B: 面向对象综合题2
  • LLM框架
  • 【Diffusion】在华为云ModelArts上运行MindSpore扩散模型教程
  • 基于SpringBoot的抽奖系统测试报告
  • 11、参数化三维产品设计组件 - /设计与仿真组件/parametric-3d-product-design
  • Linux-TCP套接字编程简易实践:实现EchoServer与远程命令执行及自定义协议(反)序列化
  • 基于物联网的智能家居监控系统设计和实现(源码+论文+部署讲解等)
  • OpenWrt开发第8篇:树莓派开发板做无线接入点
  • 计算机网络笔记(二十一)——4.3IP层转发分组的过程
  • 小土堆pytorch--torchvision中的数据集的使用dataloader的使用
  • 在python中,为什么要引入事件循环这个概念?
  • 第二十三节:图像金字塔- 图像金字塔应用 (图像融合)
  • 封装和分用(网络原理)
  • 【常用算法:排序篇】4.高效堆排序:线性建堆法与蚂蚁问题的降维打击
  • 广东省中医院脾胃病科大科主任张北平病逝,年仅52岁
  • 上海能源科技发展有限公司原董事长李海瑜一审获刑13年
  • 人大新闻教育70年丨16759门课程里的时代密码
  • 石家庄推动城市能级与民生福祉并进
  • 人民时评:莫让“假俗乱”讲解侵蚀“文博热”
  • 综艺还有怎样的新可能?挖掘小众文化领域