基于静态随机存取存储器型FPGA 的测试技术发展*

2021-01-26 00:39毛志明
电子与封装 2021年1期
关键词:配置文件存储器测试方法

张 颖, 毛志明, 陈 鑫

(南京航空航天大学电子信息工程学院, 南京 211100)

1 引言

自从1985 年赛灵思(Xilinx)公司发明了FPGA 以来,经过35 年的高速发展,FPGA 因其器件性能高、尺寸小、成本低,已经广泛应用于航空、航天、通信、工业控制等各大领域[1]。

随着FPGA 应用领域的扩展以及其重要性和复杂程度的提高, 其可靠性问题越来越突出, 对FPGA的测试需求变得尤为迫切,测试FPGA 的有关技术也得到相应的发展。 按测试对象FPGA 的工艺不同进行划分,测试可分为反熔丝型FPGA 测试、闪存(Flash)型FPGA 测试和SRAM 型FPGA 测试, 其中SRAM型FPGA 为目前应用最广泛的FPGA 类型,本文也主要讨论SRAM 型FPGA 的测试。 FPGA 测试按应用场景需求的不同又可分为应用无关测试与应用相关测试。 应用无关测试为FPGA 的结构性测试,需要用伪穷举的多次配置来覆盖所有的资源,针对FPGA 内部多种不同资源,采用相应的故障模型匹配特定的测试配置, 通过测试向量的施加和响应分析完成测试过程,多使用于面向制造的产品测试;在FPGA 器件配置完成、 具有特定功能后进行的测试是应用相关测试,由于器件的配置确定、相关功能确定,因此可以把FPGA 器件的应用相关测试看作类似于专用集成电路(ASIC)的测试。 本文对SRAM 型FPGA 的测试进行分析并探讨总结相关的测试技术,最后对FPGA 测试技术的发展进行展望。

2 FPGA 的种类和结构

2.1 FPGA 的种类

目前FPGA 芯片的工艺结构有3 种: 基于反熔丝结构, 基于Flash 结构和基于SRAM 结构。 反熔丝型FPGA 只能编程一次,编程之后成为固定逻辑器件,稳定性较高,灵活性不足,测试主要是实现编程前的内部各个结构单元的功能测试以及相应的参数测试[2-3]。Flash 型FPGA 是最近几年发展起来的新型FPGA 实现工艺,具备反复擦写和掉电后非易失性,灵活性和可靠性兼有,但目前成本偏高,还没有达到大规模的应用,在航空航天领域使用较多,对Flash 型FPGA 的测试主要是检测空间粒子辐射对其内部各结构的翻转失效影响[4-6]。 SRAM 型FPGA 具有反复可编程的能力,每次上电后需要重新加载配置文件,灵活性好但稳定性略有不足,不过由于其成本相对较低,被广泛应用在各个领域。本文将主要讨论SRAM 型FPGA 的测试。

2.2 SRAM 型FPGA 的结构

测试的首要问题是需要理解被测对象的内部资源结构。 SRAM 型FPGA 通常由可编程逻辑单元(CLB)、可编程输入输出单元(IOB)、可编程互连资源(IR)、可编程资源和常用功能的硬核模块[如块随机存取存储器(BRAM)、时钟管理器(DCM)、乘法器等]组成[7]。图1 为Xilinx 公司某系列SRAM 型FPGA 架构图,开关矩阵(SM)和逻辑块之间的互连线都属于IR 资源。

2.2.1 CLB 资源

CLB 是FPGA 内最基本的可编程逻辑结构,每个CLB 内部包含2 个片(slice),2 个片之间相互独立,各自分别连接开关矩阵,与通用布线阵列相连。 片的内部包含查找表(LUT)、触发器、多路开关及进位链等资源,部分片内部的LUT 可以配置成RAM 或移位寄存器,这种称为SLICEM,其他的片则称为SLICEL。

2.2.2 IOB 资源

图1 某系列SRAM 型FPGA 内部架构图[8]

