使用SignalTap II逻辑分析仪调试FPGA

发布者:渤海湾最新更新时间:2019-12-27 来源: elecfans关键字:SignalTap  逻辑分析仪  调试FPGA 手机看文章 扫描二维码
随时随地手机看文章

1 概述


--- 随着FPGA容量的增大,FPGA的设计日益复杂,设计调试成为一个很繁重的任务。为了使得设计尽快投入市场,设计人员需要一种简易有效的测试工具,以尽可能的缩短测试时间。传统的逻辑分析仪在测试复杂的FPGA设计时,将会面临以下几点问题:1)缺少空余I/O引脚。设计中器件的选择依据设计规模而定,通常所选器件的I/O引脚数目和设计的需求是恰好匹配的。2)I/O引脚难以引出。设计者为减小电路板的面积,大都采用细间距工艺技术,在不改变PCB板布线的情况下引出I/O引脚非常困难。3)外接逻辑分析仪有改变FPGA设计中信号原来状态的可能,因此难以保证信号的正确性。4)传统的逻辑分析仪价格昂贵,将会加重设计方的经济负担。


--- 伴随着EDA工具的快速发展,一种新的调试工具Quartus II 中的SignalTap II 满足了FPGA开发中硬件调试的要求,它具有无干扰、便于升级、使用简单、价格低廉等特点。本文将介绍SignalTap II逻辑分析仪的主要特点和使用流程,并以一个实例介绍该分析仪具体的操作方法和步骤。

2 SignalTap II的特点及使用


--- SignalTap II嵌入逻辑分析仪集成到Quartus II设计软件中,能够捕获和显示可编程单芯片系统(SOPC)设计中实时信号的状态,这样开发者就可以在整个设计过程中以系统级的速度观察硬件和软件的交互作用。它支持多达1024个通道,采样深度高达128Kb,每个分析仪均有10级触发输入/输出,从而增加了采样的精度。SignalTap II为设计者提供了业界领先的SOPC设计的实时可视性,能够大大减少验证过程中所花费的时间。目前SignalTap II逻辑分析仪支持的器件系列包括:APEXT II, APEX20KE, APEX20KC, APEX20K, Cyclone, Excalibur, Mercury, StraTIx GX, StraTIx。


--- SignalTap II将逻辑分析模块嵌入到FPGA中,如图1所示。逻辑分析模块对待测节点的数据进行捕获,数据通过JTAG接口从FPGA传送到Quartus II软件中显示。使用SignalTap II无需额外的逻辑分析设备,只需将一根JTAG接口的下载电缆连接到要调试的FPGA器件。SignalTap II对FPGA的引脚和内部的连线信号进行捕获后,将数据存储在一定的RAM块中。因此,需要用于捕获的采样时钟信号和保存被测信号的一定点数的RAM块。


--- 使用SignalTap II的一般流程是:设计人员在完成设计并编译工程后,建立SignalTap II (.stp)文件并加入工程、配置STP文件、编译并下载设计到FPGA、在Quartus II软件中显示被测信号的波形、在测试完毕后将该逻辑分析仪从项目中删除。以下描述设置 SignalTap II 文件的基本流程:


--- 1.设置采样时钟。采样时钟决定了显示信号波形的分辨率,它的频率要大于被测信号的最高频率,否则无法正确反映被测信号波形的变化。SignalTap II在时钟上升沿将被测信号存储到缓存。


--- 2.设置被测信号。可以使用Node Finder 中的 SignalTap II 滤波器查找所有预综合和布局布线后的SignalTap II 节点,添加要观察的信号。逻辑分析器不可测试的信号包括:逻辑单元的进位信号、PLL的时钟输出、JTAG引脚信号、LVDS(低压差分)信号。


--- 3.配置采样深度、确定RAM的大小。SignalTap II所能显示的被测信号波形的时间长度为Tx,计算公式如下: 
--- Tx=N×Ts 
--- N为缓存中存储的采样点数,Ts为采样时钟的周期。


