CN105279049A - 一种故障自主恢复三模冗余容错计算机ip核的设计方法 - Google Patents
一种故障自主恢复三模冗余容错计算机ip核的设计方法 Download PDFInfo
- 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
Links
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明设计了一个由三个基本CPU核组成的三模冗余容错计算机核,即用三个相同的基本CPU核组合成一个具备容错功能的计算机核,采用三模冗余的方式,在其中任一个基本CPU核出现故障时继续保持计算机运算的正确性,并自主恢复故障。本发明采用自动刷新技术把正确的基本CPU核对发生故障的基本CPU核进行刷新,消除故障,恢复正常工作状态。本发明设计的IP核是一个独立的容错计算机核,其形式为软核,功能为对单粒子效应造成的单点故障进行自动检测、自动获取正确结果、以及进行故障自主恢复。本发明解决了一个采用三模冗余技术实现容错计算机IP核的设计问题,可用于FPGA应用开发和集成电路设计。
Description
技术领域
本发明涉及一种具备故障自主恢复功能的三模冗余容错计算机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。
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)
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)
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 | 浙江大学 | 一种基于三模冗余的星载综合电子*** |
-
2015
- 2015-06-16 CN CN201510330714.3A patent/CN105279049A/zh active Pending
Patent Citations (4)
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)
Title |
---|
柳振华: "三模冗余容错计算机的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (24)
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) | 一种立方星星载计算机 | |
CN202798645U (zh) | 抗辐照的三模冗余电路结构 | |
CN101582294B (zh) | 一种解决sram模块闩锁问题与增强sram模块可靠性的方法 | |
Wang et al. | Fault-tolerant strategy for real-time system based on evolvable hardware | |
CN104063292A (zh) | 一种在轨可重构方法 | |
CN103389917A (zh) | 一种sram型fpga seu运行中修复的方法 | |
CN111856991B (zh) | 对单粒子翻转具备五级防护的信号处理***和处理方法 | |
Anjankar et al. | Fault Tolerant and Correction System Using Triple Modular Redundancy | |
Fouad et al. | Context-aware resources placement for SRAM-based FPGA to minimize checkpoint/recovery overhead | |
CN106301352B (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 |