IOB 是除了CLB 模块之外最重要的功能模块。IOB 模块的作用是完成内部资源与外部封装的连接,主要包括一个3 态输出缓冲器,输入缓冲器,以及3 个可被配置为触发器或锁存器的寄存器单元。 每个IOB控制一个封装引脚,可以配置为输入引脚、输出引脚和双向引脚。

2.2.3 IR 资源

除了CLB 和IOB 外,FPGA 还需要有丰富的互连资源。可编程互连资源占据了SRAM 型FPGA 芯片超过60%的面积,主要形式包括开关矩阵和互连线。

2.2.4 硬核模块资源

(1)BRAM

大多数SRAM 型FPGA 内部都包含块存储模块BRAM,用以弥补片上存储资源的不足。块存储模块可根据不同的设计需求被配置为不同深度和宽度结构的存储器。

(2)时钟管理器

数字时钟管理器DCM 也是FPGA 内部的重要资源,提供了一系列时钟管理的功能。 DCM 具有3 种功能:内部包含的延迟锁相环可实现时钟去歪斜,稳定时钟频率;具有频率综合能力,包括倍频、分频等;可根据输入时钟产生相移时钟信号。

(3)乘法器

SRAM 型FPGA 内部的乘法器模块可单独使用,也可和BRAM 资源联合使用,优化逻辑设计,再加上CLB 资源,可完成数字信号处理器(DSP)的部分功能。

3 FPGA 测试技术

SRAM 型FPGA 测试分为应用相关测试和应用无关测试,本文将根据不同的测试类型进行测试技术的探讨与总结。 测试方法结构如图2 所示。

图2 FPGA 测试方法结构

3.1 应用无关测试

应用无关测试是从制造商的角度来完备地测试FPGA 内部相关资源的结构和功能, 全球FPGA 市场基本上都被国外所占据,国外拥有成熟的应用无关测试技术,而国内在产品制造和相应软件测试平台开发上尚处于起步阶段。 近些年出现不少关于应用无关测试的相关文献,提出了针对不同功能部件或综合调度的测试方法。

3.1.1 CLB 测试

(1)基于阵列的测试方法

该测试方法是通过外部的自动测试设备(ATE)对CLB 阵列以行或列为基础施加测试向量的结构进行测试,阵列的组成方式可能并不相同。 在文献[9-10]中实现基于CLB 阵列结构的混合故障模型检测,在测试中假定整个FPGA 只有一个CLB 产生故障,通过编程将每一行的CLB 连接起来, 将前一个CLB 的输出作为后一CLB 的输入, 形成一维阵列从而对CLB 整体进行测试,该方法直接级联CLB,实现简单,但对测试配置程序要求较高, 需考虑故障与测试向量的传递,且由于FPGA 芯片输出端口数量有限,该方法只能对少数的CLB 进行测试,不适合大量CLB 资源的测试;基于异或门级联是对阵列结构的改进,把被测阵列相邻行的CLB 资源配置为异或门级联的电路,进行故障信息的传输,解决了故障信息传递的难题,这种改进型阵列测试方法由于需要有专门的CLB 来传递错误信息,因此会增加测试配置次数,测试时间也会相应增多[11];基于与门和或门级联可实现多CLB 资源多故障模型检测,与异或门级联方法类似,一行CLB 资源配置为被测,相邻行CLB 资源传输故障信息,不同的是可进行多故障检测,不会出现偶数故障单元将故障屏蔽的现象[12],其中文献[13-14]研究了阵列测试中CLB 内部资源查找表配置策略以更好地完成测试。

(2)基于内建自测试的测试方法

基于内建自测试(BIST)的方法,利用FPGA 芯片的可重复编程性,将FPGA 的CLB 资源部分配置为测试向量发生器(TPG)和测试输出响应分析器(ORA),余下部分作为被测模块(BUT),形成BIST 测试结构。测试过程中TPG 部分产生测试所需的测试图形,并施加给BUT,ORA 对BUT 的输出结果进行分析, 进而测试出故障。BIST 又分为测试FPGA 不工作状态下的离线测试[15-21]和工作状态下的在线测试[22-26]。

