CN105760248A - 高效fpga配置回读装置及方法 - Google Patents

高效fpga配置回读装置及方法 Download PDF

Info

Publication number
CN105760248A
CN105760248A CN201610086154.6A CN201610086154A CN105760248A CN 105760248 A CN105760248 A CN 105760248A CN 201610086154 A CN201610086154 A CN 201610086154A CN 105760248 A CN105760248 A CN 105760248A
Authority
CN
China
Prior art keywords
fpga
retaking
year
grade
read
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
CN201610086154.6A
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.)
Shanghai Institute of Satellite Engineering
Original Assignee
Shanghai Institute of Satellite Engineering
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 Shanghai Institute of Satellite Engineering filed Critical Shanghai Institute of Satellite Engineering
Priority to CN201610086154.6A priority Critical patent/CN105760248A/zh
Publication of CN105760248A publication Critical patent/CN105760248A/zh
Pending legal-status Critical Current

Links

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/0751Error or fault detection not based on redundancy
    • 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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs

Abstract

本发明提供了一种高效FPGA配置回读装置及方法,主要解决空间复杂环境下FPGA配置区翻转导致的FPGA功能异常问题。其设备包括加载模块、回读模块、比对模块、轮询模块;加载模块完成FPGA配置区数据比对发现错误之后的重新加载;回读模块读取空闲状态的FPGA的配置数据;比对模块完成回读模块读出的配置数据与原始数据和模板数据的比对;轮询模块完成对FPGA状态的轮询,并向上述各个模块发出控制信号。本发明利用空闲检测和超时退出的方法,实现了配置回读装置的高效率。

Description

