SignalTap_ELA的FPGA在线调试技术

  • 格式:pdf
  • 大小:545.84 KB
  • 文档页数:3

经验交流 EXPERIENCE EXC HAN GESignal T apII ELA 的FPGA 在线调试技术刘政,蒋志勇(桂林航天工业高等专科学校电子工程系,桂林541004) 在设计基于FPGA 的电子系统时,一般需要用示波器、逻辑分析仪等外部测试设备进行输入输出信号的测试,借助测试探头把信号送到测试设备上进行观察分析。

当然,前提是需要保留足够多的引脚,以便能选择信号来驱动I/O 进行测试。

但是外部的测试设备在测试FPGA 系统时,常会遇到这样的情况:FPGA 的I/O 引脚数量不够丰富,PCB 布线和封装工艺复杂导致I/O 引脚引出困难,外部测试探头有影响FPGA 信号时序和完整性的可能[1-2]。

如果能在FP GA 内部嵌入具有外部测试设备功能的逻辑测试模块,那么以上问题就可以一一解决。

Signal 2Tap II 就是这样一种嵌入式逻辑分析器(embedded logic analyzer ),简称为Signal Tap II ELA 。

它是Quart usII 软件中集成的内部逻辑分析软件,使用它可以实时观察内部信号波形,方便用户查找设计的缺陷。

1SignalTapII E LA 的原理S ignal T apII ELA 是Quartus 软件中第二代系统级调试工具。

将Signal T apII ELA 代码和系统逻辑代码组合交由QuartusII 编译、综合、布局布线,生成sof 文件中内含Sign 2al T apII ELA ,把sof 文件配置到FPG A 内。

FPGA 运行时,一旦满足待测信号的触发条件,Signal T apII ELA 就立即启动,按照采样时钟的频率捕获待测信号数据并暂存于FP 2G A 片内的RAM 中,采样数据不断刷新片内存储器,最后通过J T A G 口将捕获的信号从片内RAM 传至Quartus II 实时显示。

Signal T apII ELA 的原理流程如图1所示。

图1 SignalT apII E LA 原理流程实际工程中,加入Signal Tap II ELA 不会影响系统原有的逻辑功能。

2SignalTapII E LA 的配置Signal Tap II ELA 基本配置过程[3]如下:①添加采样时钟。

Signal Tap II ELA 在时钟的上升沿进行采样,可以使用设计系统中的任何信号作为采样时钟,根据Altera 公司的建议最好使用同步系统全局时钟作为采样时钟。

但是在实际应用中,多数使用独立的采样时钟,这样能采样到被测系统中的慢速信号,或与工作时钟相关的信号。

当然采样时钟的频率要大于被测信号的最高频率,否则被测信号波形会有较大误差。

②定义采样深度。

采样深度决定了待测信号采样存储的大小,而可以采样的深度是根据设计中剩余的RAM 块容量和待测信号的个数决定的。

若待测信号较多,则在同样I/O Bank 个数情况下采样深度较浅。

待测信号个数的增减和采样深度的深浅会直接改变RAM 块的占用情况,采样深度的范围为0~128K B 。

③定义RAM 类型。

设置占用片内何种RAM 块资源,随着采样深度的改变,RAM 块的数据线和地址线宽度可以分割成多种组合。

例如:采样深度是1K B ,RAM 数据线、地址线可以分割成2×512或4×256等多种组合。

依此类推。

④定义触发位置。

Pre trigger position 表示采样到的数据12%为触发前,88%为触发后;Center trigger position 表示采样的数据处于触发前后各一半;Post trigger posi 2tion 表示采样到的数据88%为触发前,12%为触发后。

⑤触发条件级数设置。

Signal Tap II ELA 支持多触发级的触发方式,最多可支持10级触发,帮助滤除不相干的数据,更快地找到需要的数据。

若有多级触发条件,首先分析第一级触发条件。

若第一级为TRU E ,则转到分析第二级是否满足,直到分析完所有触发条件均为TRU E 才最终触发时钟采样数据。

⑥触发条件。

设定约束性的触发条件。

可以允许单个信号的独立触发条件Basic ,直接采用单个外部或设计模块内部的信号;也可以允许多个节点信号的组合触发条件Advanced ,构成触发函数的触发条件方程。

例如:使能EXPERIENCE EXC HAN GE 经验交流信号ENA 与4位输出信号Q 相与后触发,触发条件=ENA &(Q =15)。

⑦添加待测信号。

可以使用Node Finder 中的Sign 2al Tap II ELA Filter 查找所有预综合和布局布线后的Sig 2nal Tap II ELA 节点,添加待测的中间信号和端口信号。

Signal Tap II ELA 不可测试的信号包括:逻辑单元的进位信号、PLL 的时钟输出、J TA G 引脚信号、LVDS (低压差分)信号等。

完成STP 配置,将sof 文件配置到FP GA ,运行Sign 2al Tap II ELA ,当待测信号条件满足时,数据捕获开始,捕获的数据以波形的形式表示出来。

Signal Tap II ELA 也可将捕获数据通过多余的I/O 引脚输出,以供外部的测试设备使用。

