CN109947608A - 一种fpga加法树单粒子翻转故障检测方法及装置 - Google Patents

一种fpga加法树单粒子翻转故障检测方法及装置 Download PDF

Info

Publication number
CN109947608A
CN109947608A CN201910166844.6A CN201910166844A CN109947608A CN 109947608 A CN109947608 A CN 109947608A CN 201910166844 A CN201910166844 A CN 201910166844A CN 109947608 A CN109947608 A CN 109947608A
Authority
CN
China
Prior art keywords
adder
layer
add tree
traversal
input
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
Application number
CN201910166844.6A
Other languages
English (en)
Other versions
CN109947608B (zh
Inventor
汪玉
葛广君
郭开元
李文硕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201910166844.6A priority Critical patent/CN109947608B/zh
Publication of CN109947608A publication Critical patent/CN109947608A/zh
Application granted granted Critical
Publication of CN109947608B publication Critical patent/CN109947608B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种FPGA加法树单粒子翻转故障检测方法及装置,该方法包括:S1:定义加法树中最下层的二输入加法器为第1层加法器,比最下层高一层的为第2层加法器,直到最高层为第k层加法器;S2:针对第i层的加法器,对每个加法器进行各自二输入空间的遍历,并在加法树的最终输出端校验所有加法器二输入累加的结果;S3:根据加法树的遍历校验结果进行判决;S4:在第i层加法器通过遍历校验后,将第i层每个加法器的一个输入设为固定值,动态调整另一个输入,使两个输入的和遍历第i+1层加法器的输入空间,且令i=i+1并继续执行S2。该方法采用分层检测算法可在多项式复杂度的检测循环内将检测完成,降低检测时延和检测功耗。

Description

一种FPGA加法树单粒子翻转故障检测方法及装置
技术领域
本发明涉及电路可靠性设计技术领域,特别涉及一种FPGA加法树单粒子翻转故障检测方法及装置。
背景技术
现场可编程门阵列(Field Programmable Gate Array,FPGA)为一类大规模集成电路芯片,采用硬件描述语言进行编程,可实现各类复杂的数字逻辑。相比于冯诺依曼结构的中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics ProcessingUnit,GPU)等通用处理器,FPGA具有效率高、速度快的优点;而相比于专用的特定用途集成电路(Application Specific Integrated Circuit,ASIC),FPGA具有开发难度小、开发周期短的优势,因而广泛应用于通信、自动控制和数据处理等领域。尤其是近年来,随着深度卷积神经网络(Deep Convolutional Neural Network,DCNN)的高速发展,基于FPGA的CNN(Convolutional Neural Network,卷积神经网络)加速器成为了边缘计算场景下的一种重要解决方案,其算法性能在与GPU服务器相当的情况下,功耗可降低至GPU服务器的十分之一。
卫星、飞船等空间应用平台即是一种典型的边缘计算场景,而在空间辐照效应影响下,FPGA等电子器件易发生单粒子翻转(Single Event Upset,SEU)效应,即寄存器在高能粒子的撞击下产生逻辑翻转,一般为软错误,寄存器刷新错误即可排除。一般来讲,FPGA中的存储结构特别容易受到SEU的影响,产生数据错误,进而可能导致系统运行故障。出于可靠性的要求,特别针对星载FPGA系统,需要考虑对SEU效应进行针对性设计。
加法树是FPGA中一种最常见的计算单元,其结构如图1所示,通过多层级联的方式将二输入加法器组成树状结构,完成N个数值的累加运算。该计算单元在各类算法中都有广泛的应用,尤其在需要进行大量并行卷积运算的CNN加速器中,需要消耗大量的计算逻辑资源搭建加法树阵列。
而在FPGA中,计算逻辑资源的主要构成为查找表(Look-up Table,LUT),LUT的结构如图2所示,其实质是一块1比特数据位宽、M比特地址位宽的小规模存储器,将存储器地址线作为逻辑运算输入,将从存储器中读出数据作为逻辑运算输出。这样一个LUT通过预先编译并存储整个计算真值表,即可实现一组M输入的组合逻辑,进而再由多个组合逻辑搭建更为复杂的计算电路。
FPGA中的加法树便是由大量的LUT结构搭建而成。考虑到LUT是一类存储器,容易受到SEU的影响,并且LUT的存储值只在FPGA程序加载时进行配置,正常工作状态下不会刷新。因此若加法树中的LUT中发生SEU,会产生持续性影响,直接导致加法树功能失效,将严重影响系统功能。因此,需要对加法树中LUT的SEU错误进行及时的检错定位,通过重新配置等手段排除SEU影响,保障系统长期稳定运行。
相关方案包括:一种是对加法树进行完整备份,通过实时对比三个相同输入的加法树输出结果一致性,即可对存在计算错误的加法树进行定位。另一种检错方案是将加法树空载,然后采用输入预定序列而对输出序列进行校验的自检模式。
现有相关方案对加法树中LUT的SEU进行检错定位的难度较高。第一种现有检错方案是对加法树进行完整备份,通过实时对比三个相同输入的加法树输出结果一致性来实现。然而考虑到加法树阵列往往本身已经消耗大量的FPGA资源,采用完整硬件备份冗余的方式进行结果校验并不现实。另一种现有的检错方案是输入预定序列而对输出序列进行校验的自检模式。而对于这类自检模式,如图2所示,由于LUT中存储的是完整的输出真值表,若SEU发生在其中一个输出上,则只有在触发对应的输入组合时,该错误才能被检出。因此我们要排除加法树中LUT的SEU效应,需要遍历所有的输入空间,这大大增加了检错的时间复杂度。以图1所示的N输入加法树为例,假设每个输入的范围为0至A-1共A种可能的取值,则要验证加法树的功能无异常,需要遍历N输入的整个输入空间,即需要进行A的N次方个周期的加法树运算,将造成极大的自检时延和计算功耗。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种FPGA加法树单粒子翻转故障检测方法,该方法可以将加法树中的查找表发生的单粒子翻转事件检测出来,避免由其产生的计算差错造成系统的整体失效等严重后果,采用分层检测算法可在多项式复杂度的检测循环内将检测完成,降低了检测时延和检测功耗。
本发明的另一个目的在于提出一种FPGA加法树单粒子翻转故障检测装置。
为达到上述目的,本发明一方面实施例提出了一种FPGA加法树单粒子翻转故障检测方法,包括:步骤S1:定义加法树中最下层的二输入加法器为第1层加法器,比所述加法器中最下层高一层的为第2层加法器,以此类推,直到最高层为第k层加法器;步骤S2:针对第i层的加法器,对每个加法器进行各自二输入空间的遍历,并在所述加法树的最终输出端校验所有加法器二输入累加的结果,其中,i为小于等于k的正整数;步骤S3:根据所述加法树的遍历校验结果进行判决;步骤S4:在所述第i层加法器通过遍历校验后,将第i层每个加法器其中一个输入设为固定值,且动态调整另一个输入,使得两个输入的和遍历第i+1层加法器的输入空间,且令i=i+1并继续执行所述步骤S2。
本发明实施例的一种FPGA加法树单粒子翻转故障检测方法,通过在星载计算等对可靠性要求极高的应用场景下,可以将加法树中的查找表发生的单粒子翻转事件检测出来,避免由其产生的计算差错造成系统的整体失效等严重后果,并且采用分层检测算法可在多项式复杂度的检测循环内将检测完成,降低了检测时延和检测功耗。
另外,根据本发明上述实施例的一种FPGA加法树单粒子翻转故障检测方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述步骤S1包括:对于满分支的加法树,加法树的总输入数为2^k,第i层的加法器数目为2^(k-i),初始化令i=1。
进一步地,在本发明的一个实施例中,所述步骤S3包括:
若遍历过程中出现校验未通过,则证明所述加法树的查找表中存在单粒子翻转,自检完成;
若所述遍历过程中结果全部校验通过,则:若此时i=k,则表示已经检测完加法树的最后一层,证明所述加法树的查找表不存在单粒子翻转,自检完成;若i<k,继续执行所述步骤S4。
进一步地,在本发明的一个实施例中,在所述步骤S4中,第i层加法器被屏蔽掉,而第i+1层加法器通过控制第i层的输出直接遍历第i+1层加法器的输入空间。
进一步地,在本发明的一个实施例中,每一层加法器的遍历校验次数小于等于A^2,所有k层加法器的累积校验计算次数小于等于k*A^2次,且遍历复杂度为多项式级,其中,A为加法器输入取值域内的变量个数。
为达到上述目的,本发明另一方面实施例提出了一种FPGA加法树单粒子翻转故障检测方法装置,包括:定义模块,用于定义加法树中最下层的二输入加法器为第1层加法器,比所述加法器中最下层高一层的为第2层加法器,以此类推,直到最高层为第k层加法器;遍历校验模块,用于针对第i层的加法器,对每个加法器进行各自二输入空间的遍历,并在所述加法树的最终输出端校验所有加法器二输入累加的结果,其中,i为小于等于k的正整数;判决模块,用于根据所述加法树的遍历校验结果进行判决;处理模块,用于在所述第i层加法器通过遍历校验后,将第i层每个加法器其中一个输入设为固定值,且动态调整另一个输入,使得两个输入的和遍历第i+1层加法器的输入空间,且令i=i+1并继续通过所述遍历校验模块进行校验。
本发明实施例的一种FPGA加法树单粒子翻转故障检测方法装置,通过在星载计算等对可靠性要求极高的应用场景下,可以将加法树中的查找表发生的单粒子翻转事件检测出来,避免由其产生的计算差错造成系统的整体失效等严重后果,并且采用分层检测算法可在多项式复杂度的检测循环内将检测完成,降低了检测时延和检测功耗。
另外,根据本发明上述实施例的一种FPGA加法树单粒子翻转故障检测方法装置还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述定义模块进一步用于,
对于满分支的加法树,加法树的总输入数为2^k,第i层的加法器数目为2^(k-i),初始化令i=1。
进一步地,在本发明的一个实施例中,所述判决模块具体用于,
若遍历过程中出现校验未通过,则证明所述加法树的查找表中存在单粒子翻转,自检完成;
若所述遍历过程中结果全部校验通过,则:若此时i=k,则表示已经检测完加法树的最后一层,证明所述加法树的查找表不存在单粒子翻转,自检完成;若i<k,继续通过所述处理模块进行校验。
进一步地,在本发明的一个实施例中,所述处理模块进一步用于,
第i层加法器被屏蔽掉,而第i+1层加法器通过控制第i层的输出直接遍历第i+1层加法器的输入空间。
进一步地,在本发明的一个实施例中,每一层加法器的遍历校验次数小于等于A^2,所有k层加法器的累积校验计算次数小于等于k*A^2次,且遍历复杂度为多项式级,其中,A为加法器输入取值域内的变量个数。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的FPGA中N输入加法树的结构示意图;
图2为根据本发明实施例的FPGA中LUT单元实现多数判决逻辑原理示意图;
图3为根据本发明实施例的一种FPGA加法树单粒子翻转故障检测方法流程图;
图4为根据本发明一个具体实施例的检测算法流程图;
图5为根据本发明实施例的分层自检方法的流程示意图;
图6为根据本发明实施例的赛灵思FPGA的加法器结构示意图;
图7为根据本发明实施例的一种FPGA加法树单粒子翻转故障检测装置结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的一种FPGA加法树单粒子翻转故障检测方法及装置。
首先将参照附图描述根据本发明实施例提出的一种FPGA加法树单粒子翻转故障检测方法。
图3为根据本发明实施例的一种FPGA加法树单粒子翻转故障检测方法流程图。
如图3所示,该一种FPGA加法树单粒子翻转故障检测方法包括以下步骤:
在步骤S1中,定义加法树中最下层的二输入加法器为第1层加法器,比加法器中最下层高一层的为第2层加法器,以此类推,直到最高层为第k层加法器。
进一步地,在本发明的一个实施例中,步骤S1还包括:对于满分支的加法树,加法树的总输入数为2^k,第i层的加法器数目为2^(k-i),初始化令i=1。
具体地,如图4所示,定义加法树中最下层的二输入加法器为第1层加法器,高一层的为第2层加法器,直到最高层为第k层加法器。对于满分支的加法树,易知加法树的总输入数为2^k,第i层的加法器数目为2^(k-i)。初始化令i=1。
在步骤S2中,针对第i层的加法器,对每个加法器进行各自二输入空间的遍历,并在加法树的最终输出端校验所有加法器二输入累加的结果,其中,i为小于等于k的正整数。
具体地,针对第i层的加法器,独立并行地进行每个加法器各自二输入空间的遍历(该遍历方案可针对不同FPGA厂商加法器的构成进行具体设计,以能覆盖加法树中所有查找表的输入为准),并在加法树最终输出端校验所有输入累加的结果。
在步骤S3中,根据加法树的遍历校验结果进行判决。
进一步地,在本发明的一个实施例中,步骤S3包括:
若遍历过程中出现校验未通过,则证明加法树的查找表中存在单粒子翻转,自检完成;
若遍历过程中结果全部校验通过,则:若此时i=k,则表示已经检测完加法树的最后一层,证明加法树的查找表不存在单粒子翻转,自检完成;若i<k,继续执行步骤S4。
在步骤S4中,在第i层加法器通过遍历校验后,将第i层每个加法器其中一个输入设为固定值,且动态调整另一个输入,使得两个输入的和遍历第i+1层加法器的输入空间,且令i=i+1并继续执行步骤S2。
进一步地,在本发明的一个实施例中,第i层加法器被屏蔽掉,而第i+1层加法器通过控制第i层的输出直接遍历第i+1层加法器的输入空间。
具体地,执行本步骤说明第i层加法器已经通过了遍历校验。则将第i层每个加法器其中一个输入设为固定值。动态调整另一个输入,使得两个输入的和可以遍历第i+1层加法器的输入空间。此时可等效于第i层的加法器被屏蔽掉,而第i+1层加法器可通过控制第i层的输出直接遍历其输入空间,完成本步骤的设定后,令i=i+1并继续执行步骤S2。
进一步地,在本发明的一个实施例中,每一层加法器的遍历校验次数小于等于A^2,所有k层加法器的累积校验计算次数小于等于k*A^2次,且遍历复杂度为多项式级,其中,A为加法器输入取值域内的变量个数。
具体地,本发明实施例的算法每一层加法器最大可能的遍历校验次数为A^2,所有k层累积共k*A^2次校验计算,遍历复杂度为多项式级。
下面通过一个具体实施例对本发明的一种FPGA加法树单粒子翻转故障检测方法进行详细说明。
如图5所示,以3层8输入加法树为例,设第1层为8bit输入加法器,为防止溢出其输出一般为9bit。则以此类推第2层加法器输出为10bit,第3层加法器输出为11bit。且加法器为赛灵思FPGA结构,如图6所示。
具体步骤如下:
(1)初始化令i=1,开始执行算法;
(2)对于第1层的4个两输入加法器,同步并行地遍历其内部查找表的所有输入空间。另外如图6所示,由于赛灵思加法器中的查找表只用来做异或操作,因此仅需遍历8bit异或操作的输入空间:{(00000000b,00000000b)、(00000000b,11111111b)、(11111111b,00000000b)、(11111111b,11111111b)};
(3)对加法树的输出结果进行校验,若对应的输出分别为00000000000b、11111111100b、11111111100b、11111111000b,则校验通过,执行下一步;若输出不完全匹配则校验失败,说明该加法树中的LUT中存在SEU,检错完成;
(4)第1层加法器校验完成,则将每个加法器其中一个输入固定为00000000b,另一个输入在遍历空间{00000000b、11111111b}中选择。此时第2层加法器的输入即可遍历其LUT的9bit输入空间:{(000000000b,000000000b)、(000000000b,111111111b)、(111111111b,000000000b)、(111111111b,111111111b)},等效于第1层的加法器被剪枝除去。重复第(2)-(3)步骤的算法,对第2层加法器也完成校验。
(5)重复步骤(4),同样完成第3层加法器的校验。若整个过程中都没有校验失败,说明所有加法器的LUT结构都没有发生SEU,该加法树结构检错完成。
在本实施实例中,每一层加法器进行了4次遍历校验,所有3层共12次遍历校验。
本发明的实施例对加法树进行分层遍历,通过把下层加法器的一个输入配置成固定值,而遍历另一个输入,可等效于将下层加法器剪除,如此分层迭代可将原本指数级规模的遍历空间降低为多项式规模。
根据本发明实施例提出的一种FPGA加法树单粒子翻转故障检测方法,通过在星载计算等对可靠性要求极高的应用场景下,可以将加法树中的查找表发生的单粒子翻转事件检测出来,避免由其产生的计算差错造成系统的整体失效等严重后果,并且采用分层检测算法可在多项式复杂度的检测循环内将检测完成,降低了检测时延和检测功耗。
其次参照附图描述根据本发明实施例提出的一种FPGA加法树单粒子翻转故障检测装置。
图7为根据本发明实施例的一种FPGA加法树单粒子翻转故障检测装置结构示意图。
如图7所示,该装置包括:定义模块100、遍历校验模块200、判决模块300和处理模块400。
其中,定义模块100用于定义加法树中最下层的二输入加法器为第1层加法器,比加法器中最下层高一层的为第2层加法器,以此类推,直到最高层为第k层加法器。
遍历校验模块200用于针对第i层的加法器,对每个加法器进行各自二输入空间的遍历,并在加法树的最终输出端校验所有加法器二输入累加的结果,其中,i为小于等于k的正整数。
判决模块300用于根据加法树的遍历校验结果进行判决。
处理模块400用于在第i层加法器通过遍历校验后,将第i层每个加法器其中一个输入设为固定值,且动态调整另一个输入,使得两个输入的和遍历第i+1层加法器的输入空间,且令i=i+1并继续通过遍历校验模块进行校验。
该装置10可以将加法树中的查找表发生的单粒子翻转事件检测出来,避免由其产生的计算差错造成系统的整体失效等严重后果,采用分层检测算法可在多项式复杂度的检测循环内将检测完成,降低了检测时延和检测功耗。
进一步地,在本发明的一个实施例中,定义模块进一步用于,对于满分支的加法树,加法树的总输入数为2^k,第i层的加法器数目为2^(k-i),初始化令i=1。
进一步地,在本发明的一个实施例中,判决模块具体用于,若遍历过程中出现校验未通过,则证明加法树的查找表中存在单粒子翻转,自检完成;
若遍历过程中结果全部校验通过,则:若此时i=k,则表示已经检测完加法树的最后一层,证明加法树的查找表不存在单粒子翻转,自检完成;若i<k,继续通过处理模块进行校验。
进一步地,在本发明的一个实施例中,处理模块进一步用于,第i层加法器被屏蔽掉,而第i+1层加法器通过控制第i层的输出直接遍历第i+1层加法器的输入空间。
进一步地,在本发明的一个实施例中,每一层加法器的遍历校验次数小于等于A^2,所有k层加法器的累积校验计算次数小于等于k*A^2次,且遍历复杂度为多项式级,其中,A为加法器输入取值域内的变量个数。
需要说明的是,前述对一种FPGA加法树单粒子翻转故障检测方法实施例的解释说明也适用于该实施例的装置,此处不再赘述。
根据本发明实施例提出的一种FPGA加法树单粒子翻转故障检测装置,通过在星载计算等对可靠性要求极高的应用场景下,可以将加法树中的查找表发生的单粒子翻转事件检测出来,避免由其产生的计算差错造成系统的整体失效等严重后果,并且采用分层检测算法可在多项式复杂度的检测循环内将检测完成,降低了检测时延和检测功耗。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种FPGA加法树单粒子翻转故障检测方法,其特征在于,包括以下步骤:
步骤S1:定义加法树中最下层的二输入加法器为第1层加法器,比所述加法器中最下层高一层的为第2层加法器,以此类推,直到最高层为第k层加法器;
步骤S2:针对第i层的加法器,对每个加法器进行各自二输入空间的遍历,并在所述加法树的最终输出端校验所有加法器二输入累加的结果,其中,i为小于等于k的正整数;
步骤S3:根据所述加法树的遍历校验结果进行判决;以及
步骤S4:在所述第i层加法器通过遍历校验后,将第i层每个加法器其中一个输入设为固定值,且动态调整另一个输入,使得两个输入的和遍历第i+1层加法器的输入空间,且令i=i+1并继续执行所述步骤S2。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1包括:
对于满分支的加法树,加法树的总输入数为2^k,第i层的加法器数目为2^(k-i),初始化令i=1。
3.根据权利要求1所述的方法,其特征在于,所述步骤S3包括:
若遍历过程中出现校验未通过,则证明所述加法树的查找表中存在单粒子翻转,自检完成;
若所述遍历过程中结果全部校验通过,则:若此时i=k,则表示已经检测完加法树的最后一层,证明所述加法树的查找表不存在单粒子翻转,自检完成;若i<k,继续执行所述步骤S4。
4.根据权利要求1所述的方法,其特征在于,在所述步骤S4中,第i层加法器被屏蔽掉,而第i+1层加法器通过控制第i层的输出直接遍历第i+1层加法器的输入空间。
5.根据权利要求1-4任一项所述的方法,其特征在于,每一层加法器的遍历校验次数小于等于A^2,所有k层加法器的累积校验计算次数小于等于k*A^2次,且遍历复杂度为多项式级,其中,A为加法器输入取值域内的变量个数。
6.一种FPGA加法树单粒子翻转故障检测装置,其特征在于,包括:
定义模块,用于定义加法树中最下层的二输入加法器为第1层加法器,比所述加法器中最下层高一层的为第2层加法器,以此类推,直到最高层为第k层加法器;
遍历校验模块,用于针对第i层的加法器,对每个加法器进行各自二输入空间的遍历,并在所述加法树的最终输出端校验所有加法器二输入累加的结果,其中,i为小于等于k的正整数;
判决模块,用于根据所述加法树的遍历校验结果进行判决;
处理模块,用于在所述第i层加法器通过遍历校验后,将第i层每个加法器其中一个输入设为固定值,且动态调整另一个输入,使得两个输入的和遍历第i+1层加法器的输入空间,且令i=i+1并继续通过所述遍历校验模块进行校验。
7.根据权利要求7所述的装置,其特征在于,所述定义模块进一步用于,
对于满分支的加法树,加法树的总输入数为2^k,第i层的加法器数目为2^(k-i),初始化令i=1。
8.根据权利要求6所述的装置,其特征在于,所述判决模块具体用于,
若遍历过程中出现校验未通过,则证明所述加法树的查找表中存在单粒子翻转,自检完成;
若所述遍历过程中结果全部校验通过,则:若此时i=k,则表示已经检测完加法树的最后一层,证明所述加法树的查找表不存在单粒子翻转,自检完成;若i<k,继续通过所述处理模块进行校验。
9.根据权利要求6所述的装置,其特征在于,所述处理模块进一步用于,
第i层加法器被屏蔽掉,而第i+1层加法器通过控制第i层的输出直接遍历第i+1层加法器的输入空间。
10.根据权利要求6-9任一项所述的装置,其特征在于,每一层加法器的遍历校验次数小于等于A^2,所有k层加法器的累积校验计算次数小于等于k*A^2次,且遍历复杂度为多项式级,其中,A为加法器输入取值域内的变量个数。
CN201910166844.6A 2019-03-06 2019-03-06 一种fpga加法树单粒子翻转故障检测方法及装置 Active CN109947608B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910166844.6A CN109947608B (zh) 2019-03-06 2019-03-06 一种fpga加法树单粒子翻转故障检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910166844.6A CN109947608B (zh) 2019-03-06 2019-03-06 一种fpga加法树单粒子翻转故障检测方法及装置

