面向高性能SoCFPGA的功能遍历测试方法

文档序号:10510712阅读:258来源:国知局
面向高性能SoC FPGA的功能遍历测试方法
【专利摘要】本发明属于集成电路技术领域,具体为面向高性能SoC FPGA的功能遍历测试方法。本发明针对高性能SoC FPGA中CLB、BRAM、DSP、CM、IOB、时钟网络及互联等资源都建立了一套完整的功能遍历测试方法,并通过生成相应位流,在FPGA端口施加激励并回读FPGA端口响应,将其与预期结果进行比较,从而实现对SoC FPGA资源的遍历覆盖测试。本发明的测试方法可应用于功能复杂、资源丰富的各种高性能SoC FPGA,在FPGA测试领域有较高的应用价值。本发明具有测试覆盖率高,测试效率高,测试成本低,可移植性好,通用性强的特点。
【专利说明】
面向高性能SoC FPGA的功能遍历测试方法
技术领域
[0001]本发明属于集成电路技术领域,具体涉及对高性能SoCFPGA芯片中内部资源模块进行功能遍历覆盖测试的方法。
【背景技术】
[0002]现场可编程门阵列(Field Programmable Gate Array,FPGA)是一种可以通过编程改变其内部电路逻辑功能的芯片。
[0003]高性能SoC(system on a programmable chip)_FPGA是近年来FPGA芯片的主流发展趋势,其特点是除传统FPGA的可编程逻辑单元(CLB: Configurable Logic Block),可编程输入输出单元(10B:1nput Output Box)以及互联资源外,还集成了块存储器(BRAM)、数字信号处理器(DSP:Digital Signal Processing)、时钟管理器(CM:clock managers)等多种资源[1],在保留FPGA本身电路定制灵活性的同时增加了高效的通用集成电路单元,以实现更多的功能,获得更好的性能提升,满足多样化FPGA开发需求。
[0004]高性能SoC-FPGA在提供给开发者极大便利性的同时,也为其各模块资源的功能遍历测试带来了挑战。面对种类繁多,规模巨大的功能单元,如何设计一套高效、可靠、完整的测试方案以覆盖FPGA芯片内部各类资源,成为了一个值得研究的问题。
[0005]参考文献:
1.XilinxCorporat1n., Virtex-4 User Guide, UG070(v2.6) 2008.2.XilinxCorporat1n., 7 Series FPGAs Overview, DS180(vl.17) 2015.3.FUYong,ffANG Chi ,CHEN Liguang, LAI Jinmei,A Full Coverage Test Methodfor Configurable Logic Blocks in FPGA,电子学报:英文版,2013年第3期
4.孙磊;朱春;梁传增;王健;来金梅,一种新型的自动化FPGA互连测试算法,计算机工程,2013-02-15
5.ZhenYang, Chuanzeng Liangl, Jian Wang, and Jinmei LaiA new automaticmethod for testing interconnect resources in FPGAs based on general routingmatrix, IEICE Electronics Express,Vol.12,N0.20,1-11,2016。

【发明内容】

[0006]本发明的目的在于提供一种测试覆盖广、测试效率高、可移植性好、通用性强的面相SoC-FPGA的功能遍历测试的方法。
[0007]按FPGA内部资源模块,本发明包含对FPGA的可编程逻辑单元(CLB),可编程输入输出单元(1B)以及互联资源外,还集成了块存储器(BRAM)、数字信号处理器(DSP)、数字时钟管理器(DCM)、时钟网络及互联等模块资源的遍历测试。测试方法如下:
首先,对各内部资源模块,进行模块划分,模块划分将充分考虑模块之间的相关性和独立性,采用非冗余测试原则,覆盖所有特征模块。以FPGA中的CLB为例,课题组论文[3]提到的就是满足这样的划分的常用划分之一,划分为多功能查找表LUT(可配置为查找表、分布式ram与移位寄存器shift等模式)、可配置触发器DFF(可配置为触发器模式或锁存器模式,以及置位、复位等功能)、进位链、MUX及其他逻辑等模块。设计测试方案时,一般以输入输出互不冲突,功能配置方便级联的原则进行分配。如在CLB的可配置触发器DFF功能测试和进位链功能测试可以设置于一个测试配置中,而多功能查找表LUT的分布式ram模式与移位寄存器shift模式存在硬件调用上的冲突,必须分解在两个配置中。
[0008]其次,通过模块一定的级联,将模块配置成重复单元,覆盖整个阵列。由于FPGA的规整性,其每一个相同模块的逻辑功能都是相同的。那么只需要将每个模块配置为“输出与输入完全相同”的逻辑单元,则只要其中一个逻辑单元发生故障,其错误的输出就会被其他正常的逻辑模块向后传播,从而被观察到。以FPGA中的CLB为例,课题组论文[3]提到的就是满足这样的级联的常用级联方法之一,如:对CLB中DFF的触发器功能测试,可以将所有DFF配置为触发器,并施加统一的时钟。将这些触发器首尾相连,构成一个移位触发器,则只需从输入端输入一串信号,若能在一定时钟周期后,于输出端检测到同样的型号,即说明所有触发器功能正常,见图1就是其中。
[0009]各内部资源模块的测试方法如下:
CLB遍历测试,主要包括:多功能LUT中查找表模式故障级联测试,分布式RAM模式故障级联测试和移位寄存器模式级联测试;可配置触发器DFF在触发器模式下与相关逻辑的级联测试,可配置触发器DFF在锁存器模式下与相关逻辑的级联测试;进位链及相关逻辑的级联测试;MUX及相关逻辑的级联测试。各项测试均能实现对任意指定FPGA内的CLB资源进行完整遍历覆盖。
[0010]BRAM遍历测试,主要利用March s2pf-、March d2pf、MATS+、cascade MATS+、ECC及FIFO的测试算法,以检测SRAM故障、双端口读写故障、位宽模式故障、Cascade功能故障、ECC功能故障、FIFO功能及标志位故障、初始化功能等各种故障,遍历了各种不同的组合情况。
[0011]DSP遍历测试,主要包括加法、减法、进位、加法累加、复位逻辑、组合逻辑乘法、输入级联、输出级联以及流水线乘法等DSP功能的遍历覆盖测试。
[0012]DCM遍历测试,主要包括四相位输出、各种分频倍频、相移以及PMCD等功能的遍历覆盖测试。
[0013]1B遍历测试,包括单端输入输出、差分输入输出以及LC、CC、GC类差分输入等功能的遍历覆盖测试。
[0014]时钟网络遍历测试,是将芯片内所有的逻辑资源(包括所有的CLB、BRAM、DSP等)配置成如下模式:将CLB逻辑块电路配置成逻辑门的运算形式;将BRAM逻辑块电路配置成只读的ROM地址查找表模式;将DSP逻辑块电路配置成某种运算模式。配置完成后,在时钟信号的控制下,将上述配置好的逻辑资源用寄存器存储结果,然后再输出到1进行观测,从而减少测试中所需的1数目;再以输出为路径搜索起点,输入为终点,算法遍历所有局部互联资源并生成位流,进行全覆盖测试。
[0015]互联资源遍历测试,首先根据布线资源特性对互连资源进行建模,得到布线资源有向图,该图中节点代表物理互联(wire)或者逻辑单元的引脚(pin),边代表编程点。采用自动化搜索算法自动遍历所有全局互联资源与局部互联资的所有互连线以及它们之间所有连接的开关,测试的故障包括:互联线段短路故障,互联线段桥接故障,互联开关常开故障,互联开关常闭故障。自动化搜索算法可以是课题组论文[4][5]中提到的S型搜索算法、深度优先算法、广度优先算法,也可以是其它遍历算法。
[0016]本发明针对待测SoCFPGA,根据各类资源的测试方法开发了位流以及配套的测试激励,测试过程中先将测试位流下载进FPGA中,再在端口施加特定的测试激励,将采集到的FPGA输出与预期进行比较,若一致则证明测试通过。
[0017]技术效果
本发明能够对主流的高性能SoC FPGA各类资源进行遍历覆盖测试,帮助检出各类FPGA资源故障。该方法相较于一般测试方法,有测试覆盖率高,测试效率高,可移植性强,通用性强等特点。
【附图说明】
[0018]图1CLB中可配置触发器DFF在触发器模式下进行功能测试的一种级联测试方法。
[0019]图2SoC FPGA的功能遍历测试方法实现框图。
[0020]图3测试系统控制台界面之一。
【具体实施方式】
[0021]SoC FPGA的内部资源模块功能遍历测试方法的实现框图如图1。具体流程如下: 首先,设计并生成测试指定资源的位流文件与管脚约束文件,并依据各资源模块测试方法编写测试文件(包含测试激励与预期响应);
核对FPGA型号后将位流下载到FPGA芯片中,完成对FPGA的配置;
然后,依据测试文件和管脚约束文件对FPGA各端口施加激励信号,同时回读FPGA各输出端口的响应信号;
最后,将FPGA实际响应信号与测试文件中的预期响应信号进行比对,若一致则表示测试通过,否则测试失败。
[0022]软件运行结果可以是图形界面,也可以是控制台界面,方便判断和观测。图2是控制台实现的界面之一。
[0023]在上述方法中,各个步骤均有多种实现方式,可根据实际情况选择最适合的测试流程。如SoC FPGA配置下载过程可通过其自带的串行模式(Serial)、并行模式(SelectMap)以及边界扫描模式(JTAG)等多种方法完成;FPGA端口施加激励与读取响应的过程亦可通过直接读写(Direct)或边界扫描(JTAG)读写等方式完成。
【主权项】
1.一种面向高性能SoCFPGA的功能遍历测试方法,包含对FPGA的可编程逻辑单元(CLB),可编程输入输出单元(1B)、块存储器(BRAM)、数字信号处理器(DSP)、时钟管理器(CM)、时钟网络及互联模块资源的遍历测试;其特征在于测试步骤如下: 首先,对各内部资源模块,进行模块划分,模块划分将充分考虑模块之间的相关性和独立性,采用非冗余测试原则,覆盖所有特征模块; 其次,通过模块一定的级联,将模块配置成重复单元,覆盖整个阵列; 各内部资源模块的测试方法如下: CLB遍历测试,包括:LUT多点故障及其级联测试,分布式RAM及移位寄存器级联测试,DFF与相关逻辑的级联测试,Latch及相关逻辑的级联测试,MUX及相关逻辑的级联测试;BRAM遍历测试,主要利用March s2pf-、March d2pf、MATS+、cascade MATS+、ECC及FIFO的测试算法,以检测SRAM故障、双端口读写故障、位宽模式故障、Cascade功能故障、ECC功能故障、FIFO功能及标志位故障、初始化功能故障,遍历各种不同的组合情况; DSP遍历测试,包括加法、减法、进位、加法累加、复位逻辑、组合逻辑乘法、输入级联、输出级联以及流水线乘法各DSP功能的遍历覆盖测试; DCM遍历测试,包括四相位输出、各种分频倍频、相移以及PMCD功能的遍历覆盖测试; 1B遍历测试,包括单端输入输出、差分输入输出以及LC、CC、GC类差分输入各功能的遍历覆盖测试; 时钟网络遍历测试,是将芯片内所有的逻辑资源包括所有的CLB、BRAM和DSP配置成如下模式:将CLB逻辑块电路配置成逻辑门的运算形式;将BRAM逻辑块电路配置成只读的ROM地址查找表模式;将DSP逻辑块电路配置成某种运算模式;配置完成后,在时钟信号的控制下,将上述配置好的逻辑资源用寄存器存储结果,然后再输出到1进行观测,从而减少测试中所需的1数目;再以输出为路径搜索起点,输入为终点,算法遍历所有局部互联资源并生成位流,进行全覆盖测试; 互联资源遍历测试,首先根据布线资源特性对互连资源进行建模,得到布线资源有向图,该图中节点代表物理互联或者逻辑单元的引脚,边代表编程点;采用自动化搜索算法自动遍历所有全局互联资源与局部互联资的所有互连线以及它们之间所有连接的开关,测试的故障包括:互联线段短路故障,互联线段桥接故障,互联开关常开故障,互联开关常闭故障。2.根据权利要求1所述的面向高性能SoCFPGA的功能遍历测试方法,其特征在于所述的自动化搜索算法是S型搜索算法、深度优先算法或广度优先算法。3.根据权利要求2所述的面向高性能SoCFPGA的功能遍历测试方法,其特征在于操作流程如下: 首先,设计并生成测试指定资源的位流文件与管脚约束文件,并依据各资源模块的测试方法编写测试文件,包含测试激励与预期响应; 核对FPGA型号后将位流下载到FPGA芯片中,完成对FPGA的配置; 然后,依据测试文件和管脚约束文件对FPGA各端口施加激励信号,同时回读FPGA各输出端口的响应信号; 最后,将FPGA实际响应信号与测试文件中的预期响应信号进行比对,若一致则表示测试通过,否则测试失败;软件运行结果是图形界面,或者是控制台界面,方便判断和观测。
【文档编号】G01R31/3185GK105866665SQ201610202244
【公开日】2016年8月17日
【申请日】2016年3月31日
【发明人】王健, 孙友志, 来金梅, 石超
【申请人】复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1