10-SDRAM控制器的计划—— signaltap 调试

打印 上一主题 下一主题

主题 1013|帖子 1013|积分 3039

Signal Tap 概述▷▷▷


Signal Tap Logic Analyzer是Intel Quartus Prime计划软件中自带的新一代系统级调试工具,它可以在FPGA计划中采集和显示实时的信号活动。当计划在FPGA上全速运行时,无需额外的I/O引脚即可检查正常器件操纵期间内部信号的活动。

Signal Tap Logic Analyzer具有可扩展性,易于利用,支持以下功能:



  • 无需外部装备,通过探测内部信号的状态来调试FPGA计划。
  • 自定义触发条件逻辑,提高准确性并提升分析题目的能力。
  • 将全部捕捉的信号数据存储在装备存储器中,直到需要举行读取和分析。

Signal Tap Logic Analyzer支持可编程逻辑市场上任何逻辑分析仪中最多的通道数、最大的采样深度和最快的时钟速度。

下图1.1是Signal Tap Logic Analyzer内部结构图,它是利用JTAG界限扫描的原理来读取FPGA内部节点的值,然后传输到buffer(缓冲器),再由JTAG把数据送到Quartus下的Signal Tap Logic Analyzer工具。整个过程只读取数据,而数据的频率无法直接知道,只能由计划者自行计算得出。



图1.1 Signal Tap Logic Analyzer结构图


在计划中嵌入Signal Tap Logic Analyzer▷▷▷

 要利用Signal Tap Logic Analyzer对计划举行调试,需要执行几个使命来添加、配置和运行Signal Tap Logic Analyzer。如下图所示为Signal Tap Logic Analyzer使命流程图。



图2.1 Signal Tap Logic Analyzer使命流程图

在计划中嵌入Signal Tap Logic Analyzer有以下两种方法:



  • 创建一个Signal Tap文件,即.stp文件,然后定义该文件的详细内容。

  • 用MegaWizard Plug-In Manager创建并配置.stp文件,然后利用MegaWizard实例化一个HDL输出模块。

本教程接纳第一种方法,在计划好的Quartus工程文件中嵌入Signal Tap Logic Analyzer举行时序波形的在线调试。


创建.stp文件▷▷▷

.stp文件包括Signal Tap Logic Analyzer设置部分和捕捉数据的查看、分析部分。创建一个.stp文件的步骤如下:


  • 打开Quartus Prime软件,并打开需要嵌入Signal Tap Logic Analyzer的Quartus工程,然后依次点击Quartus工具栏的File-->New,如下图所示2.2所示。



图2.2 选择New对话框

2. 在弹出的New对话框中,选择Verification/Debugging Files中的Signal Tap Logic Analyzer File,如图2.3所示,点击OK确认。



图2.3 选择Signal Tap Logic Analyzer File

3. 弹出新的Signal Tap Logic Analyzer窗口,如图2.4所示。



图2.4 Signal Tap Logic Analyzer窗口

以上操纵也可以通过Quartus软件的工具栏Tools-->Signal Tap Logic Analyzer来完成,如下图2.5所示。



图2.5 打开Signal Tap Logic Analyzer


设置.stp文件采集时钟▷▷▷

在利用Signal Tap Logic Analyzer举行FPGA在线调试之前,需要设置.stp文件的采集时钟,采集时钟是在上升沿采集数据。可以利用Quartus工程计划中的恣意信号作为采集时钟,最好利用全局时钟,而不要利用门控时钟,而且选择的采样信号和待观测的信号要满足奈奎斯特采样定理。

设置采集时钟的步骤如下:

1. 在图2.4所示的Signal Tap Logic Analyzer窗口的触发设置框,点开Clock后面的"..."按钮,打开Node Finder对话框,如图2.6所示。


图2.6 打开Node Finder对话框
2. 在Node Finder对话框中,在Filter列表中选择 Design Entry(all names)或SignalTap:pre-synthesis,如图2.7所示。


