CN105279049A - 一种故障自主恢复三模冗余容错计算机ip核的设计方法 - Google Patents

一种故障自主恢复三模冗余容错计算机ip核的设计方法 Download PDF

Info

Publication number
CN105279049A
CN105279049A CN201510330714.3A CN201510330714A CN105279049A CN 105279049 A CN105279049 A CN 105279049A CN 201510330714 A CN201510330714 A CN 201510330714A CN 105279049 A CN105279049 A CN 105279049A
Authority
CN
China
Prior art keywords
fault
core
cpu core
module
cpu
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.)
Pending
Application number
CN201510330714.3A
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.)
KANGYUXING TECHNOLOGY (BEIJING) CO LTD
Original Assignee
KANGYUXING TECHNOLOGY (BEIJING) 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 KANGYUXING TECHNOLOGY (BEIJING) CO LTD filed Critical KANGYUXING TECHNOLOGY (BEIJING) CO LTD
Priority to CN201510330714.3A priority Critical patent/CN105279049A/zh
Publication of CN105279049A publication Critical patent/CN105279049A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)

Abstract

本发明设计了一个由三个基本CPU核组成的三模冗余容错计算机核,即用三个相同的基本CPU核组合成一个具备容错功能的计算机核,采用三模冗余的方式,在其中任一个基本CPU核出现故障时继续保持计算机运算的正确性,并自主恢复故障。本发明采用自动刷新技术把正确的基本CPU核对发生故障的基本CPU核进行刷新,消除故障,恢复正常工作状态。本发明设计的IP核是一个独立的容错计算机核,其形式为软核,功能为对单粒子效应造成的单点故障进行自动检测、自动获取正确结果、以及进行故障自主恢复。本发明解决了一个采用三模冗余技术实现容错计算机IP核的设计问题,可用于FPGA应用开发和集成电路设计。

Description

