尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Spyglass:官方Hands-on Training(一)
相关阅读Spyglasshttps://blog.csdn.net/weixin_45791458/category_12828934.html?spm1001.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%257Drequest_id5fb1922ab549e363d5c551d14bebd31abiz_id1utm_mediumdistribute.pc_search_result.none-task-download-2~download~first_rank_ecpm_v1~rank_v31_ecpm-30-85585058-null-null.269^v2^controlutm_termSpyglass%20Get%20Startspm1018.2226.3001.4451.31本教程提供了在多个设计阶段中运行Spyglass的操作指导旨在通过实操获得对Spyglass设置及其结果调试/分析的深入理解涵盖多个动手练习每个练习之间是相互依赖的需要按顺序完成。实验概述图1展示了实验使用设计的模块框图。该设计包含一个USB控制器和一个音频解码器核心(IMA_ADPCM)使用Wishbone总线协议这些模块通过Wishbone总线矩阵(WB_Connmax)相互连接然后再通过Wishbone-to-AHB桥接模块(wb2ahb)连接至AMBA AHB总线。顺带一提该设计是一个混合语言RTL设计即同时使用Verilog和VHDL。图1 设计框图实验目录的内容教程目录包含以下子目录rtl与设计相关的RTL文件spyglass实验的工作目录所有Spyglass的运行将在该目录下进行doc包含实验文档即本手册tools实验中会使用到的其他脚本实验一、Spyglass概述实验一的目标是快速开始使用Spyglass在其中运行分析并查看结果。由于该案例将用于后续的多个实验建议将实验一创建的项目文件保存以供以后使用。实验一中为了简便使用图形用户界面(GUI)创建一个项目文件作为起点之后的实验将继续使用该项目文件以批处理方式(Batch)进行操作。将设计读入Spyglass1、进入名为spyglass的目录。% cd Training_labs/spyglass2、使用以下命令启动Spyglass图形界面(Spyglass Explorer)。% spyglass由于Spyglass是Synopsys收购自Atrenta最初使用的GUI是Atrenta Console但目前已经被新的Spyglass Explorer替代不再进行任何更新。感兴趣的读者可以通过添加-guiconsole选项启动Atrenta Console。3、此时你将看到以下的主界面窗口。图1 Spyglass Explorer4、点击窗口左栏的Add File(s)打开名为Add File(s)的窗口在该窗口中添加以下来自rtl目录的两个RTL文件并点击OK由于没有显式创建项目这将导致在spyglass目录创建一个默认项目目录spyglass-1如图2所示。rtl/ahb2wb.v rtl/wb_subsystem.v图2 Add File(s)窗口5、接着点击窗口左栏的Set Options然后设置顶层设计模块为wb_subsystem如图3所示。图3 设置顶层模块6、现在选择Design Setup阶段下的Read Design勾选Synthesize Netlist选项框并点击Run Design Read以开始设计读取这其实是启动了一个名为Design_Read的目标顺带一提在sg_shell中直接执行compile_design命令等价于勾选Synthesize Netlist选项框的设计读取直接执行link_design等价于不勾选Synthesize Netlist选项框的设计读取。一旦运行完成就可以查看Spyglass报告的设计读取错误如图4所示。图4 Design_Read的结果注意图4在Violations窗口选择Group By Severity可以看出有三个来自ErrorAnalyzeBBox规则的错误Spyglass没有找到这些模块的定义因此将其标记为黑盒(black box)。左边的实例窗口(Instances)使用不同颜色的文件形状标记状态黄色已综合的最底层实例。黑色黑盒实例。绿色未综合的最底层实例。使用Spyglass进行分析1、选择Goal Setup阶段并点击lint_rtl目标使其绿色高亮所选目标的用途可以在右边的Help窗口中查看用于检查设计中的基本连接性问题例如输入悬空、位宽不匹配等如图5所示。为了简便实验一只勾选这一个目标如果有多个目标被勾选它们将会顺序执行顺带一提lint_rtl目标是来自/Guideware/latest/block/rtl_handoff方法的lint子方法Guideware是Spyglass提供的一些预设的检查参考。图5 选择目标2、点击Run Goal(s)一旦运行完成工具将自动跳转至Analyze Results阶段还是在Violations窗口选择Group By Severity可以看出除了之前的三个来自ErrorAnalyzeBBox规则的错误多了三个InferLatch规则的错误双击选中第一个规则相关的RTL代码行将在上方的HDL查看器中被红色高亮显示如图6所示。图6 Lint的结果可以看出RTL代码中包含了不完整的if语句这确实是导致Latch产生的原因同时注意到三个InferLatch规则的左边有NAND门符号这代表可以查看用于调试的原理图。可以使用快捷键I或者点击Violations窗口上的符号查看原理图如图7所示。图7 原理图可以看出hready信号综合成了一个锁存器如果设计意图就是需要hready信号相对于选通信号stb_o被锁存那么可以对该规则进行屏蔽(waive)如果确实需要修复该问题可以点击RTL代码行并按下键盘上的快捷键e或右键选择Open Editor选项Spyglass会使用默认文本编辑器(Vim)打开RTL文件并将光标定位到该行如果想更改默认文本编辑器可以看下面的博客。Spyglass更改默认编辑器https://chenzhang.blog.csdn.net/article/details/1439472063、保存项目文件点击File选项栏下的Save Project然后输入wb_subsystem作为文件名并点击OKSpyglass将在spyglass目录创建一个项目目录wb_subsystem该项目目录不是复制而是引用了默认项目目录spyglass-1中的内容和项目文件wb_subsystem.prj最后点击File选项栏下的Exit退出。4、使用文本编辑器打开项目文件wb_subsystem.prj内容如下所示。#!SPYGLASS_PROJECT_FILE #!VERSION 3.0 # ------------------------------------------------------------------- # This is a software generated project file. Manual edits to this file could be lost during the next save operation # Copyright Synopsys Inc. # Last Updated By: SpyGlass SpyGlass_vW-2024.09-SP1 # Last Updated On Wed Apr 30 17:35:59 2025 # # ------------------------------------------------------------------- ##Data Import Section read_file -type verilog ../rtl/ahb2wb.v #BackRefFile:/home/zhangchen/Training_labs/spyglass/wb_subsystem.prj #LineNumber:13 read_file -type verilog ../rtl/wb_subsystem.v #BackRefFile:/home/zhangchen/Training_labs/spyglass/wb_subsystem.prj #LineNumber:15 ##Common Options Section set_option projectwdir . set_option language_mode mixed set_option designread_enable_synthesis yes set_option designread_disable_flatten no set_option top wb_subsystem set_option active_methodology $SPYGLASS_HOME/GuideWare/latest/block/rtl_handoff ##Goal Setup Section current_methodology $SPYGLASS_HOME/GuideWare/latest/block/rtl_handoff可以看出其中的Data Import Section包括了一些文件读取的命令而Common Options Section包括了工作目录、语言模式、顶层设计和方法的设置。在实验二中需要继续向项目文件中添加额外的命令和选项。实验二Spyglass官方Hands-on Training二https://chenzhang.blog.csdn.net/article/details/147673966
RELATED

