一种对fpga器件进行测试的方法

文档序号:6131367阅读:176来源:国知局
专利名称:一种对fpga器件进行测试的方法
技术领域
本发明涉及 一 种利用集成电路测试机对FPGA器件(Field Programmable Gate Array,现场可编程门阵列)器件进行配置,从而实施 产业化测试的方法,属于集成电路测试技术领域。
背景技术
FPGA器件是八十年代中期出现的新型可编程逻辑器件,它是作为专 用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制 电路的不足,又克服了原有可编程器件门电路数有限的缺点,可以广泛 应用在航天、通信、计算机硬件系统、程序控制、数字系统的测试诊断 等领域。FPGA器件采用了逻辑单元阵列LCA (Logic Cell Array)的新概 念,内部包括可配置逻辑模块CLB (Configurable Logic Block)、输出输 入模块IOB (Input Output Block)和内部连线(Interconnect)三个部分。 该器件可以通过编程把一个通用集成电路快速配置成用户需要的专用数 字电路,因而大大加快电子产品的研发周期,降低研发成本,縮短产品 上市时间。
为了能够适应当前电子产品设计的需要,FPGA器件的结构已经变得 越来越庞大、复杂。最新的FPGA器件内包含上百万门等效逻辑门,高 速I/O,嵌入微处理器和RAM、高速时钟处理等模块。对电子工程设计 人员而言,FPGA器件使用灵活,但这种应用的不确定性和重复可编程性 相对增加了器件测试的难度。此外,随着深亚微米技术的进步所带来的 器件中新型缺陷或噪声,会严重影响到延迟缺陷。随着FPGA器件的广 泛应用,对其可靠性的要求也变得越来越高。因此,对FPGA器件的故 障检测、诊断方法以及各种可测性设计技术进行全面深入的研究具有重 要的现实意义。
FPGA器件的测试简单说就是把FPGA器件配置成相应的测试电路, 用多次配置来覆盖所有的资源,然后施加测试向量。目前对FPGA器件 的实际测试一般采取两种方式。第一种方式是采用专门设计的FPGA器 件测试设备,其功能应包括配置FPGA器件、加载测试向量、读取测试
响应等。该种方式往往投资大,耗时长,测试精度难以保证,而且研制 出来的专用测试设备可移植性差,只能用于研究和验证。第二种方式是
尝试利用通用的集成电路测试机(ATE)来测试FPGA器件。这种方式中, 首先根据FPGA器件的测试方法对FPGA器件进行配置,然后运行相应 的测试向量,在同一个操作流程中完成FPGA器件的多次"配置一测试" 过程。
目前,集成电路测试机(ATE)已经进入第四代,可测管脚数高达 1024个,功能测试图形速率高达100MHz,测试图形深度可达4M以上, 完全能够满足FPGA器件测试的配置要求。但是,如何充分利用集成电 路测试机的资源,实现对FPGA器件快速有效的配置,进而进行产业化 测试仍然存在较多需要解决的技术难题。

发明内容
本发明的目的在于提供一种对FPGA器件进行测试的方法。该方法 可以将FPGA器件的配置文件转换成集成电路测试机可执行的测试程序, 从而利用现有集成电路测试机有效执行对FPGA器件的产业化测试。 为实现上述的发明目的,本发明采用下述的技术方案-一种对FPGA器件进行测试的方法,基于集成电路测试机实现,其 特征在于包括如下的步骤
(1) 使用FPGA器件设计工具生成为FPGA器件配置预定功能的配置 文件;
(2) 所述集成电路测试机使所述FPGA器件进入配置阶段;
(3) 从所述配置文件中提取配置信息并进行数据转换,得到预定管脚 的配置数据信号;
(4) 设置所述FPGA器件各控制管脚的逻辑状态,并设置各管脚的时 序信息,得到配置过程的测试向量;
(5) 根据各个管脚的时序信息设置各个管脚信号变化的时间,得出测 试图形;
(6) 所述集成电路测试机执行所述测试图形,完成对所述FPGA器件 是否实现预定功能的测试工作。
其中,所述步骤(2)中,所述FPGA器件的配置模式为从串配置模式。 所述集成电路测试机随时监测INIT端口的状态,在INIT端口信号 变高后开始配置。
所述集成电路测试机同时在FPGA器件的DIN端和CCLK端施加配 置数据和配置时钟,所述配置数据比所述配置时钟提前一段时间。
在给出所有的所述配置数据后,继续为CCLK端提供至少六个周期 的时钟信号,此时对DIN端提供高电平信号。
所述步骤(3)中,所述预定管脚为DIN端。
所述步骤(4)中,所述控制管脚包括但不限于CCLK、 INIT、 DONE端。
利用本发明,可以使用现有的集成电路测试机完成对FPGA器件的 测试,不仅减少了操作环节,而且提高FPGA器件的测试效率,便于实 现FPGA器件的产业化测试。


