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

Spyglass:官方Hands-on Training(三)

相关阅读

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


        本文是对Spyglass Hands-on Training中第三个实验的翻译(有删改),Lab文件可以从以下链接获取。Spyglass Hands-on Traininghttps://download.csdn.net/download/qq_43699362/85585058?ops_request_misc=%257B%2522request%255Fid%2522%253A%25225fb1922ab549e363d5c551d14bebd31a%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fdownload.%2522%257D&request_id=5fb1922ab549e363d5c551d14bebd31a&biz_id=1&utm_medium=distribute.pc_search_result.none-task-download-2~download~first_rank_ecpm_v1~rank_v31_ecpm-30-85585058-null-null.269^v2^control&utm_term=Spyglass%20Get%20Start&spm=1018.2226.3001.4451.31


实验三、在批处理模式下设置、运行和查看结果

        实验三的目标是使用实验二中保存的项目文件wb_subsystem.prj在批处理模式下设置、运行和查看结果。

1、使用以下命令获取可用目标列表(不包括Design_Read目标)。

% spyglass -project wb_subsystem.prj -showgoals

        可以随时使用上面的命令查看目标状态总结,如下所示。

====================================================================================================================================
Goal Status Summary
====================================================================================================================================
Goal                                            Setup Status        Run Status     Results by Severity( Fatal / Errors / Warnings / Info )
====================================================================================================================================
lint/lint_rtl                                   Setup Optional      Run Complete   ( 0 / 7 / 9 / 4 )
lint/lint_rtl_enhanced                          Setup Optional      Not Run Yet
lint/lint_turbo_rtl                             Setup Optional      Not Run Yet
lint/lint_functional_rtl                        Setup Optional      Not Run Yet
lint/lint_abstract                              Setup Optional      Not Run Yet
adv_lint/adv_lint_struct                        Setup Optional      Not Run Yet
adv_lint/adv_lint_verify                        Setup Optional      Not Run Yet
constraints/sdc_audit                           Setup Optional      Not Run Yet
constraints/sdc_check                           Setup Recommended   Not Run Yet
constraints/sdc_exception_struct*               Setup Recommended   Not Run Yet
constraints/sdc_redundancy                      Setup Recommended   Not Run Yet
constraints/sdc_abstract                        Setup Optional      Not Run Yet
txv_verification/fp_verification                Setup Optional      Not Run Yet
txv_verification/mcp_verification               Setup Optional      Not Run Yet
txv_verification/fp_mcp_verification            Setup Optional      Not Run Yet
txv_verification/txv_run_audit                  Setup Optional      Not Run Yet
txv_verification/txv_glitch                     Setup Optional      Not Run Yet
txv_verification/txv_rtl_gen                    Setup Optional      Not Run Yet
txv_verification/txv_sdc_migration              Setup Optional      Not Run Yet
cdc/cdc_setup_check                             Setup Optional      Not Run Yet
cdc/clock_reset_integrity                       Setup Optional      Not Run Yet
cdc/cdc_verify_struct                           Setup Optional      Not Run Yet
cdc/cdc_verify*                                 Setup Optional      Not Run Yet
rdc/rdc_verify_struct                           Setup Recommended   Not Run Yet
cdc/cdc_abstract*                               Setup Optional      Not Run Yet
dft/dft_scan_ready                              Setup Recommended   Not Run Yet
dft/dft_best_practice                           Setup Optional      Not Run Yet
dft/dft_bist_ready                              Setup Optional      Not Run Yet
dft/dft_dsm_best_practice                       Setup Optional      Not Run Yet
dft/dft_dsm_random_resistance                   Setup Optional      Not Run Yet
dft/dft_abstract                                Setup Optional      Not Run Yet
power/power_audit                               Setup Recommended   Not Run Yet
power/power_activity_check                      Setup Recommended   Not Run Yet
power/power_gen_pesd                            Setup Optional      Not Run Yet
power/power_calibration                         Setup Optional      Not Run Yet
power/power_est_average                         Setup Recommended   Not Run Yet
power/power_est_profiling                       Setup Optional      Not Run Yet
power/power_cge_profiling                       Setup Optional      Not Run Yet
power/power_cge_profiling_est                   Setup Optional      Not Run Yet
power/power_reduction_adv                       Setup Recommended   Not Run Yet
power/power_mem_reduction                       Setup Recommended   Not Run Yet
power/power_guidance                            Setup Optional      Not Run Yet
power_verification/power_verif_audit            Setup Optional      Not Run Yet
power_verification/power_verif_noninstr         Setup Recommended   Not Run Yet
power_verification/power_verif_instr_rtl        Setup Recommended   Not Run Yet
power_verification/power_verif_abstract         Setup Recommended   Not Run Yet
physical_aware_power/power_est_average          Setup Optional      Not Run Yet
rtl2netlist/rtl2netlist_migration               Setup Optional      Not Run Yet
connectivity_verify/connectivity_verification   Setup Optional      Not Run Yet
mandatory                                       -                   -              Regression Goal
optional                                        -                   -              Regression Goal
all                                             -                   -              Regression Goal
physical_aware_power_est                        -                   -              Regression Goal
====================================================================================================================================

        总结中给出了当前方法(Current Methodology)中的目标名(Goal),是否建议运行前进行设置(Setup Status)、运行状态(Run Status)和运行结果(Results by Severity)。可以看出,此时lint_rtl目标的状态还是保持在实验一时,而未列出的Design_Read目标的所有错误在实验二中已经得到解决。

