目录

SignalTap II简介:

SignalTap II使用:


SignalTap II简介:

SignalTap II 全称 SignalTap II Logic Analyzer,是第二代系统级调试工具,可以捕获和显示实时信号,是 一款功能强大且极具实用性的 FPGA 片上调试工具软件。SignalTap II 可以选择要捕获的信号、捕获的触发 方式以及捕获的数据样本深度,实时数据提供给工程师帮助debug。

传统的 FPGA 板级调试是由外接的逻辑分析仪连接到 FPGA 的控制管脚,然后将内部信号引出至引脚 IO 上,进行板级调试。这种方法的缺点是首先我们需要一个逻辑分析仪,而逻辑分析仪一般价格都比较昂贵,且对于需要测试几十个引脚的时候,选择使用外接的逻辑分析仪就比较繁琐了。SignalTap II 在线逻辑 分析仪克服了以上所有的缺点,其借用了传统逻辑分析仪的理念以及大部分的功能,将这些功能植入到 FPGA 的设计当中,编程后存放在电路板的目标器件中,使用 FPGA 资源来构成嵌入式逻辑分析仪。SignalTap II不需要将待测信号引出至I/O上,也不需要电路板走线或者探点,当然更不需要外部的逻辑分析仪的花费, 它集成在 Altera 公司提供的 FPGA 开发工具 Quartus II 软件中。


SignalTap II使用:

在 Quartus 软件界面的菜单栏中,点击【Tool】→【SignalTap II Logic Analyzer】操作界面如图

SignalTap 软件界面

接下来我们添加需要观察的信号,双击节点列表和触发条件的空白区域

我们在节点发现器中首先将 Filer 设置为 SignalTap II:pre-synthesis,再点击【List】按钮,此时 Nodes Found 一栏就会出现我们工程代码中的信号,然后我们将 counter、sys_rst_n 和 led 添加至右侧 Selected Nodes 一栏 中,添加方法是直接双击 Node Found 一栏的信号名,如果需要删除的话,可以直接双击 Selected Nodes 一 栏的信号名,接下来我们点击【OK】按钮,完成信号的添加

这里需要注意的是,如果我们发现添加的信号变成了红色,或者有些 reg 与 wire 定义的信号可以观察, 有些不可以,这是因为 reg 与 wire 被 Quartus 软件优化掉了,导致无法使用 SignalTap 观察。这里有两种方 法解决这个问题,第一种就是将 reg 与 wire 信号改成输出端口信号,但这种方式较为繁琐;第二种方法就 是在待观察的 wire 信号旁边加上/*synthesis keep*/;对于 reg 信号则加/*synthesis noprune*/,如下所示:

添加完信号之后,接下来我们在信号配置页面中,添加采样时钟,添加方法如图

在信号配置页面 Clock 一栏中,点击右侧的【...】按钮,点击后弹出的页面如图

这个页面和添加待观察信号的页面一样,我们将系统时钟(sys_clk)作为采样数据的时钟添加至 Selected Nodes 一栏中,然后点击【OK】按钮。接下来需要设置采样的深度,我们在信号配置页面 Sample depth 一 栏中将采样深度设置为 2K,这里采样深度的值越大,所能观察信号的时间范围也就越长,但同时所消耗的 FPGA RAM 资源也就越大,设置后的界面如图

接下来保存我们的分析文件,点击 SignalTap 软件菜单栏的【File】→【Save】,如图

我们将分析文件保存在工程所在路径 par 文件夹下,然后点击【保存】按钮。接下来会弹出是否将分析 文件添加至工程的页面,我们直接点击【YES】

我们返回到 Quartus 软件界面,在工程文件导航窗口可以看到 File 一栏多了一个 stp1.stp 文件,这个文 件就是我们刚才添加至工程中的分析文件,如图所示。接下来我们需要对工程进行全编译