相关推荐

判断文件夹内第一个文件是视频还是图片,是视频就展示视频,是图片就展示图片

判断文件夹内第一个文件是视频还是图片,是视频就展示视频,是图片就展示图片

判断文件夹内第一个文件是视频还是图片,是视频就展示视频,是图片就展示图片 using RenderHeads.Media.AVProVideo; using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine; using UnityEngine.UI;public cla…

📅 2026/11/6 3:13:17
VC Spyglass:Lint官方Hands-on Training(二)

VC Spyglass:Lint官方Hands-on Training(二)

相关阅读 VC Spyglasshttps://blog.csdn.net/weixin_45791458/category_12828932.html?spm1001.2014.3001.5482 本文是对VC Spyglass Lint Hands-on Training中第二个实验的翻译(有删改),Lab文件可以从以下链接获取。 VC Spyglass Lint Han…

📅 2026/11/6 3:13:17
Struts 2学习笔记:OGNL

Struts 2学习笔记:OGNL

OGNL OGNL全称:Object-Graph Navigation Language(对象 图 导航 语言) 工作在视图层,用来取代页面中的Java脚本简化数据的访问操作 与JSP2.0中内置的EL相比它们同属于表达式语言: 用于进行数据访问,但是OGNL的功能更为强大. 提供了很多日所不…

📅 2026/11/6 3:08:16
MORE NEWS

更多资讯

📰

JavaWeb购物车源码解析:Servlet+JSP+Session实现与二次开发指南

简介:这份JavaWeb简易购物车源代码面向具备Java基础、正在学习Web开发的学生与初级开发者,通过一个可运行的在线购物车系统串联Servlet与JSP、HTTP请求处理、Session会话管理、JDBC数据库交互、MVC分层设计以及JSTL与EL表达式等核心知识点,帮…

📰

JavaWeb简易购物车实战:Servlet+JSP+JDBC完整实现与避坑指南

简介:这份JavaWeb简易购物车源代码面向正在学习JavaWeb开发、希望打通完整业务流程的初学者与进阶者,围绕在线购物车这一典型场景,串联Servlet与JSP、HTTP请求处理、Session会话管理、JDBC数据库交互、MVC分层设计以及JSTL与EL表达式等核心知…

📰

PowerBuilder 11.5 安装配置全攻略:从环境准备到避坑验证

简介:PowerBuilder 11.5 的完整安装包,面向需要搭建 PB 经典开发环境的学习者与维护旧项目的开发者,可用于快速还原一套可用的 PowerBuilder 11.5 开发工具链,解决新机器上缺少安装介质、版本不匹配等问题。压缩包为 rar 格式&…

📰

零基础用HTML+CSS+JS做贪吃蛇游戏

简介:本资源是一份面向前端初学者的HTML贪吃蛇游戏实战项目,聚焦HTML结构搭建、CSS样式布局与JavaScript核心逻辑协同开发,帮助学习者掌握网页交互应用开发的基本流程与关键技巧。压缩包共3个文件(1个HTML主程序文件、1张背景图JP…

📰

C#学籍管理系统源码:Access+WinForms毕设实战指南

简介:这是一套面向计算机专业本科生的C#毕业设计实战源码,聚焦学生学籍管理这一典型校园信息化场景,帮助学习者掌握Windows桌面应用开发、Access数据库集成与基础权限控制等核心技能。资源包含108个文件,主体为28个C#业务逻辑文件…

📰

OPC DA客户端工具包:绕过DCOM直连本地/远程服务器

简介:OPCClientToolKit C/C库是一套面向工业自动化开发者的轻量级OPC DA客户端实现工具包,专为需要快速集成OPC通信功能的C/C工程师设计,支持本地与远程OPC服务器连接,适用于SCADA系统对接、设备数据采集等嵌入式或工控软件开发场…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