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

文档序号:6148602阅读:192来源:国知局
专利名称:一种可编程逻辑器件互连资源的故障测试方法
技术领域
本发明属于电子技术领域,具体涉及通用型可编程逻辑器件互连资源的自动化故 障遍历测试方法。
背景技术
通用型可编程逻辑器件需要保证可编程逻辑器件(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)满足时,条件⑴一定满足;当条件⑷满足时,条件
(3) 一定 两足。生成的测试配置集必须保证满足上述所有的条件。本发明所提出的可编程逻辑器件互连资源的故障测试方法,其实现步骤如下1、根据布线资源图生成测试资源图。布线资源图中节点的集合代表FPGA的互连资源,这些节点可以是可编程逻辑单 元(Configuration Logic Block, CLB)或者输入输出单元(Input/Output Block, IOB)的 输入输出管脚,也可以是互连线段。如附图2 (a),II,12是CLB的输入管脚,01,02是IOB/ CLB的输出管脚,L1-L8是互连线段,每条边代表了节点间的一种可能的连接关系,也就是 在两节点间存在一个PIP。由于PIP可以由传输管或缓冲器构成,连接关系用有向边表示。 如附图2 (a) 01与Ll存在连接关系,由于01为输出管脚,信号只会从01流向Li,因而在01 与Ll间存在一条单向边。而互连线段Ll与L8之间通过传输管连接,在附图2(b)中该两 节点间存在一条双向边,表示信号流动方向没有限制。测试资源图为布线资源图的子图,仅 包含FPGA中开关盒(Switching Box, SB)互连资源。SB为双向导通的传输管阵列,因此对 应的互连测试资源图中所有的边都是双向的。2、依次选择线网走向,从而设定各边的权重并进行排序。根据互连线段相对于开关盒的位置,可分为北,南,西和东四类线。互连线段之间 的连接方向和线网方向可以分为以下四类横向连接连接横向的金属线段,即东西方向的金属线段的连接。如附图2(a)中 WO与EO的连接;竖向连接连接竖向的金属线段,即南北方向的金属线段的连接。如附图2(a)中 Nl与Sl的连接;左对角线连接包括西北方向和东南方向的金属线段的连接。如附图2(a)中Wl 与NO及Sl与El的连接;右对角线连接包括东北方向和西南方向的金属线段的连接。如附图2(a)中EO 与m及Wi与so的连接。3、运行改进的Kruskal算法,生成配置文件。
5
初始化每个节点为一棵树,依次遍历每条边,将满足条件的边加入森林并记录测 试的短路故障。所需满足的条件为每次加入的边,必须保证加入后每个元素集合维护的仍 然是一棵树,即没有回路。同时,该边所联系的两棵树合并后,这棵树所构成的线网经过同 一个开关盒至多一次。最后形成的每棵树代表同一配置文件的一条线网,生成配置文件。4、增加用到边的权重,直到完备的测试配置生成。如果所生成的测试配置集还没 有达到100%的互连资源故障覆盖率,则重复步骤2。对于边的权重设置,本发明提出了具体的实现方法Wedge = SB序号*边方向种类的个数+方向因子。当设定线网的走向后,将开关盒按照坐标位置编号。横竖向时开关盒按从底至上, 从左至右的顺序编号。右对角线时开关盒按从左下端开始,依右对角线方向编号,左对角线 时类似,如附图3。边方向种类与互连线段的连接方向种类一致,共有四种,处理时可以合并横竖向, 因而种类数为3。根据线网走向,一旦边的方向与线网走向一致,则设定方向因子的值小,其他方向 次之。以附图3为例,由于线网的走线方向为横竖向,故横向边及竖向边的方向因子为0,左 对角线方向的边方向因子为1,右对角线方向的边其方向因子为2。另外,使用过的边,需要加上一个固定的权值,以使其与未使用过的边区分开来, 以便下一次运行Kruskal算法时优先选取没用到的边。该权值的设定与FPGA中待测试的 PIP总个数T有关,一般设定该权值大于T。基于本发明所述的可编程逻辑器件互连资源的故障测试方法,其可编程逻辑器件 的芯片结构可以用如下格式进行描述 基于本发明所述的可编程逻辑器件互连资源的故障测试方法,其可编程逻辑器件 的布线资源图可以用如下格式进行描述 对于每个节点,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芯片具体
结构描述如下 根据结构描述文件生成相应的布线资源图进而生成测试资源,其具体描述如下 然后依次选择线网走向,根据权重公式设定各边的权重并排序。运行改进的 Kruskal算法,得到位流配置文件,其结果如图4所示。如果生成的配置文件已经满足了测试的完备条件,程序停止,否则继续依次选择 线网走向,根据要求生成配置文件。
10
权利要求
一种可编程逻辑器件互连资源的故障测试方法,其特征在于包括以下步骤(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所述的可编程逻辑器件互连资源的故障测试方法,其特征在于可编 程逻辑器件的芯片结构用如下格式进行描述
7.根据权利要求1所述的可编程逻辑器件互连资源的故障测试方法,其特征在于,所 述的布线资源图用如下格式进行描述 对于每个节点,index记录该节点的序号,type记录节点类型其包括sink、source, ipin、opin、chanx、chany类型,除了 chanx,chany类型以外的节点,需要记录block单元的 类型,坐标位置,类别编号或者引脚编号以及容量;对于chanx、chany类型的节点,需要记 录from和to信息,标记线段起始坐标及track编号以及容量,tonode记录与该节点相连 接的节点信息,包括连接节点的编号及在开关盒内部的连接方向。
全文摘要
本发明属于电子技术领域,具体涉及一种可编程逻辑器件互连资源的自动化故障遍历测试方法。本发明提出了一种自动生成与应用无关的测试配置集的方法,通过建立布线资源图,根据线网的走向动态设定各边的权重,利用改进的Kruskal算法自动生成测试配置集。对于FPGA不同的互连结构,该方法对互连资源中的开路和短路故障达到100%的覆盖率,且测试配置个数少,运行速度快,不依赖于特定的硬件结构。
文档编号G01R31/02GK101881811SQ20091005087
公开日2010年11月10日 申请日期2009年5月8日 优先权日2009年5月8日
发明者代莉, 王伶俐, 童家榕, 陈更生 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1