CN113655745B - 一种实现配置码流自动检纠错的fpga - Google Patents

一种实现配置码流自动检纠错的fpga Download PDF

Info

Publication number
CN113655745B
CN113655745B CN202110953108.2A CN202110953108A CN113655745B CN 113655745 B CN113655745 B CN 113655745B CN 202110953108 A CN202110953108 A CN 202110953108A CN 113655745 B CN113655745 B CN 113655745B
Authority
CN
China
Prior art keywords
configuration
user design
check
fpga
ecc
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
CN202110953108.2A
Other languages
English (en)
Other versions
CN113655745A (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.)
Wuxi Zhongwei Yixin Co Ltd
Original Assignee
Wuxi Zhongwei Yixin Co Ltd
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 Wuxi Zhongwei Yixin Co Ltd filed Critical Wuxi Zhongwei Yixin Co Ltd
Priority to CN202110953108.2A priority Critical patent/CN113655745B/zh
Publication of CN113655745A publication Critical patent/CN113655745A/zh
Application granted granted Critical
Publication of CN113655745B publication Critical patent/CN113655745B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25257Microcontroller
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种实现配置码流自动检纠错的FPGA,涉及FPGA技术领域,该FPGA内部包括自动检纠错电路,ECC编码器在配置码流按用户设计配置链依次写入时,将用户设计配置链写入用户设计配置内存中、对应的用户设计校验码写入用户设计校验内存中,在FPGA在正常运行时,经由检纠错控制器控制ECC校验纠错器可以定期按序遍历所有用户设计配置链,由对应的用户设计校验码对用户设计配置链进行检纠错覆盖写入,从而保证配置码流及对应的校验码的正确性,提高FPGA的运行可靠性。

Description

