首页> 中国专利> 一种基于覆盖率排序的FPGA内嵌PCIExpressIP核量产测试优化方法

一种基于覆盖率排序的FPGA内嵌PCIExpressIP核量产测试优化方法

摘要

本发明涉及一种基于覆盖率排序的FPGA内嵌PCI Express IP核量产测试优化方法,具体步骤如下:步骤1:产生FPGA内嵌PCI Express IP核测试需要的测试向量集;步骤2:使用测试向量节点覆盖率统计算法对测试向量集中的每个测试向量进行节点覆盖率测算;步骤3:由步骤2得到测试向量集中节点覆盖率最高的单测试向量;步骤4:使用测试向量集排序算法基于步骤3得到的单测试向量,对原测试向量集进行排序优化,完成对测试向量集的优化。通过以上步骤,在不降低测试覆盖率的前提下,采用基于覆盖率排序的量产测试优化方法完成对测试向量集的排序优化,可以有效提高测试向量集的测试效率,缩短配置测试时间,降低配置测试成本。

著录项

说明书

技术领域

本发明涉及一种FPGA内嵌PCI Express IP核量产测试优化方法,属于集成电路技术领域。

背景技术

随着现场可编程逻辑门阵列(即FPGA)的不断发展,FPGA内嵌IP模块的种类和数量也越来越多,对FPGA的测试也带来了更多新的困难和挑战。

近年来,在设计开发FPGA的过程中,其测试费用在总成本中的比重越来越高,对FPGA内部互连线资源和IP核模块的测试时间也占据了总开发时间的绝大部分。特别的,相对于FPGA内部的互连线资源,FPGA内嵌IP核具备更加复杂的内部结构和设计原理,不仅测试难度更高,其测试时间、测试经费也在FPGA的总测试开销中占据了绝大部分。

千万门级FPGA内嵌PCI Express IP核,是在2005年第一次被集成在FPGA器件上,经过十几年的发展,已经是高端FPGA必不可少的IP模块,PCI Express IP核的出现,满足了用户对于高带宽和高数据传输速率的需求。开发针对PCI Express IP核的成熟而有效的测试手段,是高性能FPGA芯片测试工程的重要一环。

由于PCI Express IP核的高复杂性,一般需要上百个测试向量对其进行完备测试(一般认为达到97%以上的覆盖率为完备测试),由此所需的配置测试总时间将会是分钟级,这对于工程量产测试而言意味着极大的测试成本,所以一般会以牺牲部分测试覆盖率为代价,换取配置测试时间的缩短。

由于测试向量对IP核测试的内容不同,不同测试向量的测试效果也不同,合理安排测试向量集中测试向量的测试顺序,可以有效提高测试集的测试效率,从而在达到较高测试覆盖率的前提下,减少配置向量的使用数量,缩短配置测试总时间。

发明内容

本发明所要解决的技术问题是:为了解决FPGA内嵌PCI Express IP核测试过程中码流配置时间长,测试效率低的问题,本发明提出了一种基于覆盖率排序的FPGA内嵌PCIExpress IP核量产测试优化方法。该方法可以有效减少测试向量的数量,在保证一定覆盖率的条件下,缩短FPGA内嵌PCI Express IP核的测试时间。

本发明所采用的技术方案是:一种基于覆盖率排序的FPGA内嵌PCI Express IP核量产测试优化方法的具体步骤如下:

步骤1:产生FPGA内嵌PCI Express IP核测试需要的测试向量集;

步骤2:使用测试向量节点覆盖率统计算法对测试向量集中的每个测试向量进行节点覆盖率测算;

步骤3:由步骤2得到测试向量集中节点覆盖率最高的单测试向量;

步骤4:使用测试向量集排序算法基于步骤3得到的节点覆盖率最高的单测试向量,对原测试向量集进行排序优化,完成对测试向量集的优化。

其中,在步骤2中所述的“使用测试向量节点覆盖率统计算法对测试向量集中的每个测试向量进行节点覆盖率测算”,其作法的步骤如下:

步骤21:创建一个包括所有测试向量文件的源文件序列,并定义一个整数N=0,以及测试向量的总数M;

步骤22:对于源文件序列[N]中的测试向量文件进行功能仿真,并生成VCD数字格式文件(.VCD文件);

步骤23:创建一个包括所有测试向量文件节点覆盖率的覆盖率序列;

步骤24:统计源文件序列[N]生成的VCD数字格式文件中存在0/1翻转变化的节点数目,并计算得到对应的节点覆盖率,并添加至覆盖率序列[N];

步骤25:从N=0开始,对覆盖率序列进行大小排序,排序的规则为首先选取N=0和N=1两个测试向量,对比两者的覆盖率大小,确定覆盖率大的测试向量后,保留该测试向量,作为与下一个N+1测试向量进行测试覆盖率大小对比的参照向量;

步骤26:判断N是否等于M;若N小于M,则执行N=N+1,选取下一个测试向量与当前测试覆盖率大的向量进行测试覆盖率比较,若测试向量N+1的覆盖率较大,则将测试向量N+1作为之后测试覆盖率比较的测试向量,若原测试向量的覆盖率大,则仍将原测试项量作为对比向量;若N等于M,则表示覆盖率序列[N]的所有测试向量均已完成对比,将最终保留的测试向量作为测试覆盖率最高的测试向量;

其中,在步骤4中所述的“使用测试向量集排序算法基于步骤3得到的节点覆盖率最高的单测试向量,对原测试向量集进行排序优化,完成对测试向量集的优化”,其作法的步骤如下:

步骤41:创建优化向量文件序列,定义整数T=0;

步骤42:将步骤3得到的节点覆盖率最高的单测试向量添加至优化向量文件序列[T],并删除源文件序列中的该向量文件,将整数M-1代替M;

步骤43:将优化向量文件序列中的共(T+1)个向量文件分别与源文件序列中的M个向量文件进行组合,共形成M个向量组合;

步骤44:测算每一个向量组合的总节点覆盖率,并通过比较覆盖率大小,得到覆盖率最高的向量组合,将该向量组合更新至优化向量文件序列,并删除源文件序列中的与该向量组合相同的测试向量,将整数M-1代替M;

步骤45:比较步骤44中向量组合的节点覆盖率是否超过设定的覆盖率目标,若超过,则优化完成并输出优化向量文件序列;否则,将整数T+1代替T,执行步骤43。

本发明与现有技术相比的优点在于:

本发明在不降低测试覆盖率的前提下,采用基于覆盖率排序的量产测试优化方法完成对测试向量集的排序优化,可以有效提高测试向量集的测试效率,缩短配置测试时间,降低配置测试成本。

附图说明

图1是本发明基于覆盖率排序的量产测试优化方法事务总体流程示意图;

图2是本发明针对测试向量集进行简单排序的核心算法流程图;

图3是本发明基于“两个连续测试向量文件之间测试的节点相异性越大,其叠加得到的总测试覆盖率越高”的原则设计的向量集排序优化的核心算法流程图;

具体实施方式

结合附图对本发明进行说明。

本发明依据“两个连续测试向量文件之间测试的节点相异性越大,其叠加得到的总测试覆盖率越高”的原则,首先使用简单排列算法以测试向量的节点覆盖率大小为指标,对测试向量文件进行排序,筛选出测试覆盖率最高的测试向量文件;然后在此向量文件的基础上,测算向量集中其他测试向量与该向量进行两两组合后的节点覆盖率,并确定覆盖率最高的测试向量组合;并在此向量组合基础上,测算向量集中其他测试向量与该向量组进行两两组合后的节点覆盖率,并确定覆盖率最高的三测试向量组合;以此类推,直到向量组集合的节点覆盖率达到了预期的设定目标为止,输出测试效率更高的测试向量组合。

一个或多个测试向量的节点覆盖率测算公式如下所示:

如图1~3所示,本发明的一种基于覆盖率排序的FPGA内嵌PCI Express IP核量产测试优化方法,包括步骤如下:

步骤1:产生FPGA内嵌PCI Express IP核测试需要的测试向量集;

步骤2:使用测试向量节点覆盖率统计算法对测试向量集中的每个测试向量进行节点覆盖率测算;

具体步骤如下:

步骤21:创建一个包括所有测试向量文件的源文件序列,并定义一个整数N=0,以及测试向量的总数M;

步骤22:对于源文件序列[N]中的测试向量文件进行功能仿真,并生成VCD数字格式文件(.VCD文件);

步骤23:创建一个包括所有测试向量文件节点覆盖率的覆盖率序列;

步骤24:统计源文件序列[N]生成的VCD数字格式文件中存在0/1翻转变化的节点数目,并计算得到对应的节点覆盖率,并添加至覆盖率序列[N];

步骤25:从N=0开始,对覆盖率序列进行大小排序,排序的规则为首先选取N=0和N=1两个测试向量,对比两者的覆盖率大小,确定覆盖率大的测试向量后,保留该测试向量,作为与下一个N+1测试向量进行测试覆盖率大小对比的参照向量;

步骤26:判断N是否等于M;若N小于M,则执行N=N+1,选取下一个测试向量与当前测试覆盖率大的向量进行测试覆盖率比较,若测试向量N+1的覆盖率较大,则将测试向量N+1作为之后测试覆盖率比较的测试向量,若原测试向量的覆盖率大,则仍将原测试项量作为对比向量;若N等于M,则表示覆盖率序列[N]的所有测试向量均已完成对比,将最终保留的测试向量作为测试覆盖率最高的测试向量;

步骤3:由步骤2得到测试向量集中节点覆盖率最高的单测试向量;

步骤4:使用测试向量集排序算法基于步骤3得到的节点覆盖率最高的单测试向量,对原测试向量集进行排序优化,完成对测试向量集的优化。

步骤4的具体步骤如下:

步骤41:创建优化向量文件序列,定义整数T=0;

步骤42:将步骤3得到的节点覆盖率最高的单测试向量添加至优化向量文件序列[T],并删除源文件序列中的该向量文件,将整数M-1代替M;

步骤43:将优化向量文件序列中的共(T+1)个向量文件分别与源文件序列中的M个向量文件进行组合,共形成M个向量组合;

步骤44:测算每一个向量组合的总节点覆盖率,并通过比较覆盖率大小,得到覆盖率最高的向量组合,将该向量组合更新至优化向量文件序列,并删除源文件序列中的与该向量组合相同的测试向量,将整数M-1代替M;

步骤45:比较步骤44中向量组合的节点覆盖率是否超过设定的覆盖率目标,若超过,则优化完成并输出优化向量文件序列;否则,将整数T+1代替T,执行步骤43。

需要指明的是,本发明有多种实例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号