CN202189123U - 一种基于sram的fpga的lut测试结构 - Google Patents

一种基于sram的fpga的lut测试结构 Download PDF

Info

Publication number
CN202189123U
CN202189123U CN201120190088XU CN201120190088U CN202189123U CN 202189123 U CN202189123 U CN 202189123U CN 201120190088X U CN201120190088X U CN 201120190088XU CN 201120190088 U CN201120190088 U CN 201120190088U CN 202189123 U CN202189123 U CN 202189123U
Authority
CN
China
Prior art keywords
test
look
lut
table lut
tpg
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201120190088XU
Other languages
English (en)
Inventor
高成
俞少华
王香芬
黄姣英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201120190088XU priority Critical patent/CN202189123U/zh
Application granted granted Critical
Publication of CN202189123U publication Critical patent/CN202189123U/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

一种基于SRAM的FPGA的LUT测试结构,它由多条并行的测试链构成,测试链由串联在一起的局部链构成,每一级局部链又由一个测试图形生成器TPG和一个被测电路CUT组成。每条测试链中,第一级局部链的时钟信号由外部时钟提供,下一级局部链的时钟由上一级局部链输出提供,由此将各级局部链串联在一起直至最后一级输出至输入输出端口IOB输出;本实用新型能够在避免故障屏蔽现象的前提下,检测LUT中的单固定故障、错误单元读(写)故障、无单元读(写)故障以及附加单元读(写)故障,并能进行准确的故障定位。此外该实用新型还降低了测试配置次数,缩短了测试时间。它在LUT测试技术领域里具有较好的实用价值和广阔的应用前景。

Description

一种基于SRAM的FPGA的LUT测试结构
技术领域
本实用新型涉及一种基于SRAM(静态随机存储)的FPGA(Field Programmable Gate Array,现场可编程门阵列)的LUT(Look Up Table,查找表)测试结构,属于LUT测试技术领域。 
背景技术
FPGA器件的可编程能力主要由其内部的CLB(Configurable Logic Block,可配置逻辑块)实现,而可配置逻辑块内用于实现逻辑功能的核心部件是基于RAM的函数发生器,也就是通常所说的查找表(Look-up Table,LUT)。由于LUT是FPGA中最基本的逻辑部件,故对它的测试显得尤为重要。 
FPGA器件的可编程特性使在对其内部逻辑资源进行测试时,可以在其内部针对不同被测逻辑构建内建自测试结构(Built-in Self Test,BIST)。利用BIST对FPGA器件进行测试的另一个好处在于,内建自测试的测试资源与FPGA内部被测资源建立在相同的结构基础上,从而可以保证测试源与被测逻辑速度同步,从而实现高精度性能测试。另外,利用内建自测试技术对芯片进行测试有助于保护内核的知识产权,因此该方法已得到广泛应用。BIST测试系统一般包括三个基本部分,即测试图形生成器(Test Pattern Generation,TPG)、被测电路(Circuit Under Test,CUT)以及输出响应分析仪(Output Response Analysis,ORA)。 
一种基于与或门阵列结构的FPGA测试技术如图1所示,它采用了CLB混合故障的故障模型及MAJ树(Tree of Majority Gates)测试编程结构。每个MAJ单元3由CUT 1、与或控制器2及上一级MAJ单元3的输出作为输入,并输出到下一级MAJ单元3,最终由IOB 4(输入输出模块)输出。与或控制器2用来选择其他两个输入之间的关系是“或”还是“与”。正常工作时该输入直接扇出到下一个单元的或/与控制端。CUT 1由一行LUT构成,一般都被构建为具有相同逻辑功能的电路,因此,在没有故障的情况下,输出端的输出值始终一致;MAJ单元3由另一行LUT构成,用于实现故障的传递,即用“或”(“与”)逻辑来传递可能存在的故障,从而实现多故障的传递。 
假设FPGA芯片为n×n的LUT二维逻辑阵列,则详细的MAJ树结构如图2所示,图中MAJ单元3的CUT 1输入端从左到右依次用A1,A2,…,An表示,上一级MAJ单元3输出端(即故障传递端)从左到右依次用B1,B2,…,Bn表示,或/与控制2输入端从左到右依次用S1,S2,…,Sn表示,该级MAJ单元3输出端从左到右依次用Y1,Y2,…,Yn表示。不存在故障时,所有CUT 1逻辑功能相同,故其输出也应完全一致,则A1=A2=A3…=An=A;在故障传递过程中,所有 MAJ单元3的或/与控制2输入端应取相同的逻辑值,即S1=S2=S3…=Sn=S;为实现故障传递,则对任意第k个MAJ单元,其输入输出有如下关系: 
Figure DEST_PATH_GDA0000102233050000021
其中1≤k≤n。 
该技术是把一行LUT作为整体并行测试并通过另外一行LUT来实现故障传递。但由于采用的是CUT混合故障模型,因此在A2和S2处可能同时存在固定0或1故障,即A2=S2=0或A2=S2=1,此时Y2=B2=Y1。这就使得Y2实际输出和所期望的结果始终一致,导致A2和S2端的故障不能够被检测。这种一个故障的存在使得另一个故障被屏蔽的现象被称之为故障屏蔽现象。当存在故障屏蔽现象时,一些故障将不能被检测,从而导致测试覆盖率降低。此外,用于实现故障传递的LUT需要另外进行测试,使得测试的配置次数增加。由于FPGA的测试时间几乎完全取决于配置次数,因此,该技术的测试时间过长,不利于实际应用。 
发明内容
1、目的:本实用新型的目的在于提供一种基于SRAM的FPGA的LUT测试结构,它克服了现有技术的不足,能够检测并定位LUT中的单固定故障、错误单元读(写)故障、无单元读(写)故障以及附加单元读(写)故障。 
2、技术方案: 
1)本实用新型一种基于SRAM的FPGA的LUT测试结构,它是一种内建自测试BIST(Build in Self-Test)结构,即测试图形生成器TPG和被测电路CUT等整个测试结构都由FPGA内部资源构成。整个测试结构将通过编写测试配置程序配置FPGA实现。它由多条并行的测试链构成,测试链由一级一级串联在一起的局部链构成,每一级局部链又由一个测试图形生成器TPG和一个被测电路CUT组成。其间关系是:每条测试链中,第一级局部链的时钟信号由外部时钟提供,下一级局部链的时钟由上一级局部链输出提供,由此将各级局部链串联在一起直至最后一级输出至输入输出端口IOB输出;局部链内部,测试图形生成器TPG产生地址信号,并传输给被测电路CUT,被测电路CUT读取数据输出至下一级局部链时钟。测试链数不大于可用的输入输出端口IOB数。 
设查找表LUT输入数目为n。 
所述测试图形生成器TPG是:由n个查找表LUT和n个触发器连接而成。其间关系是:每个查找表LUT与一个触发器串联连接在一起,n个触发器的输出一方面反馈回每个查找表LUT作为地址输入,另一方面也同时传输给被测电路CUT。测试图形生成器TPG能产生0至2n-1的地址信号,并通过对自身的查找表LUT配置数据的读取进行自检测。测试图形生成器TPG的时钟信号为同步时钟信号。该查找表LUT和触发器都是FPGA内部资源。 
所述被测电路CUT是:由几个具有相同配置的逻辑单元(Logic Element,LE)构成,每个逻辑单元LE包括一个被测查找表LUT和一个用于锁存数据的D触发器。其间关系是:测试图形生成器TPG的输出直接与第一个逻辑单元LE相连,并作为逻辑单元LE内部查找表LUT的地址。其余的逻辑单元LE由上一个逻辑单元LE的输出作为其内部查找表LUT输入的最低有效位与测试图形生成器TPG输出的高n-1位共同构成其内部查找表LUT的地址。各逻辑单元LE的时钟信号为同步时钟信号。该被测查找表LUT和D触发器都是FPGA内部资源。 
2)一种基于SRAM的FPGA的LUT测试方法,该方法具体步骤如下: 
步骤一:生成测试图形生成器TPG中查找表LUT的配置图形。令测试图形生成器TPG内部n位查找表LUT的配置数据为TO(即测试图形生成器TPG输出),各查找表LUT的输入为TI,则测试图形生成器TPG内部查找表LUT的配置图形满足TO=TI+1。 
步骤二:生成被测电路CUT中查找表LUT的测试图形。首先,将所有2n个存储单元视为一个单一组,即组的数目ng为1;其次,将每个组按组内单元数均分为两部分,第一部分所有单元置为0,第二部分所有单元置为1;再次,对步骤二的配置结构取反,生成相应的互补配置结构;最后,使组数ng=2ng,然后重复步骤二和步骤三,直至ng=2n。这样,测试一个n输入查找表LUT所需的测试图形数为2×n,分别定义为C1至C2n。 
步骤三:按照前述内建自测试BIST结构、测试图形生成器TPG内部查找表LUT的配置图形及被测电路CUT中查找表LUT的测试图形C1来配置FPGA。 
步骤四:上电运行FPGA,并从每条测试链终端的输入输出端口IOB处读取该测试链的输出波形。如果所有的查找表LUT都没有故障,则正常输出应为外部时钟输入的整数倍;如果一个局部链中存在故障,其故障反映在输出波形损失一个上升或下降沿,并最终传递至测试链终端的输入输出端口IOB处输出,使得输出波形异常。通过读取异常波形可检测并定位故障。 
步骤五:将步骤三中的被测电路CUT中查找表LUT的测试图形C1分别改为C2至C2n,然后重复步骤三和步骤四。将被测电路CUT中查找表LUT的测试图形C1至C2n都配置并测试完以后,本方法结束。 
3、优点及功效:本实用新型能够在避免故障屏蔽现象的前提下,检测查找表LUT中的单固定故障、错误单元读(写)故障、无单元读(写)故障以及附加单元读(写)故障,并能进行准确的故障定位。此外本实用新型还降低了测试配置次数,缩短了测试时间。 
附图说明
图1是MAJ树型结构并行测试阵列; 
图2是MAJ树型结构示意图; 
图3是本实用新型的LUT测试结构示意图; 
图4分别是TPG结构示意图; 
图5是单故障异常输出传播示意图; 
图6是多故障异常输出传播示意图; 
图中符号说明如下: 
1  被测电路CUT;2  与或控制器;3  MAJ单元;4  输入输出端口IOB;5  局部链;6  测试链;7  测试图形生成器TPG;8  查找表LUT;9  触发器;10  逻辑单元LE;CUT  被测电路;IOB  输入输出端口;AND/OR  与或控制器;MAJ MAJ单元;FPGA  现场可编程门阵列;BIST  内建自测试;TPG  测试图形生成器;D  D 触发器标识符;Q D触发器输出端口;LE  逻辑单元;Addr  地址输入端口;Addr0至Addr3为地址输出信号;OUT0至OUT3为查找表LUT输出信号;c1k及c1k0至c1km为时钟信号;A1至An为被测电路输出;B1至Bn为上一级MAJ单元输出;S1至Sn为与或控制器输出;T0初始时钟周期;T1至T4分别为第一至第四级局部链时钟周期;C1至C8及Ci为被测电路中查找表的配置图形;i为变量名。 
具体实施方式
如图3所示, 
1)本实用新型一种基于SRAM的FPGA的LUT测试结构,它是一种内建自测试BIST(Build in Self-Test)结构,即测试图形生成器TPG 7和被测电路CUT 1等整个测试结构都由FPGA内部资源构成。整个测试结构将通过编写测试配置程序配置FPGA实现。它由多条并行的测试链6构成。测试链6由一级一级串联在一起的局部链5构成,每一级局部链5又由一个测试图形生成器TPG 7和一个被测电路CUT 1组成。每条测试链6中,第一级局部链5的时钟信号由外部时钟提供,下一级局部链5的时钟由上一级局部链5输出提供,由此将各级局部链5串联在一起直至最后一级输出至输入输出端口IOB 4输出;局部链5内部,测试图形生成器TPG 7产生地址信号,并传输给被测电路CUT 1,被测电路CUT 1读取数据输出至下一级局部链5时钟。测试链6数目不大于可用的输入输出端口IOB 4数目。 
以四输入查找表LUT 8为例。 
所述测试图形生成器TPG 7:如图4所示,由4个查找表LUT 8和4个触发器9连接而成。每个查找表LUT 8与一个触发器9串联在一起,4个触发器9的输出一方面反馈回每个查找表LUT 8作为地址输入,另一方面也同时传输给被测电路CUT 1。测试图形生成器TPG 7能产生0至15的地址信号,并通过对自身的查找表LUT 8配置数据的读取进行自检测。测试图形生成器TPG 7的时钟信号为同步时钟信号。 
所述被测电路CUT 1是:由四个具有相同配置的逻辑单元LE 10(Logic Element)构成,每个逻辑单元LE 10包括一个被测查找表LUT 8和一个用于锁存数据的D触发器9。测试图形生成器TPG 7的输出直接与第一个逻辑单元LE 10相连,并作为逻辑单元LE 10内部查找表LUT 8的地址。其余的逻辑单元LE 10由上一个逻辑单元LE 10的输出作为其内部查找表LUT 8输入的最低有效位与测试图形生成器TPG 7输出的高3位共同构成其内部查找表LUT 8的地址。各逻辑单元LE 10的时钟信号为同步时钟信号。 
2)一种基于SRAM的FPGA的LUT测试方法,该方法具体步骤如下: 
步骤一:生成测试图形生成器TPG 7中查找表LUT 8的配置图形。令测试图形生成器TPG7内部四位查找表LUT 8的配置数据为TO(即测试图形生成器TPG 7输出),各查找表LUT 8的输入为TI,则测试图形生成器TPG 7内部查找表LUT 8的配置图形满足TO=TI+1,具体如下列表1所示。 
表1TPG内部LUT配置图形 
  输入组合   LUT3   LUT2   LUT1   LUT0
  0000   0   0   0   1
  0001   0   0   1   0
  0010   0   0   1   1
  0011   0   1   0   0
  0100   0   1   0   1
  0101   0   1   1   0
  0110   0   1   1   1
  0111   1   0   0   0
  1000   1   0   0   1
  1001   1   0   1   0
  1010   1   0   1   1
  1011   1   1   0   0
  1100   1   1   0   1
  1101   1   1   1   0
  1110   1   1   1   1
  1111   0   0   0   0
步骤二:生成被测电路CUT 1中查找表LUT 8的测试图形。首先,将所有16个存储单元视为一个单一组,即组的数目ng为1;其次,将每个组按组内单元数均分为两部分,第一部分所有单元置为0,第二部分所有单元置为1;再次,对步骤二的配置结构取反,生成相应的互补配置结构;最后,使组数ng=2ng,然后重复步骤二和步骤三,直至ng=16。这样,测试一个四输入查找表LUT 8所需的测试图形数为八,分别定义为C1至C8。被测电路CUT 1中查找表LUT 8的具体测试图形如下列表2所示。 
表2CUT内部LUT配置图形 
  Address   C1   C2   C3   C4   C5   C6   C7   C8
  0000   0   1   0   1   0   1   0   1
  0001   0   1   0   1   0   1   1   0
  0010   0   1   0   1   1   0   0   1
  0011   0   1   0   1   1   0   1   0
  0100   0   1   1   0   0   1   0   1
  0101   0   1   1   0   0   1   1   0
  0110   0   1   1   0   1   0   0   1
  0111   0   1   1   0   1   0   1   0
  1000   1   0   0   1   0   1   0   1
  1001   1   0   0   1   0   1   1   0
  1010   1   0   0   1   1   0   0   1
  1011   1   0   0   1   1   0   1   0
  1100   1   0   1   0   0   1   0   1
  1101   1   0   1   0   0   1   1   0
  1110   1   0   1   0   1   0   0   1
  1111   1   0   1   0   1   0   1   0
步骤三:按照前述内建自测试BIST结构、测试图形生成器TPG 7内部查找表LUT 8的配置图形及被测电路CUT 1中查找表LUT 8的测试图形C1来配置FPGA。 
步骤四:上电运行FPGA,并从每条测试链6终端的输入输出端口IOB 4处读取该测试链6的输出波形。如果所有的查找表LUT 8都没有故障,则正常输出应为外部时钟输入的整数倍;如果一个局部链5中存在故障,其故障反映在输出波形损失一个上升或下降沿,并最终传递至测试链6终端的输入输出端口IOB 4处输出,使得输出波形异常。通过读取异常波形可检测并定位故障。 
步骤五:将步骤三中的被测电路CUT 1中查找表LUT 8的测试图形C1分别改为C2至C2n,然后重复步骤三和步骤四。将被测电路CUT 1中查找表LUT 8的测试图形C1至C2n都配置并测试完以后,本测试方法结束。 
关于故障定位方法,以被测电路CUT 1内查找表LUT 8的配置图形C7为例,当一个测试链6中第二局部链5发生故障时,测试链6中几级局部链的输出波形图如图5所示。令初始时钟周期为T0,第i级局部链5的输出为Ti,i为正整数。当局部链5不存在故障时,局部 链5的输出关系为Ti=2×Ti-1。当局部链5 i发生单故障时,故障周期内的输出波形比正常输出多了两个输入时钟周期,这里将多出的时钟周期称之为异常输出。异常输出以2×Ti的形式被测试链6逐级传播,利用异常输出可以准确定位发生故障的局部链5。 
不同局部链5同时存在单故障会造成异常输出的累加。例如,当第一级和第二级局部链5同时发生单故障时,第一级局部链5的输入时钟周期为T1,该链故障造成的异常输出为2×T1,而第二级局部链5的输入时钟周期为T2,该链故障造成的异常输出为2×T2,因此,两级故障局部链5的异常输出在第三级局部链5的输出表征为2×T1+2×T2,其故障累加及异常输出传播如图6所示。 
不同局部链5同时存在单故障造成的异常输出累加值可以通过公式(2i+2j+…)×T0计算,其中i,j,…为存在故障的局部链5号。由于多项式2i+2j+…所对应的(i,j,…)具有唯一性,因此利用(2i+2j+…)×T0可以对故障节点进行定位。 

Claims (1)

1.一种基于SRAM的FPGA的LUT测试结构,其特征在于:该测试结构由复数条并行的测试链构成,测试链由一级一级串联在一起的局部链构成,每一级局部链又由一个测试图形生成器TPG和一个被测电路CUT组成;每条测试链中,第一级局部链的时钟信号由外部时钟提供,下一级局部链的时钟由上一级局部链输出提供,由此将各级局部链串联在一起直至最后一级输出至输入输出端口IOB输出;局部链内部,测试图形生成器TPG产生地址信号,并传输给被测电路CUT,被测电路CUT读取数据输出至下一级局部链时钟,测试链数不大于可用的输入输出端口IOB数;
设查找表LUT输入数目为n,
所述测试图形生成器TPG是:由n个查找表LUT和n个触发器连接而成;每个查找表LUT与一个触发器串联连接在一起,n个触发器的输出一方面反馈回每个查找表LUT作为地址输入,另一方面也同时传输给被测电路CUT;测试图形生成器TPG能产生0至2n--1的地址信号,并通过对自身的查找表LUT配置数据的读取进行自检测;测试图形生成器TPG的时钟信号为同步时钟信号,该查找表LUT和触发器都是FPGA内部资源;
所述被测电路CUT是:由几个具有相同配置的逻辑单元LE构成,每个逻辑单元LE包括一个被测查找表LUT和一个用于锁存数据的D触发器;测试图形生成器TPG的输出直接与第一个逻辑单元LE相连,并作为逻辑单元LE内部查找表LUT的地址;其余的逻辑单元LE由上一个逻辑单元LE的输出作为其内部查找表LUT输入的最低有效位与测试图形生成器TPG输出的高n-1位共同构成其内部查找表LUT的地址;各逻辑单元LE的时钟信号为同步时钟信号;该被测查找表LUT和D触发器都是FPGA内部资源。
CN201120190088XU 2011-06-08 2011-06-08 一种基于sram的fpga的lut测试结构 Expired - Fee Related CN202189123U (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201120190088XU CN202189123U (zh) 2011-06-08 2011-06-08 一种基于sram的fpga的lut测试结构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201120190088XU CN202189123U (zh) 2011-06-08 2011-06-08 一种基于sram的fpga的lut测试结构

Publications (1)

Publication Number Publication Date
CN202189123U true CN202189123U (zh) 2012-04-11

Family

ID=45920563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201120190088XU Expired - Fee Related CN202189123U (zh) 2011-06-08 2011-06-08 一种基于sram的fpga的lut测试结构

Country Status (1)

Country Link
CN (1) CN202189123U (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102353892A (zh) * 2011-06-08 2012-02-15 北京航空航天大学 一种基于sram的fpga的lut测试结构及方法
CN104865518A (zh) * 2015-05-08 2015-08-26 北京航空航天大学 一种sram型fpga的clb动态老炼配置方法
CN109994144A (zh) * 2019-04-23 2019-07-09 江苏科大亨芯半导体技术有限公司 一种sram输出路径时序测试电路及测试方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102353892A (zh) * 2011-06-08 2012-02-15 北京航空航天大学 一种基于sram的fpga的lut测试结构及方法
CN104865518A (zh) * 2015-05-08 2015-08-26 北京航空航天大学 一种sram型fpga的clb动态老炼配置方法
CN104865518B (zh) * 2015-05-08 2017-08-11 北京航空航天大学 一种sram型fpga的clb动态老炼配置方法
CN109994144A (zh) * 2019-04-23 2019-07-09 江苏科大亨芯半导体技术有限公司 一种sram输出路径时序测试电路及测试方法

Similar Documents

Publication Publication Date Title
CN102353892A (zh) 一种基于sram的fpga的lut测试结构及方法
Sharma et al. X-filter: Filtering unknowns from compacted test responses
US10338136B2 (en) Integrated circuit with low power scan system
CN109445366B (zh) 一种fpga可编程逻辑资源的筛选测试方法
CN102288903B (zh) 一种fpga内连线资源的测试结构及方法
CN104865518A (zh) 一种sram型fpga的clb动态老炼配置方法
CN101923133A (zh) 集成电路片上系统核间连线故障的测试系统和方法
CN202189123U (zh) 一种基于sram的fpga的lut测试结构
CN104375078A (zh) 一种扫描测试锁存器宏单元及扫描测试方法
US9964596B2 (en) Integrated circuit with low power scan system
Jahanirad et al. BIST-based Testing and Diagnosis of LUTs in SRAM-based FPGAs
CN101581762B (zh) 面向应用的fpga的延迟故障测试方法及系统
CN111812490B (zh) 一种测试fpga芯片中信号传输延时的方法
US10156609B2 (en) Device and method for robustness verification
CN111210865A (zh) 一种低电压sram时间参数的片上测量电路及测量方法
CN116466223A (zh) 一种基于新型bist的fpga逻辑资源测试方法及其结构
US7210083B2 (en) System and method for implementing postponed quasi-masking test output compression in integrated circuit
CN107452426B (zh) 一种fpga芯片中存储元件的检测电路及检测方法
CN111124769B (zh) 一种嵌入式tdp ram模块测试电路与测试方法
US7614022B1 (en) Testing for bridge faults in the interconnect of programmable integrated circuits
CN203573309U (zh) 嵌入式系统存储器的测试结构
CN114859218B (zh) 一种fpga芯片中查找表的检测电路及检测方法
Jahanirad et al. BIST-based online test approach for SRAM-based FPGAs
Nisha et al. VLSI implementation of an efficient MBIST architecture using RLFSR
Agnihotri et al. Design and Implementation of Programmable Multiple Input Signature Register

Legal Events

Date Code Title Description
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120411

Termination date: 20130608