CN113722138A - 一种降低软错误敏感性的高可靠fpga系统和方法 - Google Patents

一种降低软错误敏感性的高可靠fpga系统和方法 Download PDF

Info

Publication number
CN113722138A
CN113722138A CN202110999160.1A CN202110999160A CN113722138A CN 113722138 A CN113722138 A CN 113722138A CN 202110999160 A CN202110999160 A CN 202110999160A CN 113722138 A CN113722138 A CN 113722138A
Authority
CN
China
Prior art keywords
module
sub
soft error
modules
errors
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.)
Withdrawn
Application number
CN202110999160.1A
Other languages
English (en)
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.)
Changzhou Sudu Technology Co ltd
Original Assignee
Changzhou Sudu Technology 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 Changzhou Sudu Technology Co ltd filed Critical Changzhou Sudu Technology Co ltd
Priority to CN202110999160.1A priority Critical patent/CN113722138A/zh
Publication of CN113722138A publication Critical patent/CN113722138A/zh
Withdrawn legal-status Critical Current

Links

Images

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开一种降低软错误敏感性的高可靠FPGA系统和方法,包括:脆弱性评估模块,用于评估设计电路的各个子模块的对软错误敏感性,并对各个子模块的对软错误敏感性进行排序;智能容错模块,用于基于所述脆弱性评估模块得到的各个子模块的对软错误敏感性排序,根据用户需求对部分或全部子模块进行备份,以及检测各个子模块是否发生功能错误,在发生错误时将程序逻辑切换至备份的子模块运行;重配置模块,用于对所述智能容错模块检测出的发生功能错误的子模块进行电路错误修复。本发明解决了双模冗余只能检错而无法纠错的缺点,避免了三模冗余引入的巨大资源开销,同时本发明的方法适用于大部分领域,包括深度学习、数字信号处理、图像处理。

Description