Publications (2)

Publication Number Publication Date
CN109947608A true CN109947608A (zh) 2019-06-28
CN109947608B CN109947608B (zh) 2020-04-24

Family

ID=67008313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910166844.6A Active CN109947608B (zh) 2019-03-06 2019-03-06 一种fpga加法树单粒子翻转故障检测方法及装置

Country Status (1)

Country Link
CN (1) CN109947608B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114924808A (zh) * 2022-05-12 2022-08-19 中国电子科技集团公司第二十九研究所 一种基于双份存储程序的sram型fpga在轨可靠加载方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7249010B1 (en) * 2003-04-03 2007-07-24 Xilinx, Inc. Methods of estimating susceptibility to single event upsets for a design implemented in an FPGA
CN102879730A (zh) * 2012-09-21 2013-01-16 中国空间技术研究院 部分三模冗余sram型fpga的单粒子翻转特性的测试方法
CN109065087A (zh) * 2018-08-15 2018-12-21 孙雷 一种检测fpga的时钟资源单粒子动态翻转的装置及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7249010B1 (en) * 2003-04-03 2007-07-24 Xilinx, Inc. Methods of estimating susceptibility to single event upsets for a design implemented in an FPGA
CN102879730A (zh) * 2012-09-21 2013-01-16 中国空间技术研究院 部分三模冗余sram型fpga的单粒子翻转特性的测试方法
CN109065087A (zh) * 2018-08-15 2018-12-21 孙雷 一种检测fpga的时钟资源单粒子动态翻转的装置及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114924808A (zh) * 2022-05-12 2022-08-19 中国电子科技集团公司第二十九研究所 一种基于双份存储程序的sram型fpga在轨可靠加载方法

