基于ATE的FPGA测试

基于 ATE 的 FPGA 测试
解维坤 (中国电子科技集团第五十八研究所,无锡 214035)
摘要:随着集成电路技术的飞速发展,FPGA

的应用越来越广泛,其测试技术也得

到了广泛重视和研究[1]。文章简要介绍了 FPGA 的发展及其主要组成部分;提出 了一种用 ATE 对 FPGA 进行测试的方法和具体测试流程; 以一段 Xilinx XC3042 的真实配置数据为例详细描述了 Intel HEX 文件格式,以及将其转换成二进制配 置码的方法,并介绍了 FPGA 的配置码格式和配置数据长度的计算方法;然后, 以外设配置模式为例,通过 XC3042 的配置电路原理图和配置时序详细描述了 FPGA 的配置原理;最后给出了采用 ATE (Automatic Test Equipment)-J750 对 FPGA 的 配置与测试过程,为 FPGA 的通用测试提供了一种切实可行的有效方 法。
关键词:ATE;FPGA;测试;配置 FPGA Testing Based on ATE Xie Weikun (China Electronics Technology Group Corporation NO.58 Research Institute, Wuxi 214035,China ) Abstract: With the rapid development of IC technology, the application of FPGA becomes more and more widely, and its testing techniques have been paid attention to and research extensively This paper briefly describes the development of FPGA and its major components; presents a specific testing method and procedure of FPGA based on the ATE; describes the Intel HEX file format with a set of actual configuration data of Xilinx XC3042,as well as the method of converting it into a binary configuration code, and describes the configuration code format and the calculating method of configuration data length of FPGA; Then, explains about the FPGA configuration principle through the configuration circuit schematic diagram and configuration sequence of XC3042 at the mode of Peripheral. At last, this paper describes the FPGA configuration and testing process with ATE-J750.This can be regarded as a practical and effective way for the FPGA's general-purpose test. Key words:ATE;FPGA;Testing;Configuration 1.引言 FPGA(Field Programmable Gate Array) ,即现 场可编程门阵列,它是在 PAL、GAL、CPLD 等可编程器
1

件的基础上进一步发展的产物。它是作为专用集成电 路(ASIC)领域中的一种半定制电路而出现的,既解

原理图

Quartus II .pof .sof

开发板

程序设计

ISE开发环境

.bit .bin .mcs .jed mcs

决了定制电路的不足,又克服了原有可编程器件门数
PCB图

转换 工具

有限的缺点。目前 FPGA 大多采用基于查找表技术,主 要有:可编程输入/输出单元(IOB) 、可编程逻辑单元
TB程序 Modelsim 仿真

Foundation

配置码

测试码

ATE DUT板

( CLB ) 、可编程布线资源( PI ) 、配置用的 SRAM 、 BlockRAM 和数字延迟锁相环(DLL)等部分组成。对 FPGA 进行测试要对其内部各部分资源进行测试。
人工输入向量 次品 良品 转换工具 测试向量 No 测过? Yes

2.FPGA 的测试流程 图 1 FPGA 测试流程图 FPGA 在配置前没有功能,用 ATE 对 FPGA 进 行测试,首先要对 FPGA 进行配置,然后对配置成的 电路进行测试。配置 FPGA 需要开发配置代码。配置 码可以用开发板在相应开发环境(如 XILINX 的 ISE 开发环境)下开发配置程序,产生下载码,然后做适 当转换生成配置码。有了配置码便可对 FPGA 进行配 置,形成具有一定功能的电路。然后还要开发测试码, 才能用 ATE 对电路进行测试。 我们采用的 ATE 是 Teradyne 公司的 J750,该系 统测试频率 100MHz,测试通道数多达 512 个,测试向 量深度可达 16M,可以在同一个操作流程中完成 FPGA 芯片的多次"配置——测试"过程,减少操作环节,提 高 FPGA 芯片的测试效率,能够实现 FPGA 芯片的产业 化测试。测试流程如图 1 所示: 图 2 Intel HEX 文件格式 Intel HEX 文件是记录文本行的 ASCII 文本文件, 一个 Intel HEX 文件可以包含任意多的十六进制记录, 每条记录有五个域,下面是一个记录的格式: :llaaaatt[dd...]cc 冒号是每一条 Intel HEX 记录的开始。 ll 是这条记录的长度域, 他表示数据(dd)的字节数 目。 aaaa 是地址域,他表示数据的起始地址 tt 这个域表示这条 HEX 记录的类型,他有可能是 以下几种类型——00 ----数据记录;01 ----文件结束记 录;02 ----扩展段地址记录;04 ----扩展线性地址记录。 dd 是数据域,表示一个字节的数据,一个记录可 能有多个数据字节。
2

3.FPGA 配置码生成 用 ATE 对 FPGA 进行配置的配置向量要求是二 进制格式,而在 FPGA 开发环境下开发的下载码有些 不是二进制格式,比如:XC3042 需要用 Foundation 开发环境,生成的下载码格式是.mcs 文件,.mcs 文件 是一种 Intel HEX 文件格式(如图 2) ,需要将其转化 成二进制。

cc 是效验和域,表示记录的效验和,计算方法是 将本条记录冒号开始的所有对字母(不包括本效验字 和冒号)所表示的十六进制数字(一对字母表示一个 十六进制数,这样的一个十六进制数为一个字节)都加 起来然后模除 256 得到的余数最后求出余数的补码即 是本效验字节 cc。 以图 4 中第三行为例: 数据长度为 10 (十六进制) , 即 16 个字节;紧接着是 0010,即起始地址;接着 00 表示本行是数据记录类型;后面 16 个字节都是数据; 最后的 90 为效验字节。 我们可以通过 Ultraedit 编辑工具的列选功能提取 数据域部分,然后再编写一个简单的 C 语言程序将其 转换为 8 位一行的二进制格式如图 3 所示:

