首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 基于BIST的FPGA逻辑单元测试方法
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于BIST的FPGA逻辑单元测试方法
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2015-7-28 19:51
|
只看该作者
基于BIST的FPGA逻辑单元测试方法
关键词
,
覆盖率
,
通用
摘要:给出了一种基于内建自测(BIST)的测试现场可编程门阵列(FPGA)逻辑单元的方法,讨论了测试的配置结构、故障覆盖率和测试中出现的问题及解决办法。实验表明,该测试方法具有所需测试向量少、故障覆盖率高、简便适用等优点。 关键词:现场可编程门阵列;内建自测;响应检验
电路
;测试
引言
现场可编程门阵列FPGA(Field ProgrammableGate Array)是一种新型器件,它将门阵列的通用结构与现场可编程的特性结合于一体,因而受到广泛关注。FPGA 测试中,测试激励的多种测试生成方法,都有其一定局限性,不能求出所有故障,而且随着
集成电路
规模的迅速膨胀,电路结构也越来越复杂,大量的故障变得不可测。所以,人们把视线转向了电路系统的设计过程。如果设计的电路容易测试,容易找到测试码,对测试和测试码的生成问题就大大简化,这就是可测性设计问题。可测性设计问题的一个主要解决方法就是内建自测法BIST(Built-in self-test)。
利用FPGA可重复编程的特性,通过脱机配置,建立BIST逻辑,即使由于线路被操作系统的重新配置而令BIST结构消失,可测性也可实现。本文给出一种基于BIST利用ORCA(Optimized Reconfigurable Cell Array)结构测试FPGA逻辑单元PLB(Programmable LOGIC BLOCK)的方法,该方法对逻辑单元PLB 进行了分类、分阶段的测试,同时进行电路模拟实验。
BIST测试结构
这种基于BIST的测试方法是一系列测试阶段顺序进行的结果,每一阶段都包括以下几步:1)对电路进行配置;2)测试初始化;3)生成测试图形;4)对响应进行分析;5)读出测试结果。
图1 给出了利用ORCA测试方法过程中FPGA的配置结构。在用于完全测试BUT (BLOCK Under Test)的绝大部分配置中,TPG以二进制计数器的模式工作,为BUT的m个输入端提供随机的测试模式。由于PLB的输入要多于输出,所以需要将一些PLB通过编程构造成m位的计数器,在
存储器
的操作模式中,存储器被配置为随机存储器。TPG作为p字节(p
图1 测试FPGA的ORCA结构
不同的TPG一定要满足BUT的需求,BUT的输出要与ORA相符合,因此,TPG的数目要求为c,c同时也是与一个ORA相符合的PLB的输出管脚数。ORA由一个LUT和一个触发器组成,其中LUT用于从c 组BUT 相应的输出作比较,触发器记录第一次不匹配的情况。从触发器输出到LUT 输入的反馈信息会在ORA第一次错误记录之后进一步做比较。通常,一些ORA会在同一个PLB中实施,这依赖于PLB中相互独立的LUT的个数。这里,如果LUT的输入序列至少与一个PLB 是分离的,则认为此LUT是独立的。每一个TPG驱动一组共n个BUT,每个BUT有m个输入和k个输出,则BUT中共有c*n*k个输出与k 组n个ORA作比较,每个ORA监控c个输出,ORA的第i组接收n个BUT的第i个输出。
例如,在ORCA结构的PLB中,存在2个独立的LUT,每个LUT 有5个输入,由于反馈的存在,需令c=4。又由于每个PLB有18个输入,TPG生成随机测试向量所要求的触发器的数量也是18。因为一个PLB中有f=4个触发器,所以需要5个PLB来构成随机TPG,其中只有4个PLB是用于产生RAM模式测试进而构成TPG状态机的。最后,每个必须与ORA作比较的PLB中有k=5个输出。表1对以上数据进行了概括,并将Xilinx 4000与Altera Flex 8000系列中的FPGA各项参数进行了对比,对FPGA这些结构参数、TPG输出信号计数n以及BIST所需步骤的数目进行了分析。多数商业用途的FPGA进行完全测试需两个测试步骤,而一些其他规模的FPGA则需要三个步骤。
测试实施
在测试实施阶段利用故障模拟来评价不同BIST步骤中的故障覆盖率。为ORCA结构的PLB建立了一个完全的门级电路模型,包括代表基本输入值的PLB配置,那些输入值在每一阶段是“固定”的。允许模拟影响配置位的stuck-at故障。LUT、FF和Output Mux三个模组中每一个的随机测试用于检测无法探查的故障(LUT中为3个故障,FF中为4 个故障),这些故障从故障目录表中被移除。PLB中共2224个stuck-at门级故障,其中1538个在LUT中,440个在FF 中,224个在输出MUX中,完全测试每个PLB共需9次这样的配置结构。对3个模组中每一阶段所检测出的新故障数目、检测故障累积的总数及故障覆盖率等故障模拟结果见表2。
表1 FPGA结构参数对比
表2 PLB故障模拟测试结果
从表2中可以看出,第一阶段为LUT提供了一个完全的测试,而接着的5个阶段检测了FF中所有的故障,对输出MUX所有的故障检测需要9步。这9次配置结构可以根据为三个模组中每一个而设定的模式来描述。一个ORCA输出利用9*1 MUX来选择4个LUT输出中的任一个,或者4个FF输出的任一个,也就是LUT在以快速加法器操作方式进行工作。这9*1MUX证实了完全测试输出MUX 块的配置数量。
ORCA结构的LUT有4个不同的操作模式:RAM、fast adder 、5 变量的LUT-based逻辑功能、4变量的LUT-based逻辑功能。它们在PLBBIST前4步中进行测试,如表3所示。在RAM模式中,TPG被配置为产生标准RAM 测试序列,而在其他步骤中被配置为二进制计数器。一旦LUT已经在RAM模式下测试,余下的BIST步骤中,依靠LUT中的棋盘模式来确定LUT输出的所有可能模式。FF有以下操作模式供选择:1)FF/Latch;2)Set/Reset;3)falling edge/rising edge ofclock等,与这些选择相关的数据太大,不易考虑。因此,可根据对PLB 门级电路模型的故障模拟来选择。5 次配置对完全测试FF 模组是足够的。
表3 PLB BIST配置
从表3的后半部分可知FF 模组各种操作模式的不同选择情况。在这9次BIST配置中,ORCA的典型应用包括54%的连线资源可编程线段以及87%的PLB和LUT。尽管多数ORCA只需要2个测试阶段,还需18次的配置结构来测试所有的PLB。这18次配置结构与通常应用ORCA结构测试的32次配置相比,结果比较令人满意。
测试中遇到的问题
路线资源的限制
作为伪随机测试,PLB的测试包括PLB大多数的I/0管脚,但IC系列ORCA路由于资源有限,不能支持所有TPG输出到BUT以及所有的BUT输出到ORA。为解决这个问题,基于伪随机测试的准则允许对每一次配置有一点“偏差”,只对在该阶段确实用到的输入采用随机测试,并观察其输出。表3给出了每一步BIST所用到的PLB管脚数目,路线资源可以满足系统要求。
缺少详细的配置
控制
在一般的应用中,用户只需要将FF的输出与PLB的输出相连,而不管是具体哪个输出,这是特定的布线算法和路由算法决定的。在本方法中,为了得到完全的测试,必须保证每一个输出矩阵依次与它的9个输入(4个FF输出,4个LUT输出,1个加法器进位)相连,因此有一种与这9次配置都不同的选择。但是CAD工具不允许用户控制输出的多路复用器(用户模式下没有输出多路开关),因此,解决方法是修改中间的设计文件或者配置位流,来控制输出的多路输出选择。
结语
本文方法的最大优点是不需专用测试仪器,只需要观察测试响应检验电路ORA的输出即可,因此所需输入、输出单元少,故障覆盖率高,不可测故障较其他方法大大降低。实验数据表明,本方法的测试结果令人满意。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议