[导读]通过对FPGA内部信号的捕获测试,可以实现对系统设计缺陷的实时分析和修正。与外部测试设备相比,可以总结出SignalTapII ELA的几点优越性:不占用额外的I/O引脚,不占用PCB上的空间,不破坏信号的时序和完整性,不需额外费用;从多方面证实,该测试手段可以减少调试时间,缩短设计周期。
在设计基于FPGA的电子系统时,一般需要用示波器、逻辑分析仪等外部测试设备进行输入输出信号的测试,借助测试探头把信号送到测试设备上进行观察分析。当然,前提是需要保留足够多的引脚,以便能选择信号来驱动I/O进行测试。但是外部的测试设备在测试FPGA系统时,常会遇到这样的情况:FPGA的I/O引脚数量不够丰富,PCB布线和封装丁艺复杂导致I/O引脚引出困难,外部测试探头有影响FPGA信号时序和完整性的可能。
如果能在FPGA内部嵌入具有外部测试设备功能的逻辑测试模块,那么以上问题就可以一一解决。SignalTapII就是这样一种嵌入式逻辑分析器(embedded logicanaIyzer),简称为SignalTapII ELA。它是QuartusII软件中集成的内部逻辑分析软件,使用它可以实时观察内部信号波形,方便用户查找设计的缺陷。
1 SignalTapII ELA的原理
SignalTapII ELA是Quartus软件中第二代系统级调试工具。将SignalTapII ELA代码和系统逻辑代码组合交由QuartusII编译、综合、布局布线,生成sol文件中内含SignalTapII ELA,把sof文件配置到FPGA内。FPGA运行时,一旦满足待测信号的触发条件,SignalTapII ELA就立即启动,按照采样时钟的频率捕获待测信号数据并暂存于FPGA片内的RAM中,采样数据不断刷新片内存储器,最后通过JTAG口将捕获的信号从片内RAM传至Quartus II实时显示。SignalTapII ELA的原理流程如图1所示。
实际工程中,加入SignalTapII ELA不会影响系统原有的逻辑功能。
2 SignalTapII ELA的配置
SignalTapII ELA基本配置过程如下:
①添加采样时钟。SignalTaplI ELA在时钟的上升沿进行采样,可以使用设计系统中的任何信号作为采样时钟,根据Altera公司的建议最好使用同步系统全局时钟作为采样时钟。但是在实际应用中,多数使用独立的采样时钟,这样能采样到被测系统中的慢速信号,或与工作时钟相关的信号。当然采样时钟的频率要大于被测信号的最高频率,否则被测信号波形会有较大误差。
②定义采样深度。采样深度决定了待测信号采样存储的大小,而可以采样的深度是根据设计中剩余的RAM块容量和待测信号的个数决定的。若待测信号较多,则在同样I/O Bank个数情况下采样深度较浅。待测信号个数的增减和采样深度的深浅会直接改变RAM块的占用情况,采样深度的范围为0~128 KB。
③定义RAM类型。设置占用片内何种RAM块资源,随着采样深度的改变,RAM块的数据线和地址线宽度可以分割成多种组合。例如:采样深度是1 KB,RAM数据线、地址线可以分割成2×512或4×256等多种组合。依此类推。
④定义触发位置。Pre trigger position表示采样到的数据12%为触发前,88%为触发后;Center trigger position表示采样的数据处于触发前后各一半;Post trigger position表示采样到的数据88%为触发前,12%为触发后。
⑤触发条件级数设置。SignalTapII ELA支持多触发级的触发方式,最多可支持10级触发,帮助滤除不相干的数据,更快地找到需要的数据。若有多级触发条件,首先分析第一级触发条件。若第一级为TRUE,则转到分析第二级是否满足,直到分析完所有触发条件均为TRUE才最终触发时钟采样数据。
⑥触发条件。设定约束性的触发条件。可以允许单个信号的独立触发条件Basic,直接采用单个外部或设计模块内部的信号;也可以允许多个节点信号的组合触发条件Advanced,构成触发函数的触发条件方程。例如:使能信号ENA与4位输出信号Q相与后触发,触发条件=ENA&(Q=15)。
⑦添加待测信号。可以使用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上的空间,不破坏信号的时序和完整性,不需额外费用;从多方面证实,该测试手段可以减少调试时间,缩短设计周期。
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
最近为什么越来越多的研究开始利用FPGA作为CNN加速器?FPGA与CNN的相遇究竟能带来什么神奇效果呢?原来,FPGA拥有大量的可编程逻辑资源,相对于GPU,它的可重构性以及高功耗能效比的优点,是GPU无法比拟的;同时...
关键字:
FPGA
可编程逻辑资源
GPU
FPGA的应用领域包罗万象,我们今天来看看在音乐科技领域及医疗照护的智能巧思。
关键字:
FPGA
科技领域
智能
最近某项目采用以太网通信,实践起来有些奇怪,好像设计成只能应答某类计算机的ICMP(ping)命令, 某类计算机指的是Windows特定系统,其他系统发送ping都不能正确识别。
关键字:
嵌入式Linux
FPGA
协议
近两年,国外厂商的FPGA芯片价格飙升,由于价格,货期,出口管制等多方面因素的影响,很多公司都在寻找FPGA国产化替代方案。我工作中正在使用的几款芯片也面临停产的风险,用一片少一片,了解到国产FPGA发展的也不错,完全自...
关键字:
FPGA
芯片
EDA
本篇是FPGA之旅设计的第十二例,在前面的例程中,完成了DS18B20温度传感器数据的采集,并且将采集到的数据显示在数码管上。由于本例将对温湿度传感器DHT11进行采集,而且两者的数据采集过程类似,所以可以参考一下前面的...
关键字:
FPGA
DS18B20温度传感器
这是FPGA之旅设计的第十三例啦,本例是一个综合性的例程,基于OLED屏幕显示,和DHT11温湿度采集,将DHT11采集到的温湿度显示到OLED屏幕上。
关键字:
FPGA
OLED屏幕
这是FPGA之旅设计的第九例啦!!!本例将介绍如何使用FPGA驱动OLED屏幕,并在接下来的几例中,配合其它模块,进行一些有趣的综合实验。由于使用的OLED屏是IIC接口的,对IIC接口不是很清楚的,可以参考第五例的设计...
关键字:
FPGA
OLED屏幕
这是FPGA之旅设计的第十例啦,在上一例中,已经成功驱动了OLED屏幕,本例将结合上一例,以及第四例多bytes串口通信做一个有趣的例程。
关键字:
FPGA
OLED屏
串口
这是FPGA之旅的第十一例了。在前面的例子中,已经对OLED有了一个基础的了解,本例将介绍如何在OLED上实现支符的显示,为后面的例程做准备。
关键字:
FPGA
OLED
字符
在许多高可靠性商业航空、太空、国防、汽车和工业应用中使用的系统需要获得IEC 61508安全完整性等级(SIL)3功能安全规范的认证。为了降低这一过程的成本,并加快上市,Microchip Technology Inc....
关键字:
Microchip
FPGA
本例是FPGA之旅设计的第十四例,本例将红外遥控的使用,并将红外接收器接收到红外遥控的数据显示在数码管上。
关键字:
FPGA
红外遥控信号
加利福尼亚州圣克拉拉市,2022年9月19日——高性能现场可编程逻辑门阵列(FPGA)和嵌入式FPGA(eFPGA)半导体知识产权(IP)领域的领导性企业Achronix半导体公司宣布:该公司已经收购了Accolade...
关键字:
Achronix
FPGA
Flex Logix目前在推广他们的嵌入式 FPGA 技术。它非常坚固。它已经投放市场多年,并在许多流程节点上得到广泛支持。他们看到越来越多的客户采用该技术,他们正在宣传并尝试与更多的架构师和设计师会面,与他们分享他们可...
关键字:
Flex Logix
FPGA
这是FPGA之旅设计的第五例啦!今天给大家带来的是IIC通信,IIC协议应用非常广泛,例如与MPU6050进行通信,配置OV5640摄像头、驱动OLED屏幕等等,都需要使用到IIC协议,所以掌握它是非常必要的,废话不多说...
关键字:
FPGA
IIC协议
Altium Designer 提供了唯一一款统一的应用方案,其综合电子产品一体化开发所需的所有必须技术和功能。Altium Designer 在单一设计环境中集成板级和FPGA系统设计
关键字:
ad10
电子产品
FPGA
该芯片为国内首颗基于22nm工艺制程,并已成功量产的FPGA芯片。
关键字:
京微齐力
FPGA
芯片
作为中科院唯一一支从事FPGA技术产品化及产业化的团队,中科亿海微此次荣获“中国IC独角兽”荣誉称号,既是市场、用户、行业对中科亿海微实力的认可,更是对公司未来发展前景的看好。
关键字:
中科亿海微
FPGA
在这篇文章中,小编将对FPGA芯片的相关内容和情况加以介绍以帮助大家增进对FPGA芯片的了解程度,和小编一起来阅读以下内容吧。
关键字:
FPGA
芯片
ASIC