CN109062716B - 基于帧级位流回读表决的准三模自修复系统及其控制方法 - Google Patents

基于帧级位流回读表决的准三模自修复系统及其控制方法 Download PDF

Info

Publication number
CN109062716B
CN109062716B CN201810637785.1A CN201810637785A CN109062716B CN 109062716 B CN109062716 B CN 109062716B CN 201810637785 A CN201810637785 A CN 201810637785A CN 109062716 B CN109062716 B CN 109062716B
Authority
CN
China
Prior art keywords
bit stream
frame
output
drm1
drm2
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
CN201810637785.1A
Other languages
English (en)
Other versions
CN109062716A (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.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
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 Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN201810637785.1A priority Critical patent/CN109062716B/zh
Publication of CN109062716A publication Critical patent/CN109062716A/zh
Application granted granted Critical
Publication of CN109062716B publication Critical patent/CN109062716B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/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/0727Error 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 in a storage system, e.g. in a DASD or network based storage system
    • 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

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

本发明公开一种基于帧级位流回读表决的准三模自修复系统及其控制方法,包括输入端口、输出端口、DRM1、DRM2、输出选择开关、位流存储器、位流回读比较器、位流配置刷新器和操作控制器。其中,输入端口分别连接DRM1和DRM2的输入端,DRM1和DRM2的输出端则分别连接输出选择开关,输出选择开关的输出接输出端口;DRM1和DRM2配置位流可由位流回读比较器逐帧回读,并可由位流配置刷新器逐帧刷新;位流存储器可由位流回读比较器和位流配置刷新器逐帧访问;位流回读比较器的输出端连接操作控制器,操作控制器同时连接输出选择开关和位流配置刷新器。本发明通过帧级配置刷新实现快速修复软故障,并且具有低功耗、低成本和更强的故障检测能力、定位能力和修复能力等优点。

Description

基于帧级位流回读表决的准三模自修复系统及其控制方法
技术领域
本发明涉及一种用于SRAM型FPGA的基于帧级位流回读表决的准三模自修复系统及其控制方法,属于数字系统容错的技术领域。
背景技术
SRAM型FPGA的逻辑功能由其配置存储器中的配置位流确定。在空天应用中,SRAM型FPGA的配置存储器可能因空间粒子辐射引起单粒子翻转等瞬时软故障,造成其逻辑功能失效。现有FPGA容错技术应对软故障时,仍存在诸多不足。如,双机比较资源代价虽低,但无法判定出错模块;三模冗余和双模冗余可判定出错模块,但资源代价和功耗高,且无法修复故障;单模配置刷新技术虽可纠正软故障,但无法保证系统持续正确工作,且多用全局位流对整个区域进行刷新,因位流文件较大导致修复时间过长。
发明内容
发明目的:本发明提供一种基于帧级位流回读表决的准三模自修复系统及其控制方法,其可克服现有容错技术资源代价高、系统容错能力不强、自治能力有限等问题。
为了达成上述目的,本发明的解决方案是:一种基于帧级位流回读表决的准三模自修复系统,包括输入端口、输出端口、DRM1(动态重构模块1)、DRM2模块(动态重构2)、位流存储器、输出选择开关、位流回读比较器、位流配置刷新器和操作控制器;其中输入端口将信号传送给DRM1和DRM2,DRM1和DRM2输出端均连接输出选择开关,输出选择开关的输出端连接输出端口;DRM1、DRM2和位流存储器分别连接位流回读比较器,位流存储器用于存储原始安全配置位流bf,DRM1、DRM2和位流存储器形成一个准三模系统,位流回读比较器逐帧防问DRM1、DRM2和位流存储器的位流信息进行三模表决,位流回读比较器的输出端连接操作控制器,操作控制器同时连接输出选择开关和位流配置刷新器,所述位流配置刷新器分别连接DRM1、DRM2和位流存储器,位流配置刷新器实现对DRM1、DRM2的逐帧刷新和对位流存储器的逐帧访问。
基于上述实施列所述的基于帧级位流回读表决的准三模自修复系统的控制方法,包括如下步骤:
步骤1,初始化位流帧地址far;
步骤2,DRM1和DRM2同步处理输入信号,并设定以DRM1的结果为初始输出;
步骤3,位流回读比较器实时逐帧回读DRM1的位流bf1和DRM2的位流bf2,并将回读的位流与位流存储器存储的原始安全配置位流bf相比较,若三者相同,则转步骤4,若三者不同,则转步骤5;
步骤4,判断far是否为最大值,若为最大值则返回步骤1,否则将far加1,转步骤3;
步骤5,判断DRM1和DRM2哪个为故障模块,以未故障模块的结果作为输出,并对故障模块进行帧级配置刷新修复。
进一步的,位流回读比较器根据判断的故障模块,向操作控制器输出相应的故障指示信号,操作控制器根据故障指示信号调整以未故障模块的结果作为输出。
进一步的,步骤2中,设定输出切换信号sw为0,对应DRM1的结果为输出,若输出切换信号sw为1,对应DRM2的结果为输出;所述步骤5中,当判断DRM1为故障模块时,将输出切换信号sw调整为1,当判断DRM2为故障模块时,输出切换信号sw保持为0。
进一步的,步骤5中,利用原始安全位流bf对故障模块进行帧级配置刷新修复。
进一步的,步骤5中,对故障模块进行帧级配置刷新修复后,重新对故障帧进行回读,判断刷新后的位流信息是否一致,如果一致,则转步骤4,如果不一致,则得出故障可能为硬故障的结论。
有益效果:本发明功耗和成本低,能够降低现有容错技术资源代价,增强系统容错能力和自治能力,实现系统输出的无缝切换;对软故障的检测、定位、修复能力更强,修复时间更快,并且可保证系统持续正确工作。
附图说明
图1为本发明的整体构架图。
图2为本发明的控制方法流程图。
图3为本发明的SOPC系统实现框架图。
具体实施方式
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
如图1所示,输入端口将信号传送给DRM1和DRM2,DRM1和DRM2的输出端均连接输出选择开关,输出选择开关的输出端连接输出端口;DRM1、DRM2和位流存储器分别连接位流回读比较器,位流回读比较器的输出端连接操作控制器,操作控制器同时连接输出选择开关和位流配置刷新器,位流配置刷新器分别连接DRM1、DRM2和位流存储器。
如图2所示,本发明用于SRAM型FPGA的基于帧级位流回读表决的准三模自修复系统的控制方法主要包括以下步骤:
S1:输入端口将信号输入给DRM1和DRM2,DRM1和DRM2同时工作;
S2:初始化位流帧地址far;
S3:输出切换信号sw为0,输出DRM1的结果;
S4:位流回读比较器实时逐帧回读DRM1和DRM2的位流bf1和bf2,并将回读的位流与位流存储器存储的原始安全配置位流bf相比较;
S5:位流回读比较器判断bf1、bf2和bf三者是否完全相同,如果相同转到S6;否则转到S7;
S6:更新far值:判断far是否达为最大值,如果是最大值转到S2,否则far值增1,并转到S4;
S7:确定故障模块:如果bf1与bf不同,则DRM1故障,其故障指示信号f1有效;若bf2与bf不同,则DRM2故障,其故障指示信号f2有效;并将故障指示信号f1或f2传送给操作控制器;
S8:操作控制器根据故障指示信号发出输出切换控制信号给输出选择开关,从而控制输出端口输出无故障模块的结果(若f1有效,则输出切换信号sw为1,输出DRM2的结果;否则sw为0,输出DRM1的结果);
S9:操作控制器发出刷新修复启动信号,控制位流配置刷新器利用原始安全位流bf对故障模块进行帧级配置刷新修复(如果f1有效,则刷新修复启动信号st1有效,对DRM1进行刷新;如果f2有效,则刷新修复启动信号st2,对DRM2进行刷新);
S10:完成刷新后,重新对故障帧进行回读,判断刷新后的位流信息是否一致,如果一致,转S6,若不一致,则说明故障可能为硬故障,其故障指示信号hf有效;将故障指示信号hf传送给操作控制器;
S11:循环执行S4-S10。
需要注意的是:在S4-S10中,故障的检测和修复均由FPGA自主完成;
S8和S9是同时进行的。
下面以在Xilinx公司的ML507开发板上设计和实现如图3所示的SOPC(可编程片上系统)结构的基于帧级位流回读表决的准三模自修复系统为例,说明本发明的具体实施方式。
外部CF卡用于存储原始安全位流,MicroBlaze软核处理器作为操作控制器,系统功能区IP核用于实现系统核心功能(包括图1中的DRM1、DRM2、位流回读比较等),SystemACE接口用于从外部CF卡上读取位流,HWICAP通过FPGA内部配置端口下载配置位流到FPGA芯片中, UART接口用于实现与PC机的通信。HWICAP接口、System ACE接口、UART接口和系统功能区IP核作为外设挂接于PLB总线上。系统设计步骤如下:
(1)生成位流
①顶层设计和仿真
打开ISE软件新建工程并选择FPGA型号,使用VHDL语言设计顶层模块,编写测试文件,经过综合并进行仿真,验证设计的正确性。
②添加约束文件并进行综合和实现
在ISE中新建约束文件,进行引脚、区域和时钟约束,然后进行综合和实现。
(2)设计系统硬件平台
打开XPS软件利用BSB向导生成新项目,选择软核处理器(工作频率为100MHz),并添加System ACE、UART(设置波特率为115200)等外设,然后添加ICAP核,最后点击相应选项生成比特流。
(3)对操作控制器进行软件编程
打开SDK软件(选择添加.bit和.bmm文件)使用C/C++进行软件编程,实现DRM1和DRM2的配置启动和系统功能区运行状态的监控,并根据故障指示信号发送系统输出切换和故障模块修复控制命令。编程完毕,生成连接脚本文件。
(4)软硬件平台的集成
在XPS中通过Launch Xiinx Bash Shell工具以及命令语句,将硬件平台和软件平台集成起来,生成system.ace压缩包。
(5)将文件拷贝入CF卡
首先对CF卡格式化,然后将system.ace压缩包以及原始位流拷贝入CF卡。
(6)系统联调和验证
将CF卡插入开发板的CF卡插槽,使用RS232电缆连接FPGA和PC机,打开超级终端,然后将FPGA开发板上电, 通过超级终端观察显示结果。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (5)

1.基于帧级位流回读表决的准三模自修复系统的控制方法,所述系统包括输入端口、输出端口、DRM1、DRM2、位流存储器、输出选择开关、位流回读比较器、位流配置刷新器和操作控制器;
所述输入端口将信号分别传送给DRM1和DRM2,DRM1和DRM2的输出端均连接输出选择开关,输出选择开关的输出端连接输出端口;DRM1、DRM2和位流存储器分别连接位流回读比较器,位流回读比较器能够逐帧回读DRM1、DRM2和位流存储器的位流,所述位流回读比较器的输出端连接操作控制器,操作控制器同时连接输出选择开关和位流配置刷新器,所述位流配置刷新器分别连接DRM1、DRM2和位流存储器;
其特征在于,所述基于帧级位流回读表决的准三模自修复系统的控制方法,包括如下步骤:
步骤1,初始化位流帧地址far;
步骤2,DRM1和DRM2同步处理输入信号,并设定以DRM1的结果为初始输出;
步骤3,位流回读比较器实时逐帧回读DRM1的位流bf1和DRM2的位流bf2,并将回读的位流与位流存储器存储的原始安全配置位流bf相比较,若三者相同,则转步骤4,若三者不同,则转步骤5;
步骤4,判断far是否为最大值,若为最大值则返回步骤1,否则将far加1,转步骤3;
步骤5,判断DRM1和DRM2哪个为故障模块,以未故障模块的结果作为输出,并对故障模块进行帧级配置刷新修复,如果bf1与bf不同,则DRM1故障,若bf2与bf不同,则DRM2故障。
2.如权利要求1所述的控制方法,其特征在于:所述步骤5中,位流回读比较器根据判断的故障模块,向操作控制器输出相应的故障指示信号,操作控制器根据故障指示信号调整以未故障模块的结果作为输出。
3.如权利要求1所述的控制方法,其特征在于:所述步骤2中,设定输出切换信号sw为0,对应DRM1的结果为输出,若输出切换信号sw为1,对应DRM2的结果为输出;所述步骤5中,当判断DRM1为故障模块时,将输出切换信号sw调整为1,当判断DRM2为故障模块时,输出切换信号sw保持为0。
4.如权利要求1所述的控制方法,其特征在于:所述步骤5中,利用原始安全位流bf对故障模块进行帧级配置刷新修复。
5.如权利要求1所述的控制方法,其特征在于:所述步骤5中,对故障模块进行帧级配置刷新修复后,重新对故障帧进行回读,判断刷新后的位流信息是否一致,如果一致,则转步骤4,如果不一致,则得出故障可能为硬故障的结论。
CN201810637785.1A 2018-06-20 2018-06-20 基于帧级位流回读表决的准三模自修复系统及其控制方法 Active CN109062716B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810637785.1A CN109062716B (zh) 2018-06-20 2018-06-20 基于帧级位流回读表决的准三模自修复系统及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810637785.1A CN109062716B (zh) 2018-06-20 2018-06-20 基于帧级位流回读表决的准三模自修复系统及其控制方法

Publications (2)

Publication Number Publication Date
CN109062716A CN109062716A (zh) 2018-12-21
CN109062716B true CN109062716B (zh) 2021-09-21

Family

ID=64821114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810637785.1A Active CN109062716B (zh) 2018-06-20 2018-06-20 基于帧级位流回读表决的准三模自修复系统及其控制方法

Country Status (1)

Country Link
CN (1) CN109062716B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661531B (zh) * 2022-02-28 2023-08-29 成都市硅海武林科技有限公司 一种针对fpga的细粒度自修复电路和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101251816A (zh) * 2008-03-13 2008-08-27 中国科学院计算技术研究所 一种用于可编程器件的冗余系统及其冗余实现方法
CN102541698A (zh) * 2011-12-22 2012-07-04 南京航空航天大学 一种基于fpga的自重构d/tmr系统及其容错设计方法
CN104579313A (zh) * 2014-12-30 2015-04-29 北京控制工程研究所 一种基于配置帧的在轨sram型fpga故障检测与修复方法
CN106528310A (zh) * 2015-09-14 2017-03-22 汪鹏 一种应用于fpga数字电路的冗余容错技术

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101251816A (zh) * 2008-03-13 2008-08-27 中国科学院计算技术研究所 一种用于可编程器件的冗余系统及其冗余实现方法
CN102541698A (zh) * 2011-12-22 2012-07-04 南京航空航天大学 一种基于fpga的自重构d/tmr系统及其容错设计方法
CN104579313A (zh) * 2014-12-30 2015-04-29 北京控制工程研究所 一种基于配置帧的在轨sram型fpga故障检测与修复方法
CN106528310A (zh) * 2015-09-14 2017-03-22 汪鹏 一种应用于fpga数字电路的冗余容错技术

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
具有在线修复能力的强容错三模冗余;姚睿;《电子学报》;20100131;全文 *
基于SRAM型FPGA的数字系统容错机制研究;李增武;《中国优秀硕士论文全文数据库工程科技Ⅱ辑》;20170315;正文第6、10-14、19-40、60页、图2.3、图2.9、图2.10、图4.1、图4.2、图4.4 *

Also Published As

Publication number Publication date
CN109062716A (zh) 2018-12-21

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
CN109858195B (zh) 一种sram型fpga上必要位单粒子翻转故障的在线仿真系统
CN108899061B (zh) 一种电源常开芯片中的存储器内建自测试方法和系统
CN103198868A (zh) 一种用于单粒子翻转的故障模拟系统及分析方法
CN109491821B (zh) 抗单粒子翻转的加固系统及方法
US11626178B2 (en) Packetized power-on-self-test controller for built-in self-test
US10522236B2 (en) Fusebox-based memory repair using redundant memories
US8140315B2 (en) Test bench, method, and computer program product for performing a test case on an integrated circuit
CN109062716B (zh) 基于帧级位流回读表决的准三模自修复系统及其控制方法
CN102662808B (zh) 一种pcie硬件故障检测的实现方法与装置
CN102681525B (zh) 一种转换控制器的验证方法及系统
CN107807902B (zh) 一种抗单粒子效应的fpga动态重构控制器
US8745279B2 (en) Self-healing and reconfiguration in an integrated circuit
CN113312305A (zh) 一种基于fpga的宇航电子系统在轨重构方法及系统
KR20030085466A (ko) 반도체 집적 회로 장치
Kars The application of Promela and Spin in the BOS project.
US9672094B1 (en) Interconnect circuitry fault detection
CN113254288B (zh) 一种星载设备中fpga单粒子翻转故障注入方法
CN103796009A (zh) 一种fpga质量诊断测试系统
US20220269846A1 (en) Structural analysis for determining fault types in safety related logic
Kafka et al. FPGA-based fault simulator
Arora et al. Core test language based high quality memory testing and repair methodology
Entrena et al. Automatic generation of fault tolerant VHDL designs in RTL
Eleftherakis et al. Model checking safety critical systems specified as X-machines
CN110659215A (zh) 一种开放式工业app快速开发及测试验证方法

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