离线BIST 测试中, 测试须在被测电路退出原先工作状态下进行,可用于工厂制造测试,但不能测试实时故障;在对部分电路测试完成后,需要重新配置测试电路,从而对剩余部分电路进行测试,因此需要较多的配置次数,需要的配置时间也就增多了;离线测试实现也比较简单,通常测试生成和测试响应的压缩都采用一定形式的线性反馈移位寄存器。

在线BIST 测试包括并发和非并发, 并发测试与电路的正常操作同时进行,非并发测试在电路的空闲状态下进行; 在电路正常工作或空闲状态下, 在线BIST 测试需要实现电路的测试切换, 实现难度较大,但耗时相对于离线BIST 测试较低, 且能测试动态实时故障,有效性较高。

离线BIST 测试中,文献[15-16]提出阵列测试与BIST 结合实现流动测试, 将FPGA 的CLB 阵列配置为3 种电路:测试向量发生器、测试输出响应分析器和被测模块,形成BIST 测试结构。 每次测试结束,测试向量发生器和响应分析器进行角色互换,从而完成整个阵列的测试,达到减少配置次数的效果。 文献[17]在此基础上对BIST 配置数量所需的FPGA 逻辑资源进行了分析。 文献[18]使用相同的测试结构测试CLB 资源,并考虑了CLB 内部逻辑,如查找表、多路复用器等,且实现了相应配置的完备测试。 文献[19]提出了一种基于联合测试工作组(JTAG)的内建自测试方法,同样使用了上述测试结构, 通过JTAG 边界扫描控制器控制BIST 的整个流程,实现多个故障CLB 的测试与定位, 并使用片内DSP 资源作为测试向量生成器,减少了测试的资源消耗。文献[20]中结合了BIST 结构和表决器结构,使用4 位计数器和异或门分别构成BIST结构的TPG 和ORA, 对LUT 进行穷举测试;CLB 中的4 个LUT 在测试时,3 个LUT 作为黄金LUT,1 个作为被测对象, 通过对黄金LUT 和被测LUT 的输出分析,可以检测并定位每个CLB 查找表的任何单一固定故障。 文献[21]使用BIST 方法,实现了对CLB 内部进位链的测试, 文中使用有效的测试向量策略对FPGA 内部所有的进位链进行了级联测试, 防止了随机测试或穷举测试带来的测试向量重复覆盖问题。

在线BIST 测试中,文献[22-25]使用了漫游BIST行或列以便实现在线测试,将整个FPGA 分为测试区和工作区,将测试区内的CLB 资源配置为BIST 结构进行测试, 测试区的测试完成后切换到下一个位置,直到覆盖整个FPGA 的CLB 资源。 文献[26]提出在一种保留SRAM 单元初始值的情况下,在FPGA 空闲状态或是FPGA 正常工作状态中断时进行CLB 中SRAM 单元和多路复用器的在线非并发故障检测方法。

3.1.2 IR 测试

(1)非内建自测试

