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

文档序号:9524085阅读:440来源:国知局
一种故障自主恢复三模冗余容错计算机ip核的设计方法
【技术领域】
[0001 ] 本发明涉及一种具备故障自主恢复功能的三模冗余容错计算机IP核(Intellectual Property Core,知识产权核)的设计方法,适合应用于航天航空等高可靠性要求的现场可编程逻辑(FPGA,Field Programable Gate Array)开发和相关的集成电路(AS 1C)设计。
【背景技术】
[0002]知识产权核(Intellectual Property Core,简称IP核)是指一种专门为完成某种特定功能而设计的的逻辑块或数据块,主要用于集成电路(ASIC)和现场可编程逻辑(FPGA)的设计。集成电路是多个IP核和相关逻辑电路的组合。在FPGA开发应用中IP核是一种不可缺少的组成部分。目前国际上主流集成电路供应商都拥有大量的IP核作为其核心资产。IP核代表了集成电路行业的最高技术水平。IP核的形式有三种,即硬核、固核和软核。
[0003]三模冗余(TMR)是用于容错计算机的一种技术。它已经成功应用到一些要求高可靠性的行业,如航空航天、导弹、尖端武器等。常用的实现方法是用相同的三个模块同时工作,通过三中取二的表决确定结果。有关三模冗余的技术已经有单项专利技术。
[0004]FPGA是一种可编程的集成电路芯片,由于其运行速度快和灵活性好,越来越多地应用到航天等高技术行业。由于航天器是在距离地面几百公里以上的宇宙空间工作,宇宙中有各种射线对航天器的穿透,这种射线会引起FPGA中的与非门产生“单粒子翻转”效应,从而导致产生错误的输出结果。目前,国内航天研究所已经应用三模冗余技术来避免“单粒子翻转”故障。但是还有以下问题没有解决:(1)当出现“单粒子翻转”现象时,故障设备只能用复位或重启的方式消除故障,这种方式会引起数据丢失和时间损失。(2)CPU是一个最关键的模块,目前还没有CPU核的软核能实现高效和实用的冗余解决方案。

【发明内容】

[0005]本发明设计了一个由三个基本CPU核组成的三模冗余容错计算机核,即用三个相同的基本CPU核组合成一个具备容错功能的计算机核,采用三模冗余的方式,在其中任一个基本CPU核出现故障时继续保持计算机运算的正确性,并自主恢复故障。本发明采用自动刷新技术把正确的基本CPU核对故障基本CPU核进行刷新,消除故障,恢复正常工作状态。设计的IP核是一个独立的容错计算机核,其形式为软核,功能为对单粒子效应造成的单点故障进行自动检测、自动获取正确结果、以及进行故障自主恢复。本发明解决了一个容错计算机IP核的设计问题,可用于FPGA应用开发和集成电路设计。
[0006]本发明的设计由五个模块组成。CPU核1模块、CPU核2模块和CPU核3模块是三个具备相同功能的基本CPU核,由热备份的方式完成基本运算功能。表决器模块的功能是对来自三个CPU核的结果进行三中取二的表决,并把正确结果输出,如果其中一个模块出现了不同的结果,则把该模块信息反馈到刷新控制器模块。刷新控制器模块的功能是对三个基本CPU核进行管理,由四个子模块组成。配置状态机子模块的功能是完成系统状态机的转换,包括睡眠、上电、刷新等。地址译码子模块的功能是实现刷新过程中地址数据总线的切换,保证刷新的数据代码正确写入FPGA存储器。状态机检测子模块的功能完成对FPGA加载状态的检测,发现出错后发送错误标志。配置控制子模块的功能是完成FPGA配置程序的写入,包括地址配置和刷新。
[0007]本发明与现有技术比较有一下优点:(1)采用IP核软核的方式实现了一个三模冗余的CPU容错解决方案,简单而实用,资源占用合理,使用方便。(2)采用代码数据刷新的方式对由单粒子翻转造成的故障进行自主恢复,保证了容错计算机运算的正确性。(3)只要单个基本CPU核代码数据不出现永久性故障,系统会始终保持正确运行。
【附图说明】
[0008]图1总体原理图
[0009]图2刷新控制器原理图
[0010]图3表决器逻辑不意图[0011 ] 图4刷新控制逻辑示意图
【具体实施方式】
[0012]为使本发明的实现和优点更加清楚,下面结合附图做详细的说明。在此,本发明的示意性实施方式及其说明用于解释其发明原理和方法,但不作为对本发明的限定。
[0013]本发明实施的案例提供了三模冗余CPU核的工作原理,基于三个基本CPU的热备份工作,三种取二的表决原则,刷新控制逻辑实施的流程和算法。以下具体展示本发明的实现过程。
[0014]附图1是本发明的总体原理图。三个基本CPU核工作在热备份状态,计算结果通过表决器以三中取二的方式输出结果。刷新控制器完成用正确CPU核模块对故障CPU核模块进行刷新。
[0015]表决器的工作过程如附图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。
[0016]当出现故障状态时启动刷新控制器刷新程序,附图4是刷新逻辑原理图。当CPU核1故障时,刷新控制器读取CPU核2代码,执行写入操作,覆盖CPU核1代码,然后启动RESET ο当CPU核2故障时,刷新控制器读取CPU核1代码,执行写入操作,覆盖CPU核2代码,然后启动RESET。当CPU核3故障时,刷新控制器读取CPU核1代码,执行写入操作,覆盖CPU核3代码,然后启动RESET。
[0017]本发明的实施是基于XILINX公司Virtex-5型号FPGA上实现的,基本CPU核采用了基于MCS-51指令系统的商用8051CPU核。经过相关仿真验证工具的测试和验证,本发明设计的三模冗余容错计算机核是可以实现的。
[0018]本发明未详细说明部分属本领域技术人员公知常识。
【主权项】
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。
【专利摘要】本发明设计了一个由三个基本CPU核组成的三模冗余容错计算机核,即用三个相同的基本CPU核组合成一个具备容错功能的计算机核,采用三模冗余的方式,在其中任一个基本CPU核出现故障时继续保持计算机运算的正确性,并自主恢复故障。本发明采用自动刷新技术把正确的基本CPU核对发生故障的基本CPU核进行刷新,消除故障,恢复正常工作状态。本发明设计的IP核是一个独立的容错计算机核,其形式为软核,功能为对单粒子效应造成的单点故障进行自动检测、自动获取正确结果、以及进行故障自主恢复。本发明解决了一个采用三模冗余技术实现容错计算机IP核的设计问题,可用于FPGA应用开发和集成电路设计。
【IPC分类】G06F11/18
【公开号】CN105279049
【申请号】CN201510330714
【发明人】杜和青
【申请人】康宇星科技(北京)有限公司
【公开日】2016年1月27日
【申请日】2015年6月16日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1