一种实现配置码流自动检纠错的FPGA
技术领域
本发明涉及FPGA技术领域,尤其是一种实现配置码流自动检纠错的FPGA。
背景技术
随着超大规模集成电路技术的发展,FPGA芯片(Field Programmable GateArray,现场可编程门阵列)依靠其优越的接口性能、丰富的逻辑和IP资源以及灵活方便的现场可编程能力得到了广泛的使用。
FPGA芯片内部具有可配置模块以及绕线资源,当用户设计映射到FPGA芯片时,用户设计可以通过定义配置内容(配置位的内容)来决定FPGA芯片内部可配置模块所实现的功能以及绕线资源所选择的绕线路径,从而定义FPGA芯片实现的功能。FPGA设计软件将用户设计输入经綜合、布局、布线处理,映射到FPGA芯片后,根据使用到可配置模块及绕线资源的配置内容,按预定的格式生成码流文件。码流经下载到FPGA器件,可正确的填写各配置内容,定义FPGA芯片功能,下载完成后,运行FPGA芯片即可实现用户设计功能。
FPGA芯片受供电、辐射、电磁、粒子等外在因素影响,容易出现单粒子翻转(SEU,Single Event Upset)问题,从而导致配置内容翻转出错,而使电路功能出现故障,因此在高可靠性FPGA应用领域,提高配置内容的可靠性是重要的课题。
发明内容
本发明人针对上述问题及技术需求,提出了一种实现配置码流自动检纠错的FPGA,本发明的技术方案如下:
一种实现配置码流自动检纠错的FPGA,该FPGA内部包括用户设计配置内存以及自动检纠错电路,自动检纠错电路包括ECC编码器、ECC校验纠错器、用户设计校验内存和检纠错控制器;
用户设计配置内存至少包括N个用户设计配置区块,用户设计校验内存包括N个用户设计校验区块,用户设计校验区块与用户设计配置区块一一对应;ECC编码器的输入端获取配置码流、输出端分别连接用户设计配置内存和用户设计校验内存的写入端,ECC校验纠错器的输入端分别连接用户设计配置内存和用户设计校验内存的读出端、输出端分别连接用户设计配置内存和用户设计校验内存的写入端;检纠错控制器连接并控制ECC校验纠错器;
FPGA以配置链为单位写入用户设计对应的配置码流,每个用户设计配置链包括配置码流中连续的具有预定位数的配置位;ECC编码器对写入的用户设计配置链进行ECC编码生成对应的用户设计校验码,并将用户设计配置链写入一个用户设计配置区块中、对应的用户设计校验码写入对应的一个用户设计校验区块中;
在FPGA正常运行用户设计过程中,检纠错控制器控制ECC校验纠错器每隔预定时间遍历所有用户设计配置链进行检纠错,在遍历每条用户设计配置链时,从对应的用户设计配置区块中读取用户设计配置链、从对应的用户设计校验区块中读取对应的用户设计校验码进行校验并在检测到故障时纠错并覆盖写入。
其进一步的技术方案为,自动检纠错电路由FPGA内的可编程逻辑资源实现,则FPGA写入的配置码流还包括自动检纠错电路对应的配置码流,自动检纠错电路对应的配置码流存储在核心电路配置内存中,FPGA写入自动检纠错电路对应的配置码流后利用可编程逻辑资源实现自动检纠错电路。
其进一步的技术方案为,FPGA内部包括至少两个ECC校验纠错器形成多组自动检纠错电路,各个ECC校验纠错器的配置码流以相同的核心配置链写入,或者,存在至少两个ECC校验纠错器的配置码流以不同的核心配置链写入。
其进一步的技术方案为,FPGA内部包括至少三个ECC校验纠错器且还包括表决电路,各个ECC校验纠错器的输出端通过表决电路连接的输入端,表决电路根据至少三个ECC校验纠错器的检纠错结果对用户设计配置链进行检纠错。
其进一步的技术方案为,核心电路配置内存中的每个核心电路配置区块对应核心电路校验内存的一个核心电路校验区块,核心电路校验区块中存储核心电路配置区块中的核心配置链的核心校验码;
每个ECC校验纠错器分别连接用户设计配置内存、用户设计校验内存、其他ECC校验纠错器的核心配置链所在的核心电路配置区块及其对应的核心电路校验区块;
各个ECC校验纠错器交替工作,检纠错控制器每隔预定时间控制各个ECC校验纠错器交替工作,每个ECC校验纠错器在工作时遍历所有用户设计配置链以及其他ECC校验纠错器的核心配置链进行检纠错。
其进一步的技术方案为,检纠错控制器与FPGA的内建边界扫描链相连,检纠错控制器通过内建边界扫描链获取FPGA的外部控制信号并控制ECC校验纠错器。
其进一步的技术方案为,自动检纠错电路还包括定时器,检纠错控制器根据定时器的延时时长控制ECC校验纠错器进行检纠错,定时器的输入时钟来自于FPGA外部或者来自于FPGA内部。
其进一步的技术方案为,定时器接收到即时使能信号时立即触发检纠错控制器控制ECC校验纠错器进行检纠错,即时使能信号来自于FPGA外部或者来自于FPGA内部的用户设计。
其进一步的技术方案为,定时器的延时时长小于FPGA的设计指标参数,设计指标参数包括平均无故障工作时间MTBF和修复前平均时间MTTF中的至少一种。
其进一步的技术方案为,定时器的输入时钟来自于FPGA内部的环振器,且输入时钟的频率可调。
其进一步的技术方案为,FPGA内部包括解密电路和配置缓存,以配置链为单位写入FPGA内的配置码流经解密电路进行解密后写入配置缓存进行缓存,再由ECC编码器对配置缓存缓存的配置链进行ECC编码生成对应的校验码。
其进一步的技术方案为,自动检纠错电路所采用的ECC算法基于汉明码实现。
其进一步的技术方案为,ECC编码器的输入位宽与用户设计配置链的位宽相等,用户设计校验内存的宽度等于用户设计校验码的位宽、深度等于用户设计配置内存中的用户设计配置区块的总数。
本发明的有益技术效果是:
本申请公开了一种实现配置码流自动检纠错的FPGA,该FPGA在正常运行时,经由检纠错控制器控制ECC校验纠错器可以定期按序遍历所有用户设计配置链,也即遍历所有用户设计对应的配置码流进行检纠错覆盖写入,从而保证配置码流及对应的校验码的正确性,提高FPGA的运行可靠性。
自动检纠错电路可以由额外的硬件资源实现,也可以由FPGA上的可编程资源实现,实现方式多样,在由可编程资源实现自动检纠错电路时,同样有相应的机制可以保证自动检纠错电路自身的检纠错能力,保证自动检纠错电路的运行可靠性。
附图说明
图1是本申请公开的FPGA内部自动检纠错电路的电路结构及连接示意图。
图2是本申请公开的FPGA内部多组自动检纠错电路中的ECC校验纠错器相互检纠错时的电路连接示意图。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步说明。
本申请公开了一种实现配置码流自动检纠错的FPGA,如图1,该FPGA内部包括用户设计配置内存以及自动检纠错电路,其中用户设计配置内存至少包括N个用户设计配置区块,每个用户设计配置区块用于存储用户设计对应的配置码流中一个配置链、也即用户设计配置链,如图1包括用户设计配置区块1~N,分别用于存储用户设计配置链1~N。用户设计配置区块的宽度等于用户设计配置链的宽度,各个用户设计配置区块的宽度可以相同也可以不同,通常是相同的。
自动检纠错电路包括ECC编码器、ECC校验纠错器、用户设计校验内存和检纠错控制器。其中用户设计校验内存包括N个用户设计校验区块,如图1包括用户设计校验区块1~N,用户设计校验区块与用户设计配置区块一一对应,每个用户设计配置区块及其对应的用户设计校验区块可以合并称为一组用户设计区块,如图1中位于同一排的用户设计配置区块和用户设计校验区块对应形成虚线框设的一组用户设计区块。每个用户设计校验区块用于存储一个用户设计校验码,比如用户设计校验区块1~N分别用于存储用户设计校验码1~N。用户设计校验内存的宽度等于用户设计校验码的位宽、深度等于用户设计配置内存中的用户设计配置区块的总数N。而用户设计校验码的宽度按照ECC编码的规范确定并与用户设计配置链的位数相关,比如由于常规的需求时检纠错1位,因此当用户设计配置链的位宽为1024时、对应的用户设计校验码位宽为11,用户设计配置链的位宽为2048时、对应的用户设计校验码位宽为12,从而用户设计校验码可对户设计配置链检纠错1位。但若需要实现检错2位、纠错1位的功能,则可以增加一位用户设计校验码,也即当用户设计配置链的位宽为1024时、对应的用户设计校验码位宽为12。
ECC编码器的输入端获取配置码流、输出端分别连接用户设计配置内存和用户设计校验内存的写入端。ECC校验纠错器的输入端分别连接用户设计配置内存和用户设计校验内存的读出端、输出端分别连接用户设计配置内存和用户设计校验内存的写入端。检纠错控制器连接并控制ECC校验纠错器。
FPGA写入的配置码流主要包括两种封包,第一种封包指定用户设计配置区块、起始配置位、长度以及其他相关控制指令,第二种封包包含实际的配置位内容。FPGA以配置链为单位写入用户设计对应的配置码流,本申请将用户设计对应的配置码流中每个配置链记为用户设计配置链,每个用户设计配置链包括配置码流中连续的具有预定位数的配置位,比如1024位或2048位或任意自定义的位数。可选的,FPGA内部还包括解密电路和配置缓存,写入FPGA内的配置码流可以是加密后的配置码流,则以配置链为单位写入FPGA内的配置码流经解密电路进行解密后写入配置缓存进行缓存,再被ECC编码器的输入端获取到,因此配置缓存的内存空间至少大于一条配置链的内存空间。
ECC编码器对写入的用户设计配置链进行ECC编码生成对应的用户设计校验码,并将用户设计配置链写入一个用户设计配置区块中、对应的用户设计校验码写入对应的一个用户设计校验区块中,也即将用户设计配置链及其对应的用户设计校验码分别存入对应的一组用户设计区块中,ECC编码器的输入位宽与配置链的位宽相等。可选的在本申请中,自动检纠错电路所采用的ECC算法基于汉明码实现,汉明距离至少为3。
在FPGA正常运行用户设计过程中,检纠错控制器控制ECC校验纠错器每隔预定时间遍历所有用户设计配置链进行检纠错,在遍历每条用户设计配置链时,从对应的用户设计配置区块中读取用户设计配置链、从对应的用户设计校验区块中读取对应的用户设计校验码进行校验并在检测到故障时纠错并覆盖写入。覆盖写入表示,当检测到故障时对用户设计配置链和/或用户设计校验码进行纠错,并将纠错后的用户设计配置链重新写入用户设计配置区块中覆盖之前的用户设计配置链,和/或,将纠错后的用户设计校验码重新写入用户设计校验区块中覆盖之前的用户设计校验码。遍历的顺序可以自定义预先配置,比如可以按照图1中用户设计配置链1~N的顺序依次遍历,则第一次读取用户设计配置链1及其对应的用户设计校验码1进行校验纠错,在间隔预定时间后,第二次读取用户设计配置链2及其对应的用户设计校验码2进行校验纠错,以此类推,直至读取用户设计配置链N及其对应的用户设计校验码N进行校验纠错后,可以继续重新循环遍历。
可选的,检纠错控制器还包括定时器,检纠错控制器根据定时器的延时时长控制ECC校验纠错器每隔预定时间进行遍历检纠错,定时器的输入时钟来自于FPGA外部或者来自于FPGA内部。当定时器的输入时钟来自于FPGA内部时,在一个实施例中,定时器的输入时钟来自于FPGA内部的环振器,且输入时钟的频率可调。定时器的延时时长可以根据实际需要自定义配置,在一个实施例中,定时器的延时时长小于FPGA的设计指标参数,设计指标参数包括平均无故障工作时间MTBF和修复前平均时间MTTF中的至少一种,从而可以在预定系统故障前先自行纠错。在另一个实施例中,定时器在按照延时时长触发检纠错控制器的过程中,当定时器接收到即时使能信号时、不再继续延时计算,而是立即触发检纠错控制器控制ECC校验纠错器进行检纠错,即时使能信号来自于FPGA外部或者来自于FPGA内部的用户设计。
在另一个实施例中,检纠错控制器与FPGA的内建边界扫描链相连,检纠错控制器通过内建边界扫描链获取FPGA的外部控制信号并控制ECC校验纠错器。
在一个实施例中,本申请的自动检纠错电路是基于常规电路组件制作实现的硬件资源,也即FPGA内部除了包含常规的这些可编程逻辑资源之外,还包括额外增加的硬件资源,具体采用常规的FPGA制作工艺即可实现。
在另一个实施例中,本申请的自动检纠错电路由FPGA内的可编程逻辑资源实现,则FPGA写入的配置码流除了包括用户设计对应的配置码流,还包括自动检纠错电路对应的配置码流。自动检纠错电路对应的配置码流存储在核心电路配置内存中,FPGA写入自动检纠错电路对应的配置码流后利用可编程逻辑资源实现自动检纠错电路。可选的,若FPGA内部包括解密电路和配置缓存,则核心电路配置内存的输入端连接配置缓存的输出端。
可选的,FPGA内部包括至少两个ECC校验纠错器形成多组自动检纠错电路,这多个ECC校验纠错器与用户设计配置内存和用户设计校验内存的连接方式相同,各组自动检纠错电路可以共用ECC编码器、检纠错控制器等电路结构,也可以分别有各自独立且连接方式相同的电路结构。各个ECC校验纠错器的配置码流以相同的核心配置链写入,或者,存在至少两个ECC校验纠错器的配置码流以不同的核心配置链写入。
对于自动检纠错电路的核心配置链,同样可以进行检纠错,主要有如下两种实现方式:
实现方式一、核心配置链与用户设计配置链分开检纠错:
则FPGA内部包括至少三个ECC校验纠错器且还包括表决电路,各个ECC校验纠错器的输出端通过表决电路连接的输入端,表决电路根据至少三个ECC校验纠错器的检纠错结果对用户设计配置链进行检纠错,可以采用TMR方式保证自动检纠错电路的纠错能力。
实现方式二、多组自动检纠错电路互相检纠错,核心配置链与用户设计配置链一起检纠错:
在这种情况中,核心电路配置内存中的每个核心电路配置区块对应核心电路校验内存的一个核心电路校验区块,核心电路校验区块中存储核心电路配置区块中的核心配置链的核心校验码。核心校验码也是基于核心配置链生成的,与用户设计配置链和用户设计校验码的关系类似,本申请不再赘述。
每个ECC校验纠错器分别连接用户设计配置内存、用户设计校验内存、其他ECC校验纠错器的核心配置链所在的核心电路配置区块及其对应的核心电路校验区块,具体的,ECC校验纠错器的输入端连接对应的核心电路配置区块和核心电路校验区块的读出端,ECC校验纠错器的输出端连接对应的核心电路配置区块和核心电路校验区块的写入端。各个ECC校验纠错器交替工作,检纠错控制器每隔预定时间控制各个ECC校验纠错器交替工作,每个ECC校验纠错器在工作时遍历所有用户设计配置链以及其他ECC校验纠错器的核心配置链进行检纠错。
比如图2中,ECC校验纠错器1的核心配置链1位于核心电路配置区块1、对应的核心校验码1位于核心电路校验区块1,ECC校验纠错器2的核心配置链2位于核心电路配置区块2、对应的核心校验码2位于核心电路校验区块2。则ECC校验纠错器1连接用户设计配置内存、用户设计校验内存、核心电路配置区块2以及核心电路校验区块2,ECC校验纠错器2连接用户设计配置内存、用户设计校验内存、核心电路配置区块1以及核心电路校验区块1。检纠错控制器控制ECC校验纠错器1工作、遍历所有用户设计配置链以及核心配置链2,对用户设计配置链以及ECC校验纠错器2的核心配置链2进行检纠错。间隔预定时间后,控制ECC校验纠错器2工作、遍历所有用户设计配置链以及核心配置链1,对用户设计配置链以及ECC校验纠错器1的核心配置链1进行检纠错。

Claims (9)

1.一种实现配置码流自动检纠错的FPGA,其特征在于,所述FPGA内部包括用户设计配置内存以及自动检纠错电路,所述自动检纠错电路包括ECC编码器、ECC校验纠错器、用户设计校验内存和检纠错控制器;
所述用户设计配置内存至少包括N个用户设计配置区块,所述用户设计校验内存包括N个用户设计校验区块,用户设计校验区块与用户设计配置区块一一对应;所述ECC编码器的输入端获取配置码流、输出端分别连接用户设计配置内存和用户设计校验内存的写入端,所述ECC校验纠错器的输入端分别连接用户设计配置内存和用户设计校验内存的读出端、输出端分别连接用户设计配置内存和用户设计校验内存的写入端;所述检纠错控制器连接并控制ECC校验纠错器;
所述FPGA以配置链为单位写入用户设计对应的配置码流,每个用户设计配置链包括所述配置码流中连续的具有预定位数的配置位;所述ECC编码器对写入的用户设计配置链进行ECC编码生成对应的用户设计校验码,并将用户设计配置链写入一个用户设计配置区块中、对应的用户设计校验码写入对应的一个用户设计校验区块中;
在所述FPGA正常运行用户设计过程中,所述检纠错控制器控制所述ECC校验纠错器每隔预定时间遍历所有用户设计配置链进行检纠错,在遍历每条用户设计配置链时,从对应的用户设计配置区块中读取所述用户设计配置链、从对应的用户设计校验区块中读取对应的用户设计校验码进行校验并在检测到故障时纠错并覆盖写入;
其中,所述自动检纠错电路由所述FPGA内的可编程逻辑资源实现,则所述FPGA写入的配置码流还包括自动检纠错电路对应的配置码流,所述自动检纠错电路对应的配置码流存储在核心电路配置内存中,所述FPGA写入自动检纠错电路对应的配置码流后利用可编程逻辑资源实现所述自动检纠错电路;对所述自动检纠错电路的核心配置链同样进行检纠错;
所述FPGA内部形成多组自动检纠错电路,各个所述ECC校验纠错器的配置码流以相同的核心配置链写入,或者,存在至少两个ECC校验纠错器的配置码流以不同的核心配置链写入;所述FPGA内部包括至少三个所述ECC校验纠错器且还包括表决电路,各个ECC校验纠错器的输出端通过所述表决电路连接所述的输入端,所述表决电路根据至少三个ECC校验纠错器的检纠错结果对用户设计配置链进行检纠错;或者,核心电路配置内存中的每个核心电路配置区块对应核心电路校验内存的一个核心电路校验区块,所述核心电路校验区块中存储所述核心电路配置区块中的核心配置链的核心校验码,每个ECC校验纠错器分别连接用户设计配置内存、用户设计校验内存、其他ECC校验纠错器的核心配置链所在的核心电路配置区块及其对应的核心电路校验区块,各个ECC校验纠错器交替工作,所述检纠错控制器每隔预定时间控制各个ECC校验纠错器交替工作,每个ECC校验纠错器在工作时遍历所有用户设计配置链以及其他ECC校验纠错器的核心配置链进行检纠错。
2.根据权利要求1所述的FPGA,其特征在于,所述检纠错控制器与所述FPGA的内建边界扫描链相连,所述检纠错控制器通过所述内建边界扫描链获取所述FPGA的外部控制信号并控制所述ECC校验纠错器。
3.根据权利要求1所述的FPGA,其特征在于,
所述自动检纠错电路还包括定时器,所述检纠错控制器根据所述定时器的延时时长控制ECC校验纠错器进行检纠错,所述定时器的输入时钟来自于FPGA外部或者来自于FPGA内部。
4.根据权利要求3所述的FPGA,其特征在于,
所述定时器接收到即时使能信号时立即触发所述检纠错控制器控制ECC校验纠错器进行检纠错,所述即时使能信号来自于所述FPGA外部或者来自于FPGA内部的用户设计。
5.根据权利要求3所述的FPGA,其特征在于,
所述定时器的延时时长小于所述FPGA的设计指标参数,所述设计指标参数包括平均无故障工作时间MTBF和修复前平均时间MTTF中的至少一种。
6.根据权利要求3所述的FPGA,其特征在于,
所述定时器的输入时钟来自于FPGA内部的环振器,且所述输入时钟的频率可调。
7.根据权利要求1所述的FPGA,其特征在于,
所述FPGA内部包括解密电路和配置缓存,以配置链为单位写入FPGA内的配置码流经所述解密电路进行解密后写入所述配置缓存进行缓存,再由所述ECC编码器对所述配置缓存缓存的配置链进行ECC编码生成对应的校验码。
8.根据权利要求1所述的FPGA,其特征在于,
所述自动检纠错电路所采用的ECC算法基于汉明码实现。
9.根据权利要求1所述的FPGA,其特征在于,
所述ECC编码器的输入位宽与用户设计配置链的位宽相等,所述用户设计校验内存的宽度等于用户设计校验码的位宽、深度等于所述用户设计配置内存中的用户设计配置区块的总数。
CN202110953108.2A 2021-08-19 2021-08-19 一种实现配置码流自动检纠错的fpga Active CN113655745B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110953108.2A CN113655745B (zh) 2021-08-19 2021-08-19 一种实现配置码流自动检纠错的fpga

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110953108.2A CN113655745B (zh) 2021-08-19 2021-08-19 一种实现配置码流自动检纠错的fpga

Publications (2)

Publication Number Publication Date
CN113655745A CN113655745A (zh) 2021-11-16
CN113655745B true CN113655745B (zh) 2023-04-07

Family

ID=78481236

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110953108.2A Active CN113655745B (zh) 2021-08-19 2021-08-19 一种实现配置码流自动检纠错的fpga

Country Status (1)

Country Link
CN (1) CN113655745B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114996050B (zh) * 2022-08-01 2022-10-25 中科亿海微电子科技(苏州)有限公司 一种参数可配置的自动检纠错电路及检纠错方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017113333A1 (zh) * 2015-12-31 2017-07-06 京微雅格(北京)科技有限公司 一种fpga电路和其配置文件处理方法
CN107015880A (zh) * 2016-01-28 2017-08-04 京微雅格(北京)科技有限公司 一种fpga电路和其配置文件处理方法
CN107894898A (zh) * 2017-11-28 2018-04-10 中科亿海微电子科技(苏州)有限公司 Sram型fpga片上刷新和纠错的装置、实现方法及fpga芯片
CN111143107A (zh) * 2019-11-13 2020-05-12 广东高云半导体科技股份有限公司 一种fpga单粒子反转校验电路和方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2615700B2 (ja) * 1987-11-20 1997-06-04 日本電気株式会社 誤り訂正情報出力回路
US5379415A (en) * 1992-09-29 1995-01-03 Zitel Corporation Fault tolerant memory system
JPH07129477A (ja) * 1993-11-05 1995-05-19 Oki Electric Ind Co Ltd エラー検出訂正装置
CN1152474C (zh) * 2001-07-06 2004-06-02 清华大学 地面数字电视广播系统中的Turbo码纠错编码器
US6838899B2 (en) * 2002-12-30 2005-01-04 Actel Corporation Apparatus and method of error detection and correction in a radiation-hardened static random access memory field-programmable gate array
CN101477480B (zh) * 2009-02-05 2011-07-20 华为技术有限公司 内存控制方法、装置及内存读写系统
CN102346715B (zh) * 2010-07-30 2014-05-28 国际商业机器公司 保护内存中应用程序的方法、内存控制器和处理器
CN102831028B (zh) * 2012-09-07 2016-01-20 苏州国芯科技有限公司 基于数据总线的ecc纠错方法及系统
CN102915768B (zh) * 2012-10-01 2016-05-04 中国科学院近代物理研究所 基于edac模块的三模冗余对存储器的容错装置及其方法
US10115255B2 (en) * 2013-02-07 2018-10-30 Ikeyless, Llc Method and apparatus for implementing multi-vendor rolling code keyless entry systems
CN105740168B (zh) * 2016-01-23 2018-07-13 中国人民解放军国防科学技术大学 一种容错目录高速缓存控制器
CN105760250B (zh) * 2016-02-04 2018-11-06 北京时代民芯科技有限公司 一种具有码流纠检错功能的单粒子加固fpga配置电路
GB2555628B (en) * 2016-11-04 2019-02-20 Advanced Risc Mach Ltd Main processor error detection using checker processors
US10158380B2 (en) * 2016-12-06 2018-12-18 Sandisk Technologies Llc ECC and read adjustment based on dynamic memory error model estimation
CN107068194A (zh) * 2017-04-20 2017-08-18 聚辰半导体(上海)有限公司 一种应用在eeprom上的错误纠正编码及相应的eeprom
US10491244B2 (en) * 2017-11-14 2019-11-26 Nyquist Semiconductor Limited Systems and methods for decoding error correcting codes
CN109086161A (zh) * 2018-07-20 2018-12-25 江苏华存电子科技有限公司 一种随机内存使用ecc运算达成块资料纠错校验的方法
JP2020150515A (ja) * 2019-03-15 2020-09-17 キオクシア株式会社 誤り訂正回路及びメモリシステム
CN113076219B (zh) * 2021-04-27 2022-07-12 中国人民解放军国防科技大学 一种高能效的片上存储器错误检测与纠错电路及实现方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017113333A1 (zh) * 2015-12-31 2017-07-06 京微雅格(北京)科技有限公司 一种fpga电路和其配置文件处理方法
CN107710325A (zh) * 2015-12-31 2018-02-16 京微雅格(北京)科技有限公司 一种fpga电路和其配置文件处理方法
CN107015880A (zh) * 2016-01-28 2017-08-04 京微雅格(北京)科技有限公司 一种fpga电路和其配置文件处理方法
CN107894898A (zh) * 2017-11-28 2018-04-10 中科亿海微电子科技(苏州)有限公司 Sram型fpga片上刷新和纠错的装置、实现方法及fpga芯片
CN111143107A (zh) * 2019-11-13 2020-05-12 广东高云半导体科技股份有限公司 一种fpga单粒子反转校验电路和方法