FPGA 内部的IR 资源非常丰富,可编程开关矩阵的存在使得所有的互连线可以灵活地转接。 非内建自测试方法中,大多借助外部生成的测试向量对IR 资源进行测试,所以大多文献在于研究如何配置IR 资源的测试结构以及相应的测试生成策略,以实现最少的配置次数和测试时间,达到最高的故障覆盖率;而IR 资源故障列表的覆盖完全与否取决于外部生成的测试向量,因而非内建自测试的有效性一般。文献[27-30]中讨论了开关矩阵的测试配置方法,实现了以最少的测试配置次数测试相应的故障模型。 文献[31]中提出通过创建反馈移位寄存器结构减少开关矩阵的测试配置数量从而加速互连测试的方法。 文献[32]利用故障映射方法将FPGA 的互连资源故障映射到LUT 的输出上,间接地测试和定位互连资源故障。 文献[33]提出了一种基于JTAG 的局部重配置技术对IR 进行故障诊断, 实现在较短的配置时间内达到100%互连故障覆盖率。 文献[34] 使用了测试CLB 阵列的方式,将CLB 配置为输入等于输出的形式, 从而级联整个阵列,最终实现测试CLB 之间互连线的目的。 文献[35]介绍了改进的福特-富尔克森算法在IR 测试中的应用,该算法将IR 结构模型转化为流网络,并将图论应用于IR 流网络,相较于以前的方法,改进的算法在时间复杂度上降低为原来的1/8。 文献[36]提出一种基于可满足性模理论(SMT)的应用无关测试场景的互连测试配置生成策略,针对由互连中的开路和短路故障组成的目标故障列表,实现了不降低故障覆盖率的情况下最小化配置数量。

(2)内建自测试

由于内部IR 资源的丰富,对内建自测试的研究不仅在于如何生成有效的测试向量从而覆盖IR 资源的故障列表,还致力于对故障的精准定位。 文献[37]对FPGA 内可编程路由网络进行了BIST 测试,检测线网资源中的开路与短路,以及影响配置FPGA 互连的可编程开关的故障。 文献[38]提出利用差错控制编码测试互连的BIST 方法, 使用6 种测试配置即可达到高故障覆盖率。 文献[39]使用基于在线BIST 的流动测试, 进行IR 资源故障的高分辨率测试和诊断。 文献[40] 中使用BIST 实现对经典开路短路故障以及桥接故障的100%故障覆盖,并提供了故障定位信息。 文献[41]中提出新的测试配置自动生成技术,使用8 种测试配置可实现布线通道以及可编程开关中的开路和桥接故障的100%覆盖。 文献[42]提出一种新的BIST结构, 基于自启用的TPG 与增强的自配置开关矩阵,实现尽可能少的片外配置比特流下载,完成对路由资源的充分测试。 相较于非内建自测试,内建自测试研究的复杂性较高,但其测试结构是在内部逻辑资源上实现,相比于非内建自测试的外部测试设备,其开销代价较低。

3.1.3 硬核模块资源测试

(1)存储器测试

存储器用于保存配置信息、 系统操作数据等,是FPGA 功能实现的重要部件。 应用无关嵌入式存储器测试也叫离线存储器测试,方法主要有3 种:存储器直接存取测试、 宏测试以及嵌入式存储器内建自测试(MBIST)。 直接存取测试可以通过封装引脚对嵌入式存储器进行测试,但由于外围管脚资源的限制,测试大容量的嵌入式存储器基本不现实。 宏测试借助在FPGA 上实现的中央处理器(CPU) 对存储器进行测试,在CPU 中将外部输入的测试指令转换为嵌入式存储器的测试向量,然后通过芯片内部的数据路径施加测试,该方法适合于性能较高的嵌入式存储器,但依赖于CPU 的存在。 MBIST 结构主要由地址发生器、数据发生器以及比较器构成, 能够实现多种测试算法,对存储器的存储单元进行不同顺序的读取和写入测试,实现难度主要在于算法的研究;相应的开销与内建自测试相同,同样是在内部资源上实现对应的测试结构; 该方法能测试存储单元中的各种故障类型,测试的有效性很高。 MBIST 由于其能够实现高效、低成本的测试,逐渐成为了存储器测试的主流方案。 文献[43-46]中提出了几种MBIST 算法,其中March 算法使用最为广泛,主要针对存储器中的经典故障,如固定0/1 故障、地址译码故障和瞬时故障,但在存储器中的读取故障检测方面工作还很有限。 文献[47]中采用优化的March C 算法,将经典故障与读取故障同步处理, 借助BIST 技术对FPGA 嵌入式存储器进行了内存故障检测,相比之前的方案缩短了约一半的测试时间。 在文献[48]中介绍了在基于有限状态机(FSM)的BIST 控制器中应用不同测试算法的灵活性。 文献[49]设计了能够在测试要求的低面积消耗下检测存储器中所有故障的基于FSM 的内建自测试。 文献[50]提出了一个有效的内存测试设计,采用周期边界元胞自动机(PBCA)结构实现March 算法,能够在测试逻辑有缺陷的情况下,也能对存储器中的故障给出正确的判断, 其缺点是当存储器没有故障且测试逻辑固定为1时,无法给出正确的判断。