填充比特 校验字节 开始字节 数据帧 CRC

1111b - 0b DATA[n-1:0] XXXX(CRC)或 0110b

- 11010010b 11111110b DATA[n-1:0] 11010010b

写周期 后同步信号 启动字节

- 01111111b FFh

FFD2FFFFFFh - FFFFFFFFFFFFFFh

本例中的 24 位长度字节从图 3 中第二行高四位算 起,因串行模式字节最低位先输入,而长度计数器是 按先接收数据作为计数器最高位,所以得到 COUNT[23:0]=0000 0000 0111 1000 0110 1001, 即配置 数据长度 30825 位,按字节算即为 3854 字节。 4.FPGA 的配置过程 FPGA 的配置有很多种模式可以选择,如:主串 图 3 二进制格式配置码 开始部分为配置数据帧头,包括填充字节、同步 比特、长度和填充比特。当系统捕获到帧头同步比特 0010(D0~D4)时,接下来的 24bit 将当成配置码的长 度存储到长度计数器中。存储器初始化完成后,每个 时钟上升沿接收计数器会加 1, 直到计数器数值等于长 度计数器中的长度值,FPGA 启动开始时序,然后便 进入工作状态。FPGA 引脚一般要在配置完成后再经 [2] 过两个时钟周期才能使用, 配置码格式如表 1 所示: 表 1 配置码格式
数据类型 串行模式(D0~ D7) 填充字节 同步比特 长度 11111111b 0010b COUNT[23:0] 快速配置模式(D0~ D7) FFFFh 11110010b COUNT[23:0]

模式、从串模式、主并模式、从并模式、及外设模式 等。可以通过设置三个模式选择管脚 M0、M1、M2 来 选择不同配置模式。为了提高配置速度,我们用 ATE 对 FPGA 进行配置最好选择并行的模式,这里我们选 择并行的外设配置模式, 其配置电路原理如图 4 所示:
[3]

3

5 测试配置实现的电路 FPGA 配置完毕后,便具有一定的功能,其测 试方法与其他数字集成电路的测试方法类似,可以进 行直流参数、交流参数和功能测试[4]。在 J750 上测试 FPGA 时, 把配置也作为一个测试项, 可以实现 FPGA 的高速在线配置。配置完成后,可以针对配置的不同 功能施加相应的测试向量, 进行测试。 而且, 根据 J750 支持多 Pattern 的特点, 可以将每一个配置程序和对应 测试向量都做成一个 Pattern 文件,这样便可对被测 图 4 XC3042 配置电路原理图 配置过程主要有四个步骤:清除配置存储器、初 始化、配置和启动。配置过程的时序要求如图 5 所示: 芯片/WS、/CS0、/CS1 设为低电平状态,CS2 设为高 电平状态,RDY/BUSY 用来作为同步握手信号,每个 CCLK 周期有一个字节的配置数据被读入 FPGA,这 样 CCLK 频率为 1MHz 时,相当于用了 8MHz 的高倍 时钟。FPGA 接收并行数据后经过内部类似并串转换 的双缓冲异步收发器,再串行的移入内部逻辑单元。 当所有配置数据被 FPGA 成功接受并且配置正确后, 芯片开始进入"启动"进程,当管脚 DONE/PROG 由低 变为高,便标志芯片的配置完成。 参考文献: 1. 周涛,FPGA 的测试[D],电子科技大学,2006 2. 黄志强,潘天保等,Xilinx 可编程逻辑器件的应用 与设计[M],机械工业出版社,2007 3. XC3000 Series Field Programmable Gate Arrays[K],Xilinx,1998 4. 唐恒标, 冯建华等, 基于测试系统的 FPGA 逻辑资 源的测试[J],微电子学,2006 5. 吉国凡,赵智昊,杨 嵩,基于 ATE 的 FPGA 测 试方法[J],电子测试,2006 图 5 FPGA XC3042 配置时序 6 结论 要快速有效的开发 FPGA 的测试程序,需解决的 难题是如何利用 ATE 对 FPGA 进行配置,将 FPGA 的配 置文件转换成测试系统可执行的测试向量[5]。本文以 FPGA XC3042 测试过程中的部分具体配置数据为例, 详细介绍了配置码格式及测试向量转换方法,给出了 一种基于 ATE J750 的 FPGA 配置与测试方法。该方 法可广泛应用于各种 FPGA 的测试,具有较强的通用 性,对于实现 FPGA 的产业化测试具有重要的意义。 FPGA 电路进行反复的配置——测试,可以保证较高 的故障覆盖率。

4

解维坤 (1980—) , 男, 山东人, 硕士研究生, 2008 年毕业于厦门大学控制理论与控制工程专业。目前任 职于中国电子科技集团第五十八研究所测试事业部, 研究方向为大规模集成电路测试。

5


相关文档

一种基于ATE的FPGA测试方法研究
基于ATE的FPGA器件测试方案研究
基于ATE的FPGA软件自动化测试技术的研究
基于ATE的FPGA可编程资源测试技术研究
FPGA测试技术及ATE实现
基于 ATE 的 FPGA 器件测试方案研究磁
基于FPGA的测试对象整合方法
基于ATE的FPGA亚稳态的激发与验证
基于ATE的FPGA测试方法
基于ATE的FPGA测试_解维坤
电脑版