CN115543683B - 单粒子翻转纠错方法、装置、电子设备以及可读存储介质 - Google Patents

单粒子翻转纠错方法、装置、电子设备以及可读存储介质 Download PDF

Info

Publication number
CN115543683B
CN115543683B CN202211152483.8A CN202211152483A CN115543683B CN 115543683 B CN115543683 B CN 115543683B CN 202211152483 A CN202211152483 A CN 202211152483A CN 115543683 B CN115543683 B CN 115543683B
Authority
CN
China
Prior art keywords
error
configuration data
single event
event upset
error data
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
CN202211152483.8A
Other languages
English (en)
Other versions
CN115543683A (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.)
Shenzhen Pango Microsystems Co Ltd
Original Assignee
Shenzhen Pango Microsystems 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 Shenzhen Pango Microsystems Co Ltd filed Critical Shenzhen Pango Microsystems Co Ltd
Priority to CN202211152483.8A priority Critical patent/CN115543683B/zh
Publication of CN115543683A publication Critical patent/CN115543683A/zh
Application granted granted Critical
Publication of CN115543683B publication Critical patent/CN115543683B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/102Error in check bits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本申请公开了一种单粒子翻转纠错方法、装置、电子设备以及可读存储介质。该方法包括:获取配置数据帧中出错数据的出错数据比特位数以及配置数据帧中出错数据的出错数据帧地址;判断出错数据比特位数是否为单比特,若出错数据比特位数不是单比特,则启动单粒子翻转保护程序;若出错数据比特位数为单比特,则判断出错数据是否影响系统的正常运行,若出错数据影响系统的正常运行,则启动单粒子翻转保护程序,修复配置数据存储器中的出错数据;若出错数据不影响系统的正常运行,则正常运行系统,修复配置数据存储器中的出错数据。本申请解决了现有单粒子翻转纠错方法应用于FPGA时检测到出错数据直接启动单粒子翻转保护程序导致系统运行时间减少的问题。

Description