--- 4.设置buffer acquisiTIon mode。buffer acquisiTIon mode包括循环采样存储、连续存储两种模式。循环采样存储也就是分段存储,将整个缓存分成多个片段(segment),每当触发条件满足时就捕获一段数据。该功能可以去掉无关的数据,使采样缓存的使用更加灵活。


--- 5.触发级别。SignalTap II支持多触发级的触发方式,最多可支持10级触发。


--- 6.触发条件。可以设定复杂的触发条件用来捕获相应的数据,以协助调试设计。当触发条件满足时,在signalTap时钟的上升沿采样被测信号。


--- 完成STP设置后,将STP文件同原有的设计下载到FPGA中,在Quartus II中SignalTap II窗口下查看逻辑分析仪捕获结果。SignalTap II可将数据通过多余的I/O引脚输出,以供外设的逻辑分析器使用;或输出为csv、tbl、vcd、vwf文件格式以供第三方仿真工具使用。

3 实例分析


--- 本文以一个ADC0809器件的采样控制器作为实例,具体说明如何用SignalTap II 来进行FPGA设计的验证。使用Altera公司的器件Cyclone系列FPGA- EP1C12Q240C8,该器件支持SignalTap II 嵌入式逻辑分析仪的使用。


--- FPGA的设计结构如图2所示。数字倍频器的倍频输出提供ADC控制器的采样触发脉冲。A/D转换器ADC0809的操作时序见数据手册,根据其操作时序,ADC控制器来实现ADC0809的数据采集操作,采样的时机由倍频器来控制。控制器每控制完成一次采样操作,则停止等待下一个触发脉冲的到来。倍频器每输出一个低电平脉冲,ADC采样控制器的状态机进行一次采样操作。在倍频器的触发控制下,完成被测信号一个基波周期N个点的等间隔采样,同时数字倍频器跟踪输入信号的频率的变化,尽可能地保持N个点的采样宽度正好为被测信号一个周波的宽度。


--- 测试项目是基于FPGA的AD采样控制器,它是用状态机控制的周期性的重复事件,一次采样操作完成后等待采样脉冲、开始下一次的采样。针对待测项目的周期性,


--- 在STP文件中将buffer acquisition mode分别设为连续存储和循环采样存储两种模式进行验证。连续存储方式记录采样操作的连续过程,而在循环采样存储方式下SignalTap II记录多次采样时刻数据。


--- 按照上述SignalTap II的使用步骤,在编译后的工程中添加STP文件,并对文件进行设置,如图3所示。如1处设置采样时钟ct[3],系统时钟的16分频。2处添加测试信号,包括待测模块输出的AD采样控制信号和状态机的状态等。3处是采样深度的设置,设为512。在4处的设置确定了在clko时钟的上升沿触发逻辑分析仪。在连续存储模式下设置buffer acquisition mode为Circular前触发位置。在分段存储模式下设置为Sigmented 512 1 bit segments,表示将存储区划分成512个段,每段1个位的存储深度。存储模式的设置如图中6所示。另外,使用Mnemonic Table将状态机的7个状态标示为直观名称。






--- 首先将STP文件设置成连续存储模式,并将该文件连同工程一起下载到FPGA中。在连续存储模式下,SignalTap II在clko时钟的上升沿连续采样直到采样点数达到512个。这样,SignalTap II记录了一次采样过程的所有数据,捕获结果如图4所示,从中可以看到FPGA控制ADC0809转换的时序波形。


--- 将图3所示步骤6中的Buffer acquisition node改为Segmented方式,设其值为256 1 bit segments,并将修改后的STP文件连同工程重新下载到FPGA中。和单次触发相同的是逻辑分析仪在ADC0809采样时钟上升沿时触发逻辑分析仪,不同的是因为每一段只有1bit的存储深度,因此捕获1位数据后逻辑分析仪停止,等待下一次满足触发信号再次启动,一共启动256次。在波形显示窗口,设显示格式为Line Chart,这样结果就直观的显示为连续的波形。分片采样,可观察同步采样的结果,图5是连续采样256个点的结果波形。

