使用SignalTap II逻辑分析仪调试FPGA例
- 格式:doc
- 大小:367.00 KB
- 文档页数:14
Quartus II: SignalTap II Logic Analyzer的使用教程(基于quartus II 13.0)
1.点击Tools | SignalTap II Logic Analyzer
2.按照下图所设置的步骤进行设置:
添加实例名称,添加结点,设置采样时钟,设置采样深度,设置被测信号触发以及触发器模式,设置
3.新建实例并进行重命名如图:(该实例名称可以和工程中实例的名字相同)
4.为仿真实例添加结点,按软件提示新建结点
4.1打开结点查找器,将新建的实例的与工程中的信号结点绑定起来。
如图:点击1处设置过滤类型为前综合类型,点击2处的List,选择相应的结点。
4.2点击下图1导入结点,设置完成后,点击2处确定。
5.信号配置:
a)设置采样时钟:
点击1处,打开结点查找器,点击2搜索相应结点,并导入工程系统时钟,设置完
成后点击OK
b)设置采样深度,以及信号触发模式以及触发器模式按照下图进行设置即可
6.所有设置完成后点击保存,
7.按照如图下步骤进行硬件配置以及下载,然后进行JTAG调试
点击2处设置JTAG连接器硬件,
点击3处进行FPGA芯片扫描
点击4处进行下载
点击1处进行调试,观察仿真结果
8.运行结果如图所示:
9.注意:断电之后拔掉JTAG。
静电可以击穿芯片。
嵌入式在线逻辑分析仪SignalTap II.简介1. SignalTap II 逻辑分析器是Quartus II 软件中集成的一个内部逻辑分析软件(相当于一个内置示波器) ,可以捕获和显示实时信号。
2. SignalTap II 全称SignalTap II Logic Analyzer,使用它可以观察设计的内部信号变化,为FPGA 设计的调试、查错带来极大的方便。
3. 实现原理在工程中引入Megafunction 中的ELA ( Embedded Logic Analyzer),以预先设定的时钟,采样实时数据,并存储于FPGA片上ram资源中,然后通过JTAG传送回Quartus II分析。
可见SignalTap II,其实也是在工程额外加入了模块来采集信号,所以使用SignalTap II需要一定的代价,首先是逻辑单元(ELA),其次是ram,如果工程中剩余的ram资源比较充足,则SignalTap II 一次可以采集较多的数据,相应的如果FPGA资源已被工程耗尽则无法使用SignalTap II 调试。
4. 逻辑分析仪是数字电路测试不可或缺的设备,但是这种测试只有当硬件系统完全搭建起来之后才能进行。
随着逻辑设计复杂性的不断增加,仅依赖于软件方式的仿真测试来了解设计系统的硬件功能已经远远不能满足要求。
为了解决这些问题,设计者可以将一种高效的硬件测试手段和传统的系统测试方法结合起来完成,这就是嵌入式逻辑分析仪最初产生的原因。
它可以随设计文件一同下载到目标芯片中,用以捕捉目标芯片内部系统信号节点处的信息或总线上的数据流,同时还不影响原硬件系统的正常工作。
在实际检测中,SignalTap II 将测得的样本信号暂存于目标器件中的嵌入式RAM 中,然后通过器件的JTAG端口将采样的信息传出,送入计算机进行显示和分析。
5. 嵌入式逻辑分析仪SignalTap II 允许对设计中所有层次的模块的信号节点进行测试,可以使用多时钟驱动,而且还能通过设置来确定前后触发捕捉信号信息的比例。
用内部逻辑分析仪调试FPGA1 推进调试技术转变的缘由举行硬件设计的功能调试时,FPGA的再编程能力是关键的优点。
和FPGA 早期用法时,假如发觉设计不能正常工作,工程师就用法“调试钩”的办法。
先将要观看的FPGA内部信号引到引脚,然后用外部的规律分析仪捕捉数据。
然而当设计的复杂程度增强时,这个办法就不再适合了,其中有几个缘由。
第一是因为FPGA的功能增强了,而器件的引脚数目却缓慢地增长。
因此,可用规律对I/O的比率减小了,参见图1。
此外,设计很复杂时,通常完成设计后惟独几个空余的引脚,或者根本就没有空余的引脚能用于调试。
图1 Lattice FPGA的LUT/可用I/O其次,现在设计的复杂性常常需要观看许多信号,而不是几个信号。
常用的技术是实现较宽的内部,以便在较大的FPGA中达到高的系统吞吐量。
假如疑惑内部的32位总线里有坏的数据,则难以用几个I/O引脚来确定问题所在。
第三,通常需要在系统中测试复杂的功能。
在这种状况下,在系统中调试时拜访一些I/O大概是有限的。
新类型的包还限制拜访FPGA引脚。
系统速度也是个问题,由于探针的衔接可能会引起性能或者噪声信号降低。
最后,推进FPGA调试办法转变的关键因素是有了新的工具,这些工具采纳内部或者规律分析仪。
拥有这些工具可得到最佳的结果,而不是用与从前工具相同的办法。
资源、静态参数和动态参数通常约束了内部规律分析仪和外部规律分析仪。
本文对这两种类型工具的约束举行了比较,考察如何最佳地利用内部规律分析仪。
2 外部规律分析仪受到的限制外部规律分析仪已经用了几十年了。
外部规律分析仪的最大优点是能第1页共4页。
如何使用SignalTapII调试FPGA中AD采样控制逻辑07110401 于露一、实验原理SignalTap II是QuartusII软件平台中集成的逻辑分析仪模块,同时Cyclone系列FPGA内部还嵌入了逻辑分析硬核,也即是实际负责采样并将数据发送给SignalTapII的硬件模块。
该逻辑分析模块对待测节点的数据进行捕获,数据通过JTAG接口从FPGA传送到Quartus II 软件中显示。
使用SignalTap II无需额外的逻辑分析设备,只需将一根JTAG接口的下载电缆连接到要调试的FPGA器件。
SignalTap II对FPGA的引脚和内部的连线信号进行捕获后,将数据存储在一定的RAM块中。
因此,需要用于捕获的采样时钟信号和保存被测信号的一定点数的RAM块(Cyclone系列FPGA带有RAM资源)。
1.1系统框架FPGA和高速AD/DA模块的组成如图1,由两个模块组成:FPGA模块和高速AD/DA模块。
基于此模块可以完成任意信号发生器的设计和简易示波器的设计等等实验。
本模块中FPGA 采用ALTERA公司的Cyclone系列EP1C3T144C8芯片,DAC芯片采用DAC0800,ADC芯片采用TI的TLC5510。
图1 FPGA和高速AD/DA模块框图1.2 FPGA模块——tlc5510TLC5510是CMOS、8位、20MSPS模拟/数字转换器(ADC),它利用了半闪速结构。
TLC5510用单5V电源工作,消耗功率100mW(典型值),具有内部采样和保持电路,具有高阻抗方式的并行口以及内部基准电阻(内部基准电阻使用VDDA可以产生标准的2V满度转换范围)。
半闪速结构减少了功率损耗和晶片尺寸。
通过在2步过程(2-step process)中实现转换,可大大减少比较器的数目。
转换数据的等待时间为2.5个时钟。
FPGA与TLC5510的接口电路图如图二所示:FPGA_IO1提供TLC5510工作时钟。
altera signaltap核例化与使用SignalTap是Altera公司提供的一个强大的逻辑分析工具。
它可以用于调试和分析FPGA设计中的信号。
SignalTap提供了FPGA内部信号的实时观察和记录功能,可以用于查看特定信号的波形和统计信息,从而有效地进行调试和分析。
为了方便使用SignalTap,首先需要对其进行核例化。
核例化是在设计中插入一个SignalTap模块,以便于对指定信号进行分析。
下面将详细介绍SignalTap的核例化和使用。
1.核例化SignalTap:a.打开Quartus Prime软件,在项目导航器中选择要核例化SignalTap的设计文件。
b.右键点击设计文件,选择“Start Analysis & Synthesis",进入设计的综合和分析设置。
c.在综合设置对话框中,选择“Add/Remove Assignments",在控制面板中选择“SignalTap II Logic Analyzer",点击“OK"。
d.在SignalTap Logic Analyzer对话框中,选择“Create a new SignalTap II instance"。
e.在SignalTap II Analyzer Instance对话框中,选择要观察的信号和模块,并设置时钟和采样点等参数。
点击“OK"保存设置。
f.回到设计窗口,编译设计文件,核例化SignalTap。
2. SignalTap使用:a.完成核例化后,可以打开SignalTap II Logic Analyzer的视图。
点击菜单栏上的“Tools"并选择“S ignalTap II Logic Analyzer",或者使用快捷键Ctrl+Alt+L。
b.在SignalTap II Logic Analyzer的视图中,可以选择要观察的信号,并设置触发条件和触发位置等参数。
SignalTapII学习简明教程一.引言在诸多数字系统设计书籍资料中,关于FPGA开发的基本和流程,几乎都介绍到了嵌入式逻辑分析仪(或称之为虚拟逻辑分析仪)的相关知识,包括为什么要有这样的在线调试逻辑分析仪,它可以做什么,什么情况下使用,基于什么样的原理,有哪些逻辑分析仪等等。
读者在知道了它的种种之后,存在脑袋中的很大疑问就是如何使用,那么本篇章就将带领大家解开这些疑团,教给读者如何使用基于Altera厂商的SignalTapII对具体的工程进行在线调试。
二.背景知识回顾如果您是经验丰富的FPGA数字系统设计工程师或者已经掌握SignalTap II的原理或者更喜欢Follow Me直接动手操作,那么完全可以跳过这一小节。
但是,笔者仍要照顾到FPGA初学者,帮助他们从浩繁的资料中解脱出来,用简短且通俗易懂的描述,使其迅速建立一定的基础,以便轻松掌握SignalTap II工具的使用。
正如至芯的目标:FPGA培训专家,而不是扮演手册翻译工的角色。
好,直奔主题,让我们先看一组术语:在线调试:在线调试也称作板级调试,它是将工程下载到FPGA芯片上后分析代码运行的情况。
有人会以为,我们已经做过仿真了,甚至是时序仿真都通过了,还会存在问题么?但是在实际中,还有以下情况我们需要用到在线调试:1、仿真不全面而没有发现的FPGA设计错误。
很多情况下,由于太复杂,无法做到100%的代码覆盖率;2、在板级交互中,存在异步事件,很难做仿真,或者仿真起来时间很长,无法运行;3、除了本身FPGA外,还可能存在板上互连可靠性问题、电源问题和IC之间的信号干扰问题,都可能导致系统运行出错;4、其他潜在问题。
在线调试的方式主要有两种,一种是利用外部测试设备,把内部信号传送到FPGA针脚上,然后用示波器或者逻辑分析仪观察信号,如图1、图2所示;另一种就是利用嵌入式逻辑分析仪,在设计中插入逻辑分析仪,利用JTAG边缘数据扫描和开发工具完成数据交互。
SignalTapII及SignalProbe使用指南1.SignalTapII支持器件及下载电缆SignalTapII内嵌式逻辑分析仪需要占用ALMs/LEs布线资源和RAM采样存储资源,支持下面的器件系列:StratxiII、Stratix、StratixIIGX、StratixGX、CycloneII、Cyclone、APEXII、APEX20K/E/C、Excalibur和Mercury。
SignalII逻辑分析仪支持目前Altera所有下载电缆,包括USB Blaster、ByteBlasterII、ByteBlasterMV和MasterBlaster。
2.SignalTapII工作流程及资源消耗○1配置ELA(Embedded Logic Analyzer)。
○2通过QuartusII软件完成布局布线,ELA下载至FPGA中。
○3ELA采样到内部触发信号。
○4ELA通过JTAG电路与QuartusII软件发生通信,以图形化的界面显示出来。
ELA占用片内LE资源由信号通道数及触发级数决定,占用片内RAM资源由信号通道数及采样深度来决定。
Altera建议选择选择通道数量和采样深度时要考虑二者之间的平衡,以免占用太多RAM资源,影响原本的逻辑设计。
比如不推荐同时使用1024个最大通道数和128K最大采样深度(相当于消耗了32,768 个M4K的资源)。
下表给出了在Statix/Cyclone 器件中使用ELA的资源占用情况。
3.SignalTapII设计流程在设计中嵌入SignalTapII有两种方法:一是创建一个SignalTapII文件(.stp),然后定义STP文件的详细内容;二是用MegaWizard Plug-In Manager建立并配置STP文件,然后用MegaWizard实例化一个HDL输出模块。
1)创建STP文件在QuartusII软件中选择File菜单下New命令,弹出的New对话框中选择Other Files 标签栏,选择SignalTap II File。
使用SignalTap II逻辑分析仪调试FPGA 例:数字钟调试
作者:陈拓 chentuo@ms.xab.ac.cn 2008年6月27日 最后修改日期:2008年7月22日
摘 要:本文介绍了可编程逻辑器件开发工具Quartus II 中SingalTap II 嵌入式逻辑分析器的使用,并给出一个具体的设计实例,详细介绍使用SignalTap II对FPGA调试的具体方法和步骤。 关键字: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是内嵌逻辑分析仪,是把一段执行逻辑分析功能的代码和客户的设计组合在一起编译、布局布线的。在调试时,SignalTap通过状态采样将客户设定的节点信息存储于FPGA内嵌的Memory Block中,再通过下载电缆传回计算机。 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中,如图所示。逻辑分析模块对待测节点的数据进行捕获,数据通过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文件格式以供第三方仿真工具使用。
ELA - 嵌入逻辑分析仪。 ELA功能会使用设计本身占用额外的器件资源。ELA是可参数化的,因此能够使用有效的资源。 3 实例分析 下面以数字钟作为实例,具体说明如何用SignalTap II 来进行FPGA设计的验证。使用Altera公司的器件Cyclone系列FPGA- EP1C12Q240C8,该器件支持SignalTap II 嵌入式逻辑分析仪的使用。 在STP文件中将buffer acquisition mode分别设为连续存储和循环采样存储两种模式进行验证。连续存储方式记录采样操作的连续过程,而在循环采样存储方式下SignalTap II记录多次采样时刻数据。 在成功地编译项目并且设置管脚指定之后,从工具下拉菜单中选择SignalTapII逻辑分析仪,在项目中添加STP文件。如下图所示。
也可以用选择“File | New | Other Files | SignalTapII Logic Anayzer File”的方法打开SignalTapII逻辑分析仪。 SignalTapII 打开后,在JTAG Chain Configuration的下面,选择Setup,如图所示。
在硬件设置中,就象第一次连接编程器时那样,选择用于FPGA编程的编程器。如图所示。 如下图所示,再选择SOF文件。 在实例管理器(Instance Manager)下面,有一个自动添加的默认实例auto_ signaltap_0。 在默认实例(Instance) auto_ signaltap_0的基础上,还可以修改、添加、删除实例。 在实例instance的下面,双击以添加要被分析的节点。如图所示。
添加要在仿真波形中被分析的信号。如图所示,我们选择:
烧写 附加 选择sof文件 数码管扫描计数器cnt 数码管地址选择信号scan
单击OK。 在Signal Configuration的下面,设置时钟。单击时钟旁边的浏览按钮。如图所示。
列出管脚,选择用于扫描数码管地址的1KHz的分频clk1khz信号作为时钟,单击OK。如图所示。 用于时钟的信号不能被分析,如果以被选择,它将从信号列表中被删除。 选择采样深度(Sample depth),默认值是128,我们选择256,如上图。
最后的设置如下图所示。
按照图中的步骤查看仿真波形。 1. 进行分析前重新编译,将所做的设置编译到烧写文件中。 2. 将编译好的SOF文件通过JTAG烧写到FPGA中。 3. 进行分析。 4. 读数据,如图所示。
1 3
4
2 原文节选 如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器件的实验证实该测试手段大大提高系统的调试能力,具有很好的效果。
参考文献:西安交通大学电气工程学院 郭佳佳 胡晓菁 王永良 来源:《今日电子》 Altera资料[http://www.altera.com.cn/products/software/products/quartus2/verification/signaltap2/sig-feature_descriptions.html]
SignalTap II 功能
以下是SignalTap® II 嵌入式逻辑分析器的主要功能: 每个器件上的多个逻辑分析仪 单个JTAG链上多个器件的逻辑分析仪 每个分析仪具有10个基本或高级触发级别 灵活的缓冲获得模式捕获周期事件