单粒子翻转纠错方法、装置、电子设备以及可读存储介质
技术领域
本申请属于集成电路技术领域,涉及单粒子翻转纠错方法、装置、电子设备以及可读存储介质。
背景技术
单粒子翻转(SEU,Single Event Upset)是由于空间粒子辐射而导致存储单元发生位翻转(即内容由0变成1,或由1变成0)。SEU效应是瞬态的、非破坏性的,但是它可能会改变微电子电路的RAM(Random Access Memory,随机访问存储器)构型,对可编程电子硬件所执行的功能产生不利影响。
现代高度复杂的电子系统大多采用了基于RAM的复杂电子设备,例如微处理器,现场可编程门阵列FPGA(Field Programmable Gate Arrays)等。
现有的应用于FPGA的SEU检错、纠错技术是通过FPGA软逻辑全程参与实现,占用了大量的FPGA fabric软逻辑资源,降低了用户可使用FPGA逻辑资源,FPGA软逻辑为用户使用FPGA可重复编程资源构成的功能电路,因此当SEU检错、纠错使用到的FPGA软逻辑资源过多时将导致用户可以使用FPGA逻辑资源减少,此外,因为需要FPGA用户软逻辑全程参与,因此当用户逻辑出现错误时容易发生SEU误检的风险。
另一方面,检测出的发生SEU的数据帧并不一定会影响到FPGA的功能模块,然而,现有的应用于FPGA的SEU检错、纠错技术只要检测出的发生SEU的数据帧,会直接执行用户设计的保护措施,如用户设计的保护措施为发出警报以通知用户,或进行系统复位,或进行系统层面的倒换等用户设计的保护措施,减少了系统正常运行的时间,浪费了系统的工作效率。
发明内容
本申请的目的在于提供一种单粒子翻转纠错方法、装置、电子设备以及可读存储介质,以解决现有的SEU技术降低了用户可使用FPGA逻辑资源的技术问题,进一步地,本申请还避免了当用户逻辑出现错误时容易发生SEU误检的风险;进一步地,本申请还避免了现有的SEU技术只要检测出的发生SEU的数据帧就会执行用户设计的保护措施,进而导致系统的运行时间减少的技术问题。
为解决上述技术问题,本申请的技术方案如下:
本申请提供一种单粒子翻转纠错方法,包括:
获取配置数据帧中出错数据的出错数据比特位数以及所述配置数据帧中出错数据的出错数据帧地址,所述配置数据帧存储于配置数据存储器,所述出错数据帧地址为所述出错数据在所述配置数据存储器中的地址;
判断所述出错数据比特位数是否为单比特,若所述出错数据比特位数不是单比特,则启动单粒子翻转保护程序;若所述出错数据比特位数为单比特,则判断所述出错数据是否影响系统的正常运行,
若所述出错数据影响所述系统的正常运行,则启动所述单粒子翻转保护程序,并修复所述配置数据存储器中的出错数据;若所述出错数据不影响所述系统的正常运行,则正常运行所述系统,并修复所述配置数据存储器中的出错数据。
进一步地,所述获取配置数据帧中出错数据的出错数据比特位数以及所述配置数据帧中出错数据的出错数据帧地址的步骤,包括:
根据检测信号检测状态寄存器和地址寄存器,当所述状态寄存器中出现第一结果,且所述地址寄存器中出现第二结果,则根据检测信号读取所述第一结果和所述第二结果;所述第一结果用于表示所述出错数据比特位数,所述第二结果用于表示所述出错数据帧地址。
进一步地,当所述检测信号的电平转换,读取所述第一结果和所述第二结果。
进一步地,所述获取配置数据帧中出错数据的出错数据比特位数以及所述配置数据帧中出错数据的出错数据帧地址的步骤之后,判断所述出错数据比特位数是否为单比特的步骤之前,还包括:
复位所述状态寄存器。
进一步地,所述获取配置数据帧中出错数据的出错数据比特位数以及所述配置数据帧中出错数据的出错数据帧地址的步骤之前,还包括
回读所述配置数据帧并为所述配置数据帧进行单粒子翻转错误校验,若所述配置数据帧中不存在所述出错数据,则将所述单粒子翻转错误校验的结果存储至所述状态寄存器;
若当所述配置数据帧中存在出错数据,则将所述单粒子翻转错误校验的结果存储至所述状态寄存器,将所述第二结果存储至所述地址寄存器,以及将所述检测信号的电平转换,所述配置数据帧中存在出错数据时所述单粒子翻转错误校验的结果为第一结果。
进一步地,所述回读所述配置数据帧为所述配置数据帧进行单粒子翻转错误校验的步骤,还包括:
将回读到的所述配置数据帧存储至回读数据存储器。
进一步地,所述判断所述出错数据是否影响所述系统的正常运行的步骤,包括:
查询错误分类表,确定所述出错数据是否影响所述系统的正常运行;所述错误分类表中存储有第三结果,所述第三结果用于表示所述出错数据是否会影响到系统的正常运行;
若所述出错数据影响所述系统的正常运行,则选择启动所述单粒子翻转保护程序,并修复所述回读数据存储器中所述配置数据帧的出错数据,将修复后的所述配置数据帧重新配置至所述配置数据存储器;
若所述出错数据不影响所述系统的正常运行,则正常运行所述系统,并修复所述回读数据存储器中所述配置数据帧的出错数据,将修复后的所述配置数据帧重新配置至所述配置数据存储器。
基于上述单粒子翻转纠错方法,本申请还提供一种单粒子翻转纠错装置,包括:
错误校验模块,所述错误校验模块用于回读配置数据存储器中的配置数据帧为所述配置数据帧进行单粒子翻转错误校验,并输出所述单粒子翻转错误校验的结果至状态寄存器,以及将回读到的所述配置数据帧存储至回读数据存储器,以及当所述配置数据帧中存在出错数据时,将第二结果存储至地址寄存器,并将检测信号的电平转换,所述配置数据帧中存在出错数据时所述单粒子翻转错误校验的结果为第一结果;
读取模块,所述读取模块用于根据所述检测信号读取第一结果和第二结果;
复位模块,所述复位模块用于复位所述状态寄存器;
第一判断模块,所述第一判断模块用于判断所述出错数据比特位数是否为单比特;若所述出错数据比特位数不是单比特,则启动单粒子翻转保护程序;若所述出错数据比特位数为单比特,则启动第二判断模块;
第二判断模块,所述第二判断模块用于根据错误分类表判断所述出错数据是否影响系统的正常运行;若所述出错数据影响所述系统的正常运行,则启动所述单粒子翻转保护程序,并修复所述配置数据存储器中的出错数据;若所述出错数据不影响所述系统的正常运行,则正常运行所述系统,并修复所述配置数据存储器中的出错数据。
基于上述单粒子翻转纠错方法,本申请还提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任一项所述的单粒子翻转纠错方法的步骤。
基于上述单粒子翻转纠错方法,本申请还提供一种计算机可读存储介质,用于存储计算机指令,当所述计算机指令被运行时,执行时实现上述任一项所述的单粒子翻转纠错方法的步骤。
本申请的有益效果:
本申请提供的单粒子翻转纠错方法,解决了现有的单粒子翻转纠错方法在FPGA中应用时用户可使用FPGA软逻辑资源减少的技术问题,进一步地,本申请还避免了现有的单粒子翻转纠错方法在FPGA中应用时当用户逻辑出现错误时容易发生SEU误检的风险;进一步地,本申请还避免了现有的单粒子翻转纠错方法在FPGA中应用时只要检测出的发生SEU的数据帧就会执行用户设计的保护措施,进而导致系统的运行时间减少的技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的单粒子翻转纠错方法的流程图。
图2为本申请实施例提供的单粒子翻转纠错方法的应用场景。
图3为本申请实施例提供的单粒子翻转纠错方法的应用场景。
图4为本申请实施例提供的单粒子翻转纠错装置图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的单粒子翻转纠错方法的流程图,如图1所示,本申请实施例提供的单粒子翻转纠错方法,包括:
获取配置数据帧中出错数据的出错数据比特位数以及配置数据帧中出错数据的出错数据帧地址;其中,配置数据帧存储于配置数据存储器,出错数据帧地址为出错数据在配置数据存储器中的地址;
判断出错数据比特位数是否为单比特,若出错数据比特位数不是单比特,则启动单粒子翻转保护程序;若出错数据比特位数为单比特,则判断出错数据是否影响系统的正常运行,
若出错数据影响系统的正常运行,则启动单粒子翻转保护程序,并修复配置数据存储器中的出错数据;若出错数据不影响系统的正常运行,则正常运行系统,并修复配置数据存储器中的出错数据。
其中,当配置数据存储器中发生单粒子翻转的出错数据为多比特时,此时发生单粒子翻转的出错数据不能被修复,因此应当直接启动单粒子翻转保护程序,单粒子翻转保护程序由用户或芯片设计人员设计,如用户可以将单粒子翻转保护程序设置为报警,即当发生单粒子翻转的出错数据为多比特时,系统报警以提醒用户;或用户还可以将单粒子翻转保护程序设置为进行系统复位、进行系统层面的倒换等;当配置数据存储器中发送单粒子翻转的出错数据为单比特时,此时发生单粒子翻转的出错数据可以被修复,本申请实施例提供的单粒子翻转纠错方法能自动修复配置数据存储器中的出错数据,同时,本申请实施例提供的单粒子翻转纠错方法还将判断发生单粒子翻转的出错数据是否会影响到系统的正常运行,如影响到系统的功能模块,当发生单粒子翻转的出错数据影响到系统的正常运行时,在修复出错数据的同时启动单粒子翻转保护程序,若发生单粒子翻转的出错数据不影响系统的正常运行,则修复出错数据时系统正常运行。
此外,配置数据存储器中的配置数据帧发生单粒子翻转是否影响系统的正常运行的判断依据在于:配置数据帧发生单粒子翻转时,如果影响到FPGA芯片的用户设计功能,使得用户设计功能失效或出错,则应视为影响到系统的正常运行,同理,如果不影响FPGA芯片的用户设计功能,则应视为不影响系统的正常运行。
在一些实施例中,如图1所示,获取配置数据帧中出错数据的出错数据比特位数以及配置数据帧中出错数据的出错数据帧地址的步骤之前,还包括:
回读配置数据帧并为配置数据帧进行单粒子翻转错误校验,若配置数据帧中不存在出错数据,则将单粒子翻转错误校验的结果存储至状态寄存器;
若当配置数据帧中存在出错数据,则将单粒子翻转错误校验的结果存储至状态寄存器,并将第二结果存储至地址寄存器,以及将检测信号的电平转换,配置数据帧中存在出错数据时单粒子翻转错误校验的结果为第一结果,其中,第一结果用于表示出错数据比特位数,第二结果用于表示出错数据帧地址。
在一些实施例中,回读配置数据帧并为配置数据帧进行单粒子翻转错误校验的步骤还应包括:
将回读到的配置数据帧存储至回读数据存储器,用于在修复配置数据帧后将修复好的配置数据帧重新配置至配置数据存储器。
在一些实施例中,获取配置数据帧中出错数据的出错数据比特位数以及配置数据帧中出错数据的出错数据帧地址的步骤,还包括:
根据检测信号检测状态寄存器和地址寄存器,当状态寄存器中出现了第一结果,且地址寄存器中出现了第二结果,则读取第一结果和第二结果;其中,第一结果的值用于表示出错数据比特位数,第二结果的值用于表示出错数据帧地址,状态寄存器用于存储第一结果,地址寄存器用于存储第二结果,当单粒子翻转错误校验的结果为配置数据帧存在发生单粒子翻转的出错数据时,将出错数据比特位数以第一结果的形式存储于状态寄存器,将出错数据帧地址以第二结果的形式存储于地址寄存器。
具体地,通过检测信号轮询状态寄存器,当检测到检测信号的电平转换,则表示状态寄存器中存储有第一结果,且地址寄存器中存储有第二结果,此时读取状态寄存器中存储的第一结果和地址寄存器中存储的第二结果。
在一些实施例中,读取状态寄存器中存储的第一结果和地址寄存器中存储的第二结果后,为了避免影响到下一次检测,还应清除状态寄存器中的第一结果,使状态寄存器复位。
在一些实施例中,判断出错数据比特位数是否为单比特通过状态寄存器中表示出错数据比特位数的第一结果即可进行判断,当出错数据为单比特时,判断出错数据是否影响系统的正常运行的步骤,包括:
查询错误分类表,以第一结果和第二结果作为索引查询错误分类表,确定出错数据是否影响系统的正常运行;其中,错误分类表为集成电路软件工具如EDA(ElectronicDesign Automation,电子设计自动化)在生成位流时生成的一个存放于片外flash的查询表,错误分类表中存储有第三结果,第三结果用于表示出错数据是否会影响到系统的正常运行。
在一些实施例中,修复配置数据存储器中的出错数据具体包括:
若出错数据影响系统的正常运行,则选择启动单粒子翻转保护程序,并修复回读数据存储器中配置数据帧的出错数据,将修复后的配置数据帧重新配置至配置数据存储器;
若出错数据不影响系统的正常运行,则正常运行系统,并修复回读数据存储器中配置数据帧的出错数据,将修复后的配置数据帧重新配置至配置数据存储器。
本申请实施例提供的单粒子翻转纠错方法应用于可编程逻辑器件中,以下以FPGA(Field-Programmable Gate Array,现场可编程门阵列)为例对本申请实施例提供的单粒子翻转纠错方法进行说明。
图2为本申请实施例提供的单粒子翻转纠错方法的应用场景,如图2所示,本申请实施例提供的单粒子翻转纠错方法可以分为单粒子翻转检错和单粒子翻转纠错,其中,单粒子翻转检错包括:
启动单粒子翻转纠错流程,加载位流至状态寄存器启动硬核SEU,并启动SEU错误分类使能,设置状态寄存器的bit[n1]表示开启硬核SEU功能,设置状态寄存器的bit[n2]表示启动SEU错误分类使能,则将状态寄存器的bit[n1]和bit[n2]置1表示硬核SEU开始运行,其中bit[n]表示状态寄存器中从低位开始的第n位,如设置状态寄存器的bit[3]表示硬核SEU开始运行,设置状态寄存器的bit[6]表示启动SEU错误分类使能,则状态寄存器中从低位开始的第3位置1表示开启硬核SEU功能,状态寄存器中从低位开始的第6位置1表示启动SEU错误分类使能。
硬核SEU回读配置数据存储器CRAM中的配置数据帧,通过SECDED算法IP为回读的配置数据帧做ECC校验,并输出校验结果至状态寄存器,若配置数据帧中存在发生了单粒子翻转的出错数据,则将ECC校验结果存储至状态寄存器和地址寄存器,以使检测信号(seu_err_init_pin)发生电平转换,ECC校验结果包括表示出错数据比特位数的第一结果和表示出错数据帧地址的第二结果;同时也将回读到的配置数据帧存储至回读数据存储器,用于后续修复发生了单粒子翻转的配置数据帧。
其中,如图2所示的本申请实施例提供的单粒子翻转纠错方法的应用场景,硬核SEU通过cmi接口(configuration manament interface)回读配置数据存储器中的配置数据(一帧一帧进行回读),当状态寄存器中存储有第一结果,状态寄存器中与检测信号(init_n_pin)对应的比特位的值改变,即此时检测信号(seu_err_init_pin)的电平转换,如设置状态寄存器中的bit[17]表示检测信号的电平,当状态寄存器中存储有第一结果时,bit[17]的值改变,表示此时检测信号(seu_err_init_pin)由高电平变为低电平表示状态寄存器中存储有第一结果,或也可设置为低电平变为高电平表示状态寄存器中存储有第一结果。
如图2所示,单粒子纠错包括:
上位机(或CPU)轮询FPGA的专用管脚INIT_N,当检测到检测信号(seu_err_init_pin)的电平转换,则读取状态寄存器中的第一结果和地址寄存器中的第二结果,其中,单粒子翻转检错结果包括出错数据是单bit和出错数据是双bit,如果是双bit,则出错数据不可修复,此时根据用户的系统设计自行启动发生单粒子翻转的保护程序,如果是单bit出错,则出错数据可修复,通过硬核SEU修复回读数据存储器中的配置数据帧,并将修复后的配置数据帧重新配置至配置数据存储器。具体地,通过查询SEU错误分类表,判断单比特的出错数据在配置数据存储器中的地址是否影响到系统的正常运行,若单比特的出错数据影响到系统的正常运行,则依然根据用户的系统设计自行启动发生单粒子翻转的保护程序,若单比特的出错数据影响到系统的正常运行则正常运行系统。
其中,上位机与FPGA芯片通过JTAG接口(Joint Test Action Group,联合测试工作组)通信,当需要通过JTAG接口通信,但上位机不支持JTAG时,可以通过JTAG转接线缆实现JTAG接口通信;或上位机与FPGA芯片通过HPIO接口(high performance input output)通信;上位机通过INIT_N管脚的电平变化显示状态寄存器和地址寄存器的状态,并通过JTAG接口或HPIO接口指示FPGA芯片的工作如启动硬核SEU、复位状态寄存器等;即如图2所示,上位机与FPGA芯片之间实现本申请实施例提供的单粒子翻转纠错方法只需要使用到JTAG接口和INIT_N管脚或只需要使用到HPIO接口、时钟接口和INIT_N管脚。
图3为本申请实施例提供的单粒子翻转纠错方法的应用场景,相比于现有技术需要大量的FPGA软逻辑才能实现的单粒子翻转纠错,如图3所示,本申请实施例提提供的单粒子翻转纠错方法仅通过极少量的FPGA软逻辑就能实现单粒子翻转检错和单粒子翻转纠错,单粒子翻转检错具体包括:
FPGA软逻辑GTP_IPAL(一种支持软逻辑通过ispal接口回读CRAM数据进行SEU检测的一种源语)通过ispal接口(internal slave parallel interface,内部从并接口)输入控制信号以使硬核SEU回读配置数据帧,硬核SEU通过SECDED算法为回读的配置数据帧进行ECC校验,将ECC校验结果存储至状态寄存器和地址寄存器中,同时将回读的配置数据帧存储于回读数据存储器,其中,如图3的使用FPGA软逻辑GTP_IPAL实现单粒子翻转检错与图2所示的单粒子翻转检错的区别在于如图3的单粒子翻转检错通过ispal接口输入控制信号以读取第一结果和第二结果,而如图2所示的单粒子翻转检错通过检测信号的电平转换读取第一结果和第二结果。
单粒子翻转纠错具体包括:
FPGA软逻辑GTP_IPAL通过ispal接口读取状态寄存器中的第一结果和地址寄存器中的第二结果,FPGA软逻辑GTP_IPAL以读取的第一结果和第二结果作为索引查询存放于片外flash的错误分类表(软件工具生成位流时生成的一个查询表),由此得知出错数据帧地址所在位置是否影响系统的正常运行,同时修复回读存储器中的配置数据帧,并将修复后的配置数据帧重新配置至配置数据存储器。
其中,如图2和图3所示,硬核SEU、状态寄存器和地址寄存器均位于CCS(configuration control system,配置控制系统)模块,此外,虽未图示,但应当明确的是,回读数据存储器以及执行ECC校验的SECDED算法IP也位于CCS模块。
基于上述单粒子翻转纠错方法,本申请实施例还提供一种单粒子翻转纠错装置,如图4所示,包括:
错误校验模块100,错误校验模块100用于回读配置数据存储器中的配置数据帧为配置数据帧进行单粒子翻转错误校验,并输出单粒子翻转错误校验的结果至状态寄存器,以及将回读到的配置数据帧存储至回读数据存储器,以及当配置数据帧中存在出错数据时,将出错数据帧地址存储至地址寄存器,并将检测信号的电平转换;
读取模块200,读取模块200用于根据检测信号读取状态寄存器中的第一结果和地址寄存器中的第二结果;
复位模块300,复位模块300用于复位状态寄存器;
第一判断模块400,第一判断模块400用于判断出错数据比特位数是否为单比特;若出错数据比特位数不是单比特,则选择启动单粒子翻转保护程序;若出错数据比特位数为单比特,则启动第二判断模块;
第二判断模块400,第二判断模块400用于根据错误分类表判断出错数据是否影响系统的正常运行;若出错数据影响系统的正常运行,则选择启动单粒子翻转保护程序,并修复配置数据存储器中的出错数据;若出错数据不影响系统的正常运行,则正常运行系统,并修复配置数据存储器中的出错数据。
关于上述单粒子翻转纠错装置中各模块实现上述技术方案的其他细节,可参见上述发明实施例中提供的单粒子翻转纠错方法中的描述,此处不再赘述。
基于上述单粒子翻转纠错方法,本发明实施例还提供了一种电子设备,包括处理器和与该处理器耦合的存储器,存储器存储有处理器的可执行指令,处理器配置为经由执行可执行指令来执行上述任一项的单粒子翻转纠错方法的步骤。
关于上述电子设备中处理器实现上述技术方案的其他细节,可参见上述发明实施例中提供的方法中的描述,此处不再赘述。
本申请实施例还提供一种计算机可读存储介质,该存储介质上存储有可读的计算机程序;其中,该计算机程序可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、磁碟或者光盘、ROM(Read-Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
以上内容是结合具体的实施方式对本申请所作的进一步详细说明,不能认定本申请的具体实施只局限于这些说明。对于本申请所属技术领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干简单推演或替换,都应视为本申请的保护范围。

Claims (8)

1.一种单粒子翻转纠错方法,其特征在于,包括:
回读配置数据帧并为所述配置数据帧进行单粒子翻转错误校验,若所述配置数据帧中不存在出错数据,则将所述单粒子翻转错误校验的结果存储至状态寄存器;
若所述配置数据帧中存在出错数据,则将所述单粒子翻转错误校验的结果存储至状态寄存器,并将第二结果存储至地址寄存器,以及将检测信号的电平转换,所述配置数据帧中存在出错数据时所述单粒子翻转错误校验的结果为第一结果;
获取所述配置数据帧中出错数据的出错数据比特位数以及所述配置数据帧中出错数据的出错数据帧地址,所述配置数据帧存储于配置数据存储器,所述出错数据帧地址为所述出错数据在所述配置数据存储器中的地址;
判断所述出错数据比特位数是否为单比特,若所述出错数据比特位数不是单比特,则启动单粒子翻转保护程序;若所述出错数据比特位数为单比特,则查询错误分类表,确定所述出错数据是否影响所述系统的正常运行;所述错误分类表中存储有第三结果,所述第三结果用于表示所述出错数据是否会影响到系统的正常运行;
若所述出错数据影响所述系统的正常运行,则选择启动所述单粒子翻转保护程序,并修复所述配置数据帧的出错数据,将修复后的所述配置数据帧重新配置至所述配置数据存储器;
若所述出错数据不影响所述系统的正常运行,则正常运行所述系统,并修复所述配置数据帧的出错数据,将修复后的所述配置数据帧重新配置至所述配置数据存储器。
2.如权利要求1所述的单粒子翻转纠错方法,其特征在于,所述获取所述配置数据帧中出错数据的出错数据比特位数以及所述配置数据帧中出错数据的出错数据帧地址的步骤,包括:
根据所述检测信号检测所述状态寄存器和所述地址寄存器,当所述状态寄存器中出现所述第一结果,且所述地址寄存器中出现所述第二结果,则读取所述第一结果和所述第二结果;所述第一结果用于表示所述出错数据比特位数,所述第二结果用于表示所述出错数据帧地址。
3.如权利要求2所述的单粒子翻转纠错方法,其特征在于,当所述检测信号的电平转换,读取所述第一结果和所述第二结果。
4.如权利要求2所述的单粒子翻转纠错方法,其特征在于,所述获取所述配置数据帧中出错数据的出错数据比特位数以及所述配置数据帧中出错数据的出错数据帧地址的步骤之后,判断所述出错数据比特位数是否为单比特的步骤之前,还包括:
复位所述状态寄存器。
5.如权利要求1所述的单粒子翻转纠错方法,其特征在于,所述回读所述配置数据帧为所述配置数据帧进行单粒子翻转错误校验的步骤,还包括:
将回读到的所述配置数据帧存储至回读数据存储器。
6.一种单粒子翻转纠错装置,其特征在于,包括:
错误校验模块,所述错误校验模块用于回读配置数据存储器中的配置数据帧为所述配置数据帧进行单粒子翻转错误校验,并输出所述单粒子翻转错误校验的结果至状态寄存器,以及将回读到的所述配置数据帧存储至回读数据存储器,以及当所述配置数据帧中存在出错数据时,将第二结果存储至地址寄存器,并将检测信号的电平转换,所述配置数据帧中存在出错数据时所述单粒子翻转错误校验的结果为第一结果;
读取模块,所述读取模块用于根据所述检测信号读取第一结果和第二结果;
复位模块,所述复位模块用于复位所述状态寄存器;
第一判断模块,所述第一判断模块用于判断所述出错数据比特位数是否为单比特;若所述出错数据比特位数不是单比特,则启动单粒子翻转保护程序;若所述出错数据比特位数为单比特,则启动第二判断模块;
第二判断模块,所述第二判断模块用于根据错误分类表判断所述出错数据是否影响系统的正常运行;若所述出错数据影响所述系统的正常运行,则启动所述单粒子翻转保护程序,并修复所述配置数据存储器中的出错数据;若所述出错数据不影响所述系统的正常运行,则正常运行所述系统,并修复所述配置数据存储器中的出错数据。
7.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~5任一项所述的单粒子翻转纠错方法的步骤。
8.一种计算机可读存储介质,其特征在于,用于存储计算机指令,当所述计算机指令被运行时,执行时实现权利要求1~5任一项所述的单粒子翻转纠错方法的步骤。
CN202211152483.8A 2022-09-21 2022-09-21 单粒子翻转纠错方法、装置、电子设备以及可读存储介质 Active CN115543683B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211152483.8A CN115543683B (zh) 2022-09-21 2022-09-21 单粒子翻转纠错方法、装置、电子设备以及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211152483.8A CN115543683B (zh) 2022-09-21 2022-09-21 单粒子翻转纠错方法、装置、电子设备以及可读存储介质

Publications (2)

Publication Number Publication Date
CN115543683A CN115543683A (zh) 2022-12-30
CN115543683B true CN115543683B (zh) 2023-07-18

Family

ID=84727101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211152483.8A Active CN115543683B (zh) 2022-09-21 2022-09-21 单粒子翻转纠错方法、装置、电子设备以及可读存储介质

Country Status (1)

Country Link
CN (1) CN115543683B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107710325A (zh) * 2015-12-31 2018-02-16 京微雅格(北京)科技有限公司 一种fpga电路和其配置文件处理方法
CN111599402A (zh) * 2020-04-15 2020-08-28 深圳市国微电子有限公司 存储器的单粒子效应测试分析方法、装置及测试系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN106293991B (zh) * 2016-08-10 2019-10-18 上海无线电设备研究所 基于ecc纠错码的fpga抗单粒子翻转快速刷新电路及方法
CN111459712B (zh) * 2020-04-16 2021-04-02 上海安路信息科技股份有限公司 Sram型fpga单粒子翻转纠错方法及单粒子翻转纠错电路
CN113918386A (zh) * 2021-10-25 2022-01-11 北京理工雷科电子信息技术有限公司 一种在轨处理系统自主容错和故障恢复方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107710325A (zh) * 2015-12-31 2018-02-16 京微雅格(北京)科技有限公司 一种fpga电路和其配置文件处理方法
CN111599402A (zh) * 2020-04-15 2020-08-28 深圳市国微电子有限公司 存储器的单粒子效应测试分析方法、装置及测试系统

Also Published As

Publication number Publication date
CN115543683A (zh) 2022-12-30

Similar Documents

Publication Publication Date Title
US10204698B2 (en) Method to dynamically inject errors in a repairable memory on silicon and a method to validate built-in-self-repair logic
US11335428B2 (en) Methods, systems and apparatus for in-field testing for generic diagnostic components
CN101551763B (zh) 现场可编程逻辑门阵列中单粒子翻转的修复方法及装置
CN111459712B (zh) Sram型fpga单粒子翻转纠错方法及单粒子翻转纠错电路
CN109254883B (zh) 一种片上存储器的调试装置及方法
JP2001035192A (ja) メモリ搭載集積回路およびそのテスト方法
CN116049249A (zh) 报错信息处理方法、装置、系统、设备和存储介质
WO2019184612A1 (zh) 一种终端及电子设备
CN115543683B (zh) 单粒子翻转纠错方法、装置、电子设备以及可读存储介质
CN108170571B (zh) 一种芯片追踪调试装置及方法
US11105854B2 (en) System, apparatus and method for inter-die functional testing of an integrated circuit
TW201610663A (zh) 在儲存資料值中的錯誤偵測
US20020188900A1 (en) Test method and test system for semiconductor device
US20220269846A1 (en) Structural analysis for determining fault types in safety related logic
CN115470125A (zh) 基于日志文件的调试方法、设备以及存储介质
CN113722138A (zh) 一种降低软错误敏感性的高可靠fpga系统和方法
CN114661531A (zh) 一种针对fpga的细粒度自修复电路和方法
CN113160875A (zh) 芯片测试系统和测试方法
CN108829417B (zh) 一种cpld的升级装置、方法、设备及存储介质
CN109062716B (zh) 基于帧级位流回读表决的准三模自修复系统及其控制方法
US11532374B2 (en) Memory testing
Li et al. A fault-tolerant method of SRAM FPGA based on processor scrubbing
JP4899927B2 (ja) テストパターン自動生成方法およびテストパターン自動生成プログラム
Sontakke et al. Memory built-in self-repair and correction for improving yield: a review
US11720506B2 (en) Device and method for inspecting process, and electronic control device

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