FPGA (现场可编程门阵列)作为一种可编程的逻辑器材,以其丰厚的逻辑资源和极端灵敏的可编程特性越来越遭到广阔用户的喜爱。可是,跟着工艺水平的开展和实践运用的需求,FPGA的逻辑门数量已从开始的几千门添加到现在的几千万门,与此一起,FPGA内部资源的杂乱度也呈几何级数增加。这必然给FPGA的测验作业带来极大的应战。怎么在有限的时间内完结对整个FPGA的可靠性测验而到达尽或许高的毛病掩盖率,现已成为每一个测验作业者迫切需求处理的问题。针对FPCA的测验非常杂乱,因为FPGA内部具有很多的逻辑资源和布线资源,在用户运用之前,FPGA的功用是不确定的,用户可以依据自己的需求把FPGA装备成某种特定的逻辑,还可以依据需求重复编程,但其间大部分的资源仍处于搁置状况,这就导致针对FPGA的测验不或许像针对ASIC的测验那样对FPGA可以完结的一切功用进行的穷举性测验。在FPGA中,互联资源适当杂乱,关于最新的FPGA器材,80%以上的晶体管都包含在互联资源中,所以对FPCA互联资源的测验成了整个测验作业的中心,为此,本文将专心于FPGA互联资源的测验。
1 FPGA的结构与互联资源的毛病模型
FPGA一般由三种可编程电路和一个可用于存储装备数据的SRAM组成,这三种可编程电路分别是:可编程逻辑块CLB(Configurable Logic Block),输入/输出模块IOB (I/O Block)和互联资源IR(Interconnect Resource)。以xilinx公司的Virtex系列FPGA为例,其结构的底子模型如图1所示,该模型是由可编程逻辑块和开关矩阵组成的二维阵列,在每个CLB内部,逻辑模块经过输入输出多路选择器(I/O MUX)与开关矩阵(SM)相连,开关矩阵一起又为FPGA阵列中不同的CLB之间供给水平缓笔直的布线通道。依据布线资源跨过CLB个数的不同,咱们将其分为三类:单长线(衔接相邻开关矩阵,不跨过任何的CLB的布线),六长线(经过一个开关矩阵跨过五个CLB与另一个开关矩阵相连的布线)和大局长线(贯穿整个FPGA的CLB阵列,具有最小延时的布线)。在每个开关矩阵的内部都具有很多的可编程互联点PIPs (programmable interconnec tpoints),每一个可编程互联点都是一个由可编程的SRAM单元操控的传输门晶体管,图2是一个常用的开关矩阵的底子模型,在开关矩阵的每一个边都有四个衔接点,每个衔接点都可以经过开关矩阵内部的PIP与其它三边相衔接,其间虚线代表了一切或许的衔接办法,咱们可以经过向SRAM加载装备数据的办法来操控PIP传输门晶体管的通断,当向SRAM单元中写“1”的时分传输管导通,相应的衔接树立;当向SRAM单元写“0”的时分传输管断开,相应的衔接也就随之断开。
在FPGA里边,互联资源的毛病大慨可以分为两类:一类是开路毛病,一类是短路毛病。开路毛病又可以分为PIP的常开毛病(PIP开关处于永久性的断开状况)和互联线段的断开毛病,而短路毛病一般由PIP的常闭毛病(PIP开关处于永久性的导通状况)和互联线段短路毛病组成。别的,咱们将互联资源的固定型毛病(固定“1”或固定“0”毛病)看成是互连线与电源Vcc和地Vdd的短路毛病,而不独自加以考虑。如图3所示,显现了互联资源毛病模型的底子分类。
2 互联资源的测验
因为FPGA的互联资源极端杂乱,毛病的品种又极端的繁复,咱们底子不或许存一次装备里边统筹一切的毛病类型完结整个互联资源一切模块的彻底测验。为此,咱们一般选用层次化的思想将整个互联资源依照必定的联系区分为几大类别(或许几大模块)来加以测定,本文依据互联资源中开关矩阵中PIP两头所连互连线段长短的不同来分类进行测验。
2.1 待测资源的分类
为了简化咱们的测验,咱们依据开关矩阵中PIP两头连线的不同对互联资源进行如下的区分:PIP两头衔接的均是单长线(Single-to-Single),PIP两头衔接的是六长线(Hex-to-Hex),PIP一端衔接六长线另一端衔接单长线(Hex-to-Single)。下面咱们将首要依据以上区分对互联资源的测验进行研讨2.2 Single-to-Single类互联资源的测验Single-to-Single类互联资源是一类由单长线指向单长线的资源,存Virtex系列FPCA中,开关矩阵东(East),南(south),西(west),北(north)四个方向各有24条单长线,其间恣意一条单长线部可以与其他三个方向的单长线衔接构成Single-to-Single类连线。其结构与XC4000开关矩阵的结构彻底相同,其简化模型如图4所示,关于这部分资源咱们可以参阅传统的3次测验法来进行全掩盖测验,其测验装备图如图5所示。
2.3 Hex-to-Hex类互联资源的测验
Hex-to-Hex类互联资源是一类由六长线指向六长线的资源,在FPCA的测验中,这类资源的测验比Single-to-Single类互联资源要杂乱得多。图6显现了Virtex系列FPGA中这类资源的简略衔接联系,与单长线相似,每一根六长线都可以经过不同的PIP与其它三个方向的六长线相衔接,仅有不同的是,每根六长线都跨过了六个开关矩阵,在每根六长线的中心还产生了一个分支中点。为了防止呈现布线的抵触,在咱们的布线里边一直坚持单布线通道的准则(即在一次装备中,每条布线途径上不允许分支途径的存在,每一条互连线段具有仅有的入度和出度),因而六长线的分支中点和端点不或许在一次装备里边完结测验。
为了简化Hex-to-Hex类互联资源的测验的研讨,咱们将对实践的互联资源的状况作如下模型的提取。以Virtex系列FPGA为例,每条六长线都经过五个流入(指PIP的方向指向该六长线)的PIP与其它五根六长线相连,咱们称六长线的入度Vi=5,一起也存在五个流出(指该PIP的方向违背该六长线)的PIP与别的五根六长线相连,咱们称六长线的出度Vo=5,留意这些PIP散布在六长线中点与端点地点的三个开关矩阵里边,如图7所示,是这一模型的数学简化图型。
在单布线通道的准则下,要求在每一个装备里的恣意一条六长线都具有仅有的出度和入度,因而,要完结Hex-to-Hex类互联资源的全掩盖测验至少需求n=5(n≥max{Vi,Vo})次图形装备。
2.4 Hex-to-Single类互联资源的测验
针对这类互联资源,咱们首要方针是测验衔接single线(单长线)和Hex线(六长线)的PIP,因为关于单长线和六长线咱们在Single-to-Single和Hex-to-Hex两类资源的测验中现已掩盖。关于这类资源,咱们可以凭借CLB单元中的触发器,将这部分资源都与CLB单元中的触发器的输入端相连,经过回读触发器中的数据完结互联资源的测验。其原理如图8所示。在Virtex系列FPGA中,因为每条单长线最多可以一起与两条不同的六长线相连,因而测验这类互联资源的最小装备次数为2。
2.5 最小装备次数与不同测验办法的比较
经过对互联资源的分类,简化了咱们对互联资源的测验。由剖析可得,咱们的办法针对Single-to-Single类互联资源需求3次测验装备,针对Hex-to-Hex类互联资源需求5次测验装备,针对Hex-to-Single类互联资源需求2次测验装备。可是因为咱们对互联资源的分类具有层次性,咱们可以让针对三类互联资源的测验一起进行而互不影响,也就是说对互联资源测验的总装备次数并不是三类资源独自测验装备次数的总和,而是等于三类资源测验中需求装备最多的一类资源的装备次数,针对本文说到的Virtex系列FPGA,测验整个互联资源的最小装备次数为5次。
为了查验本文提出的测验办法,咱们在Xilinx公司的XOVR300-4-CB228上对互联资源进行了全掩盖测验试验,在整个互联资源的测验中一共用到了5个装备图形,与咱们的剖析相吻合。如图9所示的是Single-to-Single类互联资源的测验图形TCLD。
咱们在Virtex系列FPGA的根底大将本文说到的办法与传统办法和论文中说到的办法在掩盖率和最小装备次数方面进行了一个简略的比较。如下表1所列。
3 结束语
文中针对Virtex系列FPGA互联资源的测验,选用了分层测验的思想将互联资源按必定的准则分为了single-to-single,Hex-to-Hex和Hex-to-Single三类,使得不同类别的互联资源可以进行叠加测验,终究得出了实践测验需求的最小图形装备次数为5次。文章最终经过将该办法与已存在的测验办法进行了一个简略的比照和剖析,不难看出其该办法在确保相同掩盖率的状况下最小装备次数显着少于其他测验办法。