K系列FPGA内部CLB模块定位及通用性配置测试方法与流程

文档序号:17469065发布日期:2019-04-20 05:42阅读:688来源:国知局
K系列FPGA内部CLB模块定位及通用性配置测试方法与流程

本发明涉及fpga测试技术领域,特别涉及k7系列fpga内部clb模块定位及通用性配置测试方法。



背景技术:

kintex-7系列fpga是xilinx公司研制的高端fpga产品,广泛应用于3g/4g无线、平板显示、video、航空航天系统等,fpga主要由可编程逻辑单元(clb)、输入输出单元(iob)、可编程互连线(pi)等组成,fpga中90%的逻辑资源功能都是由clb模块实现,因此clb模块测试在fpga测试中占用重要地位。然而k7系列fpga的clb模块阵列与xilinx公司前期virtex4、virtex5系列fpga不同,其分布排列不对称,具有“空洞”,需要对clb模块阵列进行精准定位。

针对“空洞”clb阵列,传统的配置程序有两种方法,采用全部串联架构或者采用跳过“空洞”阵列的并行+串行架构设计。由于clb模块数量多达数万个,clb模块采用全部串联架构,综合、布局布线时间及测试时间会较长。采用跳过“空洞”阵列的并行+串行架构,需要计算多个“空洞”阵列的具体位置,需将程序划分为若干情况进行分类判断,且导致实际输出数据无法同步比较,使程序更加复杂,增大了程序的编写难度,此外每款fpga空洞位置不一致,配置程序不具备通用性,配置程序可移植性较差。

如何实现clb模块的精准定位、简化配置程序设计,使程序简便且具有通用性,实现最优化配置,减少测试时间、提高测试效率,是kintex-7系列fpgaclb模块测试面临的挑战。



技术实现要素:

本发明的目的在于提供k7系列fpga内部clb模块定位及通用性配置测试方法,以解决clb阵列存在“空洞”难以定位及配置程序设计复杂,配置程序可移植性较差的问题。

为了解决上述技术问题,本发明的技术方案是:提供一种k7系列fpga内部clb模块定位及通用性配置测试方法,包括:定位fpga内部所有clb模块的具体位置;对clb模块阵列进行左右对等分,每等分中同行clb模块并行,同列clb模块串行进行配置,实现clb资源的全覆盖;对配置的clb模块阵列进行内建自测试,通过实际输出的数据与预期数据的比较,判断clb模块阵列是否存在缺陷,若某个clb模块出现问题,根据输出信号与时钟的对应关系,定位clb模块出错的具体位置。

进一步地,找到空洞的具体位置,采取空洞阵列地址取反设计。

本发明提供的k7系列fpga内部clb模块定位及通用性配置测试方法,针对具有“空洞”的clb模块阵列进行设计而来,定位fpga内部所有clb模块的具体位置,配置程序采用等分配置,使配置程序具有通用性。与现有技术相比,clb模块阵列定位跳过了“空洞”阵列,实现了所有clb模块的定位,配置程序不用计算“空洞”阵列具体位置,采用左右对等分配置,实现了最优化的配置次数,配置程序具有通用性,减少了程序重复编写的时间。

附图说明

下面结合附图对发明作进一步说明:

图1为本发明实施例提供k7系列fpga内部clb模块定位及通用性配置测试方法的步骤流程图;

图2为本发明实施例一提供的clb模块定位程序流程示意图;

图3为本发明实施例一提供的clb模块内建自测试流程示意图。

具体实施方式

以下结合附图和具体实施例对本发明提出的k7系列fpga内部clb模块定位及通用性配置测试方法作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用以方便、明晰地辅助说明本发明实施例的目的。

本发明的核心思想在于,本发明提供的k7系列fpga内部clb模块定位及通用性配置测试方法,针对具有“空洞”的clb模块阵列进行设计而来,定位fpga内部所有clb模块的具体位置,规避了“空洞”阵列的位置。配置程序不需要理会“空洞”阵列,具有通用化。因此与现有技术相比,clb模块阵列定位跳过了“空洞”阵列,实现了所有clb模块的定位,配置程序不用计算“空洞”阵列具体位置,采用左右对等分配置,实现了最优化的配置次数,配置程序具有通用性,减少了程序重复编写的时间。

图1为本发明实施例提供一种k7系列fpga内部clb模块定位及通用性配置测试方法的步骤流程图。参照图1,k7系列fpga内部clb模块定位及通用性配置测试方法包括:

s11、定位fpga内部所有clb模块的具体位置;

s12、对clb模块阵列进行左右对等分,每等分中同行clb模块并行,同列clb模块串行进行配置,实现clb资源的全覆盖;

s13、对配置的clb模块阵列进行内建自测试,通过实际输出的数据与预期数据的比较,判断clb模块阵列是否存在缺陷,若某个clb模块出现问题,根据输出信号与时钟的对应关系,定位clb模块出错的具体位置。

实施例一

以应用范围较广的7k410t-1ffg9000(xilinx公司生产的高端fpga产品)为例,进行具体设计及内建自测试,具体步骤如下所示。

步骤一、clb模块阵列定位。

找到空洞的具体位置,例如左侧第一个空洞为:slice_x24y100-slice_x24y199、slice_x35y100-slice_x35y199。

因“空洞”阵列地址较少,采取空洞阵列地址取反设计,可优化程序,为方便理解,定义xllyll为第一个空洞阵列左下角位置,即slice_x24y100,其他位置与xll的操作类似。

图2为本发明实施例一提供的clb模块定位程序流程示意图。参照图2,

a、先定位x0、y0地址;

b、y地址加一;

c、若(y>yll)为真,表明地址不在“空洞”阵列之内,则记录当时的x、y地址,若条件不成立,则表明地址在“空洞”阵列,此时不记录当时的x、y地址;

d、当y=ymax,表明已经定位到clb模块阵列的最顶端,则x地址加1,继续定位x1地址,y0开始继续累加;

e、当x=xmax,表明整个阵列已完成全部的定位及记录,则程序结束。

步骤二、并行+串行架构的clb模块配置设计

clb模块全部串行测试可实现clb模块全覆盖测试,也可全部并行测试实现clb模块的全覆盖测试。若clb并行个数为n,则全串测试时间是并行测试时间的n倍,程序综合、布局布线及测试时间较长,而采用全并测试,资源占用太多,需要增加配置次数,而配置次数的增加也会造成测试总时间的增加,最优化的配置策略是采取并行+串行的策略,即clb模块的x阵列并行,y阵列串行,充分考虑了单次测试时间和配置次数的影响。

配置程序需要用到clb资源,因此无法一次进行clb模块阵列全覆盖测试,最优化的全覆盖配置需要2次完成。

为了实现程序的通用性,不采用跳过“空洞”的策略,配置采取clb模块阵列对等分策略,当x阵列取slice_xmax的左半阵列,y阵列取slice_ymax,“空洞”阵列多出的部分会自动配置到右半clb阵列,此时clb左半阵列全部配置,然后配置图形对调,配置clb右半阵列,则右半阵列的“空洞”阵列多出的clb模块会自动分配到左半clb阵列模块,此时clb右半阵列全部配置。两次配置叠加,确保了clb模块的全覆盖测试,并且实现了最优化全覆盖配置,减少了测试次数及测试时间,且不用理会每款fpga空洞位置,配置程序具备通用性。

此外串行的y取slice_ymax,可确保数据的输出同时完成,使输出结果可同步比较,优化了配置程序,使程序简便直观。

具体配置图形实现如下,一个clb包含2个slice,一个slice包含8个d触发器,将第一个d触发器的输出q端连接到第二个d触发器的输入d端,实现了y阵列串联设计,继续采用同样的设计,实现了8个d触发器串联,然后实现了2个slice串联,接下来实现了2个clb模块串联,最终将y列的所有clb模块进行串联,形成2800位的移位寄存器。

x阵列并联相对简单,同一个信号同时连接x0、x1、x2……等clb模块的第一个d触发器即可实现。

步骤三、clb模块内建自测试

图3为本发明实施例一提供的clb模块内建自测试流程示意图。参照图3,

a、从clb模块阵列形成的移位寄存器输入端施加激励信号,通过时钟信号,将施加的激励信号在y阵列串行clb模块间顺序传递。

b、生成第2800个d触发器(最顶端clb模块)的预期数据(测试判据)。

c、计数器清零。

d、在给定10000个测试周期内,每个时钟周期移位寄存器最终输出数据均要与预期数据进行比较。

e、判断出测试结果,在内建自测试程序输出端进行显示。

f、测试周期(10000cycle)远大于移位寄存器的最大位数(2800bit),确保所有的寄存器能够被测试,保证测试覆盖性,当发现结果输出端信号报错时,可根据输出信号与时钟的对应关系,能够定位第几个clb模块出错。

综上所述,xilinx高端fpga产品测试具有更多的逻辑单元,测试时间通常较长,clb模块自测试通过2次实现全覆盖测试,实现了最优化配置,减少了测试时间,提高了测试效率,同时确保资源100%全覆盖测试,保证了器件测试高可靠性。

配置程序具有通用化,不用计算“空洞”阵列具体位置,且实际输出数据与预期数据可以实现同步比较,优化了配置程序,减少了程序重复编写的时间,为以后其他fpga内部clb模块的通用性配置提供了基础。

发现错误clb具体位置是fpga制造测试最关心的问题之一,clb模块可以实现精准定位,每个clb单元具有唯一的定位坐标,clb模块出现问题,可以准确找到相应的clb位置,为ic芯片设计验证、调试、设计改进提供便利,此外通过冗余技术和适当的算法实现自动修复fpga中的错误提供了基础。

显然,本领域的技术人员可以对本发明进行各种改动和变形而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1