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

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。

http://www.xdnf.cn/news/5586.html

相关文章:

  • 理想闯入智驾“无人区”
  • 湖北理元理律师事务所债务优化体系拆解:科学规划如何实现“还款不降质”
  • Lua再学习
  • 拓扑学在天体物理学的应用:python 示例
  • HTTP 响应状态码总结
  • k8s的节点是否能直接 curl Service 名称
  • I2C通讯
  • 基于.Net Core开发的GraphQL开源项目
  • Vue.js 全局导航守卫:深度解析与应用
  • 力扣热题100之合并两个有序链表
  • 空战数据链基础术语解析:从概念到实战应用的入门指南
  • 八股文-js篇
  • 深度学习入门:从神经网络基础到前向传播全面解析
  • 前端性能指标及优化策略——从加载、渲染和交互阶段分别解读详解并以Webpack+Vue项目为例进行解读
  • C++自学笔记 makefile
  • DEEPPOLAR:通过深度学习发明非线性大核极坐标码(2)
  • YOLOv2框架深度解析
  • AJAX 使用 和 HTTP
  • MySQL----高级查询
  • 【PDF】使用Adobe Acrobat dc添加水印和加密
  • Linux服务器常用运维工具/命令
  • 网络调优的策略有哪些
  • 实战项目1(02)
  • 拍电影为什么常用绿幕?认识色度键控(Chroma Key)技术
  • MCP在游戏开发中的应用:从模型预测到智能决策
  • 软考 系统架构设计师系列知识点之杂项集萃(56)
  • 第八讲 | stack和queue的使用及其模拟实现
  • MySQL数据库迁移SQL语句指南
  • 数组的常用方法
  • LeetCode 1550.存在连续三个奇数的数组:遍历