一种对FPGA内部嵌入式多位存储器故障的测试方法技术

技术编号:6180122 阅读:305 留言:0更新日期:2012-04-11 18:40
一种对FPGA内部嵌入式多位存储器故障的测试方法,它有六大步骤:一、基于March?C-算法,首先增加测试图样数2×(1+log2n);二、将2×(1+log2n)种测试图样代入March?C-算法的6个March单元,得到位宽为n?bit的以存储单元为基准的存储器March?C-测试算法;三、利用Verilog硬件描述语言在FPGA内部构建BIST结构;四、在BIST平台下,由控制单元控制不同状态下输入被测存储器的测试图形、状态控制器所在状态以及内部响应分析器的启动与停止,由测试图形生成器生成针对存储器不同故障模型所需的March元素测试图形序列;五、根据以上生成的测试图形对存储器进行测试;六、观察测试波形,确定存储器故障类型。本发明专利技术方法简单,实现容易,在FPGA内部嵌入式多位存储器测试领域有很广阔的应用前景。

【技术实现步骤摘要】

本专利技术涉及一种存储器测试方法,尤其涉及一种对FPGA内部嵌入式多位存储器故障的测试方法,属于FPGA即现场可编程门阵列测试

技术介绍
现场可编程门阵列(以下简称FPGA)是八十年代中期出现的新型可编程逻辑器件,其主要特点就是完全由用户通过软件进行配置和编程,从而完成某种特定的功能,且可以反复擦写。在修改和升级时,不需额外地改变PCB电路板,只是在计算机上修改和更新程序,使硬件设计工作成为软件开发工作,缩短了系统设计的周期,提高了实现的灵活性并降低了研发成本,因此获得了广大硬件工程师的青睐。随着FPGA越来越广泛的应用和越来越低廉的价格,用户对其可靠性提出了越来越高的要求。同时,随着我国航空、航天及武器装备事业的快速发展,越来越多的武器装备、 机载电子系统、弹载和宇航电子系统采用FPGA器件来代替传统的ASIC或者中小规模的通用器件来实现设计,这就对FPGA器件的质量和可靠性提出了更高的要求。所以,对FPGA器件的各种故障检测和诊断方法进行全面深入的研究,尽可能减小FPGA器件的故障率,具有重要的现实意义。而嵌入式存储器作为当前主流FPGA重要的功能块,如何对其进行有效评价是对FPGA进行全面评测的必要环节。在对嵌入式存储器模块进行测试时,通常将物理故障模型转化为逻辑故障模型。 将嵌入式存储器系统模型化为互连的功能模块集,其实际物理故障很大程度上取决于工艺技术和晶体管电路,将故障模型化为逻辑故障,使测试技术与电路技术和制造工艺无关,因此其更具通用性,嵌入式存储器模块功能模型如附图说明图1所示。对于FPGA内部嵌入式存储器模块而言,其故障模型包括固定故障、转换故障、耦合故障以及地址解码故障。1)固定故障嵌入式存储器固定故障是指存储单元逻辑值固定为0或固定为1的故障,存储单元总是处于有故障状态,且故障逻辑值不改变。2)转换故障存储器转换故障是固定故障的一种特殊情况。在对存储单元进行写数据操作时,存储单元失效使得0 — 1 (上升)转变或1 — 0(下降)转变故障发生。上升转换故障表示为< 丨/0>,而下降转换故障表示为< 丨/1>。3)耦合故障存储器耦合故障的表现形式为存储单元a的转变导致存储单元b的不期望变化。在对被测存储器建立耦合故障模型时,通常采用两个单元的耦合故障模型,即用于产生存储单元a发生丨和丨转变的写操作会改变存储单元b的内容。存储器耦合故障根据耦合方式的不同大致可分为三种,即倒置耦合故障、等幂耦合故障以及动态耦合故障。 倒置耦合故障倒置耦合故障的表现形式为存储单元a发生丨或丨转变会倒置存储单元b的存储值。在描述倒置耦合故障时一般采用符号 < 丨4>,其中$表示存储单元 b的内容被颠倒,因此两种耦合故障的表现形式可以描述为< 丨;$>和< 丨;$>。 等幂耦合故障等幂耦合故障表现形式为存储单元a发生丨和丨转变时,存储单元b的存储值变化为0值或1值。在描述等幂耦合故障时,一般采用符号 < 丨;0>、< ; 1>、<丨;0>或< 丨;1>表示。 动态耦合故障存储器动态耦合故障的表现形式为在对一个存储单元进行读取或写入操作时,会迫使被耦合存储单元的内容为0值或者为1值。动态耦合故障是等幂耦合故障更一般的情况,因为通过任何读取或写入操作都可敏化动态耦合故障,而等幂耦合故障仅可通过写入操作改变耦合存储单元值进行敏化。动态耦合故障可以表示为<r0|W0 ; 0>,其中I表示读取或写入操作,必须对耦合单元进行操作。动态耦合故障的四种表现形式可以用符号:<r0|w0 ;0>、<r0|w0 ;l>、<rl|wl ;0> 和 <rl|wl ;1> 表示。4)地址解码故障存储器地址解码故障表现为地址解码错误,一般假设解码逻辑为非时序,且假设在读取操作和写入操作过程中解码故障相同。一般将地址解码故障划分为四种对某一地址不能访问、访问的存储单元无地址、特殊地址可访问多个存储单元以及多个地址可访问同一存储单元。当今的存储器测试算法中,March算法是最为有效的测试算法之一,其测试复杂度低,故障覆盖率高,尤其是March C-算法对解决嵌入式存储器故障比较有效,其测试流程图如图2所示。该算法包括M0,Ml, M2,M3,M4和M5六个March单元,该算法能探测到AF, SAF, TF和CF故障,但它不能探测到DRF故障。在利用March C-测试算法对FPGA内部嵌入式存储器进行测试时,可通过六个March元素检测存储器是否存在固定故障、转换故障、 倒置耦合故障、等幂耦合故障、动态耦合故障以及地址解码故障,各故障模型与其相对应的 March元素组合测试序列描述如下(1)固定故障可由MqJ1元素组合和MpM2元素组合测出;(2)转换故障0到1转换故障可由M3、M4元素组合测出,1到0故障可由M2、M3元素组合测出;(3)倒置耦合故障0到1倒置耦合故障可由礼、M2元素组合和M3、M4元素组合测出,1到0故障可由M2, M3元素组合和M4、M5元素组合测出;(4)等幂耦合故障置0故障可由Mp M2元素组合和M3、M4元素组合测出,置1故障可由M2、M3元素组合和M4、M5元素组合测出;(5)动态耦合故障置0故障可由Mp M2元素组合和M3、M4元素组合测出,置1故障可由M2、M3元素组合和M4、M5元素组合测出;(6)地址解码故障在March元素升、降寻址遍历存储空间过程中测出。上述March C-算法针对以位为基准的存储器进行测试,但典型FPGA内部嵌入式存储器数据存储单元的位宽是可编程的,数据位宽可设置为lbit、2bit、4bit、8bit、16bit 和32bit,即构成多位存储器。对于多位存储器来说,耦合故障可能发生在属于不同地址的存储单元之间,也可能发生在同一个地址的存储单元之间。前一种情况称为存储单元间耦合故障,后一种情况称为存储单元内耦合故障,这两种故障也可同时存在。如果直接将上述March C-算法扩展成单元定向的存储器测试算法,存储单元间耦合故障可以被检测到,但检测不出存储单元内耦合故障。
技术实现思路
1)专利技术目的本专利技术的目的在于提供一种对FPGA内部嵌入式多位存储器故障的测试方法,它不仅能够实现当前技术的功能,还能检测出FPGA内部嵌入式多位存储器的存储单元内耦合故障。2)技术方案本专利技术一种对FPGA内部嵌入式多位存储器故障的测试方法,它是基于March C-算法进行增加测试图样。对于FPGA内部嵌入式η位存储器来说,其测试图样数应为 2Χ (l+log2n),测试图样如图3所示。将2X (l+log2n)种测试图样代入March C-算法的6 个March元素中,就可以得到以存储单元(位宽为η bit)为基准的存储器March C-测试算法本专利技术一种对FPGA内部嵌入式多位存储器故障的测试方法,该方法具体步骤如下步骤一基于March C-算法,首先增加测试图样。对于FPGA内部嵌入式η位存储器来说,其测试图样数应为2Χ (l+log2n)。该测试图样如下所示本文档来自技高网
...

【技术保护点】
1.一种对FPGA内部嵌入式多位存储器故障的测试方法,其特征在于:该方法具体步骤如下:步骤一:基于March C-算法,首先增加测试图样;对于FPGA内部嵌入式n位存储器来说,其测试图样数为2×(1+log2n),该测试图样如下所示:?Group0?  00000000…00000000?  Group1?  11111111…11111111?  Group2?  01010101…01010101?  Group3?  10101010…10101010?  Group4?  00110011…00110011?  Group5?  11001100…11001100?  Group6?  00001111…00001111?  Group7?  11110000…11110000?  Group8?00000000…11111111?  Group9?  11111111…00000000?  ...?  ...?  ...?  ...步骤二:将2×(1+log2n)种测试图样代入March C-算法的6个March元素中——即M0,M1,M2,M3,M4和M5六个March单元,得到位宽为n bit的以存储单元为基准的存储器March C-测试算法:步骤三:利用Verilog硬件描述语言在FPGA内部构建BIST结构,以实现对其内部嵌入式多位存储器故障的测试;步骤四:在BIST平台下,由控制单元控制不同状态下输入被测存储器的测试图形、状态控制器所在状态以及内部响应分析器的启动与停止,由测试图形生成器生成针对存储器不同故障模型所需的March元素测试图形序列;步骤五:根据以上生成的测试图形对存储器进行测试;下面给出存储器BIST系统Verilog代码片段,该代码片段实现:对嵌入式存储器的全部存储单元,按地址升序先读取测试图样m0后,写入测试图样m1:步骤六:观察测试波形,确定存储器故障类型。...

【技术特征摘要】
1. 一种对FPGA内部嵌入式多位存储器故障的测试方法,其特征在于该方法具体步骤如下步骤一基于March C-算法,首先增加测试图样;对于FPGA内部嵌入式η位存储器来说,其测试图样数为2Χ (l+l0g2n),该测试图样如下所示2.根据权利要求...

【专利技术属性】
技术研发人员:高成刘孝章黄姣英
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1