基于三模冗余软错误缓解核的检测电路、FPGA及方法

摘要: 本公开涉及电子设备可靠性设计技术和宇航应用,具体涉及一种基于三模冗余软错误缓解核的检测电路、基于静态随机存储器的fpga、数据管理方法以及计算机可读存储介质。背...
基于三模冗余软错误缓解核的检测电路、FPGA及方法

本公开涉及电子设备可靠性设计技术和宇航应用,具体涉及一种基于三模冗余软错误缓解核的检测电路、基于静态随机存储器的fpga、数据管理方法以及计算机可读存储介质。

背景技术:

1、近些年来,卫星技术高速发展,更强大的功能需求对星载fpga器件的性能提出了更高的要求,静态随机存储器(static random access memory,sram)型fpga凭借高密度,高速度与可重复编程特性,相比反熔丝型fpga和专用集成电路(application-specificintegrated circuit,asic)存在明显优势。但sram型fpga是敏感器件,受到宇宙中的空间粒子辐射撞击会导致单粒子翻转(single event upset,seu),即sram存储的数据由1变0或由0变1,这种翻转会导致内存或寄存器中存储的数据异常,而当这种翻转出现在配置内存(configuration ram,cram)区域时,就会导致fpga的功能异常从而无法继续正常工作。尽管seu不会影响存储比特流的带电可擦可编程只读存储器(electrically erasableprogrammable read only memory,eeprom),重启fpga后可恢复cram的内容,但空间辐照环境下seu发生频繁,若一旦发生seu就重启fpga将使星载fpga无法正常工作,因此必须为星载sram fpga单独设计一种抗seu的电路及方法。

技术实现思路

1、为克服相关技术中存在的问题,本公开的示例性实施例提供一种基于三模冗余软错误缓解核的检测电路,包括:三模冗余软错误缓解核,被配置为基于工作态管理配置内存区域的数据状态,生成并输出识别到出现单粒子翻转错误的状态信息,确定并输出错误类型,以及对错误数据进行纠错处理,工作态包括:监测态、检错态以及纠错态;状态码监控电路,与三模冗余软错误缓解核连接,被配置为接收状态信息,以及将状态信息存储至配置内存区域;串并转换电路,与三模冗余软错误缓解核连接;开关调试电路,与串并转换电路和状态码监控电路连接,以通过串并转换电路与三模冗余软错误缓解核连接,开关调试电路被配置为基于三模冗余软错误缓解核的工作态控制三模冗余软错误缓解核的运行状态;纠检错计数电路,与串并转换电路连接,以通过串并转换电路与三模冗余软错误缓解核连接,被配置为统计错误类型的累计出现次数。

2、在一些实施例中,串并转换电路包括并转串电路和串转并电路;开关调试电路通过并转串电路与纠检错计数电路连接;三模冗余软错误缓解核通过串转并电路与纠检错计数电路连接。

3、在一些实施例中,状态码监控电路、并转串电路、串转并电路、开关调试电路以及纠检错计数电路均包括三个输入端和一个输出端,以实现三模冗余。

4、在一些实施例中,并转串电路包括:三个并转串子电路,分别与开关调试电路连接,并转串子电路被配置于接收开关调试电路并行发送的使能信号以及待处理数据,以及通过内置的第一三模冗余计数器生成与使能信号对应的串行候选结果;以及第一多数表决器,分别与每一个并转串子电路连接以及与三模冗余软错误缓解核连接,第一多数表决器被配置为接收所有并转串子电路输出的串行候选结果,确定目标串行结果,以及将目标串行结果发送至开关调试电路,以确定待发送至三模冗余软错误缓解核的控制指令,控制指令用于切换三模冗余软错误缓解核在监测态时的运行状态。

5、在一些实施例中,三模冗余软错误缓解核,被配置于在检错态生成并输出识别到出现单粒子翻转错误的状态信息,以及确定并输出错误类型;串转并电路包括:三个串转并电路,分别与三模冗余软错误缓解核连接,串转并子电路被配置于接收三模冗余软错误缓解核串行发送的状态信息和错误类型,以及通过内置的第二三模冗余计数器生成与状态信息对应的并行候选结果;以及第二多数表决器,分别与每一个串转并子电路连接以及与纠检错计数电路连接,第二多数表决器被配置为接收所有串转并电路输出的并行候选结果,确定目标并行结果,以及将目标并行结果发送至纠检错计数电路。

6、在一些实施例中,纠检错计数电路包括:三个纠检错计数子电路,分别与第二多数表决器连接,纠检错计数子电路被配置与接收目标并行结果,确定候选数据错误信息;第三多数表决器,分别与每一个纠检错计数子电路连接,第三多数表决器被配置于接收所有纠检错计数子电路输出的候选数据错误信息,确定目标数据错误信息;错误计数寄存器,与第三多数表决器连接,被配置于统计目标数据错误信息对应错误类型的累计次数。

