CN102116839A - 一种基于最大流方法的fpga测试方法 - Google Patents
一种基于最大流方法的fpga测试方法 Download PDFInfo
- Publication number
- CN102116839A CN102116839A CN2009102489331A CN200910248933A CN102116839A CN 102116839 A CN102116839 A CN 102116839A CN 2009102489331 A CN2009102489331 A CN 2009102489331A CN 200910248933 A CN200910248933 A CN 200910248933A CN 102116839 A CN102116839 A CN 102116839A
- Authority
- CN
- China
- Prior art keywords
- summit
- fpga
- max
- limit
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及FPGA的应用测试技术,具体公开一种基于最大流方法的FPGA测试方法;它包括适用于方法的基本FPGA建模方法,基于带有预测机制的深度优先搜索算法的最大流方法,并针对FPGA结构特点的约束检查;本方法能够自动生成测试配置,且不依赖具体某一FPGA器件的结构,具有普适性,能够被广泛的推广;本方法不刻意区分配置中涉及的资源类型,做到了资源全覆盖的一次性测试配置自动生成。
Description
技术领域
本发明涉及现场可编程门阵列FPGA的应用测试技术,具体的说是一种基于最大流方法的FPGA测试方法。
背景技术
FPGA(现场可编程门阵列)器件凭借其内部资源丰富、结构配置灵活等特性,而越来越广泛的应用在了各种电子产品之中。由于FPGA的特殊结构,传统的芯片测试技术已经不再适用,进而产生了很多针对FPGA芯片应用测试的方法。
FPGA可以被描述为一个二维网格结构,主要由可配置的逻辑单元、输入输出单元和连接这些单元的互连结构。在实际应用中,就是通过配置这些资源来组成实现不同功能的电路结构,即测试配置。进行FPGA应用测试的核心思想是利用器件的可配置性,通过将器件配置成不同的特定结构,充分使用内部资源,通过分析其对各种测试向量的响应,进而实现对资源故障测试。评价测试方法优劣的主要指标是能否实现测试配置的最小集,以及覆盖资源故障的最大集。
目前,对FPGA测试的研究主要存在以下两个局限:一是测试对象的确定性,即特定的方法只针对特定结构的器件,且多半都是手动确定配置的结构和方法;二是区分了逻辑单元和互联结构,在FPGA二维结构的规律和重复性的基础上对器件进行配置,由于其配置本身的可预见性而使故障集存在一定的局限性。
发明内容
本发明根据现有技术中存在的问题,提出一种基于最大流方法的FPGA测试方法。
本发明为实现上述目的采用的技术方案是:一种基于最大流方法的FPGA测试方法,该测试方法包括如下步骤:
步骤1)根据FPGA结构建立有向图模型;将FPGA化分为配置单元结构和互连线结构;所述配置单元结构包括逻辑单元、输入输出单元及互联单元中的配置开关形成的互联开关矩阵;所述互连线结构为各配置单元结构间的引线;
步骤2)将FPGA建立有向图模型时,所述逻辑单元的基本组成结构对应有向图模型中的一个顶点,所述互联开关矩阵的每个端口对应有向图模型一个顶点;所述互连线对应有向图模型的一个边;
步骤3)在步骤1中有向图模型的基础上增加“源S”顶点和“汇T”顶点;所述“源S”与输入输出单元的输入端口顶点相连,“汇T”与输出单元输出端口的顶点相连;通过所述“源S”顶点及“汇T”顶点将数据路径转化为从起点“源S”到终点“汇T”路径的集合。
步骤4)FPGA测试配置自动生成采用求最大流方法,该方法第一、定义每个边容量;第二、增流过程中采用路径搜索算法;第三、在流生成过程中对有向图的实时检测动态调整;
步骤5)当步骤4)中达到某一最大流时,将最大流中所有路径的集合映射到FPGA中构成一个测试配置,记录测试配置后,模型重新初始化;
步骤6)重复步骤准4)中最大流测试,当连续两次求最大流操作的结果相同时,将统计所有的顶点和边在已有测试配置中的使用情况;将始终没有出现在测试配置中的顶点和边(不包括双向连线抽象出的两条边有一条未出现的情况)为起点分别向“源S”和“汇T”路径搜索,最终将所有的顶点和边都被包含在测试配置中,输出自动匹配结果。
所述逻辑单元基本组包括:多路选择器、查找表、触发器。
所述互连线,容量设置为1;配置开关,其容量设置为1;所述多路选择器的输出容量设置为1;触发器的输出容量设置为1;查找表LUT的输出容量设置为LUT的输入数。
所有在测试配置中出现过的顶点和边,将在模型中被特殊标注,在下一次操作中优先使用没有特殊标注的顶点和边。
所述路径搜索算法中增加预测机制的深度优先算法,该预测机制算法在某一数据路径搜索到某一顶点V1,并从顶点V1向其第二级顶点搜索前,先对第二级顶点进行预测优先排序;所述预测优先排序的原则是第二级顶点所连接的第三级顶点中未被遍历到的顶点越多,则这个第二级顶点的优先级越高,在进行排序后,选取优先级最高的第二级顶点作为V1的下一级连接。
所述依据FPGA模型的约束,对模型的结构进行的动态调整,调整包括:输入端口被选中的输入输出单元,其输出端口的顶点将在模型中被屏蔽掉;对于在建模时被抽象为两条边双线数据连线,在其中某一条边被使用后,另外一条边也将在模型中被屏蔽掉。
本发明的优点
1、本方法能够自动生成测试配置,且不依赖具体某一FPGA器件的结构,具有普适性,能够被广泛的推广。
2、本方法不刻意区分配置中涉及的资源类型,做到了资源全覆盖的一次性测试配置自动生成。
3、本发明针对FPGA的特点采取了带有预测机制和结构约束判定的深度优先搜索算法,有效的提高了搜索的效率和测试配置的完备性。
附图说明
图1为测试配置自动生成基本流程。
具体实施方式
如图1所示:一种基于最大流方法的FPGA测试方法,该测试方法包括如下步骤:步骤1)根据FPGA结构建立有向图模型;将FPGA化分为配置单元结构和互连线结构;所述配置单元结构包括逻辑单元、输入输出单元及互联单元中的配置开关形成的互联开关矩阵;所述互连线结构为各配置单元结构间的引线;步骤2)将FPGA建立有向图模型时,所述逻辑单元的基本组成结构对应有向图模型中的一个顶点,所述互联开关矩阵的每个端口对应有向图模型一个顶点;所述互连线对应有向图模型的一个边;步骤3)在步骤1中有向图模型的基础上增加“源S”顶点和“汇T”顶点;所述“源S”与输入输出单元的输入端口顶点相连,“汇T”与输出单元输出端口的顶点相连;通过所述“源S”顶点及“汇T”顶点将数据路径转化为从起点“源S”到终点“汇T”路径的集合。步骤4)FPGA测试配置自动生成采用最大流方法,该方法第一、定义每个边容量;第二、增流过程中采用路径搜索算法;第三、在流生成过程中对有向图的实时检测动态调整;步骤5)当步骤4)中达到某一最大流时,将最大流中所有路径的集合映射到FPGA中构成一个测试配置,记录测试配置后,模型重新初始化;步骤6)重复步骤准4)中最大流测试,当连续两次求最大流操作的结果相同时,将统计所有的顶点和边在已有测试配置中的使用情况;将始终没有出现在测试配置中的顶点和边(不包括双向连线抽象出的两条边有一条未出现的情况)为起点分别向“源S”和“汇T”路径搜索,最终将所有的顶点和边都被包含在测试配置中。
所述逻辑单元基本组包括:多路选择器、查找表、触发器。所述互连线,容量设置为1;配置开关,其容量设置为1;所述多路选择器的输出容量设置为1;触发器的输出容量设置为1;查找表LUT的输出容量设置为LUT的输入数。所有在测试配置中出现过的顶点和边,将在模型中被特殊标注,在下一次操作中优先使用没有特殊标注的顶点和边。
所述路径搜索算法中增加预测机制的深度优先算法,该预测机制算法在某一数据路径搜索到某一顶点V1,并从顶点V1向其第二级顶点搜索前,先对第二级顶点进行预测优先排序;所述预测优先排序的原则是第二级顶点所连接的第三级顶点中未被遍历到的顶点越多,则这个第二级顶点的优先级越高,在进行排序后,选取优先级最高的第二级顶点作为V1的下一级连接。
所述依据FPGA模型的约束,对模型的结构进行的动态调整,调整包括:输入端口被选中的输入输出单元,其输出端口的顶点将在模型中被屏蔽掉;对于在建模时被抽象为两条边双线数据连线,在其中某一条边被使用后,另外一条边也将在模型中被屏蔽掉。
本发明以FPGA结构建立有向图模型实现功能为基础,这一建模过程存在一定的目标依赖性,FPGA的构成可以简单的分为配置单元结构和互连线。配置的单元结构包括了逻辑单元、输入输出单元及互联结构中的可配置开关形成互联开关矩阵;互连线结构指各配置单元结构之间的连线。在建模时,逻辑单元每个基本组成结构(包括多路选择器、查找表、触发器)都对应有向图中的一个顶点,而互联开关矩阵则是每个端口对应一个顶点,所述两顶点共同组成有向图G=(V,E)中的顶点集V,根据顶点所代表的资源不同,V中的每个元素都被赋予了相应的属性信息;互联开关矩阵内部通过配置实现的端口之间的连线,互联开关对应有向图中G=(V,E)中的边集E的一个子边集E1,针对某些连接在实际器件中没有规定数据流的方向,在有向图中,这些连接都被表示为两条方向相反的边;互连线对应有向图G=(V,E)中边集E的另外一个子边集E2,E2是E1对于E的补集,互连线本身不存在额外属性,但同样要考虑数据流方向的问题,对于双向的互连线,在有向图中同样被表示为两根方向相反的边。
在进行配置自动生成之前,先在FPGA模型的基础上增加两个顶点,“源S”和“汇T”,“源S”与代表输入输出单元外部输入端口的顶点相连,“汇T”与代表输入外部输出单元输出端口的顶点相连。通过这两个附加的顶点,所有的数据路径都被转化为从唯一起点“源S”到唯一终点“汇T”路径的集合。
测试配置自动生成采用求最大流方法,该试方法基本流程如附图1所示。该方法包括如下三点:第一对每个边容量的定义,第二增流过程中采取的路径搜索算法,第三由于FPGA结构约束在流生成过程中对有向图实时检测动态调整。对于边的容量,本发明是这样定义的:对所有的互连线,容量设置为1;对配置开关,其容量设置为1;对具有逻辑功能单元,其容量根据其功能进行设置,如多路选择器的输出,容量设置为1,触发器的输出,容量设置为1,查找表LUT的输出,容量设置为LUT的输入数。对于路径搜索算法,本发明采取的增加了预测机制的深度优先算法,与传统深度优先算法相比,预测机制该算法在某一数据路径搜索到某一顶点V1,并从V1向其第二级顶点搜索前,先对第二级顶点进行预测优先排序,排序的原则是第二级顶点所连接的第三级顶点中未被遍历到的顶点越多,则这个第二级顶点的优先级越高,在进行排序后,选取优先级最高的第二级顶点作为V1的下一级连接。根据FPGA结构约束,还需要对模型的结构进行的动态调整,调整的主要内容包括:对于输入端口被选中的输入输出单元,代表其输出端口的顶点将在模型中被屏蔽掉;对于在建模时被抽象为两条边双线数据连线,在其中某一条边被使用后,另外一条边也将在模型中被屏蔽。
当模型达到某一最大流时,最大流中所有路径的集合映射到FPGA中,就构成了一个测试配置。在记录下这组配置后,模型将被重新初始化,准备进行下一次最大流操作。所有已经在配置中出现过的顶点和边,将在模型中被特殊标注,以保证在下一次操作中能够尽量多的使用没有在配置中出现过的顶点和边。当连续两次求最大流操作的结果相同的时候,将统计所有的顶点和边在已有配置中的使用情况,对于那些始终没有出现在配置中的顶点和边(不包括双向连线抽象出的两条边有一条未出现的情况),本发明将以它们为起点分别向源S和汇T搜索路径,直至所有的顶点和边都被包含在测试配置中停止,输出自动匹配结果。
Claims (6)
1.一种基于最大流方法的FPGA测试方法,其特征在于:该测试方法包括如下步骤:
步骤1)根据FPGA结构建立有向图模型;将FPGA化分为配置单元结构和互连线结构;所述配置单元结构包括逻辑单元、输入输出单元及互联单元中的配置开关形成的互联开关矩阵;所述互连线结构为各配置单元结构间的引线;
步骤2)将FPGA建立有向图模型时,所述逻辑单元的基本组成结构对应有向图模型中的一个顶点,所述互联开关矩阵的每个端口对应有向图模型一个顶点;所述互连线对应有向图模型的一个边;
步骤3)在步骤1中有向图模型的基础上增加“源S”顶点和“汇T”顶点;所述“源S”与输入输出单元的输入端口顶点相连,“汇T”与输出单元输出端口的顶点相连;通过所述“源S”顶点及“汇T”顶点将数据路径转化为从起点“源S”到终点“汇T”路径的集合。
步骤4)FPGA测试配置自动生成采用求最大流方法,该方法第一、定义每个边容量;第二、增流过程中采用路径搜索算法;第三、在流生成过程中对有向图的实时检测动态调整;
步骤5)当步骤4)中达到某一最大流时,将最大流中所有路径的集合映射到FPGA中构成一个测试配置,记录测试配置后,模型重新初始化;
步骤6)重复步骤准4)中最大流测试,当连续两次求最大流操作的结果相同时,将统计所有的顶点和边在已有测试配置中的使用情况;将始终没有出现在测试配置中的顶点和边(不包括双向连线抽象出的两条边有一条未出现的情况)为起点分别向“源S”和“汇T”路径搜索,最终将所有的顶点和边都被包含在测试配置中,输出自动匹配结果。
2.根据权利要求1所述的一种基于最大流方法的FPGA测试方法,其特征在于:所述逻辑单元基本组包括:多路选择器、查找表、触发器。
3.根据权利要求1所述的一种基于最大流方法的FPGA测试方法,其特征在于:所述互连线,容量设置为1;配置开关,其容量设置为1;所述多路选择器的输出容量设置为1;触发器的输出容量设置为1;查找表LUT的输出容量设置为LUT的输入数。
4.根据权利要求1所述的一种基于最大流方法的FPGA测试方法,其特征在于:所有在测试配置中出现过的顶点和边,将在模型中被特殊标注,在下一次操作中优先使用没有特殊标注的顶点和边。
5.根据权利要求1所述的一种基于最大流方法的FPGA测试方法,其特征在于:所述路径搜索算法中增加预测机制的深度优先算法,该预测机制算法在某一数据路径搜索到某一顶点V1,并从顶点V1向其第二级顶点搜索前,先对第二级顶点进行预测优先排序;所述预测优先排序的原则是第二级顶点所连接的第三级顶点中未被遍历到的顶点越多,则这个第二级顶点的优先级越高,在进行排序后,选取优先级最高的第二级顶点作为V1的下一级连接。
6.根据权利要求1所述的一种基于最大流方法的FPGA测试方法,其特征在于:所述依据FPGA模型的约束,对模型的结构进行的动态调整,调整包括:输入端口被选中的输入输出单元,其输出端口的顶点将在模型中被屏蔽掉;对于在建模时被抽象为两条边双线数据连线,在其中某一条边被使用后,另外一条边也将在模型中被屏蔽掉。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910248933 CN102116839B (zh) | 2009-12-30 | 2009-12-30 | 一种基于最大流方法的fpga测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910248933 CN102116839B (zh) | 2009-12-30 | 2009-12-30 | 一种基于最大流方法的fpga测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102116839A true CN102116839A (zh) | 2011-07-06 |
CN102116839B CN102116839B (zh) | 2013-02-27 |
Family
ID=44215696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910248933 Active CN102116839B (zh) | 2009-12-30 | 2009-12-30 | 一种基于最大流方法的fpga测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102116839B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722170A (zh) * | 2012-05-10 | 2012-10-10 | 北京宇航系统工程研究所 | 一种用于运载火箭测试发射阶段的故障检测方法 |
CN103412253A (zh) * | 2013-08-05 | 2013-11-27 | 电子科技大学 | 互联结构模型化方法和互联资源配置向量自动生成方法 |
CN104376366A (zh) * | 2013-08-14 | 2015-02-25 | 华为技术有限公司 | 一种最优网络最大流算法的选择方法和设备 |
CN105259444A (zh) * | 2015-11-02 | 2016-01-20 | 湖北航天技术研究院计量测试技术研究所 | Fpga器件测试模型建立方法 |
CN106841894A (zh) * | 2016-12-23 | 2017-06-13 | 深圳市国微电子有限公司 | Fpga互连线测试方法及装置 |
CN107809388A (zh) * | 2017-11-10 | 2018-03-16 | 中国电子科技集团公司第四十研究所 | 基于脚本配置式的自主寻路开关矩阵网络控制方法及系统 |
CN112149376A (zh) * | 2020-09-25 | 2020-12-29 | 无锡中微亿芯有限公司 | 一种基于最大流算法的fpga布局合法化方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6631510B1 (en) * | 1999-10-29 | 2003-10-07 | Altera Toronto Co. | Automatic generation of programmable logic device architectures |
CN1776693A (zh) * | 2005-12-01 | 2006-05-24 | 复旦大学 | 通用现场可编程门阵列布局布线模型 |
US7191426B1 (en) * | 2004-09-01 | 2007-03-13 | Altera Corporation | Method and apparatus for performing incremental compilation on field programmable gate arrays |
CN1945547A (zh) * | 2006-10-31 | 2007-04-11 | 哈尔滨工业大学 | 一种嵌入式故障注入系统及其方法 |
CN101363900A (zh) * | 2007-09-30 | 2009-02-11 | 北京华大泰思特半导体检测技术有限公司 | 一种对fpga器件进行测试的方法 |
-
2009
- 2009-12-30 CN CN 200910248933 patent/CN102116839B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6631510B1 (en) * | 1999-10-29 | 2003-10-07 | Altera Toronto Co. | Automatic generation of programmable logic device architectures |
US7191426B1 (en) * | 2004-09-01 | 2007-03-13 | Altera Corporation | Method and apparatus for performing incremental compilation on field programmable gate arrays |
CN1776693A (zh) * | 2005-12-01 | 2006-05-24 | 复旦大学 | 通用现场可编程门阵列布局布线模型 |
CN1945547A (zh) * | 2006-10-31 | 2007-04-11 | 哈尔滨工业大学 | 一种嵌入式故障注入系统及其方法 |
CN101363900A (zh) * | 2007-09-30 | 2009-02-11 | 北京华大泰思特半导体检测技术有限公司 | 一种对fpga器件进行测试的方法 |
Non-Patent Citations (1)
Title |
---|
刘肄倬 等: "Xilinx XC4000 系列FPGA互连资源自动测试软件生成和硬件平台搭建", 《仪器仪表学报》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722170A (zh) * | 2012-05-10 | 2012-10-10 | 北京宇航系统工程研究所 | 一种用于运载火箭测试发射阶段的故障检测方法 |
CN102722170B (zh) * | 2012-05-10 | 2014-08-27 | 北京宇航系统工程研究所 | 一种用于运载火箭测试发射阶段的故障检测方法 |
CN103412253A (zh) * | 2013-08-05 | 2013-11-27 | 电子科技大学 | 互联结构模型化方法和互联资源配置向量自动生成方法 |
CN103412253B (zh) * | 2013-08-05 | 2016-01-20 | 电子科技大学 | 互联结构模型化方法和互联资源配置向量自动生成方法 |
CN104376366A (zh) * | 2013-08-14 | 2015-02-25 | 华为技术有限公司 | 一种最优网络最大流算法的选择方法和设备 |
CN104376366B (zh) * | 2013-08-14 | 2017-11-03 | 华为技术有限公司 | 一种最优网络最大流算法的选择方法和设备 |
CN105259444A (zh) * | 2015-11-02 | 2016-01-20 | 湖北航天技术研究院计量测试技术研究所 | Fpga器件测试模型建立方法 |
CN106841894A (zh) * | 2016-12-23 | 2017-06-13 | 深圳市国微电子有限公司 | Fpga互连线测试方法及装置 |
CN106841894B (zh) * | 2016-12-23 | 2020-02-11 | 深圳市国微电子有限公司 | Fpga互连线测试方法及装置 |
CN107809388A (zh) * | 2017-11-10 | 2018-03-16 | 中国电子科技集团公司第四十研究所 | 基于脚本配置式的自主寻路开关矩阵网络控制方法及系统 |
CN107809388B (zh) * | 2017-11-10 | 2020-09-01 | 中国电子科技集团公司第四十一研究所 | 基于脚本配置式的自主寻路开关矩阵网络控制方法及系统 |
CN112149376A (zh) * | 2020-09-25 | 2020-12-29 | 无锡中微亿芯有限公司 | 一种基于最大流算法的fpga布局合法化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102116839B (zh) | 2013-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102116839B (zh) | 一种基于最大流方法的fpga测试方法 | |
CN103616592B (zh) | 一种基于iec61850的继电保护实时数字动态模拟试验系统 | |
CN101881811B (zh) | 一种可编程逻辑器件互连资源的故障测试方法 | |
CN101799517B (zh) | 合封芯片以及合封芯片测试系统 | |
CN101577979B (zh) | 光伏电站的无线传感器网络装置 | |
CN2916724Y (zh) | 高精度电压基准校正电路 | |
CN104246521A (zh) | 智能变电站继电保护功能自动测试的方法及装置 | |
CN107238743A (zh) | 负电压检测电路 | |
CN105680848A (zh) | 基于区域时钟的优化fpga芯片布局的方法 | |
CN107994894B (zh) | 多晶熔丝预修调电路 | |
CN113220751A (zh) | 多源数据状态量的计量系统及评估方法 | |
CN106093531B (zh) | 一种芯片动态电压降检测电路及检测方法 | |
CN105606984B (zh) | 一种半导体晶圆测试的多参数并行测试系统及方法 | |
CN108073771A (zh) | Fpga静态时序分析算法 | |
US9013202B2 (en) | Testing structure and method of using the testing structure | |
CN101404491A (zh) | 一种具有交叉链接的可编程互连网络的集成电路 | |
WO2017113883A1 (zh) | 系统级封装多芯片互联测试方法及装置 | |
CN104569785A (zh) | 一种逆变电路故障诊断方法 | |
CN102353892A (zh) | 一种基于sram的fpga的lut测试结构及方法 | |
TW202037124A (zh) | 大屏鏈路系統檢測方法、裝置及設備 | |
CN109583005B (zh) | Grmfpga互联线网延时的计算方法 | |
CN116681029A (zh) | 一种亿门级fpga互联资源智能测试方法 | |
CN105591839A (zh) | 一种测试网络交换芯片的装置、方法及系统 | |
CN109164406B (zh) | 一种测试夹具的散射参数提取方法 | |
CN106546912A (zh) | 一种应用相关型fpga自动化测试配置方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |