CN109948788B - 基于fpga的神经网络加速器 - Google Patents

基于fpga的神经网络加速器 Download PDF

Info

Publication number
CN109948788B
CN109948788B CN201910170542.6A CN201910170542A CN109948788B CN 109948788 B CN109948788 B CN 109948788B CN 201910170542 A CN201910170542 A CN 201910170542A CN 109948788 B CN109948788 B CN 109948788B
Authority
CN
China
Prior art keywords
sequence
neural network
computing unit
unit array
network accelerator
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.)
Active
Application number
CN201910170542.6A
Other languages
English (en)
Other versions
CN109948788A (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 CN201910170542.6A priority Critical patent/CN109948788B/zh
Publication of CN109948788A publication Critical patent/CN109948788A/zh
Application granted granted Critical
Publication of CN109948788B publication Critical patent/CN109948788B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Microcomputers (AREA)

Abstract

本发明提出一种基于FPGA的神经网络加速器,其中,神经网络加速器包括:计算单元阵列,用于根据预设的并行度,对输入序列进行运算处理,得到输出序列;自检模块,用于获取计算单元阵列的工作模式,当工作模式为空转周期时,对计算单元阵列进行自检校验,以及当工作模式为工作周期时,对输出序列进行纠错处理。该方法能够以较低的硬件代价实现减轻甚至排除硬件故障对神经网络加速器的影响,提高硬件故障的容错能力。

Description

基于FPGA的神经网络加速器
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于FPGA的神经网络加速器。
背景技术
神经网络是一种人工智能机器学习技术,被广泛应用于语音处理、图像识别等领域中。然而,基于神经网络的算法往往存在存储资源消耗大、计算复杂度高的问题,因此,一般只能部署在大规模的图像处理单元GPU板卡服务器上,而难以在硬件资源、功耗等受限的边缘计算场景中进行应用,适用性不高。
为了实现深度学习算法在智能终端,例如手机、汽车、无人机、机器人等的部署,基于现场可编程门阵列FPGA器件设计的神经网络加速器成为一种理想的解决方案。并且,卫星、火箭和飞船等航天飞行器是一种特殊的边缘计算场景,相关应用包括遥感图像在轨处理、高速目标实时跟踪等,基于FPGA的神经网络加速器在航天领域有广阔应用前景。然而,在空间高能辐照环境中,电子器件将面临单粒子翻转效应等硬件故障的考验,设计具备硬件故障容错能力的神经网络加速器,将极大的拓展神经网络算法的应用范围,提升航天器的智能处理能力。
现有技术中,通过硬件冗余备份,例如三模冗余、双机备份等,对电路单元、功能模块甚至整个单机进行冗余备份,在输出端进行多数判决,进而排除硬件故障的影响。
这种方式下,需要占用额外的甚至成倍的电路硬件资源,代价较高。同时,由于并未考虑神经网络算法自身的容错能力,以及未对神经网络加速器的硬件构成进行敏感度区分,因此,将浪费一定的资源用来保护类似存储器等非关键模块,硬件故障加固的针对性不强,效率较低。
发明内容
本发明提出一种基于FPGA的神经网络加速器,以实现减轻甚至排除硬件故障对神经网络加速器的影响,提高硬件故障的容错能力。并且,在硬件代价方面,仅增加了复杂度较低的自检模块,硬件代价较低。
本发明第一方面实施例提出了一种基于FPGA的神经网络加速器,包括:
计算单元阵列,用于根据预设的并行度,对输入序列进行运算处理,得到输出序列;
自检模块,用于获取所述计算单元阵列的工作模式,当所述工作模式为空转周期时,对所述计算单元阵列进行自检校验,以及当所述工作模式为工作周期时,对所述输出序列进行纠错处理。
本发明实施例的基于FPGA的神经网络加速器,通过自检模块获取计算单元阵列的工作模式,当工作模式为空转周期时,对计算单元阵列进行自检校验,以及当工作模式为工作周期时,对计算单元阵列运算得到的输出序列进行纠错处理。由此,可以减轻甚至排除硬件故障对神经网络加速器的影响,提高硬件故障的容错能力。并且,在硬件代价方面,仅增加了复杂度较低的自检模块,硬件代价较低。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为现有的基于FPGA的神经网络加速器的结构示意图;
图2为随机注错实验结果示意图;
图3为本发明实施例一所提供的基于FPGA的神经网络加速器的结构示意图;
图4为本申请实施例二所提供的基于FPGA的神经网络加速器的结构示意图;
图5为本申请实施例三所提供的自检模块的结构示意图;
图6为本申请实施例四所提供的基于FPGA的神经网络加速器的结构示意图;
图7为本申请实施例的自检校验和纠错处理过程示意图;
图8为神经网络性能修正结果示意图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
与其他处理器相比,FPGA具备计算并行度高、设计灵活、功耗低等优势,并可对神经网络网络进行针对性的优化设计,因此,基于FPGA器件设计的神经网络加速器可以实现深度学习算法在智能终端,例如手机、汽车、无人机、机器人等的部署。目前,基于FPGA的神经网络加速器,其算法性能已经达到与GPU服务器相当,而功耗一般不到GPU服务器的十分之一。
其中,基于FPGA的神经网络加速器的结构可以如图1所示,神经网络加速器主要包括片外存储器、片内存储器、数据连接线和计算单元PE阵列。其中,片外存储器,用于保存神经网络运算所需要的所有网络参数;片内存储器,用于缓存当前PE阵列所涉及到的网络参数;PE阵列,用于以一定的并行度对这些网络参数进行处理;数据连线,用于进行相关参数地址和通道的匹配。
上述电路结构中,数据连接线主要为组合逻辑电路进行参数地址和通道的匹配,而对SEU等硬件故障并不敏感,一般只考虑存储器和PE阵列中的单点故障。其中,存储器的单点故障可能引发单个参数数值的错误,而PE阵列是以一定并行度对数据进行处理,其单点故障可能引发一定比例的参数计算错误。
申请人采用随机注错实验,比较存储器和PE阵列单点故障对神经网络性能的影响,相关实验结果如图2所示。图2中,横坐标表示实验序号,为随机选择故障位置的不同次实验的结果,纵坐标表示神经网络的性能,由于选取了分类任务作为实验对象,故此处为分类准确率。
图2中,“PE阵列”表示对PE阵列进行单点故障注入的实验结果,“wei存储”表示对存储神经网络的网络参数weight的存储器进行故障注入的实验结果,“fea存储”表示对存储神经网络的网络参数feature map的存储器进行故障注入的实验结果。由图2可知,硬件单点故障对神经网络性能的影响是不同的,存储器发生单点故障仅影响单个参数,对最终神经网络的性能几乎没有影响,而若具备一定并行度的PE阵列发生单点故障,则会显著影响神经网络的实际性能。
现有技术中,通过硬件冗余备份,来实现对硬件故障进行加固。例如,三模冗余、双机备份等,对电路单元、功能模块甚至整个单机进行冗余备份,在输出端进行多数判决,进而排除硬件故障的影响。
这种方式下,需要占用额外的甚至成倍的电路硬件资源,代价较高。同时,由于并未考虑神经网络算法自身的容错能力,以及未对神经网络加速器的硬件构成进行敏感度区分,因此,将浪费一定的资源用来保护类似存储器等非关键模块,硬件故障加固的针对性不强,效率较低。
本发明主要针对现有技术中通过硬件冗余备份,来实现对硬件故障进行加固,需要占用额外的甚至成倍的电路硬件资源,代价较高的技术问题,提出一种基于FPGA的神经网络加速器。
本发明实施例的基于FPGA的神经网络加速器,通过在现有技术中的神经网络加速器基础上,增加一个自检模块,由自检模块对神经网络加速器的PE阵列进行定期故障自检,并根据PE阵列的故障图案,结合神经网络算法特点,进行纠错处理,减轻甚至排除硬件故障对神经网络加速器的影响,提高硬件故障的容错能力。并且,在硬件代价方面,仅增加了复杂度较低的自检模块,可以降低电路硬件资源的占用,以及降低硬件复杂度。
下面参考附图描述本发明实施例的基于FPGA的神经网络加速器。
图3为本发明实施例一所提供的基于FPGA的神经网络加速器的结构示意图。
如图3所示,该基于FPGA的神经网络加速器可以包括:计算单元阵列100和自检模块200。
其中,计算单元阵列100,用于根据预设的并行度,对输入序列进行运算处理,得到输出序列。
本发明实施例中,预设的并行度可以根据实际需求以及计算场景进行设置。
本发明实施例中,可以从片外存储器,将该输入序列读取至片内存储器,而后,计算单元阵列100可以通过数据连接线,从片内存储器中读取输入序列。当计算单元中阵列100获取到输入序列后,为了提升计算效率,计算单元阵列100可以以预设的并行度,对输入序列执行原有的神经网络计算,得到输出序列。
作为一种示例,参见图4,图4为本申请实施例二所提供的基于FPGA的神经网络加速器的结构示意图。针对最基础的图像分类任务,用户可以预先将待处理图像存储至片外存储器,从而当用户想要对待处理图像进行处理时,可以由计算单元阵列通过数据连接线,经片内存储器读取片外存储器中待处理图像对应的输入序列。其中,图4仅以片外存储器为动态随机存取存储器DDR、片内存储器为块随机存取存储器BRAM示例。
自检模块200,用于获取计算单元阵列100的工作模式,当工作模式为空转周期时,对计算单元阵列100进行自检校验,以及当工作模式为工作周期时,对输出序列进行纠错处理。
本发明实施例中,空转周期为计算单元阵列100处于无计算负荷的空闲状态。其中,若基于FPGA的神经网络加速器的时序设计中,计算单元阵列100无空转周期,则可以牺牲一定的计算延迟,人为加入空转周期。
本发明实施例中,当计算单元阵列100的工作模式为空转周期时,由自检模块200对计算单元阵列100进行定期故障自检。而当计算单元阵列100的工作模式为工作周期时,由自检模块200根据神经网络自身的容错特性,对输出序列进行纠错处理。由此,可以减轻甚至排除硬件故障对神经网络加速器的影响,提高硬件故障的容错能力。并且,在硬件代价方面,仅增加了复杂度较低的自检模块,可以降低电路硬件资源的占用,以及降低硬件复杂度。
本发明实施例的基于FPGA的神经网络加速器,通过自检模块获取计算单元阵列的工作模式,当工作模式为空转周期时,对计算单元阵列进行自检校验,以及当工作模式为工作周期时,对计算单元阵列运算得到的输出序列进行纠错处理。由此,可以减轻甚至排除硬件故障对神经网络加速器的影响,提高硬件故障的容错能力。并且,在硬件代价方面,仅增加了复杂度较低的自检模块,硬件代价较低。
作为一种可能的实现方式,参见图5,图5为本申请实施例三所提供的自检模块的结构示意图。其中,自检模块200包括:校验序列生成器210、序列对比器220以及故障图案存储器230。
当计算单元阵列100的工作模式为空转周期时,校验序列生成器210,用于生成预定义序列和期望结果序列。
序列对比器220,用于获取计算单元阵列100根据预定义序列进行运算得到的计算结果序列,并根据计算结果序列和期望结果序列之间的差异信息,生成计算单元阵列100的故障图案,并将故障图案发送至故障图案存储器230。
故障图案存储器230,用于对故障图案进行存储。
计算单元阵列100,具体用于:获取校验序列生成器210生成的预定义序列,并根据预定义序列进行运算,得到计算结果序列。
本发明实施例中,在计算单元阵列100的工作模式为空转周期时,自检模块200,用于对计算单元阵列100进行自检校验,进而定位出可能存在故障的计算单元模块,并记录对应的计算单元阵列100的故障图案。
其中,计算单元阵列100在空转周期,主要完成乘累加运算。
可以理解的是,当输入全零序列,并经过乘累加运算后,输出序列也应为全零序列。因此,作为本发明实施例的一种可能的实现方式,在计算单元阵列100的工作模式为空转周期时,可以采用全零序列进行自检校验。
例如,校验序列生成器210生成的预定义序列和期望结果序列均为全零序列,计算单元阵列100获取到预定义序列后,进行正常的乘累加运算,得到计算结果序列,序列对比器220可以获取计算单元阵列200运算得到的计算结果序列,并判断计算结果序列中的各元素的取值是否为零,若存在至少一个元素的取值不为零,则记录计算结果序列中非零元素的位置,即可得到故障图案,并将上述故障图案存储在故障图案存储器中,即可完成自检校验处理过程。
需要说明的是,本发明中仅以预定义序列和期望结果序列均为全零序列示例,实际应用时,预定义序列和期望结果序列还可以为其他序列,例如预定义序列可以为仅包含一位1的序列、包含两位1的序列、包含三位1的序列等等,本发明对此并不做限制。当确定预定义序列后,可以根据内部处理逻辑计算得到期望结果序列,从而可以根据期望结果序列对计算结果序列进行校验处理。
而当计算单元阵列100的工作模式为工作周期时,计算单元阵列100对输入序列执行原有的神经网络计算,得到输出序列。考虑到计算单元阵列100中可能含有硬件故障,即输出序列中可能会包含计算错误的数值,因此,本申请中,可以根据空转周期中获取的计算单元阵列100的故障图案,对输出序列中与故障图案位置匹配的数值,进行纠错处理,其中,纠错处理包括但不限于置零、取反、放缩等数值处理,可以根据神经网络自身的容错特性来确定具体的纠错处理。而后,可以将经过纠错处理的序列,作为计算单元阵列100的最终输出,即可完成硬件故障容错的运行过程。
本发明实施例中,在计算单元阵列100的工作模式为工作周期时,计算单元阵列100首先进行常规的神经网络运算,对输入序列进行处理,得到输出序列,而后,利用故障图案存储器中存储的故障图案,对输出序列进行纠错处理。具体地,通过对比故障图案,可以确定计算单元阵列100中哪些计算单元模块发生了故障,将发生故障的计算单元模块计算得到的正向数值置为零,即丢弃存在故障的计算单元模块计算得到的数值。对输出序列进行纠错处理后,可以得到最终的输出结果序列,完成计算单元阵列100工作周期的纠错过程。
作为一种示例,参见图6,图6为本申请实施例四所提供的基于FPGA的神经网络加速器的结构示意图。由自检模块对神经网络加速器的计算单元阵列进行定期故障自检,并获取计算单元阵列的故障图案。利用故障图案,结合神经网络的算法特点进行纠错操作,减轻甚至排除硬件故障的影响。
为了清楚说明上述实施例,本发明可以以特定的神经网络结构,特定的处理任务为例,对上述神经网络加速器的结构进行详细说明。例如,可以选取卷积神经网络,包括目前应用最广泛的ResNet,VGG,GoogleNet这三类CNN结构,针对最基础的图像分类任务,对本发明的神经网络加速器的结构进行详细说明。其中,考虑到神经网络自身的容错能力和特性,神经网络,例如VGG、ResNet和GoogleNET的卷积层采用的激活函数为线性整流函数ReLU,ReLU函数使得神经网络对正向的数值错误更加敏感,而对数值的丢失具备较强的容错能力。
参见图7,图7为本申请实施例的自检校验和纠错处理过程示意图。在空转周期,计算单元阵列可以获取预定义序列,并根据预定义序列,生成计算结果序列,序列对比器根据期望结果序列和计算结果序列进行比对,生成故障图案,并将故障图案保存至故障图案存储器。
在工作周期,计算单元阵列可以获取输入特征图对应的输入序列,对输入序列进行运算,得到对应的输出序列,根据故障图案,对输出序列进行纠错处理,得到最终的输出结果序列,从而可以确定对应的输出特征图。
作为一种示例,发明人对存在故障的VGG、ResNet和GoogleNET这三种神经网络,采用本发明实施例的神经网络加速器进行性能修正,修正结果如图8所示。其中,曲线1表示存在故障的VGG神经网络的性能,曲线2表示存在故障的ResNet神经网络的性能,曲线3表示存在故障的GoogleNET神经网络的性能,曲线4表示按照本发明实施例的神经网络加速器进行性能修正后的VGG神经网络的性能,曲线5表示按照本发明实施例的神经网络加速器进行性能修正后的ResNet神经网络的性能,曲线6表示按照本发明实施例的神经网络加速器进行性能修正后的GoogleNET神经网络的性能。可知,修正后的VGG神经网络的性能、ResNet神经网络的性能、GoogleNET神经网络的性能均高于未修正前的性能。由图8可知,本发明实施例的神经网络加速器能继续保持正常工作状态的概率从2×10-3提高到了3.5×10-2,显著提高了硬件故障的容错能力。
本发明实施例中,在硬件代价方面,仅增加了复杂度很低的自检模块,具体由一些结构简单的序列生成器、比较器、存储器等构成;在计算延迟方面,由于故障图案以极低的频率进行更新,所引入的计算单元序列占用时间也可忽略不计,提升故障处理效率。即本发明利用神经网络自身的容错特性,以极低的空、时间代价,完成了具备硬件容错能力的神经网络FPGA加速器设计,可在星载计算等对可靠性要求极高的应用场景下,实现神经网络算法的高效部署,提升该神经网络加速器的适用性。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列,现场可编程门阵列等。
在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (8)

1.一种基于FPGA的神经网络加速器,其特征在于,包括:
计算单元阵列,用于根据预设的并行度,对输入序列进行运算处理,得到输出序列;
自检模块,用于获取所述计算单元阵列的工作模式,当所述工作模式为空转周期时,对所述计算单元阵列进行自检校验,以及当所述工作模式为工作周期时,对所述输出序列进行纠错处理;
其中,所述自检模块,包括:校验序列生成器、序列对比器、故障图案存储器;当所述工作模式为空转周期时,所述校验序列生成器,用于生成预定义序列和期望结果序列;所述序列对比器,用于获取所述计算单元阵列根据所述预定义序列进行运算得到的计算结果序列,并根据所述计算结果序列和所述期望结果序列之间的差异信息,生成所述计算单元阵列的故障图案,并将所述故障图案发送至所述故障图案存储器;所述故障图案存储器,用于对所述故障图案进行存储;
其中,当所述工作模式为工作周期时,所述自检模块,具体用于:根据所述计算单元阵列的故障图案,对所述输出序列中与所述故障图案位置匹配的数值,进行纠错处理。
2.如权利要求1所述的神经网络加速器,其特征在于,所述工作模式为空转周期,
所述计算单元阵列,具体用于:获取所述校验序列生成器生成的预定义序列,并根据所述预定义序列进行运算,得到所述计算结果序列。
3.如权利要求1所述的神经网络加速器,其特征在于,所述运算为乘累加运算。
4.如权利要求1所述的神经网络加速器,其特征在于,所述预定义序列为全零序列,所述期望结果序列为全零序列,所述序列对比器,具体用于:
判断所述计算结果序列中的各元素的取值是否为零;
若存在至少一个元素的取值不为零,则根据所述至少一个元素的位置信息,生成所述故障图案。
5.如权利要求1所述的神经网络加速器,其特征在于,所述纠错处理包括但不限于置零、取反、放缩。
6.如权利要求1所述的神经网络加速器,其特征在于,所述计算单元阵列包括多个计算单元模块,所述自检模块,具体用于:
根据所述输出序列以及所述计算单元阵列的故障图案,确定存在故障的计算单元模块;
将所述存在故障的计算单元模块对应的计算结果置零。
7.如权利要求1-6任一所述的神经网络加速器,其特征在于,所述神经网络包括但不限于ResNet、VGG、GoogleNet。
8.如权利要求7所述的神经网络加速器,其特征在于,所述神经网络的卷积层采用的激活函数为线性整流函数。
CN201910170542.6A 2019-03-07 2019-03-07 基于fpga的神经网络加速器 Active CN109948788B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910170542.6A CN109948788B (zh) 2019-03-07 2019-03-07 基于fpga的神经网络加速器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910170542.6A CN109948788B (zh) 2019-03-07 2019-03-07 基于fpga的神经网络加速器

Publications (2)

Publication Number Publication Date
CN109948788A CN109948788A (zh) 2019-06-28
CN109948788B true CN109948788B (zh) 2021-01-15

Family

ID=67009190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910170542.6A Active CN109948788B (zh) 2019-03-07 2019-03-07 基于fpga的神经网络加速器

Country Status (1)

Country Link
CN (1) CN109948788B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110751272B (zh) * 2019-10-30 2021-02-23 珠海格力电器股份有限公司 卷积神经网络模型中数据定位的方法、装置及存储介质
US11592828B2 (en) * 2020-01-16 2023-02-28 Nvidia Corporation Using neural networks to perform fault detection in autonomous driving applications

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105874478A (zh) * 2014-01-06 2016-08-17 高通股份有限公司 用于自动纠错的同时的等待时间编码和速率编码
CN106303759A (zh) * 2016-08-30 2017-01-04 北京赛博兴安科技有限公司 一种基于fpga的高速串行收发接口及其工作方法
CN107133181A (zh) * 2017-06-13 2017-09-05 北京航空航天大学 一种差分小波神经网络软件故障预测技术的构建方法
CN109358993A (zh) * 2018-09-26 2019-02-19 中科物栖(北京)科技有限责任公司 深度神经网络加速器故障的处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080040089A1 (en) * 2006-07-18 2008-02-14 Wendemagagnehu Beyene Efficient Characterization of High-Speed Circuits

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105874478A (zh) * 2014-01-06 2016-08-17 高通股份有限公司 用于自动纠错的同时的等待时间编码和速率编码
CN106303759A (zh) * 2016-08-30 2017-01-04 北京赛博兴安科技有限公司 一种基于fpga的高速串行收发接口及其工作方法
CN107133181A (zh) * 2017-06-13 2017-09-05 北京航空航天大学 一种差分小波神经网络软件故障预测技术的构建方法
CN109358993A (zh) * 2018-09-26 2019-02-19 中科物栖(北京)科技有限责任公司 深度神经网络加速器故障的处理方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A Survey of FPGA-Based Neural Network Inference Accelerator;Kaiyuan Guo 等;《arXiv:1712.08934v3》;20181206;第1-26页 *
Angel-Eye:A Complete Design Flow for Mapping CNN Onto Embedded FPGA;Kaiyuan Guo 等;《IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems》;20170517;第37卷(第1期);第35-47页 *
嵌入分布系统多模式容错技术研究;王博伟;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20070615;第I137-70页 *

Also Published As

Publication number Publication date
CN109948788A (zh) 2019-06-28

Similar Documents

Publication Publication Date Title
JP6756924B2 (ja) ブロックチェーンを基にしたコンセンサス方法およびデバイス
US8032787B2 (en) Volatile storage based power loss recovery mechanism
CN109948788B (zh) 基于fpga的神经网络加速器
US20080148130A1 (en) Method and apparatus of cache assisted error detection and correction in memory
US20070168718A1 (en) Reconfigurable system with corruption detection and recovery
Di Carlo et al. A novel methodology to increase fault tolerance in autonomous FPGA-based systems
CN113841165A (zh) 用于训练人工神经网络的系统和方法
Alkady et al. Highly reliable controller implementation using a network-based fully reconfigurable FPGA for industrial applications
US8413011B2 (en) Device and method providing 1-bit error correction
US9684559B1 (en) Methods and apparatus for storing error correction information on a memory controller circuit
Wang et al. Fault-tolerant strategy for real-time system based on evolvable hardware
US10853170B2 (en) ECC protected storage
Nguyen et al. Dynamic scheduling of voter checks in FPGA-based TMR systems
Sharma et al. Self-healing reconfigurable logic using autonomous group testing
Siddiqui et al. FRAM based TMR (triple modular redundancy) for fault tolerance implementation
Krcma et al. Fault tolerant field programmable neural networks
JP7467656B2 (ja) メモリエラーに対する保護機能を有するニューラルネットワークのための推論計算
EP3920099A1 (en) System and method for performing a convolution operation with functional safety mechanism
CN109697135A (zh) 存储装置及方法、数据处理装置及方法、电子装置
Lin et al. Resource-aware online permanent fault detection mechanism for streaming convolution engine in edge ai accelerators
KR20140095656A (ko) 불휘발성 메모리 장치 및 그것의 데이터 독출 방법
Fouad et al. Context-aware resources placement for SRAM-based FPGA to minimize checkpoint/recovery overhead
CN109947608A (zh) 一种fpga加法树单粒子翻转故障检测方法及装置
CN112116946B (zh) 封装后修复方法及封装后修复装置
Mukherjee et al. Double-fault tolerant architecture design for digital adder

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
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190628

Assignee: Star test future technology (Beijing) Co.,Ltd.

Assignor: TSINGHUA University

Contract record no.: X2023990000350

Denomination of invention: Neural Network Accelerator Based on FPGA

Granted publication date: 20210115

License type: Common License

Record date: 20230327