Also Published As

Publication number Publication date
CN113655745A (zh) 2021-11-16

Similar Documents

Publication Publication Date Title
TWI674767B (zh) 用於nand快閃記憶體的渦輪乘積碼
EP1160987B1 (en) Method and apparatus for verifying error correcting codes
US7539926B1 (en) Method of correcting errors stored in a memory array
US7408381B1 (en) Circuit for and method of implementing a plurality of circuits on a programmable logic device
CN107894898A (zh) Sram型fpga片上刷新和纠错的装置、实现方法及fpga芯片
JP7204341B2 (ja) 高データインテグリティ処理システム
KR20160024966A (ko) 데이터 에러 교정용 회로, 장치, 및 방법
JP5506908B2 (ja) 集積回路における故障耐性
US20140026011A1 (en) Memory with Dynamic Error Detection and Correction
JP2016167669A (ja) プログラマブル論理回路装置及びそのエラー検出方法
CN113655745B (zh) 一种实现配置码流自动检纠错的fpga
US10270471B2 (en) Memory system having ECC self-checking function and associated method
US20210344360A1 (en) Memory system
US3898443A (en) Memory fault correction system
Fiorin et al. Fault-tolerant network interfaces for networks-on-Chip
Gao et al. Design of FPGA-implemented Reed–Solomon erasure code (RS-EC) decoders with fault detection and location on user memory
US11604696B2 (en) Field programmable gate array (FPGA) for improving reliability of key configuration bitstream by reusing buffer memory
US7240272B2 (en) Method and system for correcting errors in a memory device
CN113608919B (zh) 通过复用缓冲内存提高关键配置码流可靠性的fpga
US11126500B2 (en) Error detection and correction with integrity checking
Santos et al. Generic scrubbing-based architecture for custom error correction algorithms
CN113657062B (zh) 基于奇偶校验提高fpga运行可靠性的方法
US9658920B1 (en) Method for reconfiguring an erroneous memory frame in an integrated circuit
JP2016009893A (ja) データ不正検出装置及びデータ不正検出方法
CN114996050B (zh) 一种参数可配置的自动检纠错电路及检纠错方法

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