2、使用以下命令重新运行lint_rtl目标。

% spyglass -project wb_subsystem.prj -goals lint/lint_rtl -batch

        所选择的目标应该属于当前方法,一般来说项目文件中的当前方法(使用current methodology命令设置)与当前激活方法(使用set_option active_methodology命令设置)是统一的(由SpyGlass自动调整),但如果用户自行修改了项目文件,则可能出现两者不统一的情况。

        如果两者不统一,项目文件中的set_option active_methodology命令的优先级高于current methodology命令(即打开项目后的当前方法会被设置为当前激活方法),但如果在sg_shell中使用current methodology命令或图形用户界面(GUI)设置了当前方法,则当前激活方法也会由SpyGlass自动调整为当前方法。

3、一旦lint_rtl目标运行完成,可以在终端中查看报告,如下所示。

---------------------------------------------------------------------------------------------------
Results Summary:
---------------------------------------------------------------------------------------------------Goal Run           :      lint/lint_rtlTop Module         :      wb_subsystem
---------------------------------------------------------------------------------------------------Reports Directory: /home/zhangchen/Training_labs/spyglass/wb_subsystem/consolidated_reports/wb_subsystem_lint_lint_rtl/ SpyGlass LogFile: /home/zhangchen/Training_labs/spyglass/wb_subsystem/wb_subsystem/lint/lint_rtl/spyglass.log Standard Reports: moresimple.rpt          no_msg_reporting_rules.rpt       HTML report:/home/zhangchen/Training_labs/spyglass/wb_subsystem/html_reports/goals_summary.htmlTechnology Reports:  <Not Available>---------------------------------------------------------------------------------------------------Goal Violation Summary:Waived   Messages:                      0 Errors,      0 Warnings,      0 InfosReported Messages:         0 Fatals,    5 Errors,    188 Warnings,      5 Infos
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

4、可以在以下路径查看lint_rtl目标的报告。

