一种基于贪心策略的fpga局部互联测试方法

文档序号:6585740阅读:224来源:国知局
专利名称:一种基于贪心策略的fpga局部互联测试方法
技术领域
本发明涉及FPGA的应用测试技术,具体的说是一种基于贪心策略的FPGA局部互 联测试方法。
背景技术
随着FPGA现场可编程门阵列技术的发展,其应用范围也越来越广泛。在FPGA功 能日益强大的同时,对FPGA的生产和应用测试的要求也越来越高。FPGA的结构可以被描述为一个二维网络,其内部的各种可配置资源可以被分为两 大类可配置逻辑结构和互联结构。其中互联结构占整个FPGA的80%以上,按照互联结构 的功能不同,还被分为全局互联结构和局部互联结构。传统的测试方法是利用FPGA的可配 置特性,针对某种FPGA的结构特点,手工将其配置成一些电路结构,即测试配置。通过分析 这些测试配置对各种测试向量的响应,来实现对FPGA故障的测试。对测试配置设计优劣的 主要评价指标是能否实现测试配置的最小集,以及覆盖资源故障的最大集。需要注意的是,功能越强大的FPGA,其内部资源也越复杂,所述现有产生测试配置 的方法实现的难度越大,所以如何实现对被测FPGA进行高效率的自动配置尚未见报道。

发明内容
本发明针对上述不足,本发明的目的是在FPGA结构中的局部互联结构提出一种 基于贪心策略的FPGA局部互联测试方法。为实现上述目的本发明采用的技术方案为本发明的具体实施步骤如下步骤1)将FPGA实际结构模型化;步骤2)建立局部互联矩阵,其描述配置逻辑单 元的各个端口和全局互联结构中各互联线之间连接关系的矩阵;步骤3)在实现步骤2)后, 实行配置分组算法,该算法采用的是基于“影响因数”的贪心策略。步骤4)所述配置分组 算法,首先,建立两个与局部互联矩阵结构相同,但元素初始值为0的“配置矩阵”和“ ‘影响 因数’矩阵”;然后,在局部互联矩阵中选取任意一个值为1的元素,将“配置矩阵”中与其 对应的元素值设置为1 ;即将这个可配置开关分配到了第一组测试配置中;再然后,开始对 局部互联矩阵中所有值为1的元素求“影响因子”,并将结果赋给“影响因数”矩阵中相应位 置的元素;步骤5)所述“影响因数”矩阵,在“影响因数”矩阵中选取值最大的元素,并在配 置矩阵中为其对应元素进行分组。步骤6)所述分组的原则是,除去该元素所在的行和列中 已经存在的组编号,将所能使用的最小编号,作为该元素的编号,并将这一编号值赋给该元 素;在每次产生新的编组赋值之后,“影响因数”矩阵都将随之进行更新,以选出进行下一次 编组的元素,直到所有在局部互联矩阵中值为1的元素,其所对应的配置矩阵元素都被分 组,即值不为0。步骤7)所述分组进行中FPGA自动配置分组过程中某些线或端口不能被分 配在同一组配置中;分组具体的方法是,在对每一个元素的进行分组编号的时候,要排除掉 该元素所在的行和列中已经存在的组编号,还要排除掉于其所对应的端口或线存在约束关 系的端口或线所对应的行或列中已经存在的组编号。步骤8)将最终的分组结果反映到目标FPGA上,即一个完备的局部互联测试配置集。所述局部互联矩阵中元素的行坐标和列坐标分别对应可配置逻辑单元的端口和 全局互联结构中的互联线;如元素值为1,则表示其所对应的可配置逻辑单元端口和全局 互联结构互联线之间存在可配置的开关;如元素值为0,则两者之间不存在可配置的连接 关系。所述“影响因数”,描述的是在配置分组进行过程中,某一时刻某一个还未被分组 可配置开关受与其存在相关性的,且已被分组的其他开关的影响情况。具体的说,就是局部 互联矩阵中的某个元素,如果该元素值为1,且配置矩阵中与其相对应的元素值为0,那么 在配置矩阵中该元素所在的行和列中值不为0的元素的个数,就是该元素的“影响因数”。本发明的优点1.本发明方法能够自动生成FPGA局部测试配置,且不依赖具体某一 FPGA的结构, 具有普适性,能够被广泛的推广。2.本发明采取了基于“影响因数”的贪心策略,实现了测试配置集的最小化和对局 部互联资源的全覆盖。3.本发明充分考虑了 FPGA器件本身的结构约束,确保生成的配置能够在实际器 件中实现。


图1为本发明具体实施流程图。
具体实施例方式如图1所示,一种基于贪心策略的FPGA局部互联测试方法,具体实施步骤如下步骤1)将FPGA实际结构模型化;步骤2、建立局部互联矩阵,其描述配置逻辑单 元的各个端口和全局互联结构中各互联线之间连接关系的矩阵;步骤3)在实现步骤2)后, 实行配置分组算法,该算法采用的是基于“影响因数”的贪心策略。步骤4)所述配置分组 算法,首先,建立两个与局部互联矩阵结构相同,但元素初始值为0的“配置矩阵”和“ ‘影响 因数’矩阵”;然后,在局部互联矩阵中选取任意一个值为1的元素,将“配置矩阵”中与其 对应的元素值设置为1 ;即将这个可配置开关分配到了第一组测试配置中;再然后,开始对 局部互联矩阵中所有值为1的元素求“影响因子”,并将结果赋给“影响因数”矩阵中相应位 置的元素;步骤5)所述“影响因数”矩阵,在“影响因数”矩阵中选取值最大的元素,并在配 置矩阵中为其对应元素进行分组。步骤6)所述分组的原则是,除去该元素所在的行和列中 已经存在的组编号,将所能使用的最小编号,作为该元素的编号,并将这一编号值赋给该元 素;在每次产生新的编组赋值之后,“影响因数”矩阵都将随之进行更新,以选出进行下一次 编组的元素,直到所有在局部互联矩阵中值为1的元素,其所对应的配置矩阵元素都被分 组,即值不为0。步骤7)所述分组进行中FPGA自动配置分组过程中某些线或端口不能被分 配在同一组配置中;分组具体的方法是,在对每一个元素的进行分组编号的时候,要排除掉 该元素所在的行和列中已经存在的组编号,还要排除掉于其所对应的端口或线存在约束关 系的端口或线所对应的行或列中已经存在的组编号。步骤8)将最终的分组结果反映到目 标FPGA上,即一个完备的局部互联测试配置集。
所述局部互联矩阵中元素的行坐标和列坐标分别对应可配置逻辑单元的端口和 全局互联结构中的互联线;如元素值为1,则表示其所对应的可配置逻辑单元端口和全局 互联结构互联线之间存在可配置的开关;如元素值为0,则两者之间不存在可配置的连接 关系。所述“影响因数”,描述的是在配置分组进行过程中,某一时刻某一个还未被分组 可配置开关受与其存在相关性的,且已被分组的其他开关的影响情况。具体的说,就是局部 互联矩阵中的某个元素,如果该元素值为1,且配置矩阵中与其相对应的元素值为0,那么 在配置矩阵中该元素所在的行和列中值不为0的元素的个数,就是该元素的“影响因数”。 进行FPGA局部互联自动测试配置生成的基础是将FGPA的实际结构模型化,本发明的采取 的方法是建立一个描述可配置逻辑单元的各个端口和全局互联结构中各互联线之间连接 关系的矩阵,称为“局部互联矩阵”。局部互联矩阵中元素的行坐标和列坐标分别对应可配 置逻辑单元的端口和全局互联结构中的互联线。如元素值为1,则表示其所对应的可配置逻 辑单元端口和全局互联结构互联线之间存在可配置的开关;如元素值为0,则两者之间不 存在可配置的连接关系。在建立描述局部互联的矩阵模型之后,将施行配置分组算法,该算法采用的是基 于“影响因数”的贪心策略。首先,需要建立两个个与局部互联矩阵结构相同,但所有元素 的初始值都为0的矩阵,分别称为“配置矩阵”和“ ‘影响因数’矩阵”。然后,在局部互联矩 阵中选取任意一个值为1的元素,将配置矩阵中与其对应的元素值设置为1,即将这个可配 置开关分配到了第一组测试配置中。接下来,开始对局部互联矩阵中所有值为1的元素求 “影响因子”,并将结果赋给“影响因数”矩阵中相应位置的元素。所谓“影响因数”,描述的 是在配置分组进行过程中,某一时刻某一个还未被分组可配置开关受与其存在相关性的, 且已被分组的其他开关的影响情况。具体的说,就是局部互联矩阵中的某个元素,如果该元 素值为1,且配置矩阵中与其相对应的元素值为0,那么在配置矩阵中该元素所在的行和列 中值不为0的元素的个数,就是该元素的“影响因数”。在“影响因数”矩阵中选取值最大的 元素,并在配置矩阵中为其对应元素进行分组。分组的原则是,除去该元素所在的行和列中 已经存在的组编号,将所能使用的最小编号,作为该元素的编号,并将这一编号值赋给该元 素。在每次产生新的编组赋值之后,“影响因数”矩阵都将随之进行更新,以选出进行下一次 编组的元素,直到所有在局部互联矩阵中值为1的元素,其所对应的配置矩阵元素都被分 组,即值不为0。在以上分组进行中,还需要考虑由于FPGA器件本身的结构特点而对自动配置分 组工作产生的约束,即某些线或端口不能被分配在同一组配置当中。具体的方法是,在对每 一个元素的进行分组编号的时候,除了要排除掉该元素所在的行和列中已经存在的组编号 之外,还要排除掉于其所对应的端口或线存在约束关系的端口或线所对应的行或列中已经 存在的组编号。这样,就能够确保通过本发明的方法产生的测试配置都能够有效的部署在 FPGA器件上。
权利要求
1.一种基于贪心策略的FPGA局部互联测试方法,其特征在于,包括如下步骤 步骤1)将FPGA实际结构模型化;步骤幻建立局部互联矩阵,该矩阵为描述配置逻辑单元的各个端口和全局互联结构 中各互联线之间连接关系的矩阵;步骤幻在实现步骤幻后,实行配置分组算法,该算法采用的是基于“影响因数”的贪 心策略;步骤4)所述配置分组算法,首先,建立两个与局部互联矩阵结构相同,但元素初始值 为0的“配置矩阵”和“ ‘影响因数’矩阵”;然后,在局部互联矩阵中选取任意一个值为1的 元素,将“配置矩阵”中与其对应的元素值设置为1 ;即将这个可配置开关分配到了第一组 测试配置中;再然后,开始对局部互联矩阵中所有值为1的元素求“影响因子”,并将结果赋 给“影响因数”矩阵中相应位置的元素;步骤5)所述“影响因数”矩阵,在“影响因数”矩阵中选取值最大的元素,并在“配置矩 阵”中为其对应元素进行分组;步骤6)所述分组的原则是,除去该元素所在的行和列中已经存在的组编号,将所能使 用的最小编号,作为该元素的编号,并将这一编号值赋给该元素;在每次产生新的编组赋值 之后,“影响因数”矩阵都将随之进行更新,以选出进行下一次编组的元素,直到所有在局部 互联矩阵中值为1的元素,其所对应的配置矩阵元素都被分组,即值不为0 ;步骤7)所述分组进行中FPGA自动配置分组过程中某些线或端口不能被分配在同一组 配置中;分组具体的方法是,在对每一个元素的进行分组编号的时候,要排除掉该元素所在 的行和列中已经存在的组编号,还要排除掉于其所对应的端口或线存在约束关系的端口或 线所对应的行或列中已经存在的组编号;步骤8)将最终的分组结果反映到目标FPGA上,即一个完备的局部互联测试配置集。
2.按照权利要求1所述的一种基于贪心策略的FPGA局部互联测试方法,其特征在于, 所述局部互联矩阵中元素的行坐标和列坐标分别对应可配置逻辑单元的端口和全局互联 结构中的互联线;如元素值为1,则表示其所对应的可配置逻辑单元端口和全局互联结构 互联线之间存在可配置的开关;如元素值为0,则两者之间不存在可配置的连接关系。
3.按照权利要求1所述的一种基于贪心策略的FPGA局部互联测试方法,其特征在于, 所述“影响因数”,描述的是在配置分组进行过程中,某一时刻某一个还未被分组可配置开 关受与其存在相关性的,且已被分组的其他开关的影响情况;具体的说,就是局部互联矩阵 中的某个元素,如果该元素值为1,且配置矩阵中与其相对应的元素值为0,那么在配置矩 阵中该元素所在的行和列中值不为0的元素的个数,就是该元素的“影响因数”。
全文摘要
本发明公开一种基于贪心策略的FPGA局部互联测试方法,基于FPGA实际结构模型化,采用基于“影响因数”的贪心策略算法对这些连接关系进行分组,最终的分组结果反映到目标FPGA上即是一个完备的局部互联测试配置集。在进行分组的过程中,为了更加体现实用性,本发明还提供了可以根据目标器件的局部互联本身,或全局互联的结构特点进行分组条件约束的机制。本发明方法能够自动生成FPGA局部测试配置,且不依赖具体某一FPGA的结构,具有普适性,能够被广泛的推广;本发明采取了基于“影响因数”的贪心策略,实现了测试配置集的最小化和对局部互联资源的全覆盖;本发明充分考虑了FPGA器件本身的结构约束,确保生成的配置能够在实际器件中实现。
文档编号G06F17/50GK102116840SQ20091024893
公开日2011年7月6日 申请日期2009年12月30日 优先权日2009年12月30日
发明者刘志峰, 吕岩, 杨志家, 段茂强, 谢闯, 马继开 申请人:中国科学院沈阳自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1