一种故障自主恢复三模冗余容错计算机IP核的设计方法
技术领域
本发明涉及一种具备故障自主恢复功能的三模冗余容错计算机IP核(IntellectualPropertyCore,知识产权核)的设计方法,适合应用于航天航空等高可靠性要求的现场可编程逻辑(FPGA,FieldProgramableGateArray)开发和相关的集成电路(ASIC)设计。
背景技术
知识产权核(IntellectualPropertyCore,简称IP核)是指一种专门为完成某种特定功能而设计的的逻辑块或数据块,主要用于集成电路(ASIC)和现场可编程逻辑(FPGA)的设计。集成电路是多个IP核和相关逻辑电路的组合。在FPGA开发应用中IP核是一种不可缺少的组成部分。目前国际上主流集成电路供应商都拥有大量的IP核作为其核心资产。IP核代表了集成电路行业的最高技术水平。IP核的形式有三种,即硬核、固核和软核。
三模冗余(TMR)是用于容错计算机的一种技术。它已经成功应用到一些要求高可靠性的行业,如航空航天、导弹、尖端武器等。常用的实现方法是用相同的三个模块同时工作,通过三中取二的表决确定结果。有关三模冗余的技术已经有单项专利技术。
FPGA是一种可编程的集成电路芯片,由于其运行速度快和灵活性好,越来越多地应用到航天等高技术行业。由于航天器是在距离地面几百公里以上的宇宙空间工作,宇宙中有各种射线对航天器的穿透,这种射线会引起FPGA中的与非门产生“单粒子翻转”效应,从而导致产生错误的输出结果。目前,国内航天研究所已经应用三模冗余技术来避免“单粒子翻转”故障。但是还有以下问题没有解决:(1)当出现“单粒子翻转”现象时,故障设备只能用复位或重启的方式消除故障,这种方式会引起数据丢失和时间损失。(2)CPU是一个最关键的模块,目前还没有CPU核的软核能实现高效和实用的冗余解决方案。
发明内容
本发明设计了一个由三个基本CPU核组成的三模冗余容错计算机核,即用三个相同的基本CPU核组合成一个具备容错功能的计算机核,采用三模冗余的方式,在其中任一个基本CPU核出现故障时继续保持计算机运算的正确性,并自主恢复故障。本发明采用自动刷新技术把正确的基本CPU核对故障基本CPU核进行刷新,消除故障,恢复正常工作状态。设计的IP核是一个独立的容错计算机核,其形式为软核,功能为对单粒子效应造成的单点故障进行自动检测、自动获取正确结果、以及进行故障自主恢复。本发明解决了一个容错计算机IP核的设计问题,可用于FPGA应用开发和集成电路设计。
本发明的设计由五个模块组成。CPU核1模块、CPU核2模块和CPU核3模块是三个具备相同功能的基本CPU核,由热备份的方式完成基本运算功能。表决器模块的功能是对来自三个CPU核的结果进行三中取二的表决,并把正确结果输出,如果其中一个模块出现了不同的结果,则把该模块信息反馈到刷新控制器模块。刷新控制器模块的功能是对三个基本CPU核进行管理,由四个子模块组成。配置状态机子模块的功能是完成系统状态机的转换,包括睡眠、上电、刷新等。地址译码子模块的功能是实现刷新过程中地址数据总线的切换,保证刷新的数据代码正确写入FPGA存储器。状态机检测子模块的功能完成对FPGA加载状态的检测,发现出错后发送错误标志。配置控制子模块的功能是完成FPGA配置程序的写入,包括地址配置和刷新。
本发明与现有技术比较有一下优点:(1)采用IP核软核的方式实现了一个三模冗余的CPU容错解决方案,简单而实用,资源占用合理,使用方便。(2)采用代码数据刷新的方式对由单粒子翻转造成的故障进行自主恢复,保证了容错计算机运算的正确性。(3)只要单个基本CPU核代码数据不出现永久性故障,系统会始终保持正确运行。
附图说明
图1总体原理图
图2刷新控制器原理图
图3表决器逻辑示意图
图4刷新控制逻辑示意图
具体实施方式
为使本发明的实现和优点更加清楚,下面结合附图做详细的说明。在此,本发明的示意性实施方式及其说明用于解释其发明原理和方法,但不作为对本发明的限定。
本发明实施的案例提供了三模冗余CPU核的工作原理,基于三个基本CPU的热备份工作,三种取二的表决原则,刷新控制逻辑实施的流程和算法。以下具体展示本发明的实现过程。
附图1是本发明的总体原理图。三个基本CPU核工作在热备份状态,计算结果通过表决器以三中取二的方式输出结果。刷新控制器完成用正确CPU核模块对故障CPU核模块进行刷新。
表决器的工作过程如附图3所示:如果CPU核1、CPU核2、CPU核3的结果一致,则输出CPU核1的结果。如果CPU核1结果与CPU核2结果不一致,CPU核1结果与CPU核3结果不一致,CPU核2结果与CPU核3结果一致,则说明CPU核1出现了故障,输出CPU核2的结果,同时启动刷新控制器用CPU核2的代码数据刷新CPU核1。如果CPU核1结果与CPU核2结果不一致,CPU核1结果与CPU核3结果一致,CPU核2结果与CPU核3结果一致,则说明CPU核2出现了故障,输出CPU核1的结果,同时启动刷新控制器用CPU核1的代码数据刷新CPU核2。如果CPU核1结果与CPU核2结果一致,CPU核1结果与CPU核3结果不一致,CPU核2结果与CPU核3结果不一致,则说明CPU核3出现了故障,输出CPU核1的结果,同时启动刷新控制器用CPU核1的代码数据刷新CPU核3。
当出现故障状态时启动刷新控制器刷新程序,附图4是刷新逻辑原理图。当CPU核1故障时,刷新控制器读取CPU核2代码,执行写入操作,覆盖CPU核1代码,然后启动RESET。当CPU核2故障时,刷新控制器读取CPU核1代码,执行写入操作,覆盖CPU核2代码,然后启动RESET。当CPU核3故障时,刷新控制器读取CPU核1代码,执行写入操作,覆盖CPU核3代码,然后启动RESET。
本发明的实施是基于XILINX公司Virtex-5型号FPGA上实现的,基本CPU核采用了基于MCS-51指令系统的商用8051CPU核。经过相关仿真验证工具的测试和验证,本发明设计的三模冗余容错计算机核是可以实现的。
本发明未详细说明部分属本领域技术人员公知常识。

Claims (3)

1.一种故障自主恢复三模冗余容错计算机IP核的设计方法,其特征在于:
三个基本CPU核组成的三模冗余容错计算机核,即用三个相同的CPU核组合成一个具备容错功能的计算机核,采用三模冗余的方式,在其中任一个基本CPU核出现故障时继续保持计算机运算的正确性,同时采用自动刷新技术把正确的基本CPU核对故障基本CPU核进行刷新,消除故障,恢复正常工作状态。
2.根据权利要求1所述的自主恢复三模冗余容错计算机核组成模块,其特征为:
由五个模块组成,CPU核1模块、CPU核2模块和CPU核3模块是三个具备相同功能的基本CPU核,由热备份的方式完成基本运算功能。表决器模块的功能是对来自三个CPU核的结果进行三中取二的表决,并把正确结果输出,如果出现一个不同的结果,则把信息反馈到刷新控制器模块。刷新控制器模块的功能是对三个基本CPU核进行管理,由四个子模块组成。配置状态机子模块的功能是完成系统状态机的转换,包括睡眠、上电、刷新等。地址译码子模块的功能是实现刷新过程中地址数据总线的切换,保证刷新的数据代码正确写入FPGA存储器。状态机检测子模块的功能完成对FPGA加载状态的检测,发现出错后发送错误标志。配置控制子模块的功能是完成FPGA配置程序的写入,包括上地配置和刷新。
3.根据权利要求2所述的刷新控制模块的算法,其特征为:
当出现故障状态时启动刷新控制器刷新程序。当CPU核1故障时,刷新控制器读取CPU核2代码,执行写入操作,覆盖CPU核1代码,然后启动RESET。当CPU核2故障时,刷新控制器读取CPU核1代码,执行写入操作,覆盖CPU核2代码,然后启动RESET。当CPU核3故障时,刷新控制器读取CPU核1代码,执行写入操作,覆盖CPU核3代码,然后启动RESET。
CN201510330714.3A 2015-06-16 2015-06-16 一种故障自主恢复三模冗余容错计算机ip核的设计方法 Pending CN105279049A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510330714.3A CN105279049A (zh) 2015-06-16 2015-06-16 一种故障自主恢复三模冗余容错计算机ip核的设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510330714.3A CN105279049A (zh) 2015-06-16 2015-06-16 一种故障自主恢复三模冗余容错计算机ip核的设计方法

Publications (1)

Publication Number Publication Date
CN105279049A true CN105279049A (zh) 2016-01-27

Family

ID=55148097

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510330714.3A Pending CN105279049A (zh) 2015-06-16 2015-06-16 一种故障自主恢复三模冗余容错计算机ip核的设计方法

Country Status (1)

Country Link
CN (1) CN105279049A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106094629A (zh) * 2016-06-28 2016-11-09 北京安控科技股份有限公司 一种二取一架构的功能安全控制器
CN106774775A (zh) * 2017-02-22 2017-05-31 许继集团有限公司 一种防止单粒子翻转误动作的开入跳闸方法及系统
CN106814604A (zh) * 2017-03-01 2017-06-09 北京航天自动控制研究所 一种三冗余无源独立电流互检断电重启系统及方法
CN108055031A (zh) * 2017-12-14 2018-05-18 北京时代民芯科技有限公司 一种自恢复抗单粒子软错误累积的三模冗余结构
CN109195855A (zh) * 2016-03-29 2019-01-11 西门子移动有限公司 特别是用于控制铁路交通中的集控站的系统
CN109213118A (zh) * 2017-06-29 2019-01-15 波音公司 用于冗余系统中的多个故障的故障覆盖
CN109271282A (zh) * 2018-09-06 2019-01-25 北京时代民芯科技有限公司 一种单粒子多位错自主修复三冗余流水线及设计方法
CN109491821A (zh) * 2018-11-06 2019-03-19 上海航天计算机技术研究所 抗单粒子翻转的加固系统及方法
CN110990201A (zh) * 2019-11-29 2020-04-10 中国电子科技集团公司第五十四研究所 一种自愈管理控制器、SoC及自愈方法
CN112181735A (zh) * 2020-09-08 2021-01-05 国电南瑞科技股份有限公司 Fpga芯片内定值及参数单粒子效应的检错装置及方法
CN112269686A (zh) * 2020-10-29 2021-01-26 南京航空航天大学 一种基于冷备份双模检错码的lutram自修复结构及自修复方法
CN112698638A (zh) * 2021-03-23 2021-04-23 中国航空油料集团有限公司 一种工业控制器的调度方法及装置
CN113672377A (zh) * 2020-05-13 2021-11-19 株式会社日立制作所 程序生成装置、并行运算设备以及计算机可读记录介质
WO2024082174A1 (zh) * 2022-10-19 2024-04-25 宁德时代未来能源(上海)研究院有限公司 异常处理方法及三取二保护装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070005744A1 (en) * 2005-06-30 2007-01-04 Rothman Michael A System and method to establish a peer-to-peer IT backbone
CN101493809A (zh) * 2009-03-03 2009-07-29 哈尔滨工业大学 一种基于fpga的多核心星载计算机
CN202281999U (zh) * 2011-10-23 2012-06-20 江苏捷诚车载电子信息工程有限公司 一种基于dsp三模冗余及并行处理装置
CN102945217A (zh) * 2012-10-11 2013-02-27 浙江大学 一种基于三模冗余的星载综合电子系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070005744A1 (en) * 2005-06-30 2007-01-04 Rothman Michael A System and method to establish a peer-to-peer IT backbone
CN101493809A (zh) * 2009-03-03 2009-07-29 哈尔滨工业大学 一种基于fpga的多核心星载计算机
CN202281999U (zh) * 2011-10-23 2012-06-20 江苏捷诚车载电子信息工程有限公司 一种基于dsp三模冗余及并行处理装置
CN102945217A (zh) * 2012-10-11 2013-02-27 浙江大学 一种基于三模冗余的星载综合电子系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
柳振华: "三模冗余容错计算机的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109195855A (zh) * 2016-03-29 2019-01-11 西门子移动有限公司 特别是用于控制铁路交通中的集控站的系统
US11161533B2 (en) 2016-03-29 2021-11-02 Siemens Mobility GmbH System, in particular for controlling signal towers in rail traffic
CN109195855B (zh) * 2016-03-29 2021-07-16 西门子交通有限公司 特别是用于控制铁路交通中的集控站的系统
CN106094629A (zh) * 2016-06-28 2016-11-09 北京安控科技股份有限公司 一种二取一架构的功能安全控制器
CN106774775A (zh) * 2017-02-22 2017-05-31 许继集团有限公司 一种防止单粒子翻转误动作的开入跳闸方法及系统
CN106814604A (zh) * 2017-03-01 2017-06-09 北京航天自动控制研究所 一种三冗余无源独立电流互检断电重启系统及方法
CN109213118B (zh) * 2017-06-29 2021-03-12 波音公司 具有用于飞机的三重冗余的控制系统及用于管理它的方法
CN109213118A (zh) * 2017-06-29 2019-01-15 波音公司 用于冗余系统中的多个故障的故障覆盖
CN108055031A (zh) * 2017-12-14 2018-05-18 北京时代民芯科技有限公司 一种自恢复抗单粒子软错误累积的三模冗余结构
CN108055031B (zh) * 2017-12-14 2021-04-13 北京时代民芯科技有限公司 一种自恢复抗单粒子软错误累积的三模冗余结构
CN109271282A (zh) * 2018-09-06 2019-01-25 北京时代民芯科技有限公司 一种单粒子多位错自主修复三冗余流水线及设计方法
CN109271282B (zh) * 2018-09-06 2022-01-11 北京时代民芯科技有限公司 一种单粒子多位错自主修复三冗余流水线及设计方法
CN109491821B (zh) * 2018-11-06 2022-07-01 上海航天计算机技术研究所 抗单粒子翻转的加固系统及方法
CN109491821A (zh) * 2018-11-06 2019-03-19 上海航天计算机技术研究所 抗单粒子翻转的加固系统及方法
CN110990201B (zh) * 2019-11-29 2023-04-28 中国电子科技集团公司第五十四研究所 一种自愈管理控制器、SoC及自愈方法
CN110990201A (zh) * 2019-11-29 2020-04-10 中国电子科技集团公司第五十四研究所 一种自愈管理控制器、SoC及自愈方法
CN113672377A (zh) * 2020-05-13 2021-11-19 株式会社日立制作所 程序生成装置、并行运算设备以及计算机可读记录介质
CN112181735B (zh) * 2020-09-08 2022-09-23 国电南瑞科技股份有限公司 Fpga芯片内定值及参数单粒子效应的检错装置及方法
CN112181735A (zh) * 2020-09-08 2021-01-05 国电南瑞科技股份有限公司 Fpga芯片内定值及参数单粒子效应的检错装置及方法
CN112269686A (zh) * 2020-10-29 2021-01-26 南京航空航天大学 一种基于冷备份双模检错码的lutram自修复结构及自修复方法
CN112269686B (zh) * 2020-10-29 2024-04-26 南京航空航天大学 一种基于冷备份双模检错码的lutram自修复结构及自修复方法
CN112698638B (zh) * 2021-03-23 2021-07-06 中国航空油料集团有限公司 一种工业控制器的调度方法及装置
CN112698638A (zh) * 2021-03-23 2021-04-23 中国航空油料集团有限公司 一种工业控制器的调度方法及装置
WO2024082174A1 (zh) * 2022-10-19 2024-04-25 宁德时代未来能源(上海)研究院有限公司 异常处理方法及三取二保护装置