工程编译完成后,首先将 USB Blaster 下载器一端连接电脑,另一端连接开发板的 JTAG 接口,然后连 接开发板的电源线,并打开电源开关。接下来我们重新回到 SignalTap 软件界面,我们在JTAG 链配置窗口 中点击【Setup】找到 USB-Blaster[USB-0],这时我们在点击【Scan Chain】则会出现如图

从该图中我们可以看出,SignalTap 软件已经成功识别到我们的下载器和开发板芯片(如果没有识别到, 请检查电脑和开发板是否通过 USB Blaster 连接完成,并且开发板电源已经打开)。接下来我们给开发板下 载程序,这里需要注意的是,SignalTap 软件也是可以给开发板下载程序的,同样也是在 JTAG 链配置页面 的 SOF Manager 一栏中,点击【...】按钮,选择工程所在路径 output_files 文件夹下的 flow_led.sof,选中后 点击 Open 按钮,如图

下载程序按钮下载程序,程序下载完后,点击 SignalTap 软件工具栏中的开始分析图标

上图中第一个图标表示只运行一次;第二个图标表示自动运行,也就是会一直刷新采样的波形;第三 个图标表示停止运行。我们点击第一个开始运行图标即可采集到数据

可以通过点击和右击波形图的方式进行放大和缩小,数据默认是以 16 进 制显示的,为了方便观察数据,我们将格式改成无符号的十进制。操作方式是选中 counter 信号名

右击选择【Bus Display Format】→【Unsigned Decimal】

SignalTap 软件支持通过设置触发方式来采集波形,在 SignalTap 信号列表 Setup 一栏中,右击 sys_rst_n 信号的 Trigger Conditions 方框内的图标。

Don‘t Care 表示不关心,即不设置触发方式;Low 表示低电平触发;Falling Edge 表示下 降沿触发;Rising Edge 表示上升沿触发;High 表示高电平触发;Either Edge 表示双沿触发。由于按键复位 信号在未按下是高电平,按下之后变为低电平,所以这里设置为下降沿触发方式,然后点击【Data】一栏, 返回到波形显示页面。

再次点击工具栏中的运行一次的工具按钮,SignalTap 软件界面如图

这时我们可以看到,由于 SignalTap 软件一直等不到复位按键按下,所以它也一直不能触发,直到我们 按下复位按键之后,它便能采样到下降沿,从而进行触发。这里我们按下复位按键。

这时我们可以看到,SignalTap 软件进行了触发,然后我们分析波形可以看到,当复位按键按下以后, counter 计数器变为 0,led 变为初始状态 1h(2‘b01),这和我们的代码是一致的。这里我们需要说明的是 SignalTap 支持的触发条件除电平、边沿等触发条件外,也可以对 counter 计数器设置具体的值来触发,大家 可以试一试。如果两个或者以上的信号都设置了触发条件,那么最终仅仅当这些条件同时满足时,采样才执行。

如果大家调试好后不想要 SignalTap 的调试文件跟着工程一 起编译了(SignalTap 的调试文件编译会占用大量资源)可以直接从工程中把.stp 文件删除,或者点击 Assignments 打开 setting 找到 SignalTap 的使能开关,把它关掉即可