(2)其他资源测试

除了重要的可编程资源以及存储器等资源外,FPGA 内部的硬核模块资源也需要进行相应的故障检测。 文献[51]提出了基于单元故障模型和重复模式确定有效测试机的软件仿真方法,可为不同位宽的乘法器BIST 测试提供简便的测试集生成, 从而以较少的测试配置实现较高的故障覆盖率。 文献[52]中使用了BIST 技术,为DCM 产生的2 个不同时钟设计了2 个计数器,实现了DCM 输出时钟的微小误差检测。

3.1.4 多资源测试

前面的研究大多是针对单独的功能模块进行的测试,而FPGA 内资源众多,需要对内部资源进行整体完备性检测,所以必须要考虑到内部不同资源的结构特点与故障类型,分治法在进行多资源测试中使用较多。 文献[53]中对CLB、IR 以及IOB 资源进行了测试研究,并搭建了软硬件协同仿真测试平台;在文献[54-56] 中使用分治法分别对FPGA 内部资源CLB、IR、RAM 等不同的资源提出了不同的故障模型, 并依据故障模型生成特定的测试配置和测试向量,对各功能模块采用构建“ 一维阵列”进行测试;文献[57]提出了基于BIST 的多资源联合测试方法, 可对互联资源和可编程资源同时进行测试;在文献[58-59]中介绍并实现ATE 测试FPGA 内部CLB、IR、IOB 等逻辑资源。

3.1.5 延迟测试

随着FPGA 内密度越来越大、功能越来越多的时钟策略的存在, 延迟故障对FPGA 具有重要的影响。应用无关延迟主要存在于CLB 内部逻辑电路与互联资源中,文献[60]中针对路由和逻辑资源中的延迟故障, 将FPGA 配置成若干个输入的迭代逻辑阵列,使用振荡器环路测试方法进行延迟检测。 文献[61]中提出测试延迟故障的BIST 方案,通过触发器将LUT 输出链接到下一个LUT 的输入,以此来链接所有逻辑单元, 以便测试对称FPGA 逻辑架构中所有的延迟故障。 文献[62]中,为在2 个逻辑块之间传播的信号创建竞争条件,在被测路径开始时同时产生的信号转换会在被测路径结束时同时生成, 从而完成2 个逻辑块间的互连或路径延迟故障测试。 文献[63] 提出了测试LUT 中的延迟故障方案, 被测的LUT 链通过LUT 和触发器交替形成,再结合BIST 结构能够在LUT 输出上检测到最小延迟故障,从而完成FPGA 内所有LUT中的延迟故障测试。

3.2 应用相关测试

应用相关型测试是从使用者的角度来测试FPGA芯片,国内FPGA 技术发展时间不长,FPGA 主要技术及专利处于国外垄断状态,使用的FPGA 器件都依靠进口, 应用相关测试是保证FPGA 可靠性的最后防线。 应用相关测试不同于应用无关测试去完备地测试FPGA 内部所有资源, 而是测试设计中所使用到的逻辑资源、IR 资源、存储器以及设计中的路径延迟。

3.2.1 逻辑资源

在文献[64-65]中提出一种将配置所使用到的逻辑资源和IR 资源分开测试的应用相关测试策略,能够实现任意设计所使用到的IR 资源和逻辑资源测试,缺点是配置次数较多,且会改变原有设计的结构。 文献[66]针对上述方法会改变原有设计的问题进行了优化,通过使用冗余的互连资源和逻辑资源,对待测的资源进行最优化测试路径配置,实现测试配置与应用配置的共存。文献[67]介绍了使用双模冗余和BIST 的测试结构, 可实现映射电路的在线并发检测以及重构自修复。

3.2.2 IR

文献[68]提出通过修改设计中使用的逻辑块的配置以实现单项功能,用于测试在FPGA 中实现的任意设计的互连中所有的可能故障。 文献[69]提出的一种基于应用测试的配置生成算法,能大幅度减少互连测试配置的数量。 文献[70]提出使用配置文件回读方法,根据配置文件的格式对回读回来的配置文件进行解析, 并与之前下载到FPGA 的配置文件进行比对,实现IR 的故障检测与定位。 文献[71]中基于可满足性模理论的约束和沃尔什码(Wlash)来生成测试配置,实现了对IR 故障测试的最小数量测试配置, 在此基础上,文献[72]使用布尔可满足性(SAT)设计了适当的约束对IR 资源中的固定故障、不同类型的显性桥接故障和反馈桥接故障进行了测试研究,最终实现了最少数量的测试配置和上述故障100%的覆盖, 且该方法与技术无关,能适用于FPGA 中新出现的架构。

3.2.3 存储器

应用相关的存储器测试即为在线测试,存储器在线测试研究是近十几年开始的, 研究成果相对较少,文献[73]基于时间冗余,提出使用系统写入数据作为测试数据的测试方案,利用每次存储器写操作之后到下一次读/写操作之间的空余时间对该存储空间进行测试;文献[74-75]基于信息冗余,提出使用纠错码进行存储器在线测试,实现存储器可靠性的有效提高。

3.2.4 延迟

在文献[76]中描述了基于BIST 的FSM 设计延时测试方法,并给出了时间消耗的计算方法。 文献[77]中提出将设计电路中所有路径按一定特征分组,选取同一组中全部路径利用BIST 电路进行延迟测试。 文献[78]提出一种新的延迟故障测试技术,通过一种算法将映射设计划分为顺序无环路子电路,并使用基于线性时间复杂度的算法调度互联点的转换周期进行序列测试向量的生成, 保证设计中所有路径的100%稳健路径延迟覆盖和100%的过度故障覆盖。 文献[79]面向应用的延迟故障测试方法中,将电路的关键路径按逻辑级数进行排序,标记终端寄存器,并以之为根节点创建测试二叉树,使用BIST 测试延迟,直至覆盖所有关键路径。

从上述研究内容可以看出,应用相关测试的方法大多基于冗余或基于配置文件回读。

基于冗余的方法分为基于硬件冗余、基于时间冗余和基于信息冗余等,基于硬件冗余是以牺牲面积为代价, 通过对部分被测电路的复制来提高测试的效率,实现起来较为简单;而基于时间冗余是将执行时间延长或差时采样,减少了大量的面积消耗,但是只能检测瞬态故障,对资源的永久故障无效;基于信息冗余主要是利用奇偶校验码或汉明码等纠错码进行测试,多用于存储器在线测试,缺点是需要引入额外的面积开销,且新增的冗余存储空间同样存在可靠性问题。

基于配置文件回读方法的实现是建立在硬件FPGA 支持动态写入和读出配置数据上, 该方法要求对配置数据的可操作性要非常灵活,可以在系统正常运行的情况下进行故障检测以及后续的恢复操作。 基于配置文件回读的整个过程不需要外部测试电路的协助,硬件开销较小,但将读回的配置文件与之前下载到FPGA 芯片的配置文件进行比较检测时,时间开销可能会稍多。

4 分析与讨论

通过对以上FPGA 的测试进行研究,总结出相应主流测试方法的相关参数对比分析,结果如表1 所示。

从表1 可以看出,3 种应用无关测试中CLB 测试方法的覆盖范围和可扩展性都是比较高的。 其中,阵列测试方法复杂度中等,但需借助价格高昂的ATE 设备,因而开销较高而有效性中等。 在线BIST 测试方法需在系统空闲或正常工作时实现测试,虽然复杂度较高,但开销较小,因为其能实现动态故障的检测,具有较高的有效性。 离线BIST 测试方法的复杂度较小,因为需多次下载配置文件,耗时较长,其开销和有效性均为一般。测试IR 的2 种方法的覆盖范围和可扩展性也均较高。 非BIST 测试方法的开销代价较高,而其复杂度和有效性均为中等;BIST 测试方法的开销中等,其复杂度和有效性较高。 测试存储器时,MBIST 方法基于各种算法实现,复杂度较高且有效性较高,覆盖范围和可扩展性也是较高的。

表1 FPGA 检测方法对比分析

应用无关测试基本上可归纳为基于冗余和配置文件回读2 种方法,其中,基于冗余的方法复杂度低且有效性高,但覆盖范围和可扩展性都较低;而基于配置文件回读的方法复杂性高,有效性中等,但其覆盖范围较高且开销中等。

在SRAM 型的FPGA 测试中,无论是应用无关测试或是应用相关测试都包含测试矢量生成与施加,以及测试响应分析的步骤,早期的主流方法为基于ATE的测试方法,通过编程将FPGA 内部资源与FPGA 输入/输出口连接,借助外部ATE 设备对FPGA 芯片输入测试向量和对测试响应进行分析从而检测故障。 但随着FPGA 的制造工艺提高与逻辑复杂度提升,而封装I/O 端口数量有限,利用ATE 对FPGA 测试难度越来越大,因此FPGA 的测试研究热点转向BIST。 基于BIST 的FPGA 测试不但具备较小的硬件花销而且还能在线全速测试。 随着FPGA 内嵌模块数量的增加,BIST 测试大多将各种模块分开、分步测试。 测试其中一部分时,需假设另一部分无故障,较少将FPGA 内部资源作为一个整体同时进行测试。 这种测试方式虽然对FPGA 内部的资源测试较为充分,故障覆盖率也较高,但测试的编程次数较多,测试时间开销大。 随着FPGA 重构技术的发展, 可以将重构技术应用到FPGA 测试中, 在测试时对测试模块区域采用部分重构技术,减少测试时间,而且若通过重构技术对检测到的故障电路进行隔离处理,将可以实现FPGA 的容错。 FPGA 测试方法本身的研究将侧重于较为通用的测试方案,实现测试集的精简、测试次数的减少、故障率的提高以及低功耗的测试。

5 结论

从上世纪FPGA 发明以来,多年的工艺与技术发展促成了如今FPGA 的广泛应用。 FPGA 的可靠性问题也逐渐受到重视,面向FPGA 测试的研究也不断得到发展。 从早期基于ATE 的测试集成, 到如今基于BIST 的结构测试以及FPGA 重构技术的参与等,都致力于对FPGA 内部资源的故障进行完备性测试,从而对FPGA 的可靠性进行有效的评估。 毫无疑问,FPGA的测试研究成为了FPGA 研发、生产、使用的一个重要组成部分, 对FPGA 测试进行研究具有重大的意义。 对FPGA 测试的研究不会止步于简单的测试,在这之后配合重构结构实现高效的在线测试会是研究的重要方向之一;完成测试之后如何恢复系统的正常工作,即容错设计,也将是FPGA 测试发展的重要领域。此外,FPGA 的测试方法也可以与硬件安全设计相结合,为高可靠性的基于FPGA 的系统设计提供更高效的解决方案。

猜你喜欢
配置文件存储器测试方法
基于泊松对相关的伪随机数发生器的统计测试方法
静态随机存储器在轨自检算法
互不干涉混用Chromium Edge
基于云计算的软件自动化测试方法
DLD-100C型雷达测试方法和应用
基于Zookeeper的配置管理中心设计与实现
忘记ESXi主机root密码怎么办
为View桌面准备父虚拟机
对改良的三种最小抑菌浓度测试方法的探讨
存储器——安格尔(墨西哥)▲