位置:51电子网 » 技术资料 » EDA/PLD

基于BIST的FPGA逻辑单元测试方法

发布时间:2008/5/28 0:00:00 访问次数:523

吴继娟, 孙媛媛,刘桂艳

  摘 要:给出了一种基于内建自测(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<m)的状态机产生标准的ram测试序列。

图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输出中的任
吴继娟, 孙媛媛,刘桂艳

  摘 要:给出了一种基于内建自测(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<m)的状态机产生标准的ram测试序列。

图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输出中的任
相关IC型号

热门点击

 

推荐技术资料

声道前级设计特点
    与通常的Hi-Fi前级不同,EP9307-CRZ这台分... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!