Similar Documents

Publication Publication Date Title
CN105279049A (zh) 一种故障自主恢复三模冗余容错计算机ip核的设计方法
CN101493809B (zh) 一种基于fpga的多核心星载计算机
US10078565B1 (en) Error recovery for redundant processing circuits
Iturbe et al. A triple core lock-step (tcls) arm® cortex®-r5 processor for safety-critical and ultra-reliable applications
CN105045672B (zh) 一种基于sram fpga的多级容错加固卫星信息处理系统
CN103971732A (zh) 监控fpga的单粒子翻转效应并纠正重加载的方法及系统
CN104572326B (zh) 一种基于回读自重构的SoPC芯片容错方法
CN103500125B (zh) 一种基于fpga的抗辐射的数据处理系统及方法
CN109491821A (zh) 抗单粒子翻转的加固系统及方法
CN104579313A (zh) 一种基于配置帧的在轨sram型fpga故障检测与修复方法
CN105653411A (zh) 支持局部永久故障恢复的多核处理器芯片可重构系统
CN104850530B (zh) 一种立方星星载计算机
CN104051002B (zh) 抗单粒子翻转的sram型fpga刷新电路及刷新方法
CN101582294B (zh) 一种解决sram模块闩锁问题与增强sram模块可靠性的方法
Wang et al. Fault-tolerant strategy for real-time system based on evolvable hardware
CN103389917B (zh) 一种sram型fpga seu运行中修复的方法
CN111856991B (zh) 对单粒子翻转具备五级防护的信号处理系统和处理方法
Fouad et al. Context-aware resources placement for SRAM-based FPGA to minimize checkpoint/recovery overhead
CN106301352B (zh) 一种基于与门、或门与选择器的抗辐射容错电路设计方法
CN109408839A (zh) 一种通过局部冗余减少敏感配置比特的抗辐射容错fpga电路设计方法
CN103514071A (zh) 非破坏性的内存在线测试方法
Hane A fault-tolerant computer architecture for space vehicle applications
CN105354048A (zh) 一种针对asic空间应用的系统级加固方法
Kim et al. Low-power multiple-bit upset tolerant memory optimization
CN203630774U (zh) 一种基于fpga的抗辐射的数据处理系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160127

WD01 Invention patent application deemed withdrawn after publication