图2.7 选中 Design Entry(all names)

3. 想要看工程内里的哪个文件的信号,就在Look in这里选择对应的文件(或者直接选top文件,全部信号在top文件内里可以找到),然后点击Name行后的List按钮,在Nodes Found列表中选择合适的信号作为Signal Tap Logic Analyzer的采集时钟,如图2.8所示,此处举例选择Sdram_Control.v文件的信号举行查看,选择Sdram_Control.v文件内里的100MHz作为采样时钟。选中后点击">"按钮将时钟信号添加到Nodes Found列表中,也可以直接双击CLK将时钟信号添加到Nodes Found列表。



图2.8 Node Finder对话框设置

4. 点击OK按钮确定。在Signal Tap Logic Analyzer窗口中可以看到,设置作为采样时钟的信号CLK显示在Clock栏中。如图2.9所示。



图2.9 显示Clock采样时钟信号

注意:如果在Signal Tap Logic Analyzer窗口中没有分配采集时钟,Quartus软件会主动创建一个名为auto_stp_external_clk_0的时钟引脚。在计划中必须为这个引脚单独分配一个器件引脚。在开发板上也必须有一个外部时钟信号驱动该引脚。


在.stp文件中配置信号节点▷▷▷

在.stp文件中,常分配如下两种范例的信号:

  • Signal Tap: pre-synthesis——该信号在对计划举行Analysis&Elaboration操纵以后存在,这些信号表示寄存器传输级(RTL)信号。在Signal Tap Logic Analyzer中要分配Pre-synthesis信号,可以选择Quartus软件工具栏的Processing-->Start Analysis&Elaboration。对计划举行修改后,如果要在物理综合之前快速加入一个新的节点名,利用这项操纵特别有效。
  • Signal Tap: post-fitting——该信号在对计划举行物理综合优化以及结构布线操纵后存在。
本教程接纳分配Signal Tap: pre-synthesis范例信号为例举行阐明。

 
分配数据信号▷▷▷


  • 依次点击Quartus软件工具栏的Processing-->Start-->Start Analysis&Elaboration,对计划举行Analysis&Elaboration。


图2.10 对计划举行Analysis&Elaboration

2. 在Signal Tap Logic Analyzer窗口中点击Setup标签页,如下图2.11所示。



图2.11 Setup标签页
3. 双击Setup标签页的空白处,弹出Node Finder对话框。

4. 在Node Finder对话框的Filter列表中选择Signal Tap: pre-synthesis。

5. 点击Node Finder对话框Name行后的List按钮查找节点,全部节点都显示在Matching Nodes列表中。



图2.12 Nodes Finder对话框

6. 双击相应的节点或总线将其添加到Nodes Found列表中。

7. 点击Insert按钮,将选择的节点或总线插入到.stp文件。



图2.13 选择节点


Signal Tap Logic Analyzer触发设置▷▷▷

Signal Tap Logic Analyzer触发设置重要是设置观测信号的触发条件(Trigger Conditions)。

触发范例选择Basic AND或Basic OR:如果触发范例选择Basic,在.stp文件中必须为每个信号设置相应的触发模式(Trigger Pattern)。Signal Tap Logic Analyzer中的触发模式包括Don't Care(无关项触发)、Low(低电平触发)、High(高电平触发)、Falling Edge(下降沿触发)、Rising Edge(上升沿触发)和Either Edge(双边沿触发)。如图2.14所示,当设定的触发条件满足时,Signal Tap Logic Analyzer开始捕捉数据。



图2.14-1 设置范例



图2.14-2 设置触发模式

触发范例选择Advanced:如果触发范例选择Advanced,则必须为Signal Tap Logic Analyzer创建触发条件表达式。一个Signal Tap Logic Analyzer最关键的特点是它的触发能力。如果不能很好的为数据捕捉创建相应的触发条件,它大概无法帮助计划者捕捉到需要观测的有效信号。 

在Signal Tap Logic Analyzer中,利用高级触发条件编辑器(Advanced Trigger Condition Editor)可以在简朴的图形界面创建非常复杂的触发条件。计划者只需要将运算符拖动到触发条件编辑器窗口中,就可以创建复杂的触发条件,如图2.15所示。



图2.15 高级触发条件编辑器



指定采样点数及触发位置▷▷▷

在触发事件开始之前,可以指定要观测数据的采样点数,即数据存储深度,以及触发事件发生前后的采样点数,如图2.16所示。



图2.16-1 设置采样点数及触发位置



图2.16-2 设置采样点数及触发位置

在Signal Tap Logic Analyzer窗口右侧Signal Configuration部分的Data栏中,在Sample depth列表中可以选择需要观测的采样点数;在Trigger栏中,在Trigger Condition列表中可以选择触发信号有效前后的数据比例:

1. Pre trigger position:保存触发信号发生之前信号状态信息(88%的触发前数据,12%的触发后数据)。

2. Center trigger position:保存触发信号发生前后数据,各占50%。

3. Post trigger position:保存触发信号发生之后信号状态信息(12%的触发前数据,88%的触发后数据)。


重新编译嵌入.stp文件的Quartus工程▷▷▷

配置好并保存.stp文件后,在利用Signal Tap Logic Analyzer之前必须编译Quartus工程。如下图2.17所示,点击Signal Tap Logic Analyzer窗口的编译按钮,对工程举行全编译。



图2.17 全编译Quartus工程




利用Signal Tap Logic Analyzer举行编程调试▷▷▷

在计划中嵌入.stp文件并完全编译完成后,通过USB Blaster II下载电缆连接好开发板并接通电源。打开.stp文件后,详细调试步骤如下:

1. 在.stp文件右上方的JTAG Chain Configuration部分,在Hardware列表中选择 "DE-SoC[USB-1]",一样平常环境下Signal Tap Logic Analyzer可以主动扫描到开发板上的FPGA器件并显示在Device列表中。如下图2.18所示。



图2.18 JTAG Chain设置

2. 点击SOF Manager右侧的"..."按钮,选择.sof文件,然后点击下载按钮对FPGA举行配置,如下图2.19所示。



图2.19 配置FPGA




查看Signal Tap Logic Analyzer调试波形▷▷▷

Signal Tap Logic Analyzer工具条上有四个执行逻辑分析的选项,如下图所示。



图2.20-1
1. Run Analysis:单步执行捕捉数据举行逻辑分析,即执行该命令后,Signal Tap Logic Analyzer等待触发事件,当触发事件发生时开始采集数据,然后停止。

2. Autorun Analysis:执行该命令后,Signal Tap Logic Analyzer根据所设置的触发条件一连采集数据,直到用户按下Stop Analysis按钮为止。

3. Stop Analysis:停止Signal Tap Logic Analyzer。如果触发事件还没有发生,则没有接收数据显示。

4. Read Data:显示捕捉的数据。如果触发事件还没有发生,用户可以点击该按钮查看当前采集的数据。

选择Run Analysis或AutoRun Analysis按钮,当触发条件满足时,Signal Tap Logic Analyzer开始捕捉数据。



图2.20-2
Signal Tap Logic Analyzer会主动将采集的数据显示在Data标签页中,如图2.20-2所示。

从波形图可以看到,写SDRAM之前先发送了一个行激活命令,然后是写命令,一连写64个数据以后系统发送了一个预充电命令竣事页突发操纵。

往期阅读

01-SDRAM控制器的计划——案例总概述

02-SDRAM控制器的计划——SDRAM简介

03-SDRAM控制器的计划——解读IS42R16320D的数据手册

04-SDRAM控制器的计划——control_interface.v代码解析

05-SDRAM控制器的计划——command.v代码解析

06-SDRAM控制器的计划——异步FIFO的调用

07-SDRAM控制器的计划——Sdram_Control.v代码解析

08-SDRAM控制器的计划——top文件代码解析





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

莫张周刘王

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表