3实例分析本文以一个基于DDR SDRAM 高速数据采集IP 核的设计为例[4],具体说明如何用Signal Tap II ELA 来进行FP GA 在线调试。

使用Altera 公司的器件CycloneII 系列FP GA EP2C5F256C6,该器件支持Signal Tap II ELA 。

当前需要测试来自3个模块的信号:外部存储器DDR SDRAM 与FP GA 的接口信号、FP GA 内部输入输出PIO 寄存器信号、FP GA 内部RAM 接口信号。

先关闭增量编译,设置采样时钟为外部独立时钟CL K =50M Hz ;采样深度为256;RAM 类型为M4K ,数据宽度分割为256×1;触发位置为Pre trigger position ;触发信号为DDR SDRAM 读操作信号;触发条件为Basic 单信号触发;触发条件级数为1级。

从图2可知,该触发信号设置为上升沿触发有效。

重新编译后将包含Signal Tap II ELA 的sof 配置文件下载到FP GA 中,图3即是从Signal 2Tap II ELA 数据窗观察到的来自FP GA 内部实时信号的捕获波形。

图2触发条件设置图3 捕获的信号波形 如果设计文件中添加Signal Tap II EL A 后编译时间显著增加,可以考虑使用Start Analysis &Elaboration 代替Start Analysis &Synt hesis ,这样可以显著缩短编译时间。

加入Signal T apII ELA 后,如果发现一些用于调试的逻辑(比如调试用的计数器)被优化掉,不能出现在波形中,可以尝试这样解决:在HDL 设计文件中对要调试的信号添加保持或保护属性[4]。

保持属性主要用于信号和网络节点。

代码如下(以V HDL 为例):signal my_signal :bit ;attribute syn_keep :boolean ;经验交流 EXPERIENCE EXC HAN GEattribute syn_keep of my_signal:signal is true;保护属性主要用于寄存器。

代码如下(以V HDL为例):signal my_reg:std_logic;attribute preserve:boolean;attribute preserve of my_signal:signal is true;通过改变待测信号的触发方式和条件,可以捕获到其他相类似的信号波形,这里就不一一列举。

需要注意的是,Signal T apII ELA本身是一块独立逻辑资源,需要占据FPG A资源。

比如RAM、L E等,资源消耗量与需采集的数据量成正比,采集存储的数据深度由设计中的内部RAM剩余大小决定。

在调试完成后,需将Sign2 al T apII ELA从系统逻辑设计中移除,以免浪费资源和影响设计的性能。

结语通过对FPG A内部信号的捕获测试,可以实现对系统设计缺陷的实时分析和修正。

与外部测试设备相比,可以总结出Signal T apII ELA的几点优越性:不占用额外的I/O 引脚,不占用PCB上的空间,不破坏信号的时序和完整性,不需额外费用;从多方面证实,该测试手段可以减少调试时间,缩短设计周期。

参考文献[1]李文江,赵增辉.用Signal Tap II逻辑分析仪调试FP GA[J].无线电工程,2007,37(1):48250.[2]孟令军,李娜.基于FP GA的内部逻辑在线测试技术研究[J].电测与仪表,2008,45(11):34237.[3]王成,吴继华.Altera FP GA/CPLD设计(基础篇)[M].北京:人民邮电出版社,2005.[4]Altera ing Signal Tap II Embedded Logic An2alyzers in SOPC Builder Systems[OL].(2007211)[20092112 02]./literature/an/an323.pdf.刘政(硕士),研究方向为检测技术及其自动化。

(收稿日期:2009212202)本刊诚征稿件《单片机与嵌入式系统应用》是国内嵌入式系统领域唯一的国家级专业期刊,定位于单片机与嵌入式系统的基础应用。

本刊设有“业界论坛”、“专题论述”、“技术纵横”、“新器件新技术”、“应用天地”、“经验交流”、“学习园地”、“产业技术”八个栏目,为投稿者提供了广泛的选题空间。

来稿不限字数,以先进性、实用性、完整性、可读性为录用标准。

篇幅过大时,主要内容在平面期刊上发表,全文则以网络版或网络补充版形式刊登在本刊网站上。

为了最大限度地保障投稿者的利益,本刊对所有来稿采取快速处理方式,对于未能录用的稿件,作者能及时转投其他刊物。

本刊对录用稿件不收版面费,来稿一经刊登,均付给稿酬。

本刊栏目要求1.业界论坛:创新观念、技术评述、学术争论以及方向性、前瞻性指导;2.专题论述:单片机与嵌入式系统领域的热点技术、专题技术研究;3.技术纵横:国内外先进技术的宏观纵览,全局资料分析、综合、利用;4.新器件新技术:介绍新器件、新技术成果及其在系统中的典型应用方法;5.应用天地:具有重要参考价值的科技成果与典型应用的技术交流;6.经验交流:嵌入式系统应用中的开发技巧和开发经验交流;7.学习园地:介绍嵌入式系统基础知识、通用技术、常用方法;8.产业技术:为产业界提供技术与信息发布平台,推广厂家的最新产品与技术成果。