Also Published As

Publication number Publication date
CN109947608B (zh) 2020-04-24

Similar Documents

Publication Publication Date Title
CN109359731A (zh) 一种基于芯片设计缺陷的神经网络处理方法及装置
US20100229061A1 (en) Cell-Aware Fault Model Creation And Pattern Generation
US20220365853A1 (en) Fault detection in neural networks
US11567126B2 (en) Methods and systems for fault injection testing of an integrated circuit hardware design
KR102448018B1 (ko) 메모리를 테스트하는 방법, 장치, 전자 기기, 저장 매체 및 프로그램
Di Carlo et al. A fault injection methodology and infrastructure for fast single event upsets emulation on Xilinx SRAM-based FPGAs
Bauer et al. Test strategies for reliable runtime reconfigurable architectures
Givaki et al. On the resilience of deep learning for reduced-voltage FPGAs
He et al. A hierarchical scrubbing technique for SEU mitigation on SRAM-based FPGAs
Di Carlo et al. A novel methodology to increase fault tolerance in autonomous FPGA-based systems
CN109947608A (zh) 一种fpga加法树单粒子翻转故障检测方法及装置
US9404972B2 (en) Diagnosis and debug with truncated simulation
Eggersglüß et al. Robust algorithms for high quality test pattern generation using Boolean satisfiability
Zamani et al. Online missing/repeated gate faults detection in reversible circuits
Bolchini et al. Designing self-checking FPGAs through error detection codes
Sharma et al. Self-healing reconfigurable logic using autonomous group testing
Taher et al. A machine learning based hard fault recuperation model for approximate hardware accelerators
US20230005562A1 (en) Scan chain compression for testing memory of a system on a chip
US20220269846A1 (en) Structural analysis for determining fault types in safety related logic
Zhang et al. Simulation and satisfiability in logic synthesis
Hahanov et al. Algebra-logical method for SoC embedded memory repair
Hahanov et al. Diagnosis and repair method of SoC memory
US11527298B1 (en) On-chip memory diagnostics
Sontakke et al. Memory built-in self-repair and correction for improving yield: a review
Karami et al. Hierarchical fault simulation of deep neural networks on multi-core systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant