CN101881811A - 一种可编程逻辑器件互连资源的故障测试方法 - Google Patents

一种可编程逻辑器件互连资源的故障测试方法 Download PDF

Info

Publication number
CN101881811A
CN101881811A CN2009100508751A CN200910050875A CN101881811A CN 101881811 A CN101881811 A CN 101881811A CN 2009100508751 A CN2009100508751 A CN 2009100508751A CN 200910050875 A CN200910050875 A CN 200910050875A CN 101881811 A CN101881811 A CN 101881811A
Authority
CN
China
Prior art keywords
fault
resource
programmable logic
logic device
node
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.)
Granted
Application number
CN2009100508751A
Other languages
English (en)
Other versions
CN101881811B (zh
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.)
Fudan University
Original Assignee
Fudan 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 Fudan University filed Critical Fudan University
Priority to CN200910050875A priority Critical patent/CN101881811B/zh
Publication of CN101881811A publication Critical patent/CN101881811A/zh
Application granted granted Critical
Publication of CN101881811B publication Critical patent/CN101881811B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明属于电子技术领域,具体涉及一种可编程逻辑器件互连资源的自动化故障遍历测试方法。本发明提出了一种自动生成与应用无关的测试配置集的方法,通过建立布线资源图,根据线网的走向动态设定各边的权重,利用改进的Kruskal算法自动生成测试配置集。对于FPGA不同的互连结构,该方法对互连资源中的开路和短路故障达到100%的覆盖率,且测试配置个数少,运行速度快,不依赖于特定的硬件结构。

Description

一种可编程逻辑器件互连资源的故障测试方法
技术领域
本发明属于电子技术领域,具体涉及通用型可编程逻辑器件互连资源的自动化故障遍历测试方法。
背景技术
通用型可编程逻辑器件需要保证可编程逻辑器件(Field Programmable Gate Array FPGA)芯片对于任意用户配置都能正确实现所需要的电路功能。通常情况下,由于用户配置多种多样,而且随着FPGA芯片规模的增大,配置FPGA的时间从毫秒级到秒级不等,因此不可能将所有可能的用户配置均下载到FPGA芯片进行故障遍历测试。为完成对FPGA芯片故障遍历测试,一类与应用无关的(Application Independent)特殊配置集必须下载到FPGA芯片,以检测芯片内部的各种故障。这类为测试FPGA芯片而设计的配置集合,就是测试配置集。
测试FPGA芯片时,先将每个测试配置下载到芯片中,然后在输入端加入一组测试向量(Test Vectors),最后对输出结果进行分析,测试芯片是否存在故障。目前FPGA互连资源的故障遍历还未完全实现测试自动化,工程师需要人工设计测试配置集和相应的测试向量集。如果覆盖率未达到要求,工程师还需要设计额外的测试配置和测试向量来提高故障覆盖率。
FPGA中可编程点(Programmable Interconnect Points,PIPs)由互连PIPs和逻辑块PIPs共同组成,但是高达90%的PIPs位于互连资源中。因此,互连资源的自动化故障遍历测试面临巨大挑战,如何用尽可能少的测试配置文件覆盖所有要求的故障类型是迫切需要解决的问题。
对于FPGA互连资源的遍历测试研究,类似的工作已经开展了很多。有学者设计了3个配置文件来测试PIPs和互连线段的故障,覆盖率达到100%,但其只针对特定互连结构的FPGA,适用范围受到较大局限。针对Xilinx公司Virtex系列芯片,研究人员运用最大流算法,对横向、竖向及对角线方向的开关矩阵(Switch Matrix)分别建立图,同样运用最大流的算法。但是针对互连线段的短路故障,利用了Virtex芯片硬件结构的特殊性,所有未使用到的互连资源可以被驱动为“0”或者“1”,具有硬件结构上的局限性,另外对各个方向的互连资源分别建图所需要的计算复杂度很高。
发明内容
本发明的目的在于基于布线资源图的硬件结构模型,提出一种不依赖于特定硬件结构的测试配置集快速生成算法,使其不仅能够覆盖所有的故障类型,而且配置个数少。
FPGA互连资源中存在的故障可分为两大类:开路和短路,如附图1所示。开路故障包括互连线段的开路故障和PIP的常开故障。短路故障包括互连线段的短路故障和PIP的常闭故障。故障类型还包括了互连线段的固定0故障和固定1故障,这两者可以分别等效为与电源线VDD和地线GND的短路故障。
本发明的目的通过下述方法和步骤实现:
为了达到上述发明目的,本发明首先针对FPGA互连资源中存在的故障类型提出生成完备测试配置集所需的条件:
(1)对于互连线段开路故障,在生成的所有测试配置文件中,所有的待测互连线段都必须有信号通过至少一次。
(2)对于PIP常开故障,在生成的所有测试配置文件中,所有的PIPs点都必须至少接通一次。
(3)为了检测出PIP的常闭故障,首先需要将PIP配置为断开,然后将PIP连接的两段互连线段分配到不同的被测线网,对两条被测线网施加不同的激励,根据结果能够检测出PIP的常闭故障。
(4)互连线段的桥接故障,可采用与PIP常闭故障类似的方法,对每个开关盒连接的互连线段,两两分配到不同的线网中来检测桥接故障。
在实际情况中,当条件(2)满足时,条件(1)一定满足;当条件(4)满足时,条件(3)一定满足。
生成的测试配置集必须保证满足上述所有的条件。
本发明所提出的可编程逻辑器件互连资源的故障测试方法,其实现步骤如下:
1、根据布线资源图生成测试资源图。
布线资源图中节点的集合代表FPGA的互连资源,这些节点可以是可编程逻辑单元(Configuration Logic Block,CLB)或者输入输出单元(Input/Output Block,IOB)的输入输出管脚,也可以是互连线段。如附图2(a),I1,I2是CLB的输入管脚,O1,O2是IOB/CLB的输出管脚,L1-L8是互连线段,每条边代表了节点间的一种可能的连接关系,也就是在两节点间存在一个PIP。由于PIP可以由传输管或缓冲器构成,连接关系用有向边表示。如附图2(a)O1与L1存在连接关系,由于O1为输出管脚,信号只会从O1流向L1,因而在O1与L1间存在一条单向边。而互连线段L1与L8之间通过传输管连接,在附图2(b)中该两节点间存在一条双向边,表示信号流动方向没有限制。测试资源图为布线资源图的子图,仅包含FPGA中开关盒(Switching Box,SB)互连资源。SB为双向导通的传输管阵列,因此对应的互连测试资源图中所有的边都是双向的。
2、依次选择线网走向,从而设定各边的权重并进行排序。
根据互连线段相对于开关盒的位置,可分为北,南,西和东四类线。互连线段之间的连接方向和线网方向可以分为以下四类:
横向连接:连接横向的金属线段,即东西方向的金属线段的连接。如附图2(a)中W0与E0的连接;
竖向连接:连接竖向的金属线段,即南北方向的金属线段的连接。如附图2(a)中N1与S1的连接;
左对角线连接:包括西北方向和东南方向的金属线段的连接。如附图2(a)中W1与N0及S1与E1的连接;
右对角线连接:包括东北方向和西南方向的金属线段的连接。如附图2(a)中E0与N1及W1与S0的连接。
3、运行改进的Kruskal算法,生成配置文件。
初始化每个节点为一棵树,依次遍历每条边,将满足条件的边加入森林并记录测试的短路故障。所需满足的条件为:每次加入的边,必须保证加入后每个元素集合维护的仍然是一棵树,即没有回路。同时,该边所联系的两棵树合并后,这棵树所构成的线网经过同一个开关盒至多一次。最后形成的每棵树代表同一配置文件的一条线网,生成配置文件。
4、增加用到边的权重,直到完备的测试配置生成。如果所生成的测试配置集还没有达到100%的互连资源故障覆盖率,则重复步骤2。
对于边的权重设置,本发明提出了具体的实现方法:
Wedge=SB序号*边方向种类的个数+方向因子。
当设定线网的走向后,将开关盒按照坐标位置编号。横竖向时开关盒按从底至上,从左至右的顺序编号。右对角线时开关盒按从左下端开始,依右对角线方向编号,左对角线时类似,如附图3。
边方向种类与互连线段的连接方向种类一致,共有四种,处理时可以合并横竖向,因而种类数为3。
根据线网走向,一旦边的方向与线网走向一致,则设定方向因子的值小,其他方向次之。以附图3为例,由于线网的走线方向为横竖向,故横向边及竖向边的方向因子为0,左对角线方向的边方向因子为1,右对角线方向的边其方向因子为2。
另外,使用过的边,需要加上一个固定的权值,以使其与未使用过的边区分开来,以便下一次运行Kruskal算法时优先选取没用到的边。该权值的设定与FPGA中待测试的PIP总个数T有关,一般设定该权值大于T。
基于本发明所述的可编程逻辑器件互连资源的故障测试方法,其可编程逻辑器件的芯片结构可以用如下格式进行描述:
Figure B2009100508751D0000041
Figure B2009100508751D0000051
基于本发明所述的可编程逻辑器件互连资源的故障测试方法,其可编程逻辑器件的布线资源图可以用如下格式进行描述:
对于每个节点,index记录该节点的序号,type记录节点类型,包括sink,source,ipin,opin,chanx,chany类型。除了chanx,chany类型以外的节点,需要记录block单元的类型,坐标位置,类别编号或者引脚编号以及容量。对于chanx,chany类型的节点,需要记录from和to信息,标记线段起始坐标及track编号以及容量。tonode记录与该节点相连接的节点信息,包括连接节点的编号及在开关盒内部的连接方向。
本发明所提出的可编程逻辑器件互连资源的故障测试方法,不依赖于特定硬件结构的测试配置集快速生成算法,不仅能够覆盖所有的故障类型,而且配置个数少。对于具有176个PIP的3*3逻辑单元阵列FPGA芯片,本发明所提供的方法只需要6个测试配置就可以遍历互连资源的各种故障,对于大阵列规模的FPGA芯片来说,例如对于具有89612个PIP的互连资源测试,只需要36个测试配置就能完成互连资源的故障遍历测试。
附图说明
图1 FPGA互连资源的各种故障类型。
图2 基于开关盒的FPGA基本互连结构(a)和对应的布线资源图(b)。
图3 SB序号的设置。
图4 3*3逻辑单元阵列中互连规模横竖向连线配置结果。
具体实施方式
以下结合具体的实施例,对本发明做进一步的阐述。实施例仅用于对本发明做说明而不是对本发明的限制。
实施例1
以3*3阵列规模的FPGA结构模型为例,该模型规模为3*3,表示横竖向各有3个CLB。通道中存在2条二倍线及一条长线,生成的待测试PIP个数为176个。FPGA芯片具体结构描述如下:
Figure B2009100508751D0000061
Figure B2009100508751D0000071
根据结构描述文件生成相应的布线资源图进而生成测试资源,其具体描述如下:
Figure B2009100508751D0000072
Figure B2009100508751D0000081
然后依次选择线网走向,根据权重公式设定各边的权重并排序。运行改进的Kruskal算法,得到位流配置文件,其结果如图4所示。
如果生成的配置文件已经满足了测试的完备条件,程序停止,否则继续依次选择线网走向,根据要求生成配置文件。

Claims (7)

1.一种可编程逻辑器件互连资源的故障测试方法,其特征在于包括以下步骤:
(1)根据布线资源图生成测试资源图;
(2)依次选择线网走向,从而设定各边的权重并进行排序;
(3)运行改进的Kruskal算法,生成配置文件;
(4)增加用到边的权重,直至测试配置生成,否则重复步骤(2)。
2.根据权利要求1所述的可编程逻辑器件互连资源的故障测试方法,其特征在于生成的测试配置同时满足以下条件:
(1)对于互连线段开路故障,在生成的所有测试配置文件中,所有的待测互连线段都必须有信号通过至少一次;
(2)对于PIP常开故障,在生成的所有测试配置文件中,所有的PIPs点都必须至少接通一次;
(3)对于PIP的常闭故障,首先将PIP配置为断开,然后将PIP连接的两段互连线段分配到不同的被测线网,对两条被测线网施加不同的激励,根据结果检测出PIP的常闭故障;
(4)对于互连线段的桥接故障,采用与PIP常闭故障类似的方法,对每个开关盒连接的互连线段,两两分配到不同的线网中,检测出桥接故障。
3.根据权利要求1所述的可编程逻辑器件互连资源的故障测试方法,其特征在于,所述的布线资源图中节点的集合代表FPGA的互连资源,该是可编程逻辑单元或者输入输出单元的输入输出管脚,或是互连线段;测试资源图为布线资源图的子图,其仅包含FPGA中开关盒互连资源。
4.根据权利要求1所述的可编程逻辑器件互连资源的故障测试方法,其特征在于边的权重的设定方法为:
Wedge=SB序号*边方向种类的个数+方向因子
(1)当设定线网的走向后,将开关盒按照坐标位置编号:横竖向时开关盒按从底至上,从左至右的顺序编号,右对角线时开关盒按从左下端开始,依右对角线方向编号,左对角线时类似;
(2)边方向种类与互连线段的连接方向种类一致,处理时合并横竖向;
(3)根据线网走向,当边的方向与线网走向一致,则设定方向因子的值小,其他方向次之;
(4)给使用过的边加上一个固定的权值,使其与未使用过的边区分开,该权值设定大于T。
5.根据权利要求1所述的可编程逻辑器件互连资源的故障测试方法,其特征在于运行改进的Kruskal算法时,初始化每个节点为一棵树,依次遍历每条边,将满足条件的边加入森林并记录测试的短路故障;每次加入的边,保证加入后每个元素集合维护的是一棵树,没有回路;同时,该边所联系的两棵树合并后,该棵树所构成的线网经过同一个开关盒至多一次,最后形成的每棵树代表同一配置文件的一条线网,生成配置文件。
6.根据权利要求1所述的可编程逻辑器件互连资源的故障测试方法,其特征在于可编程逻辑器件的芯片结构用如下格式进行描述:
Figure F2009100508751C0000021
7.根据权利要求1所述的可编程逻辑器件互连资源的故障测试方法,其特征在于,所述的布线资源图用如下格式进行描述:
Figure F2009100508751C0000031
对于每个节点,index记录该节点的序号,type记录节点类型其包括sink、source、ipin、opin、chanx、chany类型,除了chanx,chany类型以外的节点,需要记录block单元的类型,坐标位置,类别编号或者引脚编号以及容量;对于chanx、chany类型的节点,需要记录from和to信息,标记线段起始坐标及track编号以及容量,tonode记录与该节点相连接的节点信息,包括连接节点的编号及在开关盒内部的连接方向。
CN200910050875A 2009-05-08 2009-05-08 一种可编程逻辑器件互连资源的故障测试方法 Expired - Fee Related CN101881811B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910050875A CN101881811B (zh) 2009-05-08 2009-05-08 一种可编程逻辑器件互连资源的故障测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910050875A CN101881811B (zh) 2009-05-08 2009-05-08 一种可编程逻辑器件互连资源的故障测试方法

Publications (2)

Publication Number Publication Date
CN101881811A true CN101881811A (zh) 2010-11-10
CN101881811B CN101881811B (zh) 2012-10-24

Family

ID=43053871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910050875A Expired - Fee Related CN101881811B (zh) 2009-05-08 2009-05-08 一种可编程逻辑器件互连资源的故障测试方法

Country Status (1)

Country Link
CN (1) CN101881811B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294048A (zh) * 2012-02-27 2013-09-11 阿尔特拉公司 用于自动故障检测的方法和装置
CN103412253A (zh) * 2013-08-05 2013-11-27 电子科技大学 互联结构模型化方法和互联资源配置向量自动生成方法
CN103630829A (zh) * 2012-08-23 2014-03-12 中国科学院微电子研究所 用于布线资源故障检测的配置方法
CN103699705A (zh) * 2012-09-27 2014-04-02 中国科学院微电子研究所 一种用于fpga结构设计的系统及其方法
CN103777136A (zh) * 2012-10-24 2014-05-07 中国科学院微电子研究所 一种现场可编程门阵列的配置方法
CN104281508A (zh) * 2013-07-11 2015-01-14 京微雅格(北京)科技有限公司 现场可编程逻辑门阵列互连线固定故障的测试方法
CN105975435A (zh) * 2016-06-17 2016-09-28 广东工业大学 一种含开关及连线故障的处理器阵列的重构方法
CN103699705B (zh) * 2012-09-27 2016-11-30 中国科学院微电子研究所 一种用于fpga结构设计的系统及其方法
CN106841894A (zh) * 2016-12-23 2017-06-13 深圳市国微电子有限公司 Fpga互连线测试方法及装置
CN108051729A (zh) * 2017-12-06 2018-05-18 西安智多晶微电子有限公司 Fpga布线覆盖率测试方法
CN110874517A (zh) * 2018-08-10 2020-03-10 北京大学 一种快速验证fpga互连线连接正确的方法
CN111930613A (zh) * 2020-07-14 2020-11-13 深圳市紫光同创电子有限公司 待测芯片的测试用例生成方法、装置、电子设备以及介质
CN113836858A (zh) * 2021-09-13 2021-12-24 深圳市紫光同创电子有限公司 芯片布局方法
CN115598495A (zh) * 2022-09-16 2023-01-13 深圳市奇普乐芯片技术有限公司(Cn) 芯片测试配置生成方法、测试方法、装置及电子设备
CN117783841A (zh) * 2023-12-27 2024-03-29 苏州异格技术有限公司 一种fpga布线覆盖率测试方法、装置、设备及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112020A (en) * 1996-10-31 2000-08-29 Altera Corporation Apparatus and method for generating configuration and test files for programmable logic devices
JP2005032102A (ja) * 2003-07-09 2005-02-03 Matsushita Electric Ind Co Ltd スキャンテスト設計方法、スキャンテスト回路、スキャンフリップフロップ回路、スキャンテスト回路挿入用cadプログラム、大規模集積回路及び携帯デジタル機器
CN101140314B (zh) * 2007-10-12 2011-02-16 电子科技大学 现场可编程门阵列布线信道验证方法及系统

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294048A (zh) * 2012-02-27 2013-09-11 阿尔特拉公司 用于自动故障检测的方法和装置
CN103630829A (zh) * 2012-08-23 2014-03-12 中国科学院微电子研究所 用于布线资源故障检测的配置方法
CN103699705A (zh) * 2012-09-27 2014-04-02 中国科学院微电子研究所 一种用于fpga结构设计的系统及其方法
CN103699705B (zh) * 2012-09-27 2016-11-30 中国科学院微电子研究所 一种用于fpga结构设计的系统及其方法
CN103777136A (zh) * 2012-10-24 2014-05-07 中国科学院微电子研究所 一种现场可编程门阵列的配置方法
CN104281508A (zh) * 2013-07-11 2015-01-14 京微雅格(北京)科技有限公司 现场可编程逻辑门阵列互连线固定故障的测试方法
CN104281508B (zh) * 2013-07-11 2018-11-06 京微雅格(北京)科技有限公司 现场可编程逻辑门阵列互连线固定故障的测试方法
CN103412253A (zh) * 2013-08-05 2013-11-27 电子科技大学 互联结构模型化方法和互联资源配置向量自动生成方法
CN103412253B (zh) * 2013-08-05 2016-01-20 电子科技大学 互联结构模型化方法和互联资源配置向量自动生成方法
CN105975435A (zh) * 2016-06-17 2016-09-28 广东工业大学 一种含开关及连线故障的处理器阵列的重构方法
CN106841894B (zh) * 2016-12-23 2020-02-11 深圳市国微电子有限公司 Fpga互连线测试方法及装置
CN106841894A (zh) * 2016-12-23 2017-06-13 深圳市国微电子有限公司 Fpga互连线测试方法及装置
CN108051729A (zh) * 2017-12-06 2018-05-18 西安智多晶微电子有限公司 Fpga布线覆盖率测试方法
CN108051729B (zh) * 2017-12-06 2020-03-24 西安智多晶微电子有限公司 Fpga布线覆盖率测试方法
CN110874517A (zh) * 2018-08-10 2020-03-10 北京大学 一种快速验证fpga互连线连接正确的方法
CN111930613A (zh) * 2020-07-14 2020-11-13 深圳市紫光同创电子有限公司 待测芯片的测试用例生成方法、装置、电子设备以及介质
CN111930613B (zh) * 2020-07-14 2023-11-28 深圳市紫光同创电子有限公司 待测芯片的测试用例生成方法、装置、电子设备以及介质
CN113836858A (zh) * 2021-09-13 2021-12-24 深圳市紫光同创电子有限公司 芯片布局方法
CN115598495A (zh) * 2022-09-16 2023-01-13 深圳市奇普乐芯片技术有限公司(Cn) 芯片测试配置生成方法、测试方法、装置及电子设备
CN115598495B (zh) * 2022-09-16 2024-01-30 深圳市奇普乐芯片技术有限公司 芯片测试配置生成方法、测试方法、装置及电子设备
CN117783841A (zh) * 2023-12-27 2024-03-29 苏州异格技术有限公司 一种fpga布线覆盖率测试方法、装置、设备及介质

Also Published As

Publication number Publication date
CN101881811B (zh) 2012-10-24

Similar Documents

Publication Publication Date Title
CN101881811A (zh) 一种可编程逻辑器件互连资源的故障测试方法
Cossart et al. Assessment of structural sediment connectivity within catchments: insights from graph theory
CN103366028B (zh) 一种现场可编程门阵列芯片布局方法
CN107871035A (zh) 一种快速有效的电路输入向量敏感性计算方法
CN104617928A (zh) 基于fpga硬件结构的时钟网络遍历测试方法
CN104123407A (zh) 一种基于电路仿真的可测试性模型自动建立方法
CN105677525B (zh) 基于可重复配置单元的fpga局部互联资源自动化测试方法
CN112131813B (zh) 基于端口交换技术的用于提升布线速度的fpga布线方法
Tahoori et al. Fault grading FPGA interconnect test configurations
CN108051729A (zh) Fpga布线覆盖率测试方法
US6006023A (en) Method of optimizing a logic circuit
CN107302208B (zh) 一种煤矿高压电网速断设置并行检验方法
Mohanram et al. Power system restoration using reverse delete algorithm implemented in FPGA
CN115456109A (zh) 电网故障元件辨识方法、系统、计算机设备及存储介质
JP2014132659A (ja) 集積回路のための設定可能回路およびメッシュ構造
Nadjarbashi et al. Line oriented structural equivalence fault collapsing
CN104866678A (zh) Fpga时序约束布局方法
Altun et al. Computing with nano-crossbar arrays: Logic synthesis and fault tolerance
Aly Analog electric circuits synthesis using a genetic algorithm approach
CN105137329B (zh) 一种检查电路中mos场效应管栅极悬空的方法及系统
CN104730392B (zh) 一种基于拓扑结构编码的矿井高压电网速断设置检验方法
Jagielski et al. FPIM: field-programmable Ising machines for solving SAT
Emmert et al. A fault tolerant technique for FPGAs
Banik et al. Test configuration generation for different FPGA architectures for application independent testing
Pereira et al. Testing the interconnect networks and I/O resources of field programmable analog arrays

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121024

Termination date: 20200508

CF01 Termination of patent right due to non-payment of annual fee