下面结合附图和具体实施方式
对本发明作进一步的说明。
图1为一个典型的FPGA器件的加电配置过程示意图2为从开始供电到可配置状态开始过程中的FPGA器件主要端
口的电平情况示意图3为从串配置模式中FPGA器件主要端口的时序情况示意图4为"Start—up"进程的示意图5为配置结尾进程中主要端口的时序要求示意图6为由FPGA器件配置而成的4位递加计数器的示意图。
具体实施例方式
本发明所要解决的问题是如何利用现有的集成电路测试机执行对 FPGA器件的产业化测试任务。目前,比较先进的FPGA器件的管脚数超 过1000,要求集成电路测试机具有的通道数超过被测FPGA器件的管脚 数,或者具有通道复用的功能。对于FPGA器件,每次进行测试的测试 向量的长度由配置电路的复杂程度和测试的目的决定,各项测试的测试 向量长度不同。例如XiHnx4010EFPGA器件系列器件的配置文件的测试 向量的长度为178k行,测试过程的测试向量长度不等。对FPGA器件进 行测试,都需要重复很多个"配置一测试"的过程,因此要求集成电路测试 机的测试向量空间深度满足存储多次配置一测试的测试向量的需要,同时 功能测试速率要满足FPGA器件的"配置一测试"过程的要求。例如 Xilinx4010EFPGA器件系列器件进行配置时频率为1M,进行测试时频率 为25M。经过比较选择,目前可行的集成电路测试机可以是美国泰瑞达
(Teradyne)公司推出的J750系列集成电路测试机等,也可以是其它性 能类似的集成电路测试设备,在此就不一一举例说明了 。
在利用集成电路测试机对FPGA器件进行测试的过程中,需要解决 的主要问题是如何把FPGA器件的配置文件转换成集成电路测试机可执 行的测试程序(测试图形)。测试图形由测试向量和时序信息共同组成。 测试向量是指被测器件每个周期的输入输出信号状态,由字符来表示, 通常1/0用来表示输入状态,L/H/用来表示输出状态。时序信息包括器件 的工作频率,以及在一个周期内输入驱动信号变化的时间和对输出信号 进行采样比较的时间等。下面对此展开具体的说明。
FPGA器件的配置就是将配置文件下载到FPGA器件中,使FPGA器 件内部发生一定的变化,使FPGA器件成为具有一定功能的电路。FPGA 器件的配置可以由专门的配置器来完成。由集成电路测试机来实现FPGA 器件的配置就需要将FPGA器件的配置文件根据FPGA器件的配置原理 转换成集成电路测试机可执行的测试图形。
在FPGA器件的配置过程中,通过加载规定的程序定义FPGA器件 内部的功能块和其互连信息的功能。例如Xilinx4010E FPGA系列器件的 每个CLB (可配置逻辑块)及其附加的互连信息需要利用几百位配置数 据,每个配置位定义静态存储单元的状态,由其控制函数查找的位、多 路转换器的输入,或者是互连的传输晶体管。FPGA器件由存放在片内 RAM中的程序来设置其工作状态,因此,工作时需要对片内的RAM进 行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时, FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA 进入工作状态。
在FPGA器件进行测试的过程中,需要重复进行多个"配置一测试" 的过程,集成电路测试机首先应该能够满足FPGA器件的配置要求。
具体而言,在FPGA器件上电后,经过一段时间的初始化,在INIT 端口信号变高后才能开始配置,因此集成电路测试机需要随时监测INIT 端口的状态。又根据从串配置模式的时序要求,集成电路测试机应该同 时在FPGA器件的DIN端和CCLK端施加配置数据和配置时钟,配置数 据需要比配置时钟提前一段时间以满足建立保持时间的要求。
为了完成多个"配置一测试"过程,集成电路测试机需要能够储存多 个配置文件和测试向量,通过检测测试过程中FPGA器件端口的状态来
选择使用哪个配置文件和测试向量,并且在测试过程中保持不掉电。在 测试过程中需要能够对测试输入口准确输入测试向量,从测试输出口读 出带有时序信息的测试输出。
FPGA器件的加电配置过程如图1所示。首先,确认Vcc是否有效; 在有效的前提下,测试MO,生成16ms或64ms的定时脉冲,在PROGRAM 信号为低的情况下,清除配置存储器,然后再次完全清除配置存储器。 在INIT信号为高的前提下,检测配置模式,然后加载一个数据配置帧, 如果该数据帧出错,则拉低INIT的信号电平并停止配置;在数据帧没有 出错的前提下,如果配置存储器满,则传送配置数据到DOUT端,直至 CCLK计数等于长度计数为止。然后启动序列,1/0激活,开始用户逻辑 工作。在上述的加电配置过程中,从PROGRAM信号为低,清除配置存 储器开始到启动序列为止,LDC端保持低电平,而HDC端保持高电平。
FPGA器件可以有多种配置模式,例如并行主模式为一片FPGA加一 片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行 模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处 理器的外设,由微处理器对其编程。
以Xilinx4010E系列器件为例,该系列器件共有六种配置模式,其中 在从串配置模式中,FPGA器件在CCLK的上升沿接收串行配置数据。在 加载串行配置数据之后,传递附加的数据输出,在下一个CCLK的下降 沿重新同步。具有相同配置的多个从属器件可以并行地连接DIN输入, 按此方式,多个器件可以同时配置。
Xilinx 4010E系列器件的配置过程如下 1.配置前的准备状态
FPGA器件的供电电压达到5V并稳定后,进入配置前的准备状态。 这个过程的时间记为TP0R。不同型号的FPGA器件的Tpor并不相同,对 于Xilinx4010EFPGA系列器件而言,TPOR=40ms。该准备状态的表征是 INIT端口输出低电平,状态结束时INIT端口将不输出电平,由于此时它 是一个开漏结构的输出端口 ,因此会被器件外部的上拉电阻拉到高电平。 INIT端口变为高电平表示该状态的结束。 2.配置状态
图2显示了从FPGA器件开始供电到可配置状态开始这个过程中主 要端口的电平情况。图3显示了从串配置模式中FPGA器件主要端口的 时序情况。FPGA器件配置文件转换成的测试图形与图3类似。
在INIT管脚变高后,至少经过Tk;ck后才可対CCLK和DIN管脚提 供配置时钟和配置数据信号,配置时钟的周期为Tcxlk。 T^ck过后,就 可以对FPGA器件进行配置了。配置时,对CCLK提供一定频率的方波 作为配置时钟,同时对DIN管脚提供由配置数据决定的测试向量。配置 数据最好在CCLK的下降沿改变,因为FPGA器件在CCLK的上升沿对 配置数据采样。FPGA器件在CCLK的第一个上升沿就开始采样DIN管 脚上的数据信号,因此在CCLK的第一个下降沿到来时就应该对DIN给 出配置数据的第一位,之后各位依次在CCLK的下降沿串行给出。
3.配置结尾("Start-up"进程)
参见图4所示,当所有配置数据都被FPGA器件成功接受并且配置 正确后,器件开始进入"Start-up"进程。"Start-up"过程是从配置进程 到用户操作进程的一个转换过程。"Start-up"过程必须保证输出端不会造 成与配置信号的冲突以及内部触发器在合适的时间被全局置复位信号释 放掉。"Start-up"进程主要包括以下三个事件
>释放开漏输出管脚DONE; (DONE管脚信号由低变为高) >配置相关管脚到用户功能的转换,激活所有的IOB; >终止全局置/复位信号对所有CLB及IOB寄存器的初始化。 为了确保"Start-up"进程的顺利进行,在所有的配置数据都给出后, 还应为CCLK提供至少六个周期的时钟信号,此时对DIN提供高电平信 号。图5显示了配置结尾进程中主要端口的时序要求。"Start-up"进程结 束后,对CCLK和DIN不需再提供信号,FPGA器件完成了整个配置过 程,进入正常工作状态。
由FPGA器件的设计开发工具生成的被测FPGA器件的配置文件为 位流文件。位流文件的数据由起始码和程序数据组成。起始码包含起始 序列位和被配置器件需要的配置数据位数的长度计数,程序数据包含被 配置器件的配置信息。从配置文件中提取配置信息,并进行数据转换, 就得到DIN管脚的配置数据信号。根据FPGA器件配置要求,设置FPGA 器件的CCLK、 INIT、 DONE等控制管脚的逻辑状态。根据FPGA器件的
配置过程对各管脚的时序要求,设置各个管脚的时序信息,得到配置过
程的测试向量。这样FPGA器件的配置过程就可以作为一项功能测试由 集成电路测试机执行。集成电路测试机执行为FPGA器件专门配置的测 试图形,从而完成对FPGA器件的测试工作。
下面,通过具体的实施例来说明从配置文件到测试图形的转换过程。 首先,应用FPGA器件设计工具XilinxISE将4010EFPGA器件配置成如 图6所示的4位递加计数器。其中,控制信号clear=0时,数据输出信号 c—out(4: 0)=0000, hold—on=0时c—out(4: O)保持,clear=l且hold—on=l 时,时钟信号clk每过16个周期c一out(4: O)加1,输出信号div—out的周 期为elk的16倍,div—outl为div—out的取反信号。
XilinxISE软件生成配置文件,将配置信息进行数据转换得到配置数 据"OOIOOOOO......"。在配置前的准备阶段,DIN、 CCLK、 INIT、 DONE
几个管脚的测试向量为(10LL)循环一定行数,DIN输入1, CCLK输入 0, INIT、 DONE输出L。在配置阶段,DIN输入配置数据"00100000......",
CCLK输入周期为lus的方波,INIT输出L,DONE输出H。进入"Start-up" 阶段,DIN输入1, CCLK继续输入方波,INIT、 DONE输出H,循环一
定行数测试向量结束。
集成电路测试机运行此测试向量就将Xilinx4010E芯片配置成4位递
加计数器。然后,根据各管脚的时序要求设置各个管脚信号变化的时间, 就可以得出集成电路测试机可执行的测试图形。
集成电路测试机运行对该4位递加计数器进行测试的测试图形。测 试全部通过,表明利用集成电路测试机对FPGA器件进行产业化测试得 到成功实现。
上面虽然通过实施例描绘了本发明,但本领域普通技术人员知道, 本发明有许多变形和变化而不脱离本发明的精神,所附的权利要求将包 括这些变形和变化。
权利要求
1.一种对FPGA器件进行测试的方法,基于集成电路测试机实现,其特征在于包括如下的步骤(1)使用FPGA器件设计工具生成为FPGA器件配置预定功能的配置文件;(2)所述集成电路测试机使所述FPGA器件进入配置阶段;(3)从所述配置文件中提取配置信息并进行数据转换,得到预定管脚的配置数据信号;(4)设置所述FPGA器件各控制管脚的逻辑状态,并设置各管脚的时序信息,得到配置过程的测试向量;(5)根据各个管脚的时序信息设置各个管脚信号变化的时间,得出测试图形;(6)所述集成电路测试机执行所述测试图形,完成对所述FPGA器件是否实现预定功能的测试工作。
2. 如权利要求1所述的对FPGA器件进行测试的方法,其特征在于 所述步骤(2)中,所述FPGA器件的配置模式为从串配置模式。
3. 如权利要求2所述的对FPGA器件进行测试的方法,其特征在于-所述集成电路测试机随时监测INIT端口的状态,在INIT端口信号变高后开始配置。
4. 如权利要求2所述的对FPGA器件进行测试的方法,其特征在于 所述集成电路测试机同时在FPGA器件的DIN端和CCLK端施加配置数据和配置时钟,所述配置数据比所述配置时钟提前一段时间。
5. 如权利要求2所述的对FPGA器件进行测试的方法,其特征在于 在给出所有的所述配置数据后,继续为CCLK端提供至少六个周期的时钟信号,此时对DIN端提供高电平信号。
6. 如权利要求1所述的对FPGA器件进行测试的方法,其特征在于 所述步骤(3)中,所述预定管脚为DIN端。
7. 如权利要求1所述的对FPGA器件进行测试的方法,其特征在于 所述步骤(4)中,所述控制管脚包括但不限于CCLK、 INIT、 DONE端。
全文摘要
本发明公开了一种对FPGA器件进行测试的方法,包括如下的步骤(1)生成为FPGA器件配置预定功能的配置文件;(2)使FPGA器件进入配置阶段;(3)从配置文件中提取配置信息并进行数据转换,得到预定管脚的配置数据信号;(4)设置FPGA器件各控制管脚的逻辑状态,并设置各管脚的时序信息,得到配置过程的测试向量;(5)根据各个管脚的时序信息设置各个管脚信号变化的时间,得出测试图形;(6)执行测试图形,完成测试工作。利用本发明,可以使用现有的集成电路测试机完成对FPGA器件的测试,不仅减少了操作环节,而且提高FPGA器件的测试效率,便于实现FPGA器件的产业化测试。
文档编号G01R31/28GK101363900SQ20071017558
公开日2009年2月11日 申请日期2007年9月30日 优先权日2007年9月30日
发明者炜 刘, 吉国凡, 博 孙, 杨 孙, 琳 张, 尔 李, 慧 王, 石志刚, 赵智昊, 兰 金, 希 陈 申请人:北京华大泰思特半导体检测技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1