在FPGA中实现嵌入式逻辑分析仪的系统开发与调试应用_第1页
在FPGA中实现嵌入式逻辑分析仪的系统开发与调试应用_第2页
在FPGA中实现嵌入式逻辑分析仪的系统开发与调试应用_第3页
在FPGA中实现嵌入式逻辑分析仪的系统开发与调试应用_第4页
在FPGA中实现嵌入式逻辑分析仪的系统开发与调试应用_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在FPGA中实现嵌入式逻辑分析仪的系统开发与调试应用随着逻辑设计复杂性的不断增加,在计算机上以软件方式的仿真测试变得更加耗费时间,而不断需要重复进行的硬件系统的测试同样变得更为困难。为了解决这些问题,设计者可以将一种高效的硬件测试手段和传统的系统测试方法相结合来完成,这就是嵌入式逻辑分析仪的使用。它主要用于分析数字系统的检测和故障诊断问题,是数据域测试中一种非常有效的测试方法。它可以随设计文件一并下载于目标芯片中,用以捕捉设计者感兴趣的目标芯片内部信号节点处的信号,而不影响原硬件系统的正常工作。本文介绍SignalTapII逻辑分析仪的基本用法及其在FPGA中一个典型的应用实例。1SignalTapII基本用法嵌入式逻辑分析仪SignalTapII在对系统硬件模块进行监测时,是将测得的样本数据暂存于目标器件的RAM中,然后通过器件的JTAG端口和ByteBlasterII下载线一起将样本数据信息传出并送入计算机进行数据分析。SignalTapII允许对设计中所有层次模块的信号进行监测,可以使用多时钟驱动,还能通过设置用以确定前后触发信号信息的比例。其使用方法步骤如下:(1)打开SignalTapII编辑窗。选择Tool中的SignalTapLogicAnalyzer项,或者选择File中的New项,在New窗口中选择OtherFiles中的SignalTapIIFile,单击OK按钮,即出现图1所示编辑窗。(2)调入待测信号。注意在调入信号前需给该信号组取名,可通过Instance栏内的AutoSignalTap_0处单击即可。其次,调入待测信号,在Instance栏的下栏空白处双击即可,如图2所示。在窗口中,点击List,在NodesFound中就出现所有的待测信号,选择所要测量的信号,点击OK就完成了。在调用信号时,不要过多的调用没有实际意义的信号,这样会导致芯片资源的浪费。(3)相关参数设置。参数的设置正确与否是使用SignalTapII的关键。从前面我们已经知道,SignalTapII将采样的样本存于RAM中,参数设置就是设定采样的特征信息和采样数据样本的大小等参数,采样的特征信息包括采样时钟的采样的速度、触发形式和采样的深度,即采样样本存放于RAM中的点数以及RAM的大小等相关设置。参数设置过程如下,首先,在图1的Signal栏中,点击Clock即可设置采样时钟。采样时钟的快慢影响我们所观察的信号的质量,所以要灵活、合理选择。采样时钟不是越快越好,当我们要观察一些慢速信号或干扰信号的时候,太快就适得其反。其次,设置采样深度。采样深度越深我们观察到的点数就越多,当然是越多越好,但是由于受RAM的大小限制,我们设置的采样深度不可能太深。特别是在采样信号比较多的时候,我们要综合考虑这些因数,设置我们的采样深度,以免发生RAM不够用的情况。再次,根据待测信号的要求,在BufferAcquisitionMode框的Circulate栏设置采样起始触发位置。最后,设置触发条件,在Trigger中用于选择出发级数,如两级触发,就要在两个触发条件都满足的条件下才能得到触发;在下面的Trigger框中选择触发信号和触发形式,触发形式有上升沿、下降沿等触发供选择,当选择的触发信号满足了所设置的触发形式的时候,就开始采样。(4)保存。在完成以上的步骤之后,点击保存,出现“DoyouwanttoenableSignalTapII…”,选择“是”就表示再次编译的时候将SignalTapII与工程捆绑在一起综合,并通过下载适配器一起下载到FPGA芯片中去。如果选择了否,可以在菜单Assignment中的Setting项,Category栏中选择SignalTapLogicAnalyzer,在弹出的窗口中的右面,选中EnableSignalTapLogicAnalyzer,单击OK即可。在全部测试完成的时候,应从芯片中去掉SignalTapII,方法如上所述。(5)观看结果。保存好了之后,就可以下载到FPGA芯片里面去了。下载方法与普通下载方法一致,这里不在详述。再在图1的JTAGChain中设置好硬件连接及相关的SOF文件,最后点击Instance右边第二个自动分析按钮就可以启动SignalTapII来观看样本数据。2实例应用这里设计一个正弦信号发生器,具体说明SignalTapII的强大功能。2.1系统硬件正弦函数信号发生器由地址发生器、数据存储器ROM、D/A三部分组成,根据需要还可以添加移相等其他功能[2],其系统硬件框图如图3所示。地址发生器实际上是一个计数器,从0开始计数,循环进行。数据存储器ROM的每一个地址对应正弦信号的一个数据,其输入是一个递增的计数值,输出是与其唯一对应。数据存储器ROM的数字输出经过D/A转换得到了模拟的正弦波形。2.2系统软件系统软件采用硬件描述语言VHDL编制,在FPGA中完成软件的编辑、编译,整个系统的VHDL语言描述如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYSINGTISPORT(CLK:INSTD_LOGIC;--信号源时钟DOUT:OUTSTD_LOGIC_VECTOR(7DOWNTO0));--8位波形数据输出END;ARCHITECTUREDACCOFSINGTISCOMPONENTdata_rom--调用波形数据存储器LPM_ROM文件:data_rom.vhd声明PORT(address:INSTD_LOGIC_VECTOR(5DOWNTO0);--6位地址信号inclock:INSTD_LOGIC;--地址锁存时钟q:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDCOMPONENT;SIGNALQ1:STD_LOGIC_VECTOR(5DOWNTO0);--设定内部节点作为地址计数器BEGINPROCESS(CLK)--LPM_ROM地址发生器进程BEGINIFCLK‘EVENTANDCLK=’1‘THENQ1《=Q1+1;--Q1作为地址发生器计数器ENDIF;ENDPROCESS;u1:data_romPORTMAP(address=》Q1,q=》DOUT,inclock=》CLK);--例化END;2.3系统调试一般地,系统在软硬件设计后,调试工作任务是比较繁重地,如果系统没有达到设计的预期目标,可能出现的问题可能是软件,也可能是硬件。这两个部分无论是软件还是硬件,都是一个非常庞大(对于较大的系统)的工程,每个模块都可能会存在问题,如果不用SignalTapII来调试,只能检查每一个模块,或根据设计的逻辑检查软件系统。这里我们采用SignalTapII来调试各个模块。(1)地址发生器模块检查。通过仿真监测地址发生器的结果是否是一个递增数字量,“是”则该模块正常。(2)正弦波数据存储ROM模块检查。监测ROM中数据是否为预期的正弦表格中依次的数据,“是”则该模块正常。可见,用SignalTapII来调试FPGA优势非常的大,这样可以大大缩短设计人员的测试时间,使得设计尽快投入市场。如果检查全部正确,就说明问题出现的不是软件,而是硬件了。按照上述SignalTapII的使用步骤,在编译后的工程中添加STP文件,并对文件进行相关设置,部分参数设置见图4所示。最后,观察待测信号,如图5所示。如果在待测信号名上右击该信号,在出现的选项中选择BusDisplayFormat,可以选择以什么数据形式显示采样到的波形,可以有16、10等进制数显示,具体选择根据需要,本例中使用LineChar

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论