7、在一些实施例中,错误计数寄存器包括:不可纠错误计数寄存器和可纠错误计数寄存器;不可纠错误计数寄存器与第三多数表决器连接,被配置于统计目标数据错误信息对应不可纠错误类型的累计次数,以及;可纠错误计数寄存器与第三多数表决器连接,被配置于统计目标数据错误信息对应可纠错误类型的累计次数;纠检错计数电路还包括:与第三多数表决器连接的存入错误地址寄存器,存入错误地址寄存器被配置于存储可纠错误类型对应的错误地址,错误地址是根据目标数据错误信息确定的。

8、在一些实施例中,三模冗余软错误缓解核,还被配置于基于错误地址,对错误数据进行翻转处理,以及在识别错误数据对应的错误类型为不可纠错误类型时触发并发送电路重启提示。

9、在一些实施例中,工作态还包括注错态;开关调试电路包括:开关电路和与开关电路连接的注错调试电路;开关电路,通过串并转换电路与三模冗余软错误缓解核连接,被配置于在开关信号的输入端检测到上升沿且三模冗余软错误缓解核处于待机态时,发送开机指令,以及在开关信号的输入端检测下降沿且三模冗余软错误缓解核处于检测态时发送关机指令;注错调试电路,通过串并转换电路与三模冗余软错误缓解核连接,被配置于在开关信号的输入端检测到上升沿且三模冗余软错误缓解核处于待机态时,发送注错指令,以控制三模冗余软错误缓解核进入注错态并对指定错误地址的错误数据进行翻转处理。

10、第二方面,本公开还提供一种基于静态随机存储器的fpga,包括上述任意一方面所提供的基于三模冗余软错误缓解核的检测电路。

11、第三方面,本公开还提供一种数据管理方法,应用于上述任意一方面所提供的基于静态随机存储器的fpga包括的三模冗余软错误缓解核,方法包括:在监测态时,监测并接收开关调试电路发送的控制指令;响应于控制指令为开机指令,将监测态切换成检错态,并检测配置内存区域的数据状态;若识别到配置内存区域的出现单粒子翻转错误,则生成状态信息并确定错误类型;通过纠检错计数电路存储状态信息;通过纠检错计数电路统计错误类型的累计出现次数;响应于切换成纠错态,则对配置内存区域中的错误数据进行纠错处理。

12、在一些实施例中,错误类型包括可纠错误类型或不可纠错误类型;通过纠检错计数电路统计错误类型的累计出现次数,包括:响应于错误类型为可纠错误类型,则通过纠检错计数电路将可纠错误数量加一,以更新可纠错误类型的累计出现次数,并保存可纠错误类型对应的错误地址;

13、响应于错误类型为不可纠错误类型,则通过纠检错计数电路将不可纠错误数量加一,以更新不可纠错误类型的累计出现次数。

14、在一些实施例中,方法还包括:响应于错误类型为可纠错误类型,则基于错误地址,对错误数据进行翻转处理;或者响应于错误类型为不可纠错误类型,则触发并发送电路重启提示。

15、在一些实施例中,在监测态时,响应于接收到开关调试电路发送的控制指令,将监测态切换成检错态,包括:在监测态时,响应于接收到开关调试电路发送的控制指令为开机指令,则将监测态切换成检错态;或者在监测态时,响应于接收到开关调试电路发送的控制指令为注错指令,则将监测态切换成注错态,以对指定错误地址的错误数据进行翻转处理。

16、在一些实施例中,方法还包括:在检错态时,若接收到开关调试电路发送的控制指令为关机指令,则进入待机态。

17、第四方面,本公开还提供一种计算机可读存储介质,该计算机可读存储介质存储有以下程序,程序用于执行上述任意一方面所提供的数据管理方法。

18、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

19、本公开的实施例提供的技术方案可以包括以下有益效果:根据本公开提供的基于三模冗余软错误缓解核的检测电路,通过三模冗余软错误缓解核作为处理模块,可以在不牺牲性能的情况下,利用三模冗余原理来增加系统的容错能力,进而结合多个电路模块,在不同的运行状态或者工作态下对配置区域内存的数据进行针对性管理,可以在出现单粒子翻转问题时,尽可能的消除错误数据的影响,进而提高数据纠错精度,减少错误数据的产生和影响。而且,通过对基于三模冗余软错误缓解核的检测电路进行模块化设计,可以保障每个电路模块都有其对应的功能,进而后续进行模块维护时,可以进行针对性维护,降低故障排除难度,从而有助于促进系统的长期发展和升级。即,通过本公开提供的基于三模冗余软错误缓解核的检测电路,不仅可以增强系统的容错能力,还有助于提高系统的可维护性和可靠性。

20、并且,通过本公开提供的基于三模冗余软错误缓解核的检测电路,无需额外增加新的fpga作为抗单粒子翻转的处理芯片,可以有效节省硬件成本。