• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 测试测量 > 技术文章 > SignalTapII ELA的FPGA在线调试技术

SignalTapII ELA的FPGA在线调试技术

录入:edatop.com    点击:

⑦添加待测信号。可以使用Node Finder中的SignalTapII ELA Filter查找所有预综合和布局布线后的SignalTapII ELA节点,添加待测的中间信号和端口信号。SignalTapII ELA不可测试的信号包括:逻辑单元的进位信号、PLL的时钟输出、JTAG引脚信号、LVDS(低压差分)信号等。

完成STP配置,将sof文件配置到FPGA,运行SignalTapII ELA,当待测信号条件满足时,数据捕获开始,捕获的数据以波形的形式表示出来。SignalTapII ELA也可将捕获数据通过多余的I/O引脚输出,以供外部的测试设备使用。

3  实例分析

本文以一个基于DDR SDRAM高速数据采集IP核的设计为例,具体说明如何用SignalTapII ELA来进行FPGA在线调试。使用Altera公司的器件CyclonelI系列FPGA EP2C5F256C6,该器件支持SignalTap II ELA。

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

先关闭增量编译,设置采样时钟为外部独立时钟CLK=50 MHz;采样深度为256;RAM类型为M4K,数据宽度分割为256×1;触发位置为Pre trigger position;触发信号为DDR SDRAM读操作信号;触发条件为Basic单信号触发;触发条件级数为1级。从图2可知,该触发信号设置为上升沿触发有效。重新编译后将包含SignalTapIIELA的sof配置文件下载到FPGA中,图3即是从SignalTap II ELA数据窗观察到的来自FPGA内部实时信号的捕获波形。

如果设计文件中添加SignalTapII ELA后编译时间显著增加,可以考虑使用Start Analysis&Elaboration代替Start Analysis&Synthesis,这样可以显著缩短编译时间。

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

保持属性主要用于信号和网络节点。代码如下(以VHDL为例):

signal my_signal:bit;

attribute syn_keep:boolean;

attribute syn_keep of my_signal signal is true;

保护属性主要用于寄存器。代码如下(以VHDL为例):

signal my_reg:std_logic;

attribute preserve:boolean;

attribute preserve of my_signal:signal is true;

通过改变待测信号的触发方式和条件,可以捕获到其他相类似的信号波形,这里就不一一列举。

需要注意的是,SignalTapII ELA本身是一块独立逻辑资源,需要占据FPGA资源。比如RAM、LE等,资源消耗量与需采集的数据量成正比,采集存储的数据深度由设计中的内部RAM剩余大小决定。在调试完成后,需将SignalTapII ELA从系统逻辑设计中移除,以免浪费资源和影响设计的性能。

结  语

通过对FPGA内部信号的捕获测试,可以实现对系统设计缺陷的实时分析和修正。与外部测试设备相比,可以总结出SignalTapII ELA的几点优越性:不占用额外的I/O引脚,不占用PCB上的空间,不破坏信号的时序和完整性,不需额外费用;从多方面证实,该测试手段可以减少调试时间,缩短设计周期。

作者:刘政,蒋志勇   来源:中电网

点击浏览:矢量网络分析仪、频谱仪、示波器,使用操作培训教程

上一篇:数字温度传感器DSl8820在卫星电源系统中设计原理
下一篇:基于SoPC的通用在线调试器设计

微波射频测量操作培训课程详情>>
射频和天线工程师培训课程详情>>

  网站地图