一种降低软错误敏感性的高可靠FPGA系统和方法
技术领域
本发明涉及一种降低软错误敏感性的高可靠FPGA系统和方法,属于集成电路软错误加固研究领域。
背景技术
在空间环境中,带电粒子的打击极易使航天器中现场可编程门阵列(FieldProgrammable Gate Array,FPGA)的功能发生错误,其中基于SRAM的FPGA对于带电粒子的辐射特别敏感。尤其是,近年来高密度集成芯片的出现,电路容量增大、工作电压降低使得它们在辐射环境下的可靠性降低。其中软错误是主要的故障,它是由粒子和PN结相互作用引起的一种瞬态故障,软错误对基于SRAM的FPGA上实现的电路具有特别严重的影响。
双模冗余(Double Modular Redundancy,DMR)和三模冗余(Triple ModularRedundancy,TMR)技术作为被广泛使用的针对FPGA上单粒子翻转(Single-Event Upset,SEU)的容错技术,可以大幅度提高FPGA在SEU影响下的可靠性。但是由于要实现额外的模块与布线,它对硬件资源以及功耗消耗较大,而且工作速度也受到影响,这都限制了传统DMR和TMR的使用。
经检索发现,公开号为CN113032177A的中国专利于2021年6月25日公开了一种软错误的监控方法和设备,其中方法包括:响应于芯片内部发生软错误,芯片内的软错误防护控制器修正软错误;基于软错误防护控制器的状态线输出的信号变化,判定软错误防护控制器的软错误信息,并写入存储器中。利用芯片自身的硬件资源监控FPGA芯片内部是否发生过软错误,同时判定并存储相应的软错误信息,但如果出现了部分模块发生错误,在调试的过程中无法在通过其他子模块实现故障模块的运行功能,需要耗费调试时间对子模块进行修复,在处理故障的过程系统的整体功能受到影响。
发明内容
为克服上述现有技术的不足,本发明提供一种降低软错误敏感性的高可靠FPGA系统和方法,既解决了双模冗余只能检错而无法纠错的技术问题,又解决了三模冗余引入了巨大的资源开销的技术问题。
本发明在一方面,提供一种降低软错误敏感性的高可靠FPGA系统,包括:
脆弱性评估模块,用于评估设计电路的各个子模块的对软错误敏感性,并对各个子模块的对软错误敏感性进行排序;
智能容错模块,用于基于所述脆弱性评估模块得到的各个子模块的对软错误敏感性排序,根据用户需求对部分或全部子模块进行备份,以及检测各个子模块是否发生功能错误,在发生错误时将程序逻辑切换至备份的子模块运行;
重配置模块,用于对所述智能容错模块检测出的发生功能错误的子模块进行电路错误修复。
上述技术方案中,脆弱性评估模块使用基于Xilinx的Soft Error Mitigation IP构建的敏感区域分析系统(该系统可参考2019年5月3日公开的公开号为CN109711056A的中国专利),用于评估设计电路中各个子模块的对软错误敏感性,并对各个子模块的对软错误敏感性进行排序;智能容错模块用于基于所述脆弱性评估模块得到的各个子模块的对软错误敏感性排序,根据用户需求对部分或全部子模块进行备份,以及检测各个子模块是否发生功能错误,在发生错误时将程序逻辑切换至备份的子模块运行;重配置模块用于对所述智能容错模块检测出的发生功能错误的子模块进行电路错误修复。本方案所提供的系统通过脆弱性评估模块对各个子模块的对软错误敏感性进行评估和排序,为智能容错模块选择需要备份的子模块提供参考;通过智能容错模块对设计电路的各个子模块进行检错,通过重配置模块对发生功能错误的子模块进行纠错,克服了双模冗余只能检错而无法纠错的缺点,同时也避免了使用三模冗余方案带来的巨大资源开销;当设计电路中的子模块发生功能错误时,可以将程序逻辑切换至备份的子模块运行,并且对发生错误的子模块进行错误修复,实现了在修复发生功能错误的子模块的同时,通过备份的子模块完成程序逻辑正常运行的技术效果。
优选的,所述智能容错模块包括:
备份选择模块,用于基于所述脆弱性评估模块得到的各个子模块的对软错误敏感性排序,根据用户需求对部分或全部子模块进行备份;
备份切换模块,用于检测各个子模块是否发生功能错误,以及将程序逻辑切换至所述备份选择模块备份的子模块运行。
通过备份选择模块,基于所述脆弱性评估模块得到的各个子模块的对软错误敏感性排序,根据用户需求选择需要备份的子模块,对选中的子模块进行备份;通过备份切换模块检测所述备份选择模块所选择的子模块是否发生功能错误,当子模块发生功能错误时,将程序逻辑切换至备份的子模块进行运行。当设计电路有部分子模块发生故障时,通过将程序逻辑切换至备份的子模块进行运行,使设计电路整体能够继续保持正常工作。
优选的,所述备份切换模块包括:
数据检查模块,用于检查设计电路的各个子模块是否发生功能错误,并将检查的结果发送至逻辑切换模块;
逻辑切换模块,用于接收数据检查模块的检查结果;在所述数据检查模块检查到子模块发生功能错误时,将程序逻辑切换至所述备份选择模块备份的子模块运行。
优选的,所述用户需求包括设定子模块的对软错误敏感性数值范围。用户根据实际使用需求设定各个子模块的对软错误敏感性的数值范围,所述智能容错模块根据脆弱性评估模块
优选的,所述脆弱性评估模块包括PC控制软件、软错误缓解控制器和输出对比单元,其中:
PC控制软件:用于向软错误缓解控制器发送故障注入指令、接收软错误环节控制器的完成信号,以及向输出对比单元发送数据对比指令,并接收、记录输出对比单元的输出错误个数;
软错误缓解控制器:用于根据所述PC控制软件的故障注入指令,将所述故障注入指令所指向的子模块的地址配置单元进行配置位的数据翻转,翻转完成后向所述PC控制软件发送完成信号;
输出对比单元:用于接收PC控制软件的数据对比指令,对比设计电路子模块的计算结果,记录各子模块计算结果中错误的数量,并将错误的数量传送给PC控制软件。
通过PC控制软件向软错误发送故障注入指令,软错误环节控制器收到所述故障注入指令后,将设计电路的子模块中故障注入指令所指向的子模块的地址配置单元进行配置位的数据反转,反转完成后向PC控制软件发送完成信号,PC控制软件收到完成信号后,向输出对比单元发送数据对比指令,所述输出对比单元接收到数据对比指令后,对比设计电路子模块的计算结果,并记录各子模块计算结果中错误的数量,并将错误的数量传送给PC控制软件,PC控制软件根据统计到的各子模块出现的错误数量对各子模块的对软错误敏感性进行排序,实现了对设计电路子模块的软错误敏感度评估和排序。
优选的,所述设计电路包括算法模块和Golden Data模块:所述算法模块包括设计电路的实现主体,所述Golden Data模块用于存储输入数据不变时的正确输出数据,并对正确输出数据进行读取。通过算法模块构建了设计电路的主体;通过Golden Data模块,可以对输入数据不变时的正确输出数据进行存储和读取,为设计电路子软错误敏感度的评估和修复提供了便利。
优选的,所述Golden Data模块包括存储ROM和读取数据模块;所述存储ROM用于存储在输入数据不变时的正确输出数据;所述读取数据模块用于从所述存储ROM中读取出正确输出数据,并传入所述输出对比单元。通过存储ROM存储正确输出数据,通过读取数据模块读取存储在存储ROM中的正确输出数据,并传入输出对比单元,与子模块的计算结果进行对比,为评估子模块对软错误敏感性提供了数据基础。
本发明在另一方面,提供一种应用所述降低软错误敏感性的高可靠FPGA系统的方法,所述方法包括:
评估设计电路中各个子模块的对软错误敏感性,获得设计电路的各个子模块的对软错误敏感性排序;
基于所述各个子模块的对软错误敏感性排序,根据用户需求对部分或全部子模块进行备份;所述用户需求包括设定子模块的对软错误敏感性数值范围;
在设计电路运行时,对各个子模块的输出进行检查;若未发生功能错误,对设计电路的最终计算结果进行输出;若发生功能错误,将程序逻辑切换至所述子模块的备份子模块运行,并对发生功能错误的子模块进行部分重配置修复,在备份子模块发生功能错误时,将程序逻辑切换至修复后的子模块运行。
通过评估设计电路中各个子模块的对软错误敏感性,获得设计电路的各个子模块的对软错误敏感性排序;基于所述各个子模块的对软错误敏感性排序,根据用户需求对部分或全部子模块进行备份;所述用户需求包括设定子模块的对软错误敏感性数值范围;在设计电路运行时,对各个子模块的输出进行检查;若未发生功能错误,对设计电路的最终计算结果进行输出;若发生功能错误,将程序逻辑切换至所述子模块的备份子模块运行,同时,对发生功能错误的子模块进行部分重配置修复,在备份子模块发生功能错误时,将程序逻辑切换至修复后的子模块运行,极大地提高FPGA设计电路的可靠性。
优选的,评估设计电路中各个子模块的对软错误敏感性,获得设计电路的各个子模块的对软错误敏感性排序具体包括:
PC控制软件向软错误缓解控制器发送故障注入指令;
软错误缓解控制器根据得到的故障注入指令,将故障注入指令所指向的子模块的地址配置单元进行配置位的数据翻转,翻转完成后向所述PC控制软件发送完成信号;
PC控制软件向输出对比单元发送数据对比指令;输出对比单元对输出数据模块的正确输出数据进行读取,将所述正确输出数据与设计电路的各子模块的计算结果进行对比,并记录各子模块结果中错误的数量,将输出错误个数发送至PC控制软件,PC控制软件根据统计到的各子模块出现的错误数量对各子模块的对软错误敏感性进行排序。
与现有技术相比,本发明的有益效果在于:
(1)本发明提供的系统,通过脆弱性评估模块对各个子模块的对软错误敏感性进行评估和排序,为智能容错模块选择需要备份的子模块提供参考;通过智能容错模块对设计电路的各个子模块进行检错,通过重配置模块对发生功能错误的子模块进行纠错,克服了双模冗余只能检错而无法纠错的缺点,同时也避免了使用三模冗余方案带来的巨大资源开销。
(2)本发明提供的系统,当设计电路的子模块发生功能错误时,能够将程序逻辑切换至备份的子模块运行,并且对发生错误的子模块进行错误修复,实现了在修复发生功能错误的子模块的同时,通过备份的子模块完成程序逻辑正常运行的技术效果。
(3)本发明提供的方法,通过评估设计电路中各个子模块的对软错误敏感性,获得设计电路的各个子模块的对软错误敏感性排序;基于所述各个子模块的对软错误敏感性排序,根据用户需求对部分或全部子模块进行备份;所述用户需求包括设定子模块的对软错误敏感性数值范围;在设计电路运行时,对各个子模块的输出进行检查;若未发生功能错误,对设计电路的最终计算结果进行输出;若发生功能错误,将程序逻辑切换至所述子模块的备份子模块运行,对发生功能错误的子模块进行部分重配置修复,在备份子模块发生功能错误时,将程序逻辑切换至修复后的子模块运行,极大地提高FPGA设计电路的可靠性。
(4)本发明提供的方法可以被任何基于Xilinx FPGA电路实现的功能电路采用,适用于大部分领域,包括但不限于深度学习、数字信号处理、图像处理等,具有良好的实用性,便于推广。
附图说明
图1是本发明实施例一提供的一种降低软错误敏感性的高可靠FPGA系统的整体框图;
图2是本发明实施例二中脆弱性评估模块的系统框架图;
图3是本发明实施例二的应用所提供的一种降低软错误敏感性的高可靠FPGA系统重配置FFT设计电路的示意图。
具体实施方式
以下将结合附图对本发明各实施例的技术方案进行清楚、完整的描述,显然,所描述发实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
实施例一
如图1所示,本实施例提供一种降低软错误敏感性的高可靠FPGA系统,包括脆弱性评估模块、智能容错模块、部分重配置模块,其中:
脆弱性评估模块使用基于Xilinx的Soft Error Mitigation IP构建的敏感区域分析系统(该系统可参考2019年5月3日公开的公开号为CN109711056A的中国专利),用于评估设计电路中各个子模块的对软错误敏感性,并对各个子模块的对软错误敏感性进行排序;
智能容错模块,用于基于所述脆弱性评估模块得到的各个子模块的对软错误敏感性排序,根据用户需求对部分或全部子模块进行备份,以及检测各个子模块是否发生功能错误,在发生错误时将程序逻辑切换至备份的子模块运行;所述用户需求包括设定子模块的对软错误敏感性数值范围;
重配置模块,用于对所述智能容错模块检测出的发生功能错误的子模块进行电路错误修复。
所述智能容错模块包括:
备份选择模块,用于基于所述脆弱性评估模块得到的各个子模块的对软错误敏感性排序,根据用户需求对部分或全部子模块进行备份;
备份切换模块,用于检测各个子模块是否发生功能错误,以及将程序逻辑切换至所述备份选择模块备份的子模块运行。
所述备份切换模块包括:
数据检查模块,用于检查设计电路的各个子模块是否发生功能错误,并将检查的结果发送至逻辑切换模块;
逻辑切换模块,用于接收数据检查模块的检查结果;在所述数据检查模块检查到子模块发生功能错误时,将程序逻辑切换至所述备份选择模块备份的子模块运行。
所述设计电路包括算法模块和Golden Data模块:所述算法模块包括待评估的设计电路的主要电路,所述Golden Data模块用于存储输入数据不变时的正确输出数据,并对正确输出数据进行读取;所述Golden Data模块包括存储ROM和读取数据模块;所述存储ROM用于存储在输入数据不变时的正确输出数据;
本实施例的设计电路为FFT计算电路,所述读取数据模块在接受到设计电路的FFT各级运算完成的信号后,通过计数器在每个时钟周期的上升沿从存储ROM中取出正确输出数据,并传入输出对比单元。读取数据模块用于从所述存储ROM中读取出正确输出数据,并传入所述输出对比单元。
应用本实施例的降低软错误敏感性的高可靠FPGA系统的方法包括:
使用基于Xilinx的Soft Error Mitigation IP构建的敏感区域分析系统,构建脆弱性评估模块,评估设计中各个子模块的对软错误敏感性,获得各个子模块的对软错误敏感性排序;
基于得到的各个子模块的对软错误敏感性排序,根据用户需求对其中的部分或全部子模块进行备份,即对需要备份的子模块进行复制;
在设计电路运行时,对各个子模块的输出进行检查,即使用Golden Data模块里该子模块的正确输出数据与此时设计电路子模块的计算结果进行对比,若未发现功能错误,对设计电路的最终计算结果进行输出;若发现功能错误,将程序逻辑切换至备份子模块运行,并对发生功能错误的子模块进行部分重配置修复,在备份子模块也发生功能错误时,将程序逻辑重新切换至修复后的子模块。
本实施例的系统和方法克服了传统加固策略双模冗余只能检错而无法纠错的缺点,还避免了三模冗余引入的巨大资源开销。
实施例二:
本实施例的一种降低软错误敏感性的高可靠FPGA系统系统中,脆弱性评估模块的系统框架如图2所示,脆弱性评估模块用于评估设计电路各个子模块对软错误敏感性,并对各个子模块的对软错误敏感性进行排序;所述脆弱性评估模块包括PC控制软件、软错误缓解控制器和输出对比模块;
所述脆弱性评估模块的具体工作过程包括:
所述PC控制软件用于向软错误缓解控制器发送故障注入指令,进而完成故障注入模拟,同时也接收并记录来自输出对比模块返回的输出错误个数,若发现输出错误个数不为0,则调用Tcl脚本对FPGA进行重配置并记录重配置次数,即重新写入FPGA程序将故障擦除。
所述软错误缓解控制器根据得到的故障注入指令,将设计电路子模块中故障注入指令所指向子模块的地址的配置单元进行配置位的数据翻转。
所述输出对比模块在读取输出数据模块获取到全部正确输出后,将其与待评估的设计电路中各子模块的结果分别进行对比,并记录各子模块结果中错误的数量,然后将输出错误个数发送至PC控制软件,PC控制软件根据统计到的各子模块出现的错误数量对其对软错误敏感性进行排序。
应用本实施例提供的降低软错误敏感性的高可靠FPGA系统按照以下方法对FFT模块进行分析和重配置:
步骤1:获取FFT模块进行8点FFT运算所需的输入数据,并对获取的数据进行预处理,将其转化为FFT模块可识别的16bit二进制补码数据,并将其保存为COE文件存入存储ROM中;同时使用Matlab计算出在输入数据保持不变的情况下各级FFT正确的输出数据,再将其转化为16bit二进制补码数据,并将其保存为COE文件存入存储ROM中;
步骤2:PC控制软件从故障可注入的地址范围中每次随机选择一个地址将故障注入地址传输至软错误缓解控制器,并在PC控制软件上记录该次故障注入是否导致各级FFT发生功能错误,若发生错误则对出错模块进行记录,直至完成指定数量的故障注入;
步骤3:根据步骤2统计得到的FFT中各级子模块出现的功能错误的次数,获取各级子模块的对软错误敏感性排序;
步骤4:基于步骤3得到的各级子模块的对软错误敏感性排序,根据用户需求对其中的部分或全部子模块进行备份,即对需要备份的子模块进行复制;
步骤5:在设计电路正常运行时,对各级FFT子模块的输出进行检查,即使用该模块的Golden Data与此时的计算输出进行对比,若发现功能错误,执行步骤6,若未发现功能错误,执行步骤7;
步骤6:当发现FFT某级子模块出现了功能错误时,将程序逻辑切换至备份子模块运行,并对发生功能错误的子模块进行部分重配置修复,在备份子模块也发生功能错误时,将程序逻辑重新切换至修复后的子模块即可;
步骤7:对设计电路的最终计算结果进行输出。
本实施例中,任何基于Xilinx FPGA电路实现的功能电路均能采用本发明的方法达到抗软错误可靠性能提升的技术效果。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
在本说明书的描述中,参考术语“一个实施方式”、“某些实施方式”、“示意性实施方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本实施例技术方案。

Claims (9)

1.一种降低软错误敏感性的高可靠FPGA系统,其特征在于,包括:
脆弱性评估模块,用于评估设计电路的各个子模块的对软错误敏感性,并对各个子模块的对软错误敏感性进行排序;
智能容错模块,用于基于所述脆弱性评估模块得到的各个子模块的对软错误敏感性排序,根据用户需求对部分或全部子模块进行备份,以及检测各个子模块是否发生功能错误,在发生错误时将程序逻辑切换至备份的子模块运行;
重配置模块,用于对所述智能容错模块检测出的发生功能错误的子模块进行电路错误修复。
2.根据权利要求1所述的一种降低软错误敏感性的高可靠FPGA系统,其特征在于,所述智能容错模块包括:
备份选择模块,用于基于所述脆弱性评估模块得到的各个子模块的对软错误敏感性排序,根据用户需求对部分或全部子模块进行备份;
备份切换模块,用于检测所述备份选择模块所选择的子模块是否发生功能错误,以及将程序逻辑切换至所述备份选择模块备份的子模块运行。
3.根据权利要求2所述的一种降低软错误敏感性的高可靠FPGA系统,其特征在于,所述备份切换模块包括:
数据检查模块,用于检查设计电路的各个子模块是否发生功能错误,并将检查的结果发送至逻辑切换模块;
逻辑切换模块,用于接收数据检查模块的检查结果;在所述数据检查模块检查到子模块发生功能错误时,将程序逻辑切换至所述备份选择模块备份的子模块运行。
4.根据权利要求1所述的一种降低软错误敏感性的高可靠FPGA系统,其特征在于,所述用户需求包括设定子模块的对软错误敏感性数值范围。
5.根据权利要求1所述的一种降低软错误敏感性的高可靠FPGA系统,其特征在于,所述脆弱性评估模块包括PC控制软件、软错误缓解控制器和输出对比单元,其中:
PC控制软件:用于向软错误缓解控制器发送故障注入指令、接收软错误环节控制器的完成信号,以及向输出对比单元发送数据对比指令,并接收、记录输出对比单元的输出错误个数;
软错误缓解控制器:用于根据所述PC控制软件的故障注入指令,将所述故障注入指令所指向的子模块的地址配置单元进行配置位的数据翻转,翻转完成后向所述PC控制软件发送完成信号;
输出对比单元:用于接收PC控制软件的数据对比指令,对比设计电路子模块的计算结果,记录各子模块计算结果中错误的数量,并将错误的数量传送给PC控制软件。
6.根据权利要求1所述的一种降低软错误敏感性的高可靠FPGA系统,其特征在于,所述设计电路包括算法模块和Golden Data模块:所述算法模块包括设计电路的实现主体,所述Golden Data模块用于存储输入数据不变时的正确输出数据,并对正确输出数据进行读取。
7.根据权利要求6所述的一种降低软错误敏感性的高可靠FPGA系统,其特征在于,所述Golden Data模块包括存储ROM和读取数据模块;所述存储ROM用于存储在输入数据不变时的正确输出数据;所述读取数据模块用于从所述存储ROM中读取出正确输出数据,并传入所述输出对比单元。
8.一种应用权利要求1至7中任一项所述降低软错误敏感性的高可靠FPGA系统的方法,其特征在于,所述方法包括:
评估设计电路中各个子模块的对软错误敏感性,获得设计电路的各个子模块的对软错误敏感性排序;
基于所述各个子模块的对软错误敏感性排序,根据用户需求对部分或全部子模块进行备份;所述用户需求包括设定子模块的对软错误敏感性数值范围;
在设计电路运行时,对各个子模块的输出进行检查;若未发生功能错误,对设计电路的最终计算结果进行输出;若发生功能错误,将程序逻辑切换至所述子模块的备份子模块运行,并对发生功能错误的子模块进行部分重配置修复,在备份子模块发生功能错误时,将程序逻辑切换至修复后的子模块运行。
9.一种应用权利要求7所述降低软错误敏感性的高可靠FPGA系统的方法,其特征在于,评估设计电路中各个子模块的对软错误敏感性,获得设计电路的各个子模块的对软错误敏感性排序具体包括:
PC控制软件向软错误缓解控制器发送故障注入指令;
软错误缓解控制器根据得到的故障注入指令,将故障注入指令所指向的子模块的地址配置单元进行配置位的数据翻转,翻转完成后向所述PC控制软件发送完成信号;
PC控制软件向输出对比单元发送数据对比指令;输出对比单元对输出数据模块的正确输出数据进行读取,将所述正确输出数据与设计电路的各子模块的计算结果进行对比,并记录各子模块结果中错误的数量,将输出错误个数发送至PC控制软件,PC控制软件根据统计到的各子模块出现的错误数量对各子模块的对软错误敏感性进行排序。
CN202110999160.1A 2021-08-27 2021-08-27 一种降低软错误敏感性的高可靠fpga系统和方法 Withdrawn CN113722138A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110999160.1A CN113722138A (zh) 2021-08-27 2021-08-27 一种降低软错误敏感性的高可靠fpga系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110999160.1A CN113722138A (zh) 2021-08-27 2021-08-27 一种降低软错误敏感性的高可靠fpga系统和方法

Publications (1)

Publication Number Publication Date
CN113722138A true CN113722138A (zh) 2021-11-30

Family

ID=78678727

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110999160.1A Withdrawn CN113722138A (zh) 2021-08-27 2021-08-27 一种降低软错误敏感性的高可靠fpga系统和方法

Country Status (1)

Country Link
CN (1) CN113722138A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116681015A (zh) * 2023-08-03 2023-09-01 苏州国芯科技股份有限公司 一种芯片设计方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116681015A (zh) * 2023-08-03 2023-09-01 苏州国芯科技股份有限公司 一种芯片设计方法、装置、设备及存储介质
CN116681015B (zh) * 2023-08-03 2023-12-22 苏州国芯科技股份有限公司 一种芯片设计方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
Stoddard et al. A hybrid approach to FPGA configuration scrubbing
US5764878A (en) Built-in self repair system for embedded memories
US9117552B2 (en) Systems and methods for testing memory
Stroud et al. BIST-based diagnosis of FPGA interconnect
US7206988B1 (en) Error-correction memory architecture for testing production errors
US8433950B2 (en) System to determine fault tolerance in an integrated circuit and associated methods
US4912710A (en) Self-checking random access memory
EP2631803B1 (en) Methods and apparatus for automatic fault detection
US20090125856A1 (en) Methods and apparatus for boolean equivalency checking in the presence of voting logic
CN109542670B (zh) 基于错误快速定位的fpga软错误刷新方法以及刷新器
Tamir et al. Design and application of self-testing comparators implemented with MOS PLA's
CN113722138A (zh) 一种降低软错误敏感性的高可靠fpga系统和方法
CN107516546B (zh) 一种随机存储器的在线检测装置及方法
CN106777719B (zh) 双模冗余的故障检测装置的故障检测方法
Girard et al. Delay-fault diagnosis by critical-path tracing
CN117148117B (zh) 一种Chiplet故障自动检测修复方法及系统
CN105653455A (zh) 一种程序漏洞的检测方法及检测系统
Ryabtsev et al. Automatic operability restoration of semiconductor memory’s modules during multiple faults
CN114661531B (zh) 一种针对fpga的细粒度自修复电路和方法
US6041426A (en) Built in self test BIST for RAMS using a Johnson counter as a source of data
Lee et al. Evaluation of error detection coverage and fault-tolerance of digital plant protection system in nuclear power plants
Masadeh et al. Approximation-conscious IC testing
CN109215724A (zh) 存储器自动检测和修复的方法及装置
Banupriya et al. A low power built in repair analyzer for word oriented memories with optimal repair rate
Lahrach et al. Master-slave tmr inspired technique for fault tolerance of sram-based fpga

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20211130

WW01 Invention patent application withdrawn after publication