1 导言
现在FPGA大多选用依据查找表技能,首要由可编程输入/输出单元(IOB)、可编程逻辑单元(CLB)、可编程布线资源(PI)、装备用的SRAM、BlockRAM和数字推迟锁相环(DLL)等部分组成。对FPGA进行测验要对FPGA内部或许包含的资源进行结构剖析,经过一个测验装备(TC)和向量施行(TS)的进程,把FPGA装备为具有特定功用的电路,再从运用级别上对电路进行测验,完结电路的功用及参数测验。
2 FPGA的装备办法
对FPGA进行装备有多种办法能够挑选,包含鸿沟扫描装备办法、Xilinx公司专用的SPI/BPI FLASH装备办法、System ACE装备办法、CPLD+第三方FLASH装备办法、体系直接加载装备向量的装备办法。鸿沟扫描办法首要合适在线装备调试用,Xilinx专用Flash装备办法,每次只能在FLASH中存储一段装备码,不合适重复装备测验进程。System ACE办法需求专门的System ACE操控芯片和CF卡,运用比较费事。比较合适体系测验的首要是后两种办法。
2.1 测验体系直接装备办法
当选用的测验体系比较高档,比方Teradyne公司的UltraFLEX,该体系测验频率高达500 MHz,测验通道数多达1024个,测验向量深度可达128 M,能够运用体系直接加载二进制装备向量对FPGA进行装备。
能够在同一个操作流程中完结FPGA芯片的屡次“装备-测验”进程。该办法操作简略,进步了FPGA芯片的测验功率,能够完结FPGA芯片的产业化测验。
2.2 CPLD+第三方FLASH的装备办法
当待测FPGA的装备代码比较大,而测验体系(ATE)向量深度缺乏时,能够选用 CPLD+第三方FLASH的装备办法,其结构图如图1所示。
其间CPLD的规划是最重要的部分,它所完结的功用模块包含接口模块、操控模块、地址发生器模块。接口模块完结与测验体系的通讯,接纳测验体系指令并作相应处理,一起将作业状况反馈给测验体系;操控模块供给操控时序指令,操作整个装备进程;地址发生器模块为读取闪存数据供给数据地址。CPLD内部各功用模块选用硬件描绘言语完结。
Flash是装备文件的存储器材,预先将多段16进制格局装备文件烧写进Flash中。FPGA是体系中装备的方针器材。
本办法选用ATE操控CPLD读取FLASH中不同地址范围内的装备代码对FPGA进行装备,再在不掉电的情况下对装备好的FPGA进行功用和参数测验。
3 FPGA装备形式挑选与装备码的生成
3.1 FPGA装备形式挑选
FPGA的装备形式有多种,并且不同系列FPGA的装备形式有必定的不同,首要的装备形式有:主串形式、从串形式、主并形式、从并形式和鸿沟扫描形式。经过设置三个形式挑选管脚M0、M1、M2能够挑选不同装备形式。装备形式如表1所示。
用测验体系对FPGA进行测验大部分时刻是用在装备上,装备时刻依据装备码巨细不同可达几毫秒到数十秒。为了进步装备速度,咱们对FPGA进行装备挑选从并形式,能够最大地节约测验装备时刻。以Virtex-II系列FPGA为例,其从并装备形式原理图如图2所示。
FPGA装备码要在Xilinx ISE开发环境下编写装备程序,生成所需求的二进制格局装备文件,如图3所示。
图中1~7行归于文件头,需求删除去,第8~9行便是装备数据开端标志:FFFFFFFF AA995566,后边的都是装备数据。
装备文件数据宽度都是32位,还要依据不同系列FPGA的装备数据宽度进行修正。以Virtex-II系列为例,它的从并形式数据宽度是8位,咱们需求编写运用程序转化成8位宽的数据。装备数据比特次序如表2所示,以8位宽数据为例,其D0为最高位。
4 FPGA的装备与测验流程
FPGA装备进程首要有四个进程:铲除装备存储器、初始化、装备和发动。以Virtex-II FPGA为例,装备进程的时序要求如图5所示:体系上电后给PROG_B管脚一个低信号,FPGA便开端铲除装备存储器,FPGA内部将INIT_B管脚和DONE管脚拉低。当装备存储器铲除结束,INIT_B会变高,之后若CS_B为低有用,就能够传送装备数据对FPGA进行装备,当管脚DONE由低变为高,便标志芯片的装备完结。
用测验体系对FPGA进行测验能够把装备代码和测验代码别离做成不同的Pattern文件,把装备进程也作为一个功用测验项,这样便可对被测FPGA电路进行重复的装备–测验。装备pattern文件如图5所示。
FPGA装备结束后,便具有必定的功用,能够像其他电路相同进行功用和参数测验。
5 定论
本文具体介绍了FPGA装备办法、装备形式挑选和装备码的生成办法,并以Virtex-II系列FPGAXC2V250为例具体介绍了用测验体系Ultra-FLEX对FPGA的装备与测验进程。 该办法可广泛运用于各种FPGA的测验,具有较强的通用性,关于完结FPGA的产业化测验具有重要意义。