verilog学习笔记- 3)SignalTap II 软件的使用相关推荐

  1. 【FPGA学习笔记】SignalTap II软件的使用

    一.SignalTap II软件简介 SignalTap II是第二代系统级调试工具,它集成在Altera公司提供的FPGA开发工具Quartus II软件中,可以捕获和显示实时信号,是一款功能强大且 ...

  2. 软件调试学习笔记(五)—— 软件断点内存断点

    软件调试学习笔记(五)-- 软件断点&内存断点 调试的本质 软件断点 软件断点的执行流程 分析INT 3执行流程 实验:处理软件断点 内存断点 内存断点的执行流程 实验:处理内存断点 调试的本 ...

  3. Verilog学习笔记-——Verilog模块例化

    Verilog学习笔记---Verilog模块例化 在一个模块中引用另一个模块,对其端口进行相关连接,叫做模块例化.模块例化建立了描述的层次.信号端口可以通过位置或名称关联,端口连接也必须遵循一些规则 ...

  4. 【Verilog学习笔记】D触发器(门级和行为级)+4位寄存器+一个完整的激励程序

    [Verilog学习笔记]D触发器(门级和行为级)+4位寄存器+一个完整的激励程序 首先展示以下完整的程序 `timescale 1ns / 1psmodule hardreg( input wire ...

  5. 汽车电子学习笔记—AutoSAR之基础软件层(BSW)

    汽车电子学习笔记-AutoSAR之基础软件层(BSW) - 1.概述 如之前autosar概述笔记中说明,BSW按照层级结构可以分为服务层.ECU抽象层.硬件抽象层(MCAL)和复杂驱动层(CDD). ...

  6. verilog学习笔记之一--(简化)华莱士(Wallace)树形乘法器设计--(原代码出自用芯学项目)

    verilog学习笔记之一–(简化)华莱士(Wallace)树形乘法器设计–(原代码出自用芯学项目) 学习准备1: 树形乘法器原理:参考<数字集成电路-电路.系统与设计(第二版)>–P43 ...

  7. Verilog学习笔记——入门

    Verilog学习笔记 01 基本逻辑门代码设计与仿真 Veriog基本逻辑门代码结构--以一位反相器为例 ModelSim仿真基本流程 02 组合逻辑代码设计与仿真--多路选择器 二选一逻辑--as ...

  8. Verilog学习笔记

    Verilog学习笔记 本文根据学习菜鸟教程下Verilog教程总结得到,主要记载一些硬件语言描述下的骚操作,仅供学习. 归约操作符 归约操作符包括:归约与(&),归约与非( ~ &) ...

  9. verilog学习笔记- 4)Modelsim 软件的安装、使用

    目录 Modelsim 的安装: 安装: Modelsim 的使用: 手动仿真: 建立 TestBench 仿真文件: 编译仿真文件: 配置仿真环境: 自动仿真: 选择 EDA 仿真工具: 编写 Te ...

最新文章

  1. 在Java SE中使用Hibernate处理数据
  2. #DDBMS#构建一个简单的docker网络
  3. aix java home_在AIX环境下安装IBM JDK 1.6的教程
  4. Cs Round#56 D Find Path Union
  5. Yii2 解决2006 MySQL server has gone away问题
  6. 数据结构 - 递归
  7. Android权限【大全】 .
  8. 利用SharePoint Designer开发可循环工作流
  9. python字典怎么添加值_python字典中如何添加键值对
  10. 【机器人】标记不友好评论,AI工作效果是人类的4.4倍
  11. win10+anaconda环境下pyqt5+qt tools+eric6.18安装及汉化过程
  12. 【wpa_supplicant】入门 eloop 机制
  13. 支付宝小程序: h5跳转 小程序
  14. built a JNCIS LAB系列:Chapter 3 IS-IS v1.0
  15. 笔记︱盘点实验科学的三种实验模型(A/B实验、因果推断、强化学习)
  16. 赫兹的单位换算_赫兹的换算(赫兹单位的换算怎么换)
  17. java获取西瓜视频的下载地址
  18. 阿里云将在2018云栖大会·重庆峰会上推出重磅物联网平台
  19. TTA(Test-Time Augmentation) 之Pytorch
  20. Qt设置按钮背景图片,点击不显示背景

热门文章

  1. python爬虫——scrapy的使用
  2. 数据中心液冷技术应用研究进展
  3. cf不能全屏win7的解决方法_Win7系统时间不能修改的解决方法
  4. 如何搭建直播平台?直播平台搭建需要注意什么?...
  5. 关于半马尔可夫的一个形象解释
  6. TUV莱茵专家应邀出席广州贸促会防疫用品出口线上培训
  7. 学习5g通信心得体会_5G学习笔记 - 运营商·运营人 - 通信人家园 - Powered by C114...
  8. android+屏幕色彩度,屏幕:PPI略低,节能技术影响色彩效果
  9. 2022熔化焊接与热切割考试题及答案
  10. 游戏测试用例设计实例