FPGA 重复配置和测试的实现

2011-08-16 17:11:23来源: 互联网 关键字:FPGA  重复配置  PCI
   

    从制造的角度来讲,FPGA测试是指对FPGA器件内部的逻辑块、可编程互联线、输入输出块等资源的检测。完整的FPGA测试包括两步,一是配置FPGA、然后是测试FPGA,配置FPGA是指将FPGA通过将配置数据下载编程使其内部的待测资源连接成一定的结构,在尽可能少的配置次数下保证FPGA内部资源的测试覆盖率,配置数据称为TC,配置FPGA的这部分时间在整个测试流程占很大比例;测试FPGA则是指对待测FPGA施加设计好的测试激励并回收激励,测试激励称为TS。

    通常来说,要完成FPGA内部资源的完整测试需要针对不同的待测资源设计多种配置图形,多次下载到FPGA,反复施加激励和回收测试响应,通过对响应数据的分析来诊断故障。因此,用于FPGA测试的仪器或系统的关键技术在于:如何加快单次配置的时间,以节省测试过程中的配置时间开销;如何实现自动重复配置和测试,将FPGA较快速度的在线配置和快速测试结合起来。

    由于一般的集成电路自动测试仪ATE为通用IC测试设计,但FPGA测试有上述特殊性,在芯片功能测试之前必须对其进行特定的配置,否则芯片是不具备内部电路结构的,内部资源将无法测试,而通用的ATE要完成测试步骤中的配置功能时,需要以人工或通过电脑专门编程修改配置数据生成测试系统可执行的测试激励形式进行配置,且如果配置数据较多,这个转换过程将可能比较复杂,易用性不强,无法高效地用于FPGA器件的测试中,需要对FPGA测试设计专用的测试平台以满足其配置测试需求。

    我们设计的系统实现了快速重复配置和测试的功能,配置数据可以直接引用EDA软件生成的位流文件而不需要像ATE一样转换成繁杂的测试激励形式,相较于ATE有一定的优势,对FPGA测试有一定的使用价值。

FPGA可重复配置和测试系统结构概述

系统框图如图1所示。

图1 可重复配置测试系统结构框图

    系统功能的实现包括软件和硬件两部分。硬件部分包含PCI桥接芯片、FPGA1中的数据接口模块、配置模块、测试模块和被测FPGA。软件部分包含对实现FPGA配置部分的代码和实现FPGA测试部分的代码。FPGA1中的各硬件模块通过EDA软件以JTAG接口固化FPGA1中,其中FPGA1中的配置模块负责接收来自PC方软件发送的配置数据,并产生对被测FPGA的配置时序,完成配置步骤,测试模块负责发送测试激励和回收被测FPGA的响应数据,等待PC方软件的回收。

系统软硬件交互流程

    整个系统通过软硬件的数据交互实现对被测FPGA的自动配置和测试的流程,软硬件交互的流程从图2可以体现:系统启动后,首先需要开始对被测FPGA进行数据配置,由软件向硬件发送配置开始指令,硬件接收指令后对被测FPGA产生配置开始的时序,告诉被测FPGA准备接收配置数据。当软件查询到配置模块中的状态寄存器值代表等待数据时开始发送配置数据。配置数据发送完成后,软件通过读取配置模块的状态寄存器值判断配置是否成功,决定是否可以开始测试。如果配置成功,软件则开始向被测FPGA发送测试激励数据并读回测试响应保存在电脑中,由软件对测试响应进行分析决定是否需要进行下一次配置和测试流程。如果需要,在一定的延时之后软硬件将回复初始状态,并选择新的配置数据和测试数据,开始新一轮的配置后测试流程。

图2 FPGA芯片自动重复下载自动测试系统软硬件交互流程图

    软硬件数据交互的通路是PCI总线,软件向FPGA1发送指令或数据时,软件通过PCI应用编程接口函数将数据放到PCI总线上,PCI桥接芯片将较为复杂的PCI接口信号转化为相对简单的Local Bus数据信号,由FPGA1中的接口模块接收并产生相应的动作。而软件向FPGA1读取数据的通路则相反。图3和图4分别是软件在VC++6.0环境中断点调试发送指令和软件向FPGA1发送指令时由嵌入式逻辑分析仪SignalTAP II捕捉到的指令数据和接口模块波形。

图3 VC++6.0环境中断点调试指令发送

图4 嵌入式逻辑分析仪SignalTAP II波形

图4中ADS_N、BLAST_N、LWORD_N、LHOLD、LHOLDA是Local Bus的接口信号,ConfigEnd和ConfigStart是分别代表配置结束和配置开始的标志寄存器,LA是接口的地址信号,用于模块中控制寄存器的寻址,LD是接口的数据信号,用于指令数据的发送和数据的回收。

    以配置开始指令的发送为例,从图3图4两图中可以看出软硬件交互过程中的指令发送方式,在VC++中单步调试,发送一个开始指令0x01到配置命令寄存器地址0x01,通过硬件模块的接口动作,用嵌入式存储器SignalTap II中捕捉到LA的数据为1h,LD上的数据为1h后ConfigStart寄存器置高,配置开始。

配置速度测试实验

    软硬件具体方案设计完毕后,软件在Visual C++6.0环境下实现并调试。硬件在QuartusII7.1软件下编译。

    为了对比基于PCI总线的FPGA高速配置方案与基于ByteBlasterII JTAG下载电缆的速度性能,首先使用QuartusII7.1软件采用JTAG方式对FPGA2配置5次,计算每次下载所示时间,得到如表1中所示的数据;再使用本系统中基于PCI总线的配置功能对FPGA2配置5次,软件会自行计算总的下载时间,得到如表1中所示的数据:

从表1的数据对比中可以看到,基于PCI总线的自动下载配置方式要比基于JTAG电缆的下载配置方式提高超过20倍的速度,如果使用基于JTAG电缆对某大容量的FPGA下载需要近20分钟的话,使用PCI下载方式则只需不到1分钟的下载时间,具有明显的速度优势,大大节省了FPGA测试中的数据配置时间。

总结

该FPGA芯片测试平台具有以下特点:

(1)针对FPGA测试的特点:需要重复对待测FPGA配置,设计了FPGA在线配置模块和自动测试模块,从概念上初步实现了自动重复下载和重复测试的功能,为FPGA自动化测试寻找到一个好方法;

(2)利用软件的灵活性提高了测试系统中具有可观察性好和可控制性强的优势;利用硬件结构上并行度高、速度快的优势提高了测试的效率;

(3)相较于专业的ATE设备,该系统软件可控性更强,配置数据更方便。

关键字:FPGA  重复配置  PCI

编辑:北极风 引用地址:http://www.eeworld.com.cn/FPGA/2011/0816/article_2398.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:赛灵思Spartan-6助力最新NI CompactRIO 系统
下一篇:基于FPGA-NIOS的多功能留言机设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
FPGA
重复配置
PCI

小广播

独家专题更多

2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved