首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事
您的当前位置:首页正文

用SignalTapII逻辑分析仪调试FPGA

来源:画鸵萌宠网
专题技术与工程应用

用SignalTapII逻辑分析仪调试FPGA

李文江1,2,赵增辉2

(11西安电子科技大学,陕西西安710071;

21中国电子科技集团公司第54研究所,河北石家庄050081)

摘 要 SignalTapII内嵌逻辑分析仪是Altera公司QuartusII软件中内嵌的一种调试程序,通过把一段执行逻辑分析功能的代码和客户的设计组合在一起编译、布局布线,完成传统逻辑分析仪的功能。介绍了SignalTapII的基本内容、实现原理以及在实际工程中的应用环境。结合ATM交换矩阵的设计实例,详细阐述了用SignalTapII对FPGA调试的具体方法和调试步骤,以及在工程中的使用全过程。分析比较了该方法与传统的外置式逻辑分析仪的优劣,对SignalTapII应用条件进行了阐述。

关键词 Quartus;SignalTap;FPGA;Altera;交换矩阵

中图分类号 TP393   文献标识码 A   文章编号 1003-3106(2007)01-0048-03

FPGADebuggingviaLogicAnalyzerSignalTapII

LIWeng2jiang1,2,ZHAOZeng2hui2

(1.XidianUniversity,Xi’anShanxi710071,China;2.The54thResearchInstituteofCETC,ShijiazhuangHebei050081,China)Abstract SignalTapIIembeddedlogicanalyzer,whichaccomplishesthefunctionsoftraditionallogicanalyzerthroughcombinationofcodesperforminglogicanalysisfunctionandcustomdesigntocompilationandfittingtogether,isanembeddeddebuggingprograminQuartusIIsoftwareofAlteracompany.Thebasiccontent,realizingprincipleandrelatedapplicationsconditionofSignalTapIIembeddedlogicanalyzerarecoveredinthispaper.Bytheexampleoftheswitchfabricdesign,themethodsandstepsindebuggingtheFPGAdesignusingSignalTapIIareintroducedindetail.Finally,analysisandcomparisonareconductedwithtraditionallogicanalyzerequipmentsforcomparisonofadvantagesanddisadvantages,andtheapplicationconditionofSignalTapIIisdiscussed.

Keywords Quartus;SignalTap;FPGA;Altera;switchfabric

0 引言

SignalTapII内嵌逻辑分析仪是Altera公司QuartusII设计软件中的调试工具,随着FPGA容量的增大,FPGA的设计日益复杂,调试工具在减少产

品研制周期和降低开发成本扮演着越来越重要的角色。SingalTapII内嵌逻辑分析仪通过把一段执行逻辑分析功能的代码和客户的设计组合在一起编译、布局布线,然后将状态采样和客户设定的节点信息存储于FPGA内嵌的MemoryBlock中,再经过下载电缆传回计算机,通过图形了解节点的状态,满足了FPGA开发中硬件调试的要求。它具有不占用额外的I/O管脚和PCB空间、不破环接口信号的完整性、无干扰、便于升级、使用简单和价格低廉等特点。

可编程单芯片系统设计中实时信号的状态,这样开

发者就可以在整个设计过程中以系统级的速度观察硬件和软件的交互作用。它支持多达1024个通道,采样深度高达128Kb,每个分析仪均有10级触发输入/输出,从而增加了采样的精度。SignalTapII为设计者提供了业界领先的SOPC设计的实时可视性,能够大大减少验证过程中所花费的时间。目前SignalTapII逻辑分析仪支持的器件系列包括:APEXTII、APEX20KE、APEX20KC、APEX20K、Cyclone、CycloneII、Excalibur、Mercury、StratixGX、Stratix和StratixII。

SignalTapII将逻辑分析模块嵌入到FPGA中,如图1所示。

1 用SignalTapII调试FPGA

1.1 SignalTapII使用简介

逻辑分析模块对待测节点的数据进行捕获,数据通过JTAG接口从

收稿日期:2006205215

SignalTapII嵌入逻辑分析仪是集成到QuartusII

设计软件中的一个辅助调试工具,能够捕获和显示

图1 SignalTapII实现原理

 482007RadioEngineeringVo1137No11

专题技术与工程应用

FPGA传送到QuartusII软件中显示。使用SignalTapII

看逻辑分析仪捕获结果。SignalTapII可将数据通过多余的I/O引脚输出,以供外设的逻辑分析器使用;或输出为csv、tbl、vcd、vwf文件格式以供第三方仿真工具使用。

1.2 工程简介

无需额外的逻辑分析设备,只需将一根JTAG接口的下载电缆连接到要调试的FPGA器件。SignalTapII对FPGA的引脚和内部的连线信号进行捕获后,将数据存储在一定的RAM块中。因此,需要用于捕获的采样时钟信号和保存被测信号的一定数目的RAM块。

在某重点工程中,有一些大规模的数据处理单元由于考虑小型化设计要求,采用了自主研发的共享总线型ATM交换矩阵。设计中,采用了“自顶向(T下”op2Down)的设计流程。首先根据需求,进行系

使用SignalTapII的一般流程是:设计人员在完成设计并编译工程后,建立SignalTapII(.stp)文件并加入工程、配置STP文件、编译并下载设计到FPGA、在QuartusII软件中显示被测信号的波形、在

统划分,系统逻辑原理示意图如图2所示,然后,对核心的交换单元进行难点分析,分解,采用了多种技术融合,如零缓冲技术、反压技术和共享虚拟缓冲技术等,并使用了循环链表,队列处理等方式来满足带宽,优先级,以及时延等参数的需要。

图2 总线交换矩阵应用

测试完毕后将该逻辑分析仪从项目中删除。设置SignalTapII文件的基本流程如下:

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

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

③配置采样深度,确定RAM的大小。SignalTapII所能显示的被测信号波形的时间长度为Tx,Tx=

N×Ts,N为缓存中存储的采样点数,Ts为采样时

链表的使用在技术上使得设计很复杂,但是解决了数据处理上单周期轮询以及共享缓冲的问题。在实际调试中,遇到的许多竞争处理和异常状况,通过SignalTapII工具,提取了上百条数据线进行分析、讨论,减少了许多调试时间,这在以前的外置式逻辑分析仪几乎是不可能的。由于SignalTapII工具良好的调试性能,目前已广泛应用于各设计中。

1.3 SignalTapII的工程应用

钟的周期;

④设置BufferAcquisitionMode。BufferAcquisitionMode包括循环采样存储、连续存储2种模式。循环

采样存储也称分段存储,将整个缓存分成多个片段(segment),每当触发条件满足时就捕获一段数据。

在工程中,采用的是Altera公司的器件Cyclone系列FPGA-EP1C12Q240C8芯片,该器件支持

SignalTapII嵌入式逻辑分析仪的使用。

该功能可以滤除无关的数据,使采样缓存的使用更加灵活;

⑤触发级别。SignalTapII支持多触发级的触发方式,最多可支持10级触发;

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

完成STP设置后,将STP文件同原有的设计下载到FPGA中,在QuartusII中SignalTapII窗口下查

设计采用的是UTOPIA(UniversalTest&OperationPHYInterfaceForATM)总线结构的交换方

式。UTOPIA是ATM专用芯片的通用接口,设计采用Level2Master接口,支持31个SlavePHY端口,满足许多小型化ATM交换的需要,端口优先级处理采用了带权重的优先级处理模式,即带加权的RoundRobin算法,该算法主要解决端口带宽分配,以

492007年无线电工程第37卷第1期 

专题技术与工程应用

及端口优先级处理的问题。在总线的管理、总线占用申请以及总线仲裁上按照ATM论坛的关于UTOPIA接口相关建议设计,详细建议参见文献[5]。

的。但是设计者为减小电路板的面积,大都采用细间距工艺技术,在不改变PCB板布线的情况下引出I/O引脚非常困难;

在调试中,按照上述SignalTapII的使用步骤,在编译后的工程中添加STP文件,并对文件进行设置。首先设置采样时钟txclk,系统采用25MHz时钟,以便于同步提取有效数据;然后添加测试信号,把考虑不太稳定的数据线及一些重要的接口线,包括待UTOPIA接口总线以及内部链表建立删除状态线200多条添加到测试中,测试模块在数据处理上出现异常时的各种状态等;第三步添加采样深度的设置,设为256,保证资源够用的情况下能够把提取较多的内容,在触发逻辑分析仪的信号时考虑该信号出现时可能是时序不太正常的时候;最后在STP文件中将BufferAcquisitionMode分别设为连续存储和循环采样存储2种模式进行验证。连续存储方式记录采样操作的连续过程,而在循环采样存储方式下SignalTapII记录多次采样时刻数据。添加完毕后将该文件连同工程一起编译,下载到FPGA中。在连续存储模式下,SignalTapII从RXSOC的上升沿连续采样直到采样点数达到256个,这样,SignalTapII记录了一次采样过程的所

②外接逻辑分析仪有改变FPGA设计中信号原来状态的可能,因此难以保证信号的正确性;

③传统的逻辑分析仪价格昂贵,将会加重设计方的经济负担。

Quartus的SignalTapII功能是一种在线式的逻辑

分析仪,它成功地克服了传统逻辑分析仪的缺点,因此可以提取大量的信号,使调试更容易、方便,也更真实。但是由于它是利用设计中剩余的RAM资源来存放数据的,因此不能够无限制地采集信号,一般采集信号深度不大。同时,由于它要额外占用资源,有可能影响设计性能。再者,由于时钟限制,它无法看到有些毛刺现象,在实际应用中也存在一定限制。3 结束语SignalTapII嵌入式逻辑分析器,提供了FPGA

调试的一个很好的途径。通过SignalTapII测试芯片无需外接专用仪器,它在器件内部捕获节点进行分析和判断系统故障,使得调试工作比以前更方便,大大提高系统的调试能力。同时,它也可以在最终设计中预留,通过将关键的信号输出到JTAG,可以在未来设备出现故障时快速定位,可广泛应用于工程中。

参考文献

[1]李文江.共享缓冲在共享缓冲在ATM交换矩阵中的应

有数据,从捕获结果就可以看到FPGA接收处理数据的全过程。

设计时采用的链表结构是以前从没有接触的新技术,在实际中遇到许多竞争处理和不完善的地方,工程中正是由于SignalTapII工具的使用,才大大减少了开发周期,使得调试顺利进行。由于可以很直观地看到内部的逻辑状况,在复杂涉及特别是多信号处理中,SignalTapII扮演了十分重要的角色。

±

用[J].无线电工程,2006,36(2):3-4.

[2]黄锡伟,朱秀昌.宽带通信网络[M].北京:人民邮电出

版社,1998.

[3]曾繁泰,陈美金.EDA工程方法学[M].北京:清华大学

2 与传统的逻辑分析仪优劣比较

传统的逻辑分析仪在测试复杂的FPGA设计时,会面临以下几点问题:

①需要空余I/O引脚,并且I/O引脚往往难以引出。设计中器件的选择依据设计规模而定,通常所选器件的I/O引脚数目和设计的需求是恰好匹配 50

2007RadioEngineeringVo1137No11

出版社,2003.

[4]王成,吴继华.AlteraFPGA/CPLD设计(基础篇)[M].北

京:人民邮电出版社,2005.

[5]Af2phy20039.000UTOPIALevel2,Version1.0.TheATM

ForumTechnicalCommittee[S],1995.作者简介

李文江 男,(1976-),中国电子科技集团公司第54研究所工程师。主要研究方向:通信协议、通信接口及FPGA设计实现。

因篇幅问题不能全部显示,请点此查看更多更全内容