Spyglass使用教程——实验一

一、读取设计文件

首先进入工作目录,启动spyglass,本实验工作目录为lab1。

cd lab1
spyglass &

之后可以看到如下界面
在这里插入图片描述
然后点击“Add File(s)”, 此时会打开添加文件窗口。左侧窗口用来切换目录和选择文件,右侧显示已经选择的文件。左侧选择文件后点击中间的“Add”即可完成文件的添加,点击“OK”退出当前窗口。

​ 本实验中需要读取的文件为:

../rtl/ahb2wb.v
../rtl/wb_subsystem.v

读取文件后的界面如下图
在这里插入图片描述
通过命令行的方式,一样可以达到添加设计文件的目的,如下

read_file -type verilog {../rtl/ahb2wb.v ../rtl/wb_subsystem.v}

-type 有如下选项,可通过man read_file查看

在这里插入图片描述

二、设置顶层模块与编译设计

添加完文件后点击“Set Options”,然后选择列表中选择“Top Level Design Unit”,Value值为顶层模块名(此处顶层模块为wb_subsystem)。之后点击“Read Design”,再在左侧点击“Run Design Read”开始进行设计文件编译和分析,在读取完成后会在下方窗口列出问题。如下图所示:

在这里插入图片描述
左侧instance下文件不同颜色标识意义为:绿色表示该模块可进行分析,但不可进行综合;黑色表示该模块作为黑盒子存在;白色表示该模块可综合。需要注意,只是读取设计并不会完成综合,因此也不会创建相关的原理图。因此,为了使用spyglass,首先应该解决黑盒子问题,为此需要选择复选框Synthesize Netlist然后重新运行Design Read。

三、静态分析

使用spyglass进行分析不要求完整的工程文件。
在窗口上方中间点击Goal Setup ,然后在主窗口区勾选Lint_rtl(在lint中点击+即可见),如下图。虽然可以一次选择多个目标设置,但分析过程是顺序执行的,只要前面的检查通过了才会进行后面的检查。
在这里插入图片描述
然后点击“Run Goal(s) ”,当运行完成,会自动弹出“Analyze Result“窗口。
在这里插入图片描述
得到分析结果后,首先查看Lint分析结果。首先展开lint/lint_rtl文件夹消息。错误信息以红色显示,警告以橙色显示,信息以绿色显示。选择并展开inferLatch Error文件夹。双击第一条违规消息。此时与错误相关的代码会在RTL代码窗口中显示出来,如下所示。
在这里插入图片描述
此时来对该问题进行分析。由消息可知,由于设计问题生成了非期待的锁存器。可以看到违规消息左侧有一个
在这里插入图片描述
在这里插入图片描述,这个意思是该违规消息包含一些原理图方面信息。通过点击
在这里插入图片描述
可以打开相关的逻辑示意图:
在这里插入图片描述
在本次例子中,是因为hready信号在没有else的if语句中被赋值。如果这些Latch是故意的,那通过屏蔽对该处的规则检查即可。如果需要修改代码,可以在代码窗口中点击有问题的代码行,使得光标落于该行,然后点击e即可将打开默认的编辑器进行代码编辑。编辑完后要重新运行Goal。

参考:https://blog.csdn.net/qq_30843953/article/details/109629618

  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值