当前位置: 首页 > 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。

http://www.dtcms.com/a/184198.html

相关文章:

  • 【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.高效堆排序:线性建堆法与蚂蚁问题的降维打击
  • Kafka的基本概念和Dokcer中部署Kafka
  • B 端电商数据接口开发:1688 商品详情页实时数据抓取技术解析
  • 组合模式(Composite Pattern)详解
  • Docker拉取ubuntu22.04镜像使用ROS2 humble及仿真工具可视化进行导航
  • [案例四] 智能填写属性工具(支持装配组件还有建模实体属性的批量创建、编辑)
  • NoSQL数据库技术与应用复习总结【看到最后】
  • MySQL为什么选择B+树
  • MCP:重塑AI交互的通用协议,成为智能应用的基础设施
  • JUC并发编程(上)
  • Qt—多线程基础