4 结论


--- SignalTap II 嵌入式逻辑分析器,提供了芯片测试的一个很好的途径。通过SignalTap II 测试芯片无需外接专用仪器,它在器件内部捕获节点进行分析和判断系统故障。本文通过对Cyclone EP1C12器件的实验证实该测试手段大大提高系统的调试能力,具有很好的效果。

关键字:SignalTap  逻辑分析仪  调试FPGA 引用地址:使用SignalTap II逻辑分析仪调试FPGA

上一篇:使用矢量分析对RF进行有效测量
下一篇:网络分析仪的原理详解

推荐阅读最新更新时间:2024-10-22 04:53

使用SignalTap II逻辑分析仪调试FPGA
1 概述 --- 随着FPGA容量的增大,FPGA的设计日益复杂,设计调试成为一个很繁重的任务。为了使得设计尽快投入市场,设计人员需要一种简易有效的测试工具,以尽可能的缩短测试时间。传统的逻辑分析仪在测试复杂的FPGA设计时,将会面临以下几点问题:1)缺少空余I/O引脚。设计中器件的选择依据设计规模而定,通常所选器件的I/O引脚数目和设计的需求是恰好匹配的。2)I/O引脚难以引出。设计者为减小电路板的面积,大都采用细间距工艺技术,在不改变PCB板布线的情况下引出I/O引脚非常困难。3)外接逻辑分析仪有改变FPGA设计中信号原来状态的可能,因此难以保证信号的正确性。4)传统的逻辑分析仪价格昂贵,将会加重设计方的经济负担。 ---
[测试测量]
使用<font color='red'>SignalTap</font> <font color='red'>II</font><font color='red'>逻辑分析仪</font><font color='red'>调试</font><font color='red'>FPGA</font>
“虚拟”逻辑分析仪SignalTap II
虚拟 逻辑分析仪SignalTap II Quartus II中集成的SignalTap II在一些高端应用中,尤其是逻辑资源(主要是余量)充足的应用中是非常不错的调试手段。而对于一些逻辑资源或者存储资源余量不多的应用中,这种调试方法则显得毫无意义。话说 鱼和熊掌不可兼得 ,在Quartus II中所能够支持的在线调试手段中,例如In-system Sources and Probes、Logic Analyzer和SignalTap II,乃至Virtual JTAG,唯有SignalTap II的性能是最好的,对于高速应用的调试是最有帮助的。但与此对应的是,使用SignalTap II需要FPGA器件本身付出比较高的
[测试测量]
“虚拟”<font color='red'>逻辑分析仪</font><font color='red'>SignalTap</font> <font color='red'>II</font>
quantus18的signaltap逻辑分析仪
SignalTap的使用 1、SignalTap的作用 SignalTap就是一个IP(对应xilinx的ila),可以将引脚的状态实时显示。这是基于板级的验证,可以有效处理一些仿真难以实现的波形测试。例如inout口的测试,使用仿真就比较困难,很难构建合适的测试工具。使用signaltap可以有效地得到交互信息。 2、SignalTap的操作 添加测试信号: 在setup中的空白处双击即可调出所需的信号列表。这里需要注意信号的区分。默认的信号是在综合后的,这里的信号比较杂,可以考虑使用其他的信号列表,比如综合前。 设置时钟: 测试信号也是需要时钟来刷新的。这相当于逻辑分析仪的工作时钟。这个时钟直接决定了信号的灵敏度。 还有测
[测试测量]
SignalTap嵌入逻辑分析仪验证PLD设计
要说ASIC设计者的经验有所提示的话,那么将来的百万门级可编程逻辑设计中验证会耗费大半的设计周期。随着设计复杂度的增加,传统的设计验证方法如仿真需要其它技术和工具的补充,因为这些可编程芯片系统(SOPC)进行完全的真实模拟是不可在适当的时间内完成。而且,设计规模的陡增必然需要新的工具来观察已编程期间的内部操作。尤其是随着第三方IP使用的增加,它们需要获取内部探测来验证操作,使其和设计的其它部分相分离。最后,由于封装技术的提高,必须开发新的方法以使于对象BGA之类日趋小型化和大规模封装的硬件进行验证。 一种新的技术SignalTap,业已开发满足这些需求。SignalTap允许设计者在PLD运行期间同时监视内部信号。通过下载电缆
[应用]
SignalTap嵌入逻辑分析仪验证PLD设计
要说ASIC设计者的经验有所提示的话,那么将来的百万门级可编程逻辑设计中验证会耗费大半的设计周期。随着设计复杂度的增加,传统的设计验证方法如仿真需要其它技术和工具的补充,因为这些可编程芯片系统(SOPC)进行完全的真实模拟是不可在适当的时间内完成。而且,设计规模的陡增必然需要新的工具来观察已编程期间的内部操作。尤其是随着第三方IP使用的增加,它们需要获取内部探测来验证操作,使其和设计的其它部分相分离。最后,由于封装技术的提高,必须开发新的方法以使于对象BGA之类日趋小型化和大规模封装的硬件进行验证。 一种新的技术SignalTap,业已开发满足这些需求。SignalTap允许设计者在PLD运行期间同时监视内部信号。通过下载电缆
[半导体设计/制造]
用内部逻辑分析仪调试FPGA
   推动FPGA调试技术改变的原因   进行硬件设计的功能调试时,FPGA的再编程能力是关键的优点。CPLD和FPGA早期使用时,如果发现设计不能正常工作,工程师就使用“调试钩”的方法。先将要观察的FPGA内部信号引到引脚,然后用外部的逻辑分析仪捕获数据。然而当设计的复杂程度增加时,这个方法就不再适合了,其中有几个原因。第一是由于FPGA的功能增加了,而器件的引脚数目却缓慢地增长。因此,可用逻辑对I/O的比率减小了,参见图1。此外,设计很复杂时,通常完成设计后只有几个空余的引脚,或者根本就没有空余的引脚能用于调试。                                  图1 Lattice FPGA的LUT