spyglass/wb_subsystem/wb_subsystem/lint/lint_rtl/spyglass_reports/moresimple.rpt
################################################################################
#
# This file has been generated by SpyGlass:
#     Report Name      : moresimple
#     Report Created by: zhangchen
#     Report Created on:  Tue May  6 17:30:54 2025
#     Working Directory: /home/zhangchen/Training_labs/spyglass
#     SpyGlass Version : SpyGlass_vW-2024.09-SP1
#     Policy Name      : SpyGlass(SpyGlass_vW-2024.09-SP1)
#                        erc(SpyGlass_vW-2024.09-SP1)
#                        latch(SpyGlass_vW-2024.09-SP1)
#                        lint(SpyGlass_vW-2024.09-SP1)
#                        morelint(SpyGlass_vW-2024.09-SP1)
#                        openmore(SpyGlass_vW-2024.09-SP1)
#                        simulation(SpyGlass_vW-2024.09-SP1)
#                        starc(SpyGlass_vW-2024.09-SP1)
#                        starc2005(SpyGlass_vW-2024.09-SP1)
#
#     Total Number of Generated Messages :        198
#     Number of Waived Messages          :          0
#     Number of Reported Messages        :        198
#     Number of Overlimit Messages       :          0
#
#
################################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MORESIMPLE REPORT:############### BuiltIn -> RuleGroup=Command-line read ###############
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ID       Rule                     Alias               Severity    File    Line    Wt    Message
======================================================================================
[3]      HdlLibDuCheck_01         HdlLibDuCheck_01    Warning     N.A.    0       10    To run RTLDU/RTLDULIST/RTLALLDULIST/LEXICAL rules on precompiled designs set option 'hdllibdu'
[0]      checkCMD_unset_option    UnsetOption         Warning     N.A.    0       10    Option/Parameter 'enable_save_restore': Failed to check out license feature 'save_restore'.SpyGlass would disable 'save-restore' feature
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++############### BuiltIn -> RuleGroup=Design Read ###############
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ID       Rule                    Alias                   Severity            File                                                                                    Line    Wt      Message
======================================================================================
[2]      DetectTopDesignUnits    DetectTopDesignUnits    Info                ../rtl/wb_subsystem.v                                                                   11      2       Module wb_subsystem is a top level design unit
[124]    SYNTH_5159                                      SynthesisWarning    /home/zhangchen/Training_labs/rtl/ima_adpcm/IMA_ADPCM_top.vhd                           226     1000    ima_adpcm_top -> Report Statements are not supported for synthesis
[1]      ElabSummary             ElabSummary             Info                ./wb_subsystem/wb_subsystem/lint/lint_rtl/spyglass_reports/SpyGlass/elab_summary.rpt    0       2       Please refer file './wb_subsystem/wb_subsystem/lint/lint_rtl/spyglass_reports/SpyGlass/elab_summary.rpt' for elab summary report
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++############### Non-BuiltIn -> Goal=lint/lint_rtl ###############
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ID       Rule                 Alias                 Severity    File                                                                                     Line    Wt    Message
======================================================================================
[13A]    InferLatch           (OpenMORE 5.5.2.1)    Error       ../rtl/ahb2wb.v                                                                          173     5     Latch inferred for signal 'hready' in module 'ahb2wb'
[13C]    InferLatch           (OpenMORE 5.5.2.1)    Error       ../rtl/ahb2wb.v                                                                          187     5     Latch inferred for signal 'dat_o[31:0]' in module 'ahb2wb'
[13B]    InferLatch           (OpenMORE 5.5.2.1)    Error       ../rtl/ahb2wb.v                                                                          189     5     Latch inferred for signal 'hrdata[31:0]' in module 'ahb2wb'
[13D]    UndrivenInTerm-ML                          Error       ../rtl/wb_subsystem.v                                                                    93      10    Detected undriven input terminal wb_subsystem.ahb2wb_u0.dat_i[31:0]
[13E]    W415                                       Error       ../rtl/wb_subsystem.v                                                                    100     10    Signal.......

        上面的报告展示了如InferLatch、UndrivenInTerm-ML等常见错误,实验四将解决其中的错误和部分警告。

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

相关文章:

  • 数据中台架构设计
  • c++类【发展】
  • 【全面解析】Poco C++ Libraries 模块详解与使用指南
  • UE5 使用插件进行Audio2face和UE5的实时链接并实时输出嘴型
  • 多模态训练与微调
  • 突破v0.dev对话限制的两种方法
  • k8s node 报IPVS no destination available
  • 19.第二阶段x64游戏实战-vector容器
  • 二叉树的最大深度(简单)
  • 标题:基于自适应阈值与K-means聚类的图像行列排序与拼接处理
  • LintCode第484题-交换数组两个元素,第9题-Fizz Buzz 问题,第46题-主元素,第50题数组剔除元素后的乘积
  • 超表面加工流程
  • 从零开始了解数据采集(二十二)——塑胶制品行业趋势分析案例
  • (leetcode) 力扣100 6.三数之和 (双指针)
  • 卷积神经网络的简单实战项目
  • 大模型——GraphRAG基于知识图谱+大模型技术构建的AI知识库系统
  • 怎样用 esProc 实现多数据库表的数据合并运算
  • 深入理解 Linux 阻塞IO与Socket数据结构
  • 《脑机接口与AI:如何让瘫痪患者用“意念”实现创作?》
  • 在 PyTorch 中借助 GloVe 词嵌入完成情感分析
  • 【Vue】组件自定义事件 TodoList 自定义事件数据传输
  • Spring Boot3 实现定时任务 每10分钟执行一次,同时要解决分布式的问题 区分不同场景
  • 【coze】意图识别(售前售后问题、搜索引擎去广告)
  • 机器视觉框架源码——解读3(常用的资源和样式)
  • ShardingJdbc-水平分表
  • LaTex 模板 section 前小节符号去不掉 解决方法
  • MySQL数据库:全方位剖析与实战案例
  • Android Intent 页面跳转与数据回传示例(附完整源码)
  • Gradle -> Gradle的清除缓存指令
  • jenkins访问端口调整成80端口