一种现场可编程门阵列的测试方法及系统的制作方法

文档序号:6029667阅读:114来源:国知局
专利名称:一种现场可编程门阵列的测试方法及系统的制作方法
技术领域
本发明涉及一种芯片测试技术,特别地,涉及一种现场可编程门 阵列的测试方法,以及 一 种现场可编程门阵列的测试系统。
背景技术
现场可编程门阵列(Field Programable Gate Array, FPGA )器件
的出现是超大规模集成电路技术和计算机辅助设计技术发展的结果, FPGA是一种可擦除的可编程序只读存储器,通常在单板上电初始化 时,将相关程序和数据加载到该单板的FPGA硬件芯片;该FPGA芯片 初始化后,可以完成复杂的逻辑控制。
如图1所示,FPGA结构通常包含三类基本资源输入输出单元 (Input/Output Block, IOB ) 101 、可配置逻辑单元(Configurable Logic Block, CLB ) 102和互连资源单元(Interconnect Resources , IR) 103 。 其中,IOB可提供FPGA内部逻辑和封装管脚之间的连接接口, CLB 可用于实现逻辑和时序存储功能,IR则用于实现所使用到的CLB、 IOB 之间的信号通讯。FPGA器件具有集成度高、体积/j、,可以通过用户 编程实现专门的应用功能,设计开发周期短、可重配置等优点,进而 成为电子系统发展的热点。
目前,FPGA可以用于原型设计的测试,同时在电子系统中被使 用。然而,对于医疗设备、航空电子等对系统的可靠性有较高的要求, 这就使得FPGA的测试对于这些应用具有特殊的重要性。
实际中,FPGA制造厂家会对FPGA中的所有资源进行完整彻底的 测试,即制造测试(独立于应用的FPGA测试),以确保提供给用户的 FPGA可在任何应用配置下无故障工作。但是,某些FPGA芯片虽然通 过了制造测试,却会在某些系统中使用较短时间之后出现故障。因此,为了满足特殊应用的高可靠性要求,需要在FPGA的使用过程中对
FPGA设计做进 一 步的面向应用的测试。
现有技术中,面向应用的FPGA测试方案可以分成两类。 一类方 案采用插入扫描链的自动测试向量生成(Automatic Test Pattern Generation, ATPG)技术;另 一类方案则利用FPGA的可重配置特性 同时生成测试配置和测试向量。
所述利用扫描链的ATPG技术具体为釆用 一种新的可配置逻辑单 元(Configurable Logic Block, CLB )结构使FPGA具有本征扫描特性, 并结合适用于FPGA时序设计FPGA测试(TestofFPGA, TOF )流程, 简化FPGA初始测试网表,以加快向量生成过程并提高了所生成向量 的覆盖率,以及有效提高时序电路的可测性;然而,该方案需要附加 较多的硬件设备,消耗FPGA芯片的测试成本。
另 一 类FPGA测试方案则是在测试配置中使用到的是CLB配置中 的LUT单元和寄存器的形式,并且通过加载步进0/l测试向量检测所 有的互连线固定故障和桥接故障,进而减少了测试配置以缩短测试时 间;具体过程为基于Walsh编码将测试配置中所有的查找表(LookUp Table, LUT)配置成与/或函数,或为单项函数,并加载全0/l向量或 激活向量即可检测;然而,在实际应用中,上述方案在实际测试应用 中使用一个假设,即FPGA设计中的逻辑只由LUT实现,并不满足实 际情况,因而上述方案的适用范围有限。
总之,需要本领域技术人员迫切解决的一个技术问题就是如何 有效地测试互连线的固定故障,并能够降低成本且适用于特殊领域的 FPGA芯片。

发明内容
本发明所要解决的技术问题是提供 一种能够有效检测FPGA芯片 的互连线的固定故障,并能够降低成本且适用于特殊领域的现场可编 程门阵列的测试方法以及 一 种现场可编程门阵列的测试系统。为解决上述问题,本发明公开了 一种现场可编程门阵列的测试方 法,包括
获取现场可编程门阵列的初始设计网表和初始设计配置;
采用逻辑函数的异或功能替换所述初始设计网表和初始设计配
置的查找表单元的功能,得到初始测试网表和初始测试配置;
依据可测性分析方法的预置规则,选择所述初始测试网表的观察 节点,基于所述观察节点获取测试网表和相应的测试向量;
配置所述观察节点到所述初始测试配置的输出输入单元的输出 端,得到测试配置;以及
依据配置器件的激励信号,连接所述测试配置至配置器件,获得 所述测试向量的输出逻辑值;
分析所述输出逻辑值与所述测试向量的响应值,获得测试结果。
进一步地,所述依据可测性分析方法的预置规则为获取所述初 始测试网表的内部节点的可观察性值M,;
设定所述初始测试网表的一 内部节点的可观察性值,依据可测性 分析算法,计算所述初始测试网表中所有节点的可观察性值M2;以 及,将所述M,与所述M2进行比较,得到观察节点。
进一步地,所述依据可测性分析方法的预置规则,选择所述初始 测试网表的观察节点,基于所述观察节点获取测试网表和相应的测试 向量的步骤包括
选择所述M,与所述M2差别最大的一个观察节点,重复选择多个 观察节点;
开启所述观察节点对应所述初始测试网表的输出端口得到测试 网表;
釆用自动测试向量生成工具生成所述测试网表的测试向量。 进一步地,所述依据配置器件的激励信号,连接所述测试配置至 配置器件,获得所述测试向量的输出逻辑值的步骤包括将所述现场可编程门阵列连接于所述微机和配置器件;
获取所述配置器件的激励信号;
依据所述激励信号,设置连接于所述配置器件的测试配置;
釆用所述微机中的激励生成工具,生成所述测试向量的激励部分
的波形,以及加载所述测试向量至所述现场可编程门阵列的管脚; 须'J试所述现'H式向量的激励部分,得到输出逻辑值。 进一步地,所述分析所述输出逻辑值与所述测试向量的响应值,
获得测试结果的步骤包括-.
若所述输出逻辑值与所述测试向量的响应值相同,该观察节点测
试通过,以及获取所述选择的下一个观察节点的相应的所述测试向量
的输出逻辑值,或结東测试;
若所述输出逻辑值与所述测试向量的响应值不相同,结束测试。
为解决上述问题,本发明还公开了 一种现场可编程门阵列的测试 系统,包括
现场可编程门阵列获取单元,用于获取现场可编程门阵列的初始 设计网表和初始设计配置;
查找表搡作单元,用于采用逻辑函数的异或功能替换所述初始设 计网表和初始设计配置的查找表单元的功能,得到初始测试网表和初 始测试配置;
观察节点和测试向量获取单元,用于依据可测性分析方法的预置 规则,选择所述初始测试网表的观察节点,基于所述观察节点获取测 试网表和相应的测试向量;
测试配置获取单元,用于配置所述观察节点到所述初始测试配置 的输出输入单元的输出端,得到测试配置;
逻辑值获取单元,用于依据配置器件的激励信号,连接所述测试 配置至配置器件,获得所述测试向量的输出逻辑值;测试结果分析单元,用于分析所述输出逻辑值与所述测试向量的 响应值,获得测试结果。
进一步地,所述依据可测性分析方法的预置规则为获取所述初
始测试网表的内部节点的可观察性值M,;
设定所述初始测试网表的一内部节点的可观察性值,依据可测性 分析算法,计算所述初始测试网表中所有节点的可观察性值M2;以 及,将所述M,与所述M2进行比较,得到观察节点。
进一步地,所述观察节点和测试向量获取单元进一步包括
观察节点选取单元,用于选择所述M,与所述M2差别最大的一个 观察节点,重复选择多个观察节点;
测试网表生成单元,用于开启所述观察节点对应所述初始测试网 表的输出端口得到测试网表;
测试向量生成单元,用于釆用自动测试向量生成工具生成所述测 试网表的测试向量。
进一步地,所述逻辑值获取单元进一步包括
连接单元,用于将所述现场可编程门阵列连接于所述微机和配置
器件;
激励信号获取单元,用于获取所述配置器件的激励信号; 测试配置设置单元,用于依据所述激励信号,设置连接于所述配
置器件的测试配置;
测试向量加载单元,用于釆用所述微机中的激励生成工具,生成
所述测试向量的激励部分的波形,以及加载所述测试向量至所述现场
可编程门阵列的管脚;
测试单元,用于测试所述测试向量的激励部分,得到输出逻辑值。
进一步地,所述测试结果分析单元进一步包括
判断单元,用于分析所述输出逻辑值与所述测试向量的响应值相
同,该观察节点测试通过,以及获取所述选择的下一个观察节点的相
应的所述测试向量的输出逻辑值,或结束测试若所述输出逻辑值与所述测试向量的响应值不相同,结東测试。 与现有技术相比,本发明具有以下优点
首先,本发明将FPGA的初始设计网表中的LUT函数全部修改成 异或函数,提高了初始设计网表中各个节点的可控制性;另外,依据 CAMELOT可测性分析算法优化选择一定数目的观察点作为输出,提 高了网表的可观察性;从而提高了ATPG生成工具生成测试向量的故 障覆盖率;
其次,根据FPGA的初始设计网表的修改方式,相对应于测试节 点,由异或逻辑函数替换初始设计配置中的查找表函数,得到具有异 或逻辑功能的测试配置,并在多个测试配置中将所述的观察点连接到 输出端口上,并合并所述多个测试配置等同于测试网表,从而可将 ATPG生成工具依据测试节点所生成的测试向量加载到所述测试配置 上,进行生成面向应用的FPGA测试,并有效检测FPGA芯片的互连线 固定故障;
再者,本发明无需在初始设计网表中加入扫描链,同时对初始设 计网表中的逻辑类型没有限制,提高了被测电路的可测性且具有通用 性,从而可以得到较高的覆盖率,是一种实际可行,并减少成本可适 用于特殊领域的通用的面向应用的FPGA测试方法。


图l为现有技术中的FPGA基本结构示意图2为现有技术中的FPGA包含的CLB简化结构示意图3为本发明使用的F P G A初始设计配置实施例的示意图4为本发明的 一种FPGA测试方法的流程示意图5为本发明使用的FPGA初始设计网表实施例的简化结构示意
图6为本发明的替换FPGA初始设计网表中的LUT单元,并基于可 测性分析方法选择测试节点的实施例的FPGA测试电路网表示意图;图7为本发明的实施例中第一个FPGA测试配置结构示意图; 图8为本发明的实施例中第二个FPGA测试配置结构示意图; 图9为本发明的 一种FPGA测试系统的结构示意图。
具体实施例方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结 合附图和具体实施方式
对本发明作进一步详细的说明。
本发明测试的目的是保证FPGA在某个特定应用下能够无故障工 作,而特定应用一般只会使用到部分可配置资源,因此本发明的测试 方案与现有技术的制造测试方案不同。
FPGA基本结构如图1所示的结构示意图;CLB是实现用户功能的 基本单元,多个逻辑功能块通常规则地排成一个阵列结构,分布于整 个FPGA芯片;IOB完成FPGA芯片内部逻辑与外部管脚之间的接口 , 围绕在逻辑单元阵列四周;IR包括各种长度的连线线段和一些可编程 连接开关,它们将各个CLB或IOB连接起来,构成特定功能的电路。 使用者可以通过编程决定每个单元的功能以及它们的互连关系,从而 实现所需的逻辑功能。在测试时,FPGA可以被配置成与初始设计配 置不同的形式。这使得可以对初始设计配置和初始设计网表做一些修 改,本发明中具体实施例的实现方法中主要是针对LUT单元进行功能
乂i泉口/r 4:t古A 士又/J^ 乂> "HI !^ 上 2杜-各ll m ATnr止A亇曰止A 、、加l J4"、 ^"i軎
r乡—k入,。/|衣々f千i/l iL;^^at、, 迎i"j/rg丌jAir^j:i肌丄六土w/y〈:j iaj同里, 以及测试配置,从而进行FPGA芯片的测试。
在实际应用中,FPGA—般釆用LUT单元配置。这些FPGA中的最 基本逻辑单元都是由LUT和触发器组成的。如图2所示的FPGA包含的 CLB简化结构示意图,CLB中包含LUT202、非LUT逻辑和寄存器201; 其中LUT是一个逻辑函数可配置/改变的单元,在设计中,其逻辑函 数可能是异或、和、或等逻辑功能的函数,在本发明中将LUT配置成 异或函数可以提高FPGA初始测试网表设计的可测性。
在以下本发明的实施例中使用的FP GA初始设计配置如图3所示的部分结构示意图;其中该FPGA初始设计配置包括,LUT单元,非 LUT逻辑门,互连线,以及FF触发器。
本发明的核心构思在于,在FPGA原始设计配置的基础上,将原 始设计的LUT301配置改成异或逻辑,以及原始设计中作为原始输出 的节点改成基于可测性分析优化选择的节点,生成多个测试配置,并 在多个测试配置中将所述的观察点连接到输出端口上,并合并所述多 个测试配置等同于测试网表;从而将ATPG生成工具依据优化选择的 节点所生成的测试向量加载到这些测试配置上,最终通过FPGA所在 印刷电路板的边界扫描端口加载测试向量,以有效检测FPGA初始设 计网表中所用到的互连资源上的故障,从而提高了所生成的测试向量 的故障覆盖率。 实施例l
如图4所示的本发明的 一种FPGA测试方法的流程示意图;所述的 FPGA的测试方法的步骤主要包括
步骤401:获取现场可编程门阵列的初始设计网表和初始设计配
置;
步骤402:釆用逻辑函数的异或功能替换所述初始设计网表和初 始设计配置的查找表单元的功能,得到初始测试网表和初始测试配 置;
当然,该步骤中所提到的逻辑函数的异或功能,替换査找表单元 的功能,即,只要在该处配置的任何单元具备查找表单元的功能,就 可以使用逻辑函数的异或功能进行替换,及替换是通用的,可以是查 找表单元,也可以是非查找表单元,只要在FPGA芯片中设置该LUT 功能就能够使用本实施例的方法进行替换测试。
步骤403:依据可测性分析方法的预置规则,选择所述初始测试 网表的观察节点,依据所述观察节点获取测试网表和相应的测试向所述依据可测性分析方法的预置规则为获取所述初始测试网表
的内部节点的可观察性值M,;
设定所述初始测试网表的任 一 内部节点的可观察性值,依据可测
性分析算法,计算所述初始测试网表中所有节点的可观察性值M2; 以及,将所述M,与所述M2进行比较,得到观察节点。
当然,所述的观察节点选择可以为任意选择需要进行测试的观察 节点,也可以通过所述依据可测性分析方法的预置规则的方式进行选 择,本发明中使用的是通过可测性分析方法的预置规则进行选择的观 察节点,并且重复设定任一内部节点的可观察性值,重复可测性分析 方法的预置规则,从而可以获得所需的不同的观察节点。
本发明中所述的可测性分析方法是 一个可以获取观察节点的方 法,在本实施例中使用的则是可测性分析方法所包含的CAMELOT可 测性分析算法,也就是说,通过设定所述初始测试网表的任一内部节 点的可观察性值,采用基于CAMELOT算法所编写的可测性分析工具 进行计算,得到所述初始测试网表中所有节点的可控制性,然后基于 可控制性计算得到各个节点的可观察性值,并与所述已知的初始测试 网表中所有节点的初始可观察值比较,选择所述初始测试网表的观察 节点。
需要说明的是,本发明中所述的各个节点/观察节点/内部节点的 可控制性和可观察性都是介于0和1之间,无论可控制性还是可观察 性,值越大,就说明其可控制性或者可观察性越高。在本发明中,输 入端口的可控制性值为1,输出端口的可观察性值为1。 CAMELOT 可测性分析算法属于公知技术,本发明不在此详细赘述。
其中,作为优选实施方式,所述步骤403具体包括以下子步骤 子步骤4031:获取所述初始测试网表的内部节点的可观察性值
M!;
子步骤4032:设定所述初始测试网表的 一 内部节点的可观察性值,依据可测性分析算法,计算所述初始测试网表中所有节点的可观
察性值M2;以及
子步骤4033:将所述Mi与M2进行比较,选择所述Mi与所述M2差 别最大的一个节点为观察节点,重复多次选择观察节点的过程,进而 选择多个观察节点;
子步骤4034:开启所述观察节点对应所述初始测试网表的输出端 口得到测试网表;
子步骤4035:釆用自动测试向量生成工具生成所述测试网表的测 试向量。
步骤404:配置所述观察节点到所述初始测试配置的输出输入单 元的输出端,得到测试配置;以及
本步骤404中可以釆用配置修改工具或布线工具将所述初始设计 配置中的查找表单元功能改成异或逻辑函数,并将所述测试节点连接 到输出输入单元的输出端,得到多个测试配置;
当然,该处获取测试网表的方式可以通过以下的例子来说明,依 据初始设计配置中输出IOB的固定数目,例如,初始测试网表包含 有3个输出端口,依据CAMELOT可测性分析算法,选择9个观察 节点,此时对应于观察节点需要9/3=3个测试配置,所述的3个测试 配置所对应的测试网表合并起来就是具有9个输出(观察节点)的测 试网表,以及利用ATP G生成工具依据优化选择的9个节点生成可以 提高固定故障覆盖率的测试向量。
当然,在本发明的实施例中可设置的观察点越多,相对应最终覆 盖率就会越高,导致测试时间也会相对较长,所以需要在测试覆盖率 和观察点数目之间做一个折衷,选择针对这个合并测试网表可以生成 固定故障覆盖率比较高的测试向量。
步骤405:依据配置器件的激励信号,连接所述测试配置至配置 器件,获得所述测试向量的输出逻辑值;优选地,本发明中该步骤405具体操作的子步骤为
子步骤M1:将所述现场可编程门阵列连接于所述微机和配置器
件;
子步骤M2:获取所述配置器件的激励信号; 子步骤M3:依据所述激励信号,设置连接于所述配置器件的测 试配置;
子步骤M4:釆用所述微机中的激励生成工具,生成所述测试向 量的激励部分的波形,以及加载所述测试向量至所述现场可编程门阵 列的管脚;
子步骤M5:测试所述测试向量的激励部分,得到输出逻辑值。 步骤406:分析所述输出逻辑值与所述测试向量的响应值,获得 测试结果;
需要说明的是,所述的测试向量中包含测试激励和理想测试响 应。也就是说,输入现有技术的脉冲信号,获得输出逻辑值与所述现 有技术该脉冲信号经过具有异或逻辑功能的测试配置后的输出结果 进行比较。
举例来说,两输入异或门的一个测试向量为<1、 1; 1〉,则测试 激励部分为(1、 1),理想测试响应为O,如果实际得到的逻辑值为l, 就说明该异或门出现故障。
该步骤406具体操作过程如下子步骤
若所述输出逻辑值与所述测试向量的响应值相同,该观察节点 (即正在测试的观察节点,也就是说实际应用中使用的一个观察节 点)通过测试,
进而,重复步骤404和步骤405,对所选择的观察节点一个一个进 行测试,可以依次选择下一个需要测试的观察节点,进行配置所述观 察节点到所述初始测试配置的输出输入单元的输出端,得到对应该观 察节点的测试配置;—以及依据选择的相应于该观察节点的配置器件的激励信号,连接所述 测试配置至配置器件,获得所述测试向量的输出逻辑值对比,测试向 量的响应值,若所有选择的观察节点都测试通过,即面向应用的FPGA
芯片通过应用测试,具有可靠性,能够在实际应用的环境下使用;
若所述输出逻辑值与所述测试向量的响应值不相同,则该FPGA 芯片测试结東,即所选择的FPGA芯片的节点在实际应用中可能会出 现固定故障,或者使用寿命缩短,不具备在特殊环境使用的可靠性。 当然,测试FPGA芯片的要求就是要尽可能地将有故障的芯片检 测出来,从而降低芯片的逃逸率。在实际应用的测试过程中,需要保 证测试电路网表的可测性设计的前提是不能改变原始设计的所使用 到的互连资源。
本实施例的突出优点在于,与现有技术相比较不增加扫描链插入 步骤的前提下,将FPGA的初始设计网表中的LUT函数全部修改成异 或函数,并且对FPGA初始设计网表中所使用到的逻辑类型不加限制, 相对应的,在初始设计配置中使用异或逻辑函数替换初始设计配置中 的查找表函数,得到具有异或逻辑功能的测试配置,使得这些测试配 置相对应测试节点的测试电路网表等同于测试网表,从而可将ATPG 生成工具所得到的测试向量加载到这些测试配置上,进行面向应用的 FPGA测试,并有效检测FPGA芯片互连线的固定故障,可以得到较高 的故障覆盖率。
本发明能够解决FPGA芯片在使用过程中对FPGA芯片的应用设 计所使用到的FPGA资源的故障检测问题。可以应用在包括武器装备 系统、医疗设备等高可靠性要求的FPGA芯片应用领域,进而提高 FPGA芯片应用设计的可靠性,并提高FPGA芯片所在系统的可靠性。 实施例2
本发明的另外一种面向应用的FPGA测试方法,其步骤如下 步骤A1:获取包含有LUT配置的FPGA初始设计网表y3,以及初始设计配置,其中,所述的FPGA初始设计网表是指进行FPGA 设计开发时,布线之后得到的FPGA初始设计网表;
步骤A2:将FPGA初始设计网表,中的LUT配置函数全部修改成 异或逻辑函数,得到初始测试网表A^;对于一个LUT,当输入可控 制性确定时,将LUT配置成异或门可以提高输出的可控制性;
本领域的技术人员应该知道,本发明的实施例中所涉及的任何节 点的可控制性和可观察性都介于0和1之间。某个节点的可控制性值越 接近l说明该节点的可控制性越高,反之就越低。因为输入端口是直 接可以控制的,所以输入端口的可控制性为l。而输出端口是直接可 观察的,所以输出端口的可观察性为l;
根据CAMELOT可测性分析算法,得到该初始测试网表中各个 节点的可控制性;
所述CAMELOT可测性分析算法将FPGA初始测试网表作为输 入,分析计算得到各个节点的可控制性和可观察性;该CAMELOT可 测性分析算法依据网表中各单元的连接关系和单元的逻辑函数首先 计算各节点的可控制性,随后根据所计算的可控制性值计算各节点的 可观察性。当整个网表的输出端口越多,则各个节点的可观察性也越 高。
步骤A3:将初始测试网表^^的所有输出端口去掉,确定一个 分析观察点数目上限f /,重复执行"次以下两个子步骤
子步骤B1:基于CAMELOT可测性分析算法,找出一个能最大 程度提高测试网表的所有内部节点可观察性的节点O, (l化f/);
当然,在具体测试的过程中,所述步骤A3中能最大程度提高测 试网表A^的所有内部节点可观察性的节点^ ( lS/^t/)是指在
测试网表A^一中,对于所有的内部节点,将节点G增加为观察点之
后,测试网表^二的所有内部节点的可观察性的增加量总和最大;举例来说,依据CAMELOT可测性分析算法找出节点"的具体 过程
设定K"IO,将^^中第i个内部节点的可观察性设成l (相当于 把该节点设成输出端口 ),根据CAMELOT可测性分析方法重新计算 《1中所有节点的可观察性,然后与《'中节点的初始可观察性进行比 较,这样就可以得到将第i个内部节点设为观察点之后(可观察性变 成l),对《'中所有节点的可观察性的提高程度(这个提高程度用所 有节点的可观察性平均值的变化表示)。从所述1&'《10个节点中,找
到平均值变化最大的那个节点j作为q,即在《的基础上把节点j改成 输出端口 ,把整个初始设计网表中节点的可观察性更新为将节点j增 加为真正观察点之后的可观察性值;可控制性和可观察性会影响最终 所生成的测试向量覆盖率。
子步骤B2:在测试网表^二的基础上将所找到的节点q增加为 第Z'个输出端口,得到测试网表A^,基于CAMELOT可测性分析算 法分析得到Af中各个节点的可观察性;
步骤A4:根据上一个步骤所得到的t/个具有不同观察点的测试 网表A^ (l&、t/)和各测试网表中相应的各节点可观察性,折衷 选择最终的测试观察点的数目m (lSm^ 7 ),并将相应的测试网 表作为自动测试向量生成工具的输入生成测试向量;
需要说明的是在测试配置中利用输出的IOB进行观察,因而 依据初始设计配置中输出IOB的固定数目,确定最大观察点数目, 当然,所述观察点数目越多,所需要的测试配置也就越多,测试时间 越长,而观察点越多,可测性越高,所以需要在可测性(影响覆盖率) 和测试配置数目(影响测试时间)之间做一个折衷,折衷的标准依据 FPAG芯片的具体情况而设定,若所测试的FPAG芯片应用的环境要 求较高,则需要测试的观察节点选择就多,若只使用FPAG芯片部分 功能,对可靠性要求不是很高的情况下,选择测试的观察节点可以少—些;
在具体的应用中,选择观察点数目的原则是在测试网表的可观察 性即测试覆盖率和测试配置数目即测试时间之间得到 一 个折衷效果。
步骤A5:根据测试电路网表,在FPGA初始设计配置DC的基础 上修改生成「w/"个测试配置7U二^"fc2,/C3,,./c^^ ( (9是初始
设计配置中输出的数目)在所有的测试配置中,将初始设计配置Z)C 中所用到的LUT被配置成异或逻辑功能,并将连接到输出IOB的布 线去掉;在A ( l^/^「w/ol —1 )中,通过布线工具将节点q. (ox(/-1)^7'^ox/ )连接到未被连接的输出IOB上;在fc「^。,中, 则通过布线工具将节点。(ox(「w/一-1)《7'《w )连接到未被连接 的输出IOB上,所述输出IOB是指在初始设计配置中被配置成输出 功能的IOB。
步骤A6:利用所得到的测试向量和测试配置,重复进行「附/ol次 以下操作进行面向应用的FPGA测试
子步骤Cl:获取相应于所述配置文件公知的激励信号,用下载 电缆连接微机的并口和器件的JTAG端口 ,微机上安装的下载工具根 据所要下载的配置文件在微机并口 (器件JTAG端口 )上生成相应的 波形,下载测试配置^/ ( 1《K「w/一 )到被配置器件中;
子步骤C2:用下载电缆连接微机的并口和器件的JTAG端口, 微机上的激励生成工具根据测试激励文件,在微机并口 (也就是器件 JTAG端口上)生成相应波形,依据该波形,将加载测试向量7P中的 激励部分通过边界扫描的方式加载到FPGA的管脚上,以及
子步骤C3:将^/ ( ox(/ —1)S/Sox/)的输出同:rp中相对应 于Q (ox(/ —1)幺乂^ox/)的响应部分进行对比,进行比较,相同 即为测试通过,例如,对应于^和^的响应值为01,则所观察到的^ 和^的逻辑值也应该是01,否则结束对该FPGA芯片的测试,说明 该FPGA芯片,不具备在应用环境的可靠性,可能会在使用过程中出现固定故障;
若所述逻辑值与响应值相同,该观察节点测试通过,进而,重复
子步骤C1和子步骤C2;
若所有的选择的观察节点都通过测试,也就是说,面向应用的 FPGA芯片通过测试,具有可靠性,能够在需要的环境下使用。
需要说明的是在该步骤A6中仅将。(ox(z'-l)Sy、ox/)的 输出同7P中相对应于0/ (0x(/-l)sy'^x/)的响应部分进行对比,是 因为第i次测试配置中仅将。(ox(/-l)^y^x/ )连接到输出IOB上, 所以只能观察到这些节点的响应值。 实施例3
一个面向应用的FPGA须ij试通常使用部分的FPGA资源,本发明可 以利用FPGA芯片的可重配置特性,进行面向应用的测试分析,如图3 所示。可以把图3所示的FPGA设计配置示例抽象成图5所示的FPGA 初始设计网表示例。由于这个FPGA初始设计网表中不存在扫描链, 所以它的内部节点的可测性很低,导致直接利用自动测试向量生成工 具生成该网表的测试向量的覆盖率会很低。
为了实现无需插入扫描链即可提高该网表的可测性,获取需要进 行面向应用测试的FPGA芯片。测试过程举例如下
步骤W1:首先将其中的LUT的配置逻辑函数501全部修改成异或 逻辑函数,以提高其内部节点的可控制性。
步骤W2:将网表中的所有输出端口去掉,并且确定分析观察点 数目上限",对于图3所示的初始设计网表示例分析,
步骤W3:设定"值取为6;
步骤W4:依据可测性分析方法的预置规则,依次选择出6个能够 最大程度提高内部节点可观察性的节点序列,对于图5所示抽象的设 计网表示例,假设基于可测性分析,依次选择得到的内部节点序列是 W,G2"3,G4,G5,G6},如图6所示,其中的LUT的配置逻辑函数501全部修改成异或逻辑函数601。
步骤W5:根据测试时间和可观察性的提高程度来决定最终的观 察点数目,对于图3所示的设计示例,假设最终的观察点数目w确定 为4,则最终选取的观察点集合即为{0'^,^,04}。最终作为自动测试
向量生成工具输入测试网表,并自动生成测试向量。
步骤W6:为了使得可以利用所生成的测试向量进行测试,需要
基于初始设计配置生成测试配置。结合图7和图8具体说明本实施例,
需要生成「^一J〃"-2个测试配置,这两个测试配置在初始设计配置
的基础上将所有使用到的LUT配置修改成异或函数,而且这两个测试
配置都将初始设计中连接到输出IOB的布线去掉。另外,在第一个测
试配置中,如图7所示,通过布线将内部节点^和^连接到两个输出
IOB上,在第二个测试配置中,如图8所示,则通过布线将内部节点^
和^连接到两个输出IOB上。
步骤W7:连接微机并口和配置器件,获取相应于所述配置器件
公知的激励信号,在测试的时候,将自动测试向量生成工具所得到的
测试向量中测试激励部分加载到两个测试配置上。
步骤W8:对于第一个测试配置,在加载测试激励之后,如图7
所示,通过输出IOB观察"和"的逻辑值,并同测试向量中对应于" 和A的响应值进行对比;
对于第二个测试配置,重复步骤W7和步骤W8,在加载测试激励 之后,则通过输出IOB观察A和A的逻辑值,并同测试向量中对应于 ^和^的响应值进行对比,
若上述的^、 ^、 ^、 ^的逻辑值和各自的响应值都相同,即 该FPGA芯片通过测试;
若有一个观察节点的逻辑值和响应值不相同,则结東测试,说明 FPGA芯片在应用中可能会出故障不具备可靠性。
这种面向应用的FPGA测试方法,对于初始设计中所使用到的逻辑类型没有限制,而且它无需在初始测试配置中加上扫描链,即可有 效地检测出初始设计配置中所使用到的资源中的故障,是 一种实际可 行而且有效的测试方法。
以上对本发明实施例中FPGA测试方法进行了详细描述;为了简 单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应 该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明, 某些步骤可以釆用其他顺序或者同时进行。另外,本领域技术人员也
应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动 作和单元并不一定是本发明所必须的。
实施例4
下面对本发明的FPGA测试系统进行详细介绍。
如图9所示的本发明的一种现场可编程门阵列的测试系统的结 构示意图,该系统包括
现场可编程门阵列获取单元901,用于获取现场可编程门阵列的 初始设计网表和初始设计配置;
查找表操作单元902,用于釆用逻辑函数的异或功能替换所述初 始设计网表和初始设计配置的查找表单元的功能,得到初始测试网表 和初始测试配置;
观察节点和测试向量获取单元903,用于依据可测性分析方法的 预置规则,选择所述初始测试网表的观察节点,依据所述观察节点获 取测试网表和相应的测试向量;
所述依据可测性分析方法的预置规则为获取所述初始测试网表 的内部节点的可观察性值Mj;
设定所述初始测试网表的一内部节点的可观察性值,依据可测性 分析算法,计算所述初始测试网表中所有节点的可观察性值M2;以 及,将所述N^与所述M2进行比较,得到观察节点。
本发明使用的是通过预置规则多次重复选择多个观察节点,当然本领域的技术人员也可以通过其他方式进行选择观察节点,例如,所 述的观察节点选择可以为任意选择需要进行测试的观察节点。本实施 例不对此进行限定。
其中,所述观察节点和测试向量获取单元903进 一 步包括的子单
元为
观察节点选取子单元,用于选择所述Mi与所述M2差别最大的 一个观察节点,重复选择多个观察节点;
测试网表生成子单元,用于开启所述观察节点对应所述初始测试 网表的输出端口得到测试网表;
测试向量生成子单元,用于釆用自动测试向量生成工具生成所述 测试网表的测试向量。
测试配置获取单元904,用于配置所述观察节点到所述初始测试 配置的输出输入单元的输出端,得到测试配置;
逻辑值获取单元905,用于依据配置器件的激励信号,连接所述 测试配置至配置器件,获得所述测试向量的输出逻辑值;
当然,优选的逻辑值获取单元905进一步包括的子单元可以为
连接子单元,用于将所述现场可编程门阵列连接于所述微机和配 置器件;
激励信号获取子单元,用于获取所述配置器件的激励信号;
测试配置设置子单元,用于依据所述激励信号,设置连接于所述 配置器件的测试配置;
测试向量加载子单元,用于釆用所述微机中的激励生成工具,生 成所述测试向量的激励部分的波形,以及加载所述测试向量至所述现 场可编程门阵列的管脚;
测试子单元,用于测试所述测试向量的激励部分,得到输出逻辑值。
测试结果分析单元906,用于分析所述输出逻辑值与所述测试向 量的响应值,获得测试结果。该测试结果分析单元906的具体分析过程可以为,包括 一 判断单 元,用于判断所述该观察节点对应的测试配置的输出逻辑值与所述测 试向量的响应值相同,该观察节点测试通过,并选择的下一个观察节 点的相应的所述测试向量,进行连接微机和配置器件,进行测试,该 观察节点相应的所述测试向量输出逻辑值;同上述分析,若所有的节
点都通过测试,则结束该FPGA芯片的测试,即FPGA芯片通过应用测 试;
若有一个观察节点的输出逻辑值与所述测试向量的响应值不相 同,结東测试,说明该FPGA芯片在应用过程中可能会出现故障。
在上述实施例中,对各个实施例的描述都各有恻重,某个实施例 中没有详述的部分,可以参见其他实施例的相关描述即可。
本发明为了简化FPGA芯片测试而采用的技术,对芯片的功能没 有影响,本发明针对某一种FPGA控制芯片进行了详细描述,本发明 不釆用扫描链的测试方法与现有技术进行了比较,以说明本发明对芯 片故障覆盖率及测试向量集的影响。对芯片进行"结构测试"时的测试 激励来源是直接根据芯片的功能测试激励得到芯片的生产测试向量。
上述FPGA系统实施例的描述不受所图9所显示的结构单元位置 的限制。
以上对本发明实施例中现场可编程门阵列的须"试系统的结构进 行了详细描述;为了简单描述,故将其都表述为单元的组合,但是本 领域技术人员应该知悉,本发明并不受所描述的结构单元位置关系的 限制。另外,本领域技术人员也应该知悉,说明书中所描述的实施例 均属于优选实施例,所涉及的动作和单元并不一定是本发明所必须 的。
本说明书中的各个实施例均釆用递进的方式描述,每个实施例重 点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的 部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的 一 种现场可编程门阵列的测试方法,以及 一种现场可编程门阵列的测试系统进行了详细介绍,本文中应用了具 体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只
是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一 般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会 有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1、一种现场可编程门阵列的测试方法,其特征在于,包括获取现场可编程门阵列的初始设计网表和初始设计配置;采用逻辑函数的异或功能替换所述初始设计网表和初始设计配置的查找表单元的功能,得到初始测试网表和初始测试配置;依据可测性分析方法的预置规则,选择所述初始测试网表的观察节点,基于所述观察节点获取测试网表和相应的测试向量;配置所述观察节点到所述初始测试配置的输出输入单元的输出端,得到测试配置;以及依据配置器件的激励信号,连接所述测试配置至配置器件,获得所述测试向量的输出逻辑值;分析所述输出逻辑值与所述测试向量的响应值,获得测试结果。
2、 如权利要求l所述的方法,其特征在于, 所述依据可测性分析方法的预置规则为获取所述初始测试网表的内部节点的可观察性值Mj;设定所述初始测试网表的 一 内部节点的可观察性值,依据可测性 分析算法,计算所述初始测试网表中所有节点的可观察性值M2;以 及,将所述Mi与所述M2进行比较,得到观察节点。
3、 如权利要求2所述的方法,其特征在于,所述依据可测性分析 方法的预置规则,选择所述初始测试网表的观察节点,基于所述观察 节点获取测试网表和相应的测试向量的步骤包括选择所述M,与所述M2差别最大的一个观察节点,重复选择多个 观察节点;开启所述观察节点对应所述初始测试网表的输出端口得到测试 网表;釆用自动测试向量生成工具生成所述测试网表的测试向量。
4、 如权利要求l所述的方法,其特征在于,所述依据配置器件的激励信号,连接所述测试配置至配置器件,获得所述测试向量的输出 逻辑值的步骤包括将所述现场可编程门阵列连接于所述微机和配置器件;获取所述配置器件的激励信号;依据所述激励信号,设置连接于所述配置器件的测试配置; 釆用所述微机中的激励生成工具,生成所述测试向量的激励部分 的波形,以及加载所述测试向量至所述现场可编程门阵列的管脚; 现'J试所述观'H式向量的激励部分,得到输出逻辑值。
5、 如权利要求i所述的方法,其特征在于,所述分析所述输出逻 辑值与所述测试向量的响应值,获得测试结果的步骤包括若所述输出逻辑值与所述测试向量的响应值相同,该观察节点测 试通过,以及获取所述选择的下 一个观察节点的相应的所述测试向量 的输出逻辑值,或结東测试;若所述输出逻辑值与所述测试向量的响应值不相同,结束测试。
6、 一种现场可编程门阵列的测试系统,其特征在于,包括 现场可编程门阵列获取单元,用于获取现场可编程门阵列的初始设计网表和初始设计配置;查找表操作单元,用于釆用逻辑函数的异或功能替换所述初始设 计网表和初始设计配置的查找表单元的功能,得到初始测试网表和初 始测试配置;观察节点和测试向量获取单元,用于依据可测性分析方法的预置 规则,选择所述初始测试网表的观察节点,基于所述观察节点获取测 试网表和相应的测试向量;测试配置获取单元,用于配置所述观察节点到所述初始测试配置 的输出输入单元的输出端,得到测试配置;逻辑值获取单元,用于依据配置器件的激励信号,连接所述测试 配置至配置器件,获得所述测试向量的输出逻辑值;测试结果分析单元,用于分析所述输出逻辑值与所述测试向量的 响应值,获得测试结果。
7、 如权利要求6所述的系统,其特征在于,所述依据可测性分析方法的预置规则为获取所述初始测试网表 的内部节点的可观察性值M,;设定所述初始测试网表的一内部节点的可观察性值,依据可测性 分析算法,计算所述初始测试网表中所有节点的可观察性值M2;以 及,将所述M,与所述M2进行比较,得到观察节点。
8、 如权利要求7所述的系统,其特征在于,所述观察节点和测试 向量获取单元进一步包括观察节点选取单元,用于选择所述M,与所述M2差别最大的 一个 观察节点,重复选择多个观察节点;测试网表生成单元,用于开启所述观察节点对应所述初始测试网 表的输出端口得到测试网表;测试向量生成单元,用于釆用自动测试向量生成工具生成所述测 试网表的测试向量。
9、 如权利要求6所述的系统,其特征在于,所述逻辑值获取单 元进一步包括连接单元,用于将所述现场可编程门阵列连接于所述微机和配置 器件;激励信号获取单元,用于获取所述配置器件的激励信号; 测试配置设置单元,用于依据所述激励信号,设置连接于所述配 置器件的测试配置;测试向量加载单元,用于釆用所述微机中的激励生成工具,生成所述测试向量的激励部分的波形,以及加载所述测试向量至所述现场 可编程门阵列的管脚;测试单元,用于测试所述测试向量的激励部分,得到输出逻辑值。
10、 如权利要求8所述的系统,其特征在于,所述测试结果分析单元进一步包括判断单元,用于分析所述输出逻辑值与所述测试向量的响应值相 同,该观察节点测试通过,以及获取所述选择的下一个观察节点的相 应的所述测试向量的输出逻辑值,或结東测试若所述输出逻辑值与所述测试向量的响应值不相同,结束测试。
全文摘要
本发明涉及一种现场可编程门阵列(FPGA)的测试方法,包括获取现场可编程门阵列的初始设计网表和初始设计配置;采用逻辑函数的异或功能替换所述初始设计网表和初始设计配置的查找表单元的功能,得到初始测试网表和初始测试配置;基于可测性分析方法的预置规则,选择所述初始测试网表的观察节点,并获取测试网表和相应的测试向量;配置所述观察节点到所述初始测试配置的输出输入单元的输出端,得到测试配置;以及依据配置器件的激励信号,连接所述测试配置至配置器件,获得所述测试向量的输出逻辑值;分析所述输出逻辑值与所述测试向量的响应值,获得测试结果;该方法能够有效检测FPGA芯片在应用设计时所使用到的互连线的固定故障。
文档编号G01R31/28GK101413990SQ200810227979
公开日2009年4月22日 申请日期2008年12月3日 优先权日2008年12月3日
发明者冯建华, 徐文华, 腾 林, 王阳元 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1