CN107807902B - 一种抗单粒子效应的fpga动态重构控制器 - Google Patents
一种抗单粒子效应的fpga动态重构控制器 Download PDFInfo
- Publication number
- CN107807902B CN107807902B CN201711007578.XA CN201711007578A CN107807902B CN 107807902 B CN107807902 B CN 107807902B CN 201711007578 A CN201711007578 A CN 201711007578A CN 107807902 B CN107807902 B CN 107807902B
- Authority
- CN
- China
- Prior art keywords
- reconstruction
- controller
- icap
- bit stream
- state machine
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种抗单粒子效应的FPGA动态重构控制器,由FSM命令状态机、核心控制模块、存储控制器和内部访问接口ICAP组成,再通过对各个组成模块之间进行协同工作,从而避免了复杂微处理器的使用,节省了大量FPGA资源,降低了对单粒子效应的敏感度;具体讲,本发明采用了三模冗余TMR设计结构的核心控制模块和对应的动态可重构方法,从而实现重构控制器的自修复设计,使得该控制器具有故障自修复能力,增强了系统的容错能力。
Description
技术领域
本发明属于FPGA可靠性应用技术领域,更为具体地讲,涉及一种抗单粒子效应的FPGA动态重构控制器。
背景技术
SRAM型FPGA器件日益广泛应用于航空航天系统的电子模块设计中,一方面是由于SRAM型FPGA具有高性能处理能力,其丰富的资源满足了功能日益复杂的航天器系统需求,另一方面是由于具有高度的灵活性和反复可编程特性使得其在开发周期和成本上与其他器件相比具有显著的优势。
由于空间环境充满了各种高能粒子,高能粒子撞击使用中的电子设备,能够诱发电子器件发生辐射效应,从而影响电子设备的正常工作。SRAM型FPGA结构中含有大量的SRAM存储器,使其对高能粒子撞击所造成的单粒子效应特别敏感,因此,在空间环境应用中必须针对FPGA易发生单粒子效应这一问题进行容错设计,确保使用FPGA的电子系统能够在空间环境中正常运行。
FPGA动态部分重构技术是对单粒子效应所造成的配置字软错误进行修复的一个重要手段。FPGA动态部分重构技术能够在FPGA运行过程中动态的对部分重构区域进行配置操作,同时不影响其他部分的正常工作。重构控制器根据重构请求发起重构操作,根据配置文件所包含的地址信息能够准确找到对应的资源区域,并将已配置区域重新配置或对未配置区域进行功能配置。传统的动态重构控制器主要基于复杂的微处理器实现(如MicroBlaze、PowerPC和ARM),基于微处理器的动态重构控制器由于其具有很高的复杂度、占用资源多且需要大量的SRAM存储器实现等特点使得其对单粒子效应具有很高的敏感性。重构控制器发生故障将会导致整个重构过程出错,影响系统的正确运行。重构控制器的正确运行是确保对故障区域进行重构操作的重要保障。为了提高系统的容错能力,动态重构控制器也必须具备高效性和容错性,使得重构修复过程能够在最短的时间内正确运行。
发明内容
本发明的目的在于克服现有技术的不足,提供一种抗单粒子效应的FPGA动态重构控制器,能够提高重构系统的容错性,同时减少重构配置时间。
为实现上述发明目的,本发明一种抗单粒子效应的FPGA动态重构控制器,其特征在于,包括:
一FSM命令状态机,包含所有重构模块信息,主要用于响应重构标志信号和发送重构命令;
FSM命令状态机包括监测状态、重构状态和待命状态三个状态;在监测状态下,FSM命令状态机对各个重构区域的重构标志信号进行监测,当收到重构请求时,进入重构状态;在重构状态下,FSM命令状态机向核心控制模块发送重构命令,以及对应配置比特流文件在片外存储器中的地址,当重构完成后,FSM命令状态机向核心控制模块发送中断待重构区域指令,随后进入待命状态;在待命状态下,FSM命令状态机等待核心控制模块反馈的重构完成信号,再进入监测状态;
一核心控制模块,采用三模冗余设计结构,即将核心控制模块另外复制两份,并分别置于三个可重构区域,三个模块完全相同,每个模块均包括单元交互模块、存储管理模块和ICAP控制器;三个模块的输出与多数表决器MV的输入端相连,多数表决器MV对三个模块的输出结果进行比较,选择多数输出结果给FSM命令状态机、存储控制器和ICAP单元;
在每个核心控制模块内部,单元交互模块实现与FSM命令状态机、存储管理模块和ICAP控制器的连接;当FSM命令状态机检测到重构区域的重构请求时,发出重构命令和比特流文件地址,单元交互模块接收到FSM命令状态机发出的重构请求命令和比特流文件地址后,向存储管理模块发出比特流文件地址和读取请求,并向ICAP控制器发出写请求命令,同时向FSM命令状态机反馈重构进行信号,表示重构过程正在进行;
存储管理模块接收到单元交互模块的比特流文件地址和读取请求后,向存储器控制器发出读取信号和数据有效信号,并将比特流文件地址发送给存储控制器,通过存储控制器从片外存储器中读取对应的比特流文件,再通过存储控制器将读取到的比特流文件发送给ICAP控制器;
ICAP控制器通过存储接口将接收到的比特流文件缓存到ICAP控制器的片内BRAM中,当ICAP控制器接收到单元交互模块发出的写请求命令后,再向ICAP单元发出使能信号和写命令,片内BRAM中的比特流文件通过ICAP单元写入重构区域中,当比特流文件全部写入完毕,ICAP控制器向单元交互模块反馈写入完成信号,表示重构过程完成;
一ICAP单元,作为FPGA动态重构控制器的内部配置访问通道;
一存储器控制器,用于从片外存储器中读取重构需要的比特流文件,并将比特流文件传输给ICAP控制器;
一片外存储器,用于存放重构需要的比特流文件。
本发明的发明目的是这样实现的:
本发明一种抗单粒子效应的FPGA动态重构控制器,由FSM命令状态机、核心控制模块、存储控制器和内部访问接口ICAP组成,再通过对各个组成模块之间进行协同工作,从而避免了复杂微处理器的使用,节省了大量FPGA资源,降低了对单粒子效应的敏感度;具体讲,本发明采用了三模冗余TMR设计结构的核心控制模块和对应的动态可重构方法,从而实现重构控制器的自修复设计,使得该控制器具有故障自修复能力,增强了系统的容错能力。
附图说明
图1是本发明一种抗单粒子效应的FPGA动态重构控制器原理图;
图2是FSM命令状态机状态转换流程图;;
图3是三模冗余自修复的动态重构控制器结构图;
图4是FPGA动态重构控制器动态重构流程图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
为了方便描述,先对具体实施方式中出现的相关专业术语进行说明:
SRAM(Static Random Access Memory):静态随机存储器;
FSM(Finite State Machine):有限状态机;
ICAP(Internal Configuration Access Port):内部配置访问通道;
MV(Majority Voter):多数表决器
BRAM(Block Random Access Memory):块存储器;
图1是本发明一种抗单粒子效应的FPGA动态重构控制器原理图。
在本实施例中,如图1所示,本发明一种抗单粒子效应的FPGA动态重构控制器,包括:FSM命令状态机、核心控制模块、存储器控制器、ICAP单元和片外存储器。
下面我们结合图1进行详细说明,具体为:
FSM命令状态机,包含所有重构模块信息,主要用于响应重构标志信号和发送重构命令;
FSM命令状态机包括以下三个状态:监测状态、重构状态和待命状态;三个状态的转换流程如图2所示,在监测状态下,FSM命令状态机对各个重构区域的重构标志信号进行监测,当收到重构请求时,进入重构状态;在重构状态下,FSM命令状态机向核心控制模块发送重构命令,以及对应配置比特流文件在片外存储器中的地址,当重构完成后,FSM命令状态机向核心控制模块发送中断待重构区域指令,随后进入待命状态;在待命状态下,FSM命令状态机等待核心控制模块反馈的重构完成信号,再进入监测状态。
如图3所示,核心控制模块,采用三模冗余设计结构,即将核心控制模块另外复制两份,并分别置于三个可重构区域,三个模块完全相同,每个模块均包括单元交互模块、存储管理模块和ICAP控制器;三个模块的输出与多数表决器MV的输入端相连,多数表决器MV对三个模块的输出结果进行比较,选择多数输出结果给FSM命令状态机、存储控制器和ICAP单元。其中,三模冗余设计结构的核心控制模块允许其中任意一个核心控制模块发生故障,仅保留剩余两个核心控制模块运行,而不影响整个系统的正常工作,同时多数表决器MV标志出故障模块,并向FSM命令状态机发出重构请求,实现核心控制模块的自修复。
下面我们结合图4,对核心控制模块的工作原理进行具体描述:
在每个核心控制模块内部,单元交互模块实现与FSM命令状态机、存储管理模块和ICAP控制器的连接;
1)、当FSM命令状态机检测到重构区域的重构请求时,发出重构命令和比特流文件地址;
2)、单元交互模块接收到FSM命令状态机发出的重构请求命令和比特流文件地址后,向存储管理模块发出比特流文件地址和读取请求,并向ICAP控制器发出写请求命令,同时向FSM命令状态机反馈重构进行信号,同时中断重构区域功能,表示重构过程正在进行;
3)、存储管理模块接收到单元交互模块的比特流文件地址和读取请求后,向存储器控制器发出读取信号和数据有效信号,并将比特流文件地址发送给存储控制器,通过存储控制器从片外存储器中读取对应的比特流文件,再通过存储控制器将读取到的比特流文件发送给ICAP控制器;
4)、ICAP控制器通过存储接口将接收到的比特流文件缓存到片内BRAM,当ICAP控制器接收到单元交互模块发出的写请求命令后,再向ICAP单元发出使能信号和写命令,ICAP单元将片内BRAM中的比特流文件写入重构区域中,当比特流文件全部写入完毕,ICAP控制器向单元交互模块反馈写入完成信号,表示重构过程完成。
如图1所示,存储器控制器,用于从片外存储器中读取重构需要的比特流文件,并将比特流文件传输给ICAP控制器;片外存储器,用于存放重构需要的比特流文件。
下面我们用实例来验证本发明设计的动态重构控制器控制下的重构过程花费时间。
我们以字节的方式表示比特流的大小,当ICAP控制器中BRAM资源不足以一次缓冲整个比特流文件时,那么比特流从片外存储器到BRAM的传输次数可以表示为:
其中,ceil()函数表示求不小于给定数的最小整数,SIZEbitstream表示比特流文件的字节数,SIZEbuffer表示BRAM一次所能存储的字节数;
我们用t1代表从片外存储器写入一次数据到BRAM所用时间,同时我们用t2表示从一次数据写入到下一次数据写入之间片外存储器握手时间,用N2表示握手次数,那么从片外存储器读取完整比特流数据到BRAM缓冲区所用时间,它可以表示为:
TMem-FPGA=t1*N1+t2*N2
ICAP从BRAM写入比特流数据所花费时间决定于BRAM的读写频率,如果ICAP控制器的最大工作频率限制为100MHz,则ICAP控制器一次从BRAM读取一个32位的字所花费最小时间可以表示为:
因此ICAP控制器控制下重构过程所需时间可以表示为:
通过上述验证,可以发现重构花费的时间大大缩短。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (2)
1.一种抗单粒子效应的FPGA动态重构控制器,其特征在于,包括:
一FSM命令状态机,包含所有重构模块信息,主要用于响应重构标志信号和发送重构命令;
FSM命令状态机包括监测状态、重构状态和待命状态三个状态;在监测状态下,FSM命令状态机对各个重构区域的重构标志信号进行监测,当收到重构请求时,进入重构状态;在重构状态下,FSM命令状态机向核心控制模块发送重构命令,以及对应配置比特流文件在片外存储器中的地址,当重构完成后,FSM命令状态机向核心控制模块发送中断待重构区域指令,随后进入待命状态;在待命状态下,FSM命令状态机等待核心控制模块反馈的重构完成信号,再进入监测状态;
一核心控制模块,采用三模冗余设计结构,即将核心控制模块另外复制两份,并分别置于三个可重构区域,三个模块完全相同,每个模块均包括单元交互模块、存储管理模块和ICAP控制器;三个模块的输出与多数表决器MV的输入端相连,多数表决器MV对三个模块的输出结果进行比较,选择多数输出结果给FSM命令状态机、存储控制器和ICAP单元;
在每个核心控制模块内部,单元交互模块实现与FSM命令状态机、存储管理模块和ICAP控制器的连接;当FSM命令状态机检测到重构区域的重构请求时,发出重构命令和比特流文件地址,单元交互模块接收到FSM命令状态机发出的重构请求命令和比特流文件地址后,向存储管理模块发出比特流文件地址和读取请求,并向ICAP控制器发出写请求命令,同时向FSM命令状态机反馈重构进行信号,表示重构过程正在进行;
存储管理模块接收到单元交互模块的比特流文件地址和读取请求后,向存储器控制器发出读取信号和数据有效信号,并将比特流文件地址发送给存储控制器,通过存储控制器从片外存储器中读取对应的比特流文件,再通过存储控制器将读取到的比特流文件发送给ICAP控制器;
ICAP控制器通过存储接口将接收到的比特流文件缓存到ICAP控制器的片内BRAM中,当ICAP控制器接收到单元交互模块发出的写请求命令后,再向ICAP单元发出使能信号和写命令,片内BRAM中的比特流文件通过ICAP单元写入重构区域中,当比特流文件全部写入完毕,ICAP控制器向单元交互模块反馈写入完成信号,表示重构过程完成;
一ICAP单元,作为FPGA动态重构控制器的内部配置访问通道;
一存储器控制器,用于从片外存储器中读取重构需要的比特流文件,并将比特流文件传输给ICAP控制器;
一片外存储器,用于存放重构需要的比特流文件。
2.根据权利要求1所述的一种抗单粒子效应的FPGA动态重构控制器,其特征在于,所述的三模冗余设计结构的核心控制模块允许其中任意一个核心控制模块发生故障,仅保留剩余两个核心控制模块运行,从而不影响整个系统的正常工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711007578.XA CN107807902B (zh) | 2017-10-25 | 2017-10-25 | 一种抗单粒子效应的fpga动态重构控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711007578.XA CN107807902B (zh) | 2017-10-25 | 2017-10-25 | 一种抗单粒子效应的fpga动态重构控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107807902A CN107807902A (zh) | 2018-03-16 |
CN107807902B true CN107807902B (zh) | 2021-05-14 |
Family
ID=61585358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711007578.XA Active CN107807902B (zh) | 2017-10-25 | 2017-10-25 | 一种抗单粒子效应的fpga动态重构控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107807902B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108647368B (zh) * | 2018-03-13 | 2021-09-17 | 北京航空航天大学 | 基于fpga的动态部分重构系统及方法 |
CN109979517A (zh) * | 2019-03-07 | 2019-07-05 | 中科亿海微电子科技(苏州)有限公司 | 用于fpga的n模冗余配置存储单元电路 |
CN111274183A (zh) * | 2020-02-21 | 2020-06-12 | 山东超越数控电子股份有限公司 | 多路高速协议接口动态可重构系统及实现方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0610868A1 (en) * | 1993-02-12 | 1994-08-17 | Hughes Aircraft Company | Reconfigurable computer interface and method |
CN104239090A (zh) * | 2014-07-15 | 2014-12-24 | 上海微小卫星工程中心 | 一种基于fpga的卫星星务计算机在轨重构系统及方法 |
CN104570846A (zh) * | 2014-12-04 | 2015-04-29 | 中国航空工业集团公司第六三一研究所 | Fpga重配置控制器及其控制方法 |
CN104731668A (zh) * | 2014-12-05 | 2015-06-24 | 中国航空工业集团公司第六三一研究所 | Fpga三模冗余架构的故障管理与恢复控制器及其控制方法 |
CN105807263A (zh) * | 2016-03-28 | 2016-07-27 | 北京航空航天大学 | 一种fpga部分重构在雷达信号处理中的结构及其实现方法 |
-
2017
- 2017-10-25 CN CN201711007578.XA patent/CN107807902B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0610868A1 (en) * | 1993-02-12 | 1994-08-17 | Hughes Aircraft Company | Reconfigurable computer interface and method |
CN104239090A (zh) * | 2014-07-15 | 2014-12-24 | 上海微小卫星工程中心 | 一种基于fpga的卫星星务计算机在轨重构系统及方法 |
CN104570846A (zh) * | 2014-12-04 | 2015-04-29 | 中国航空工业集团公司第六三一研究所 | Fpga重配置控制器及其控制方法 |
CN104731668A (zh) * | 2014-12-05 | 2015-06-24 | 中国航空工业集团公司第六三一研究所 | Fpga三模冗余架构的故障管理与恢复控制器及其控制方法 |
CN105807263A (zh) * | 2016-03-28 | 2016-07-27 | 北京航空航天大学 | 一种fpga部分重构在雷达信号处理中的结构及其实现方法 |
Non-Patent Citations (1)
Title |
---|
基于FPGA片上PowerPC实现动态重构;南京辰,谢永乐;《电子质量》;20191130(第11期);第5-7,20页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107807902A (zh) | 2018-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105589762B (zh) | 存储器装置、存储器模块和用于纠错的方法 | |
KR101374455B1 (ko) | 메모리 에러와 리던던시 | |
US20140082453A1 (en) | Substitute redundant memory | |
CN107807902B (zh) | 一种抗单粒子效应的fpga动态重构控制器 | |
CN112667445B (zh) | 封装后的内存修复方法及装置、存储介质、电子设备 | |
US20230350746A1 (en) | Fault-tolerant system with multi-core cpus capable of being dynamically configured | |
CN101615147A (zh) | 皮卫星基于fpga的存储模块的容错方法 | |
US9952579B2 (en) | Control device | |
CN101354666A (zh) | 微小卫星星载计算机数据存储用的差错检测和纠错系统 | |
JP6290934B2 (ja) | プログラマブルデバイス、エラー保持システム、及び電子システム装置 | |
CN111459712B (zh) | Sram型fpga单粒子翻转纠错方法及单粒子翻转纠错电路 | |
US20120011423A1 (en) | Silent error detection in sram-based fpga devices | |
US8832355B2 (en) | Storage device, storage controlling device, and storage controlling method | |
CN109542670B (zh) | 基于错误快速定位的fpga软错误刷新方法以及刷新器 | |
CN109491821A (zh) | 抗单粒子翻转的加固系统及方法 | |
US7609083B2 (en) | Semiconductor integrated circuit device and storage apparatus having the same | |
CN106531224B (zh) | 一种基于sram型fpga的ram数据可靠性加固装置及方法 | |
JP2011188203A (ja) | 半導体集積回路 | |
US10642684B1 (en) | Memory command interleaving | |
CN115237646A (zh) | 一种软件控制的基于fpga的内存数据容错系统及方法 | |
US11372700B1 (en) | Fault-tolerant data transfer between integrated circuits | |
CN113254252B (zh) | 一种具有bram的卫星载荷fpga及其使用方法 | |
US11687407B2 (en) | Shared error correction code (ECC) circuitry | |
CN103645964B (zh) | 嵌入式处理器的高速缓存容错机制 | |
US10579470B1 (en) | Address failure detection for memory devices having inline storage configurations |
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 |