高效FPGA配置回读装置及方法
技术领域
本发明涉及电子信息系统,具体地,涉及高效FPGA配置回读装置及方法,尤其适用于星载电子信息系统,以满足星载电子信息系统SRAM型FPGA在空间复杂环境下的长期稳定运行。
背景技术
SRAM(StaticRandomAccessMemory,即静态随机存取存储器)型FPGA(Field-ProgrammableGateArray,即现场可编程门阵列)由于逻辑资源丰富、速度快且具有可重编程能力,在航天领域得到了广泛的应用。因为FPGA逻辑门电路全是动态加载到SRAM中的,所以在空间辐射环境下工作易受单粒子翻转等影响,造成FPGA部分或全部功能的失效。
SRAM型FPGA上电复位后,固化在PROM中的配置文件被加载到FPGA中,FPGA根据配置数据开始工作,如果配置数据被改变,也就改变了器件的逻辑功能。
很多SRAM型FPGA器件具有配置文件回读的接口,因此,可以通过检测FPGA内的配置文件是否发生错误,将FPGA配置数据回读并进行比对,一旦发现配置文件有错误,就控制PROM对发生翻转的FPGA配置文件重新进行加载。
对FPGA程序配置区进行回读时,可能会影响其中的BlockRam(块随机存储器)等的内容,因此需要对FPGA的工作时间进行规避。同时数据回读监控周期原则上越小越好,这样可以尽快发现故障、恢复FPGA正常工作。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种高效FPGA配置回读装置及方法。
根据本发明提供的一种高效FPGA配置回读方法,包括如下步骤:
步骤1:轮询FPGA的工作状态;
若轮询到的FPGA处于空闲状态,则进入步骤2继续执行;否则,则继续检测下一个FPGA的工作状态;
步骤2:从处于空闲状态的FPGA中回读出FPGA的回读配置数据;
步骤3:从第一可编程只读存储器PROM_1中读出处于空闲状态的FPGA的模板数据,从第二可编程只读存储器PROM_2中读出处于空闲状态的FPGA的原始配置数据,根据如下逻辑公式进行对比:
比对结果=(回读配置数据OR模板数据)XOR(原始配置数据OR模板数据)
其中,OR表示或运算,XOR表示异或运算;
如果比对结果中有一个比特不为0,则认为FPGA的配置区出错,进入步骤4继续执行;否则,则认为FPGA配置区正常;
步骤4:从第二可编程只读存储器PROM_2中读取FPGA的原始配置信息,将原始配置信息对FPGA进行加载。
优选地,若FPGA的配置区出错,则停止回读和比对。
优选地,若对当前FPGA的轮询时间超过设定阈值,则停止对当前FPGA工作状态的轮询,并对下一个FPGA进行轮询。
根据本发明提供的一种高效FPGA配置回读装置,包括如下装置:
轮询装置:用于轮询FPGA的工作状态;
若轮询到的FPGA处于空闲状态,则触发回读装置;否则,则继续检测下一个FPGA的工作状态;
回读装置:用于从处于空闲状态的FPGA中回读出FPGA的回读配置数据;
对比装置:用于从第一可编程只读存储器PROM_1中读出处于空闲状态的FPGA的模板数据,从第二可编程只读存储器PROM_2中读出处于空闲状态的FPGA的原始配置数据,根据如下逻辑公式进行对比:
比对结果=(回读配置数据OR模板数据)XOR(原始配置数据OR模板数据)
其中,OR表示或运算,XOR表示异或运算;
如果比对结果中有一个比特不为0,则认为FPGA的配置区出错,触发加载装置;否则,则认为FPGA配置区正常;
加载装置:用于从第二可编程只读存储器PROM_2中读取FPGA的原始配置信息,将原始配置信息对FPGA进行加载。
优选地,若FPGA的配置区出错,则停止回读和比对。
优选地,若对当前FPGA的轮询时间超过设定阈值,则停止对当前FPGA工作状态的轮询,并对下一个FPGA进行轮询。
与现有技术相比,本发明具有如下的有益效果:
1、本发明是一种高效的FPGA配置回读装置及方法,通过实现SRAM型FPGA具有一定的纠正错误的功能,从而保证FPGA在复杂空间环境下的长期可靠工作。
2、本发明对FPGA的回读采用空闲检测和超时退出的方式,节省了回读的间隔时间,降低了回读操作对FPGA正常工作造成的风险。
3、本发明在卫星上的应用实现,具有方案可行、稳定可靠的优点,对FPGA配置回读设备和实现方法具有较大的实际意义。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明提供的高效FPGA配置回读装置的结构示意图。
图2是本发明提供的高效FPGA配置回读方法的步骤流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明公开了一种高效FPGA配置回读装置及方法,主要解决空间复杂环境下FPGA配置区翻转导致的FPGA功能异常问题。其设备包括加载模块、回读模块、比对模块、控制模块;加载模块完成FPGA配置区数据比对发现错误之后的重新加载;回读模块读取空闲状态的FPGA的配置数据;比对模块完成回读模块读出的配置数据与原始数据和模板数据的比对;控制模块完成对FPGA状态的轮询,并向上述各个模块发出控制信号。本发明利用空闲检测和超时退出的方法,实现了配置回读装置的高效率。
根据本发明提供的一种高效FPGA配置回读方法,包括如下步骤:
步骤1:轮询FPGA的工作状态;
若轮询到的FPGA处于空闲状态,则进入步骤2继续执行;否则,则继续检测下一个FPGA的工作状态;
步骤2:从处于空闲状态的FPGA中回读出FPGA的回读配置数据;
步骤3:从第一可编程只读存储器PROM_1中读出处于空闲状态的FPGA的模板数据,从第二可编程只读存储器PROM_2中读出处于空闲状态的FPGA的原始配置数据,根据如下逻辑公式进行对比:
比对结果=(回读配置数据OR模板数据)XOR(原始配置数据OR模板数据)
其中,OR表示或运算,XOR表示异或运算;
如果比对结果中有一个比特不为0,则认为FPGA的配置区出错,进入步骤4继续执行;否则,则认为FPGA配置区正常;
步骤4:从第二可编程只读存储器PROM_2中读取FPGA的原始配置信息,将原始配置信息对FPGA进行加载。
若FPGA的配置区出错,则停止回读和比对。
若对当前FPGA的轮询时间超过设定阈值,则停止对当前FPGA工作状态的轮询,并对下一个FPGA进行轮询。
根据本发明提供的一种高效FPGA配置回读装置,包括如下装置:
轮询装置:用于轮询FPGA的工作状态;
若轮询到的FPGA处于空闲状态,则触发回读装置;否则,则继续检测下一个FPGA的工作状态;
回读装置:用于从处于空闲状态的FPGA中回读出FPGA的回读配置数据;
对比装置:用于从第一可编程只读存储器PROM_1中读出处于空闲状态的FPGA的模板数据,从第二可编程只读存储器PROM_2中读出处于空闲状态的FPGA的原始配置数据,根据如下逻辑公式进行对比:
比对结果=(回读配置数据OR模板数据)XOR(原始配置数据OR模板数据)
其中,OR表示或运算,XOR表示异或运算;
如果比对结果中有一个比特不为0,则认为FPGA的配置区出错,触发加载装置;否则,则认为FPGA配置区正常;
加载装置:用于从第二可编程只读存储器PROM_2中读取FPGA的原始配置信息,将原始配置信息对FPGA进行加载。
若FPGA的配置区出错,则停止回读和比对。
若对当前FPGA的轮询时间超过设定阈值,则停止对当前FPGA工作状态的轮询,并对下一个FPGA进行轮询。
本发明提供的高效FPGA配置回读装置可以通过所述高效FPGA配置回读方法的步骤流程予以实现。本领域技术人员可以将所述高效FPGA配置回读方法理解为所述高效FPGA配置回读装置的一个优选的实施例。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (6)

1.一种高效FPGA配置回读方法,其特征在于,包括如下步骤:
步骤1:轮询FPGA的工作状态;
若轮询到的FPGA处于空闲状态,则进入步骤2继续执行;否则,则继续检测下一个FPGA的工作状态;
步骤2:从处于空闲状态的FPGA中回读出FPGA的回读配置数据;
步骤3:从第一可编程只读存储器PROM_1中读出处于空闲状态的FPGA的模板数据,从第二可编程只读存储器PROM_2中读出处于空闲状态的FPGA的原始配置数据,根据如下逻辑公式进行对比:
比对结果=(回读配置数据OR模板数据)XOR(原始配置数据OR模板数据)其中,OR表示或运算,XOR表示异或运算;
如果比对结果中有一个比特不为0,则认为FPGA的配置区出错,进入步骤4继续执行;否则,则认为FPGA配置区正常;
步骤4:从第二可编程只读存储器PROM_2中读取FPGA的原始配置信息,将原始配置信息对FPGA进行加载。
2.根据权利要求1所述的高效FPGA配置回读方法,其特征在于,若FPGA的配置区出错,则停止回读和比对。
3.根据权利要求1所述的高效FPGA配置回读方法,其特征在于,若对当前FPGA的轮询时间超过设定阈值,则停止对当前FPGA工作状态的轮询,并对下一个FPGA进行轮询。
4.一种高效FPGA配置回读装置,其特征在于,包括如下装置:
轮询装置:用于轮询FPGA的工作状态;
若轮询到的FPGA处于空闲状态,则触发回读装置;否则,则继续检测下一个FPGA的工作状态;
回读装置:用于从处于空闲状态的FPGA中回读出FPGA的回读配置数据;
对比装置:用于从第一可编程只读存储器PROM_1中读出处于空闲状态的FPGA的模板数据,从第二可编程只读存储器PROM_2中读出处于空闲状态的FPGA的原始配置数据,根据如下逻辑公式进行对比:
比对结果=(回读配置数据OR模板数据)XOR(原始配置数据OR模板数据)
其中,OR表示或运算,XOR表示异或运算;
如果比对结果中有一个比特不为0,则认为FPGA的配置区出错,触发加载装置;否则,则认为FPGA配置区正常;
加载装置:用于从第二可编程只读存储器PROM_2中读取FPGA的原始配置信息,将原始配置信息对FPGA进行加载。
5.根据权利要求4所述的高效FPGA配置回读装置,其特征在于,若FPGA的配置区出错,则停止回读和比对。
6.根据权利要求4所述的高效FPGA配置回读装置,其特征在于,若对当前FPGA的轮询时间超过设定阈值,则停止对当前FPGA工作状态的轮询,并对下一个FPGA进行轮询。
CN201610086154.6A 2016-02-15 2016-02-15 高效fpga配置回读装置及方法 Pending CN105760248A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610086154.6A CN105760248A (zh) 2016-02-15 2016-02-15 高效fpga配置回读装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610086154.6A CN105760248A (zh) 2016-02-15 2016-02-15 高效fpga配置回读装置及方法

Publications (1)

Publication Number Publication Date
CN105760248A true CN105760248A (zh) 2016-07-13

Family

ID=56330777

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610086154.6A Pending CN105760248A (zh) 2016-02-15 2016-02-15 高效fpga配置回读装置及方法

Country Status (1)

Country Link
CN (1) CN105760248A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112805642A (zh) * 2018-08-07 2021-05-14 西门子股份公司 用于远程管理工业机器的配置的系统和方法
CN113760820A (zh) * 2021-09-15 2021-12-07 北京中科胜芯科技有限公司 一种超大规模fpga芯片的数据配置和回读方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8099625B1 (en) * 2009-04-03 2012-01-17 Xilinx, Inc. Self-checking and self-correcting internal configuration port circuitry
CN102354294A (zh) * 2011-08-23 2012-02-15 西安空间无线电技术研究所 一种星载dsp芯片的空间单粒子翻转检测方法
CN102736603A (zh) * 2012-06-29 2012-10-17 厦门思德电子科技有限公司 基于plc网络的多操作开关仲裁方法
CN102779079A (zh) * 2011-05-12 2012-11-14 中国科学院空间科学与应用研究中心 一种用于长期在轨工作的星载sram型fpga的配置方法及系统
CN103200395A (zh) * 2013-04-08 2013-07-10 广州市澳视光电子技术有限公司 一种智能报障光端机及其网络管理客户端系统
CN103971732A (zh) * 2014-04-30 2014-08-06 浙江大学 监控fpga的单粒子翻转效应并纠正重加载的方法及系统
CN104281742A (zh) * 2014-09-11 2015-01-14 上海卫星工程研究所 一种sram型大规模fpga抗单粒子装置及方法
CN105354162A (zh) * 2015-11-02 2016-02-24 烽火通信科技股份有限公司 基于Linux实现PCIE设备热插拔的方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8099625B1 (en) * 2009-04-03 2012-01-17 Xilinx, Inc. Self-checking and self-correcting internal configuration port circuitry
CN102779079A (zh) * 2011-05-12 2012-11-14 中国科学院空间科学与应用研究中心 一种用于长期在轨工作的星载sram型fpga的配置方法及系统
CN102354294A (zh) * 2011-08-23 2012-02-15 西安空间无线电技术研究所 一种星载dsp芯片的空间单粒子翻转检测方法
CN102736603A (zh) * 2012-06-29 2012-10-17 厦门思德电子科技有限公司 基于plc网络的多操作开关仲裁方法
CN103200395A (zh) * 2013-04-08 2013-07-10 广州市澳视光电子技术有限公司 一种智能报障光端机及其网络管理客户端系统
CN103971732A (zh) * 2014-04-30 2014-08-06 浙江大学 监控fpga的单粒子翻转效应并纠正重加载的方法及系统
CN104281742A (zh) * 2014-09-11 2015-01-14 上海卫星工程研究所 一种sram型大规模fpga抗单粒子装置及方法
CN105354162A (zh) * 2015-11-02 2016-02-24 烽火通信科技股份有限公司 基于Linux实现PCIE设备热插拔的方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112805642A (zh) * 2018-08-07 2021-05-14 西门子股份公司 用于远程管理工业机器的配置的系统和方法
CN113760820A (zh) * 2021-09-15 2021-12-07 北京中科胜芯科技有限公司 一种超大规模fpga芯片的数据配置和回读方法
CN113760820B (zh) * 2021-09-15 2022-04-22 北京中科胜芯科技有限公司 一种超大规模fpga芯片的数据配置和回读方法

Similar Documents

Publication Publication Date Title
US20190205233A1 (en) Fault injection testing apparatus and method
US8937496B1 (en) Clock monitor
CN101556551B (zh) 设备故障日志的硬件获取系统及方法
KR101358776B1 (ko) 장비의 리부트 이유를 기록하는 장치 및 방법
CN104518924A (zh) 自动化测试及结果比对方法及系统
US9026685B2 (en) Memory module communication control
CN105388982B (zh) 多处理器上电复位电路
US20150033071A1 (en) Robust hardware/software error recovery system
CN103700407A (zh) 一种基于航空应用的国产化存储器应用验证方法
CN104579313A (zh) 一种基于配置帧的在轨sram型fpga故障检测与修复方法
EP3903191A1 (en) Technologies for efficient reliable compute operations for mission critical applications
CN104181421A (zh) Fpga单粒子效应动态故障测试装置及方法
US10089160B2 (en) System on chip module configured for event-driven architecture
CN105760248A (zh) 高效fpga配置回读装置及方法
CN102722430B (zh) 一种检测安全数码卡热插拔的方法及装置
CN103890713A (zh) 用于管理处理系统内的寄存器信息的装置及方法
US20160077904A1 (en) Integrated circuit and method of detecting a data integrity error
DE102014002302A1 (de) System und Verfahren zum Bestimmen der operativen Robustheit eines Systems auf einem Chip
US20180129624A1 (en) Method and apparatus for handling outstanding interconnect transactions
US8756408B2 (en) Hardware reset reason
CN104900264A (zh) 一种防止spi flash开关机时数据破坏的系统及方法
CN1922579A (zh) 用于检测故障时钟的电子电路装置
CN104699418B (zh) 对安全数码卡进行异常恢复的方法及设备
US9274170B2 (en) Semiconductor device
CN113268263A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20160713

RJ01 Rejection of invention patent application after publication