首页> 中国专利> 一种应用于反熔丝FPGA测试向量的逆向分析方法

一种应用于反熔丝FPGA测试向量的逆向分析方法

摘要

本发明根据反熔丝FPGA在产品研制以及测试过程中对测试向量的逆向分析,提出一种测试向量逆分析方法:先提取与测试向量相关资源参数,并将相关资源参数采取编号与参数信息对的方式归档入库,最后根据相关资源在测试向量上的体现进行对比提取,并形成测试逆分析报告,由于本发明基于自动化逆向分析思想,因此本发明极大地提高现测试向量逆向分析效率。

著录项

  • 公开/公告号CN106707144A

    专利类型发明专利

  • 公开/公告日2017-05-24

    原文格式PDF

  • 申请/专利权人 电子科技大学;

    申请/专利号CN201710032461.0

  • 发明设计人 杜涛;黄世纬;李威;

    申请日2017-01-16

  • 分类号G01R31/3183;G01R31/3185;

  • 代理机构

  • 代理人

  • 地址 611731 四川省成都市高新区(西区)西源大道2006号

  • 入库时间 2023-06-19 02:14:58

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-05-05

    授权

    授权

  • 2017-06-16

    实质审查的生效 IPC(主分类):G01R31/3183 申请日:20170116

    实质审查的生效

  • 2017-05-24

    公开

    公开

说明书

技术领域

本发明涉及一种应用于反熔丝FPGA测试向量的逆向分析方法。

背景技术

反熔丝FPGA的架构中包含逻辑模块、IO模块、反熔丝阵列等模块,通过编程可将这些模块有机组合最终形成目标功能电路。一般情况下,在产品交付用户使用之前需要进行全面测试,以确保反熔丝FPGA可正常使用。然而,反熔丝FPGA属于一次可编程器件,交付前不能接受编程,因此需要进行编程前测试,以作为交付前的测试。一方面,反熔丝FPGA形成产品后在交付前需要进行编程前的测试验证,另一方面,在芯片研制过程中也需要对电路进行编程前的仿真验证,同为编程前的功能验证,两者都需要用到测试向量,且测试向量可共享。对一组特定的测试向量而言,我们需要事先判断其合法性,确保其正确无误。在仿真验证或测试验证过程中,当出现验证结果与预期结果不符合的功能故障时,首先需要排查仿真验证平台或硬件测试平台是否出现错误,在确定验证平台完好后,再出现功能故障时,则需要对故障资源进行定位。以上验证都需要依赖于对测试向量进行逆向分析。另外,在某些场合下,当从第三方获取到测试向量时,如果要从测试向量中获取所测试资源、资源覆盖率、功能覆盖率等信息,这些也都离不开对测试向量的逆向分析。通过对测试向量的逆向分析可以判断测试向量的正确性、明晰测试资源信息等。因此,为了方便快捷地对测试向量进行评估、对研制电路的仿真验证进行评估、对产品实物样品的测试验证进行评估和对验证符合度及可信度进行评估,本发明人做出以下发明。

发明内容

以下是本发明的发明内容:一种应用于反熔丝FPGA测试向量的逆向分析方法,有以下步骤:

a、对反熔丝FPGA芯片研制阶段的电路仿真验证或交付前的成品测试验证中在特定条件下使用的资源进行参数提取得到资源参数信息;比如在电路中标号为K的逻辑C模块,在特定条件下该资源会被使用,因此该资源的参数将被提取得到资源参数信息,所述特定条件是指在测试向量中根据测试目的选择或者不选择该资源,所述参数可以是该资源的端口信息,比如该资源对应的逻辑C模块有8个输入端口,分别为D00、D01、D10、D11、A0、B0、A1、B1,假设D01端口在被配置成1其他端口都配置为0,那么所对应的端口信息为“01000000”;

b、采用编号与步骤a中所提取到的所述参数信息以结对的形式录入参数信息表中以及将所述编号及其对应的表示在测试向量中体现该资源位数或者信息位宽的值结对录入Q值列表形成资源测试向量库,所述编号对应于测试向量中所体现出该资源的信息位置,比如测试向量在(n,n+7)位中,当(n,n+7)都不为0时表示使用到在电路中标号为第K个C逻辑模块,K的取值为该资源在电路中的固有编号,对于在电路中第K个资源参数在所述文档或者数据库中编号为Q,Q的取值为该资源参数信息在测试向量中的位置数值n,即编号参数信息对为{Q,第K个逻辑C模块参数信息},由步骤a中可知该信息对有多个以Q为开头的参数信息对,将所有参数信息对一一录入参数信息表中,所述该资源的位数或者信息位宽比如所提及的(n,n+7)共有8位,则表示该资源的位数或者信息位宽为8,即MQ=8,将Q与MQ结成对写入Q值列表;所述资源参数信息可以是端口参数信息或者坐标参数信息或者控制参数或者功能信息,所述坐标参数信息是指定位逻辑资源位置反应在测试向量中的参数信息,所述控制参数信息是指控制包括寄存器链对存储在其中的数据输出反应在测试向量中的参数信息等,所述功能信息是指对于逻辑模块输入端口配置形成对应的功能;

c、在获取测试向量后,开始遍历Q值列表中的Q值,当遍历到QL(L=0、1、2、….)时,QL为Q值列表中的所有Q值的一个,获取QL与QL对应的资源在测试向量被体现的位数或者信息位宽MQ,即从第QL位开始依次获取到测试向量中第QL+MQ–1位的值,接着通过对参数信息表中查找QL值获取QL在参数信息表中所有的编号参数信息对,最后选取符合(QL,QL+MQ)位的值的编号参数信息对进而获取到测试向量中所包含的资源的参数信息,比如第K个逻辑C模块或者所述C模块所被配置成某个功能的信息等,即通过逆向分析获取测试向量中包含的资源信息;

d、将步骤c中获取到的资源信息依次罗列出来,形成测试向量的资源信息逆向分析报告。

在a步骤中所述的参数信息包括但不限于端口信息,比如测试者不需知道具体端口信息只需所述端口如D10在连接上一行线节点时对应的值,则将该值作为参数信息提取出来,又比如测试者既想了解具体端口信息又想了解所述端口如D10在连接上一行线节点时对应的值,则将该值和如步骤a中所述的端口信息作为参数信息提取出来,所述行线是指靠近该逻辑资源最近的一组反熔丝阵列中的一条信号线。

通过上述步骤可以将测试向量包含的测试资源逆向提取出来,根据仿真验证或者测试验证目的,如果出现仿真验证或者测试验证结果不符合预期时通过对所测试的资源或者所述资源所被配置的功能进行比对确认,进而进一步排查出错误之处。另外,通过这样的逆向分析技术,根据测试者的要求可以根据参数信息表中的信息自行重构一个测试向量。

附图说明

图1是本发明一种应用于反熔丝FPGA测试向量的逆向分析方法的较佳实例流程图。

图2是本发明所应用的一种长度为540位的测试向量示意图。

图3是本发明一种应用于反熔丝FPGA测试向量的逆向分析方法运用于检验测试向量包含错误资源的较佳实例流程图。

图4是本发明一种应用于反熔丝FPGA测试向量的逆向分析方法运用于分析资源覆盖率/功能覆盖率的较佳实例流程图。

图5是本发明一种应用于反熔丝FPGA测试向量的逆向分析方法运用于故障资源定位的较佳实例流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,步骤101中经过对电路的资源分析,比如编号为K=100的逻辑C模块资源作为特定条件下测试分析资源,其输入端口为D00、D01、D10、D11、A0、B0、A1、B1八个端口,对此,编号为K=100的逻辑C模块的参数信息我们可以设定为:比如当只有端口B1设置为1时,则参数信息表示为“00000001-100#C、B1=1”,又比如当只有端口A1设置为1时,则参数信息表示为“00000010-100#C、A1=1”,经过这样的参数信息形式或者格式把在测试时需要进行测试分析的资源参数进行提取。