[测试测量]
用内部<font color='red'>逻辑分析仪</font><font color='red'>调试</font><font color='red'>FPGA</font>
使用逻辑分析仪Acute TravelLogic Analyzer进行SPI NAND驱动开发调试
前言 逻辑分析仪对于嵌入式开发工程师尤其是驱动开发工程师来说是必不可少的工具, 逻辑分析仪的两大功能:信号抓取,协议分析必不可少,前者以来硬件,后者依赖软件。当然方便灵活的触发,体验好的GUI,方便的测量工具,等辅助功能也是评价其好坏的标准,性能方面通道数,采样率,支持触发电平, 滤波,存储容量,传输速率等都是高端与低端区别最主要的指标。尤其对于高性能越到最后提高一点性能,成本就高很多,技术要求也高很多,国产高端分析仪不多。 对于底层数字信号,没有逻辑分析去抓包,将无法进行分析调试, 没有协议分析功能靠人工解析将是噩梦,所以逻辑分析仪必不可少。本篇以Acute TravelLogic Analyzer 这个分析仪为例进行一个S
[测试测量]
使用<font color='red'>逻辑分析仪</font>Acute TravelLogic Analyzer进行SPI NAND驱动开发<font color='red'>调试</font>
如何的keil调试过程中,看逻辑分析仪Logic viwer
在调试过程中,可以使用keil自带的逻辑分析仪查看变量的试试信息,减少串口输出,提高部分cpu的效率,可以添加以下信息: 1、gpio引脚 2、全局变量 全局静态变量、局部变量是不行的。 然后,添加变量后,需要右键设置:如下 g_u32tick 是8位的全局变量
[测试测量]
如何的keil<font color='red'>调试</font>过程中,看<font color='red'>逻辑分析仪</font>Logic viwer
小广播
最新测试测量文章
换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved