论文部分内容阅读
现场可编程门阵列(Field Programmable Gate Array, FPGA)是一种能够被快速、多次反复配置功能的可编程芯片,在医疗电子、图像处理、云数据中心等领域都发挥着重要作用。FPGA由大量的可重复块和连接他们的互连资源组成,后者包括互连线段(Line Segment)和可编程互连开关(Programmable Interconnect Points, PIP),这些互连资源大量存在于FPGA芯片中并且每一次配置的必须用到,因此对它们的测试非常重要。一份好的测试方案通常要求在比较少的配置文件数的情况下完成近乎100%的故障覆盖率。随着FPGA芯片规模的不断上升,一个FPAG可能被配置成的数目十分庞大,不可能一个个配置地测试。学术界的研究大部分都是针对的FPGA结构简单,互连线的种类单一,互连开关方向可以简单划分水平、数值、左斜向和右斜向为四类,这些研究往往默认FPGA芯片四周都有IO资源围绕。而随着FPGA结构不断发展,其结构也越来越复杂,线型多样化已经成为一个趋势,出现了不在这四种方向内的开关类型,并且部分新型FPGA芯片的四周是没有IO分布的。本文提出一种新型的全局互连测试算法,分线故障覆盖、开关故障覆盖和覆盖率爬升三个阶段进行配置文件生成。第一阶段采用S型的连线策略覆盖线的故障,能够有效减少对FPGA芯片周围IO的依赖性;第二阶段采用考虑代价因素的深度优先搜索算法生成测试线网,对所有的全局互连PIP统一处理,无需对PIP的方向进行分类。第三阶段采用广度优先搜索未被覆盖的开关,以未被覆盖的资源目标进行搜索,有效减少所需配置文件数量。通过等价简化四个基本覆盖条件,把测试目标锁定为互联开关的开路故障和互连线段的桥接故障。在保证了高覆盖率的前提下,做到了测试配置文件数量少,人工参与度低,对硬件结构适应性强等。本文算法在FDP5P15芯片上进行了测试,用150测试配置文件覆盖了芯片90%以上的故障。