在资源信息提取后,根据测试向量上所表达的该资源信息位获取到Q值,比如以K=100这个逻辑C模块在测试向量中的第一位信息位处于测试向量中的第404位,因此Q=404为该资源在参数信息表中的编号,采用编号和参数信息对的方式比如{404,00000001-100#C、B1=1}这样的方式录入参数表中,同样地将{404,00000001-100#C、A1=1}、{404,00000011-100#C、A1=1、B1=1}等Q对应的所有参数信息录入参数表中,如果想获取的参数信息为逻辑C模块所配置的功能,比如当逻辑C模块8个输入端口对应的值为00010101表示的是配置AND2宏单元,那么对应的编号和参数信息对的方式比如{404,00010101-100#C、AND2宏单元};同时将Q值和表示在测试向量上表示该资源的位数或者信息位宽MQ录入Q值列表中,如在测试向量中表示编号为100的逻辑C模块资源的位数或者信息位宽为8,即MQ=8,因此以{404,8}作为Q值对录入Q值列表。

步骤102为获取测试向量,测试向量的来源可以由测试向量生成工具生成,或者来源于第三方提供。

基于步骤102的测试向量,步骤103进入测试向量逆向分析关键环节,先对Q值列表遍历表中的Q值,在遍历到QL(L=0、1、2、……)时,获取到QL的值以及对应的MQ值,比如遍历QL=404时,获取到QL以及对应MQ的值即404和8,然后查找处于测试向量中第404位及其后面的7位的值,假如(404,411)的值为00000010,再在参数信息表中查找“404,00000010”对应的参数信息,最后查找到{404,00000010-100#C、B1=1}这个编号参数信息对,而“00000010-100#C、B1=1”这个参数信息就是我们要查找的信息;如果(404,411)的值为00000010,且在参数信息表中存在{404,00010101-100#C、AND2宏单元}这样参数对,则“00010101-100#C、AND2宏单元”这个功能参数为我们所查找的功能信息等等。

步骤104,当遍历完Q值列表以及通过该列表依次查询最终获取到该列表中所有Q值对应的参数信息后,将包含在测试向量中所包含的资源的参数依次罗列出来形成逆向分析报告,报告的格式可以根据测试者的需求设置,比如采取这样的格式:

1、编号为1的组合逻辑C模块的输入端口D10、A1、B1设置为1/编号为1的C逻辑模块被配置为AND2宏单元功能;

2、编号为3的时序逻辑S模块的输入端口D10、A0设置为1/编号为3的S逻辑模块被配置为DFP1宏单元功能;

3、……

4、……

……

在测试向量对FPGA进行测试如果出现错误,根据上述测试向量逆向分析报告,我们依次对照上述信息进行与原设定测试资源比对进而排除错误。更进一步地,通过对电路资源的参数提取录入,编写相关软件,程序化地根据测试向量方便快捷地罗列出该测试向量所使用到的具体资源进而计算出资源的覆盖率,特别地,对于来源第三方的测试向量,我们可以根据这个测试向量基于本发明提出的逆向分析方法提取出该测试向量所使用的资源以及对资源的利用率等。

如图3所示,图3是本发明一种应用于反熔丝FPGA测试向量的逆向分析方法运用于检验测试向量包含错误资源的较佳实例流程图。

步骤301为获取测试向量,测试向量的来源可以由测试向量生成工具生成,或者来源于第三方提供者提供。

基于步骤301的测试向量,步骤302进入测试向量逆向分析关键环节,先对Q值列表遍历表中的Q值,在遍历到QL(L=0、1、2、……)时,获取到QL的值以及对应的MQ值,比如遍历QL=404时,获取到QL以及对应MQ的值即404和8,然后查找处于测试向量中第404位及其后面的7位的值,假如(404,411)的值为00000010,再在参数信息表中查找“404,00000010”对应的参数信息,最后查找到{404,00000010-100#C、B1=1}这个编号参数信息对,如果查找不到这样的参数信息,则说明该测试向量包含错误资源信息。

步骤303,当遍历完Q值列表以及通过该列表依次查询最终获取到该列表中所有Q值对应的参数信息后,如果包含错误资源信息,则到步骤304将包含在测试向量中所包含的错误资源的参数依次罗列出来,对于呈现格式可以按照图1所述的呈现格式呈现进而形成错误资源参数报告。如果都正确,则结束。

如图4所示,图4是本发明一种应用于反熔丝FPGA测试向量的逆向分析方法运用于分析资源覆盖率/功能覆盖率的较佳实例流程图。

步骤401为获取测试向量,测试向量的来源可以由测试向量生成工具生成,或者来源于第三方提供。

基于步骤401的测试向量,步骤402进入测试向量逆向分析关键环节,先对Q值列表遍历表中的Q值,在遍历到QL(L=0、1、2、……)时,获取到QL的值以及对应的MQ值,比如遍历QL=404时,获取到QL以及对应MQ的值即404和8,然后查找处于测试向量中第404位及其后面的7位的值,假如(404,411)的值为00000010,再在参数信息表中查找“404,00000010”对应的参数信息,最后查找到{404,00000010-100#C、B1=1}这个编号参数信息对,而“00000010-100#C、B1=1”这个参数信息就是我们要查找的信息;对于查找功能信息,如果(404,411)的值为00000010,且在参数信息表中存在{404,00010101-100#C、AND2宏单元}这样参数对,则“100#C、AND2宏单元”这个功能参数为我们所查找的功能信息等等。

步骤403,当遍历完Q值列表以及通过该列表依次查询最终获取到该列表中所有Q值对应的参数信息后,将逆向分析结果依次罗列出来,对于呈现格式可以按照图1所述的呈现格式呈现进而形成逆向分析报告。

步骤404,根据步骤403的分析报告,统计该测试向量所包含的测试资源所占有的资源覆盖率,资源覆盖率为该测试向量所包含的测试资源个数与全电路中所有的资源总数相除。对于本发明运用于测试向量测试资源功能覆盖率,则根据测试向量包含的资源的端口被利用个数除以该资源的总端口数进而获取。

步骤405,将步骤404中的统计以及计算结果依次罗列出来,形成应用逆向分析报告。

如图5所示,图5是本发明一种应用于反熔丝FPGA测试向量的逆向分析方法运用于故障资源定位的较佳实例流程图。

步骤501为获取测试向量,测试向量的来源可以由测试向量生成工具生成,或者来源于第三方提供。

基于步骤501的测试向量,步骤502进入测试向量逆向分析关键环节,先对Q值列表遍历表中的Q值,在遍历到QL(L=0、1、2、……)时,获取到QL的值以及对应的MQ值,比如遍历QL=404时,获取到QL以及对应MQ的值即404和8,然后查找处于测试向量中第404位及其后面的7位的值,假如(404,411)的值为00000010,再在参数信息表中查找“404,00000010”对应的参数信息,最后查找到{404,00000010-100#C、B1=1}这个编号参数信息对,而“00000010-100#C、B1=1”这个参数信息就是我们要查找的信息等等。

步骤503,当遍历完Q值列表以及通过该列表依次查询最终获取到该列表中所有Q值对应的参数信息后,将逆向分析结果依次罗列出来,对于呈现格式可以按照图1所述的呈现格式呈现进而形成逆向分析报告。

步骤504,获取测试向量对反熔丝FPGA的实际验证结果,根据步骤503的分析报告,将实际结果中不符合步骤503所列出的分析报告中个资源参数信息,则将该资源提取出来。

步骤505,将步骤504中所提取的结果依次罗列出来,形成故障资源定位报告。

以上发明实施例不能限定本发明。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号