基于测试系统的FPGA测试方法研究与实现

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,该系统测试频率高达500mhz,测试通道数多达1024个,测试向量深度可达128m,可以使用系统直接加载二进制配置向量对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所示。
3.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的产业化测试具有重要意义。

TD-LTE产业成熟 三大运营商明确4G牌照事项
小寻T2儿童电话手表怎么样 值不值得买
dfrobotmicro:bit Go 基础套装介绍
锂离子电池概况及分类 锂电池电芯工艺流程
人工智能创新中心实验室正在开发专门针对医学界的技术
基于测试系统的FPGA测试方法研究与实现
水泥电阻在电源电路和分频器中的作用
马斯克:仍然可以实现 2020 年交付 50 万辆电动汽车的目标
树莓派火箭技术
可编程直流电源DP5000系列的特点
诺基亚9什么时候上市?诺基亚9最新消息:骁龙835+6GB,诺基亚9配置新升级,诺基亚9能否重回巅峰呢?
探讨数模转换的概念
欧洲电动跑车电池中国造,仅4分40秒充电80%
全球最高转速伺服电机问世——AC Servo Drive Σ-X
单面柔性PCB的结构简介
三星s8将为未来重点押注对象 屏占比达到99%真正无边框智能手机
LG G6高清晰谍照曝光 灰蓝色一体式金属机身!
看看车主怎么评价胎压监测
爱立信全新推出硬件平台及5G创新产品
莱迪思半导体推出适用于无线光纤应用的千兆级基带处理器