CN107678769B - 一种sram型fpga抗辐射加固文件生成方法 - Google Patents
一种sram型fpga抗辐射加固文件生成方法 Download PDFInfo
- Publication number
- CN107678769B CN107678769B CN201710822279.5A CN201710822279A CN107678769B CN 107678769 B CN107678769 B CN 107678769B CN 201710822279 A CN201710822279 A CN 201710822279A CN 107678769 B CN107678769 B CN 107678769B
- Authority
- CN
- China
- Prior art keywords
- file
- fpga
- storage
- external memory
- configuration
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/66—Updates of program code stored in read-only memory [ROM]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种SRAM型FPGA抗辐射加固文件生成方法,其中,上位机选择需被加固目标FPGA器件的型号和数量,并获取其配置位流文件;配置用来存储配置位流文件的外部存储器的类型和型号;设置校验模式,并依据该校验模式按照设定数据格式将FPGA配置位流文件组装到存储文件中;根据外部存储器类型和型号,确定外部存储器每个存储块的存储容量,并根据每个存储块的存储容量将存储文件拆分,并将形成的拆分文件存入存储块中;将每个拆分文件生成外部存储器烧录文件。本发明实现了针对多个目标FPGA器件生成抗辐射加固文件的方法,从而能够保证目标FPGA的有效配置、检错、纠错及刷新,进而能有效提升SRAM型FPGA的可靠性。
Description
技术领域
本发明涉及抗辐射加固技术领域,尤其涉及一种SRAM型FPGA抗辐射加固文件生成方法。
背景技术
随着CMOS工艺尺寸的缩小,工作在空间环境的集成电路受单粒子错误带来的失效问题影响愈来愈严重。未来数据中继卫星、宽带通讯卫星、遥感卫星、无线电侦察卫星、导航卫星、预警卫星等都需要性能强大的星载处理平台(OPP,On-board ProcessingPlatforms)以确保太空支援能力,这些星载处理平台主要由FPGA、DSP、ADC、DAC等芯片为主要元器件搭建。而这些大规模集成电路器件,尤其是SRAM-FPGA极易受空间单粒子效应的影响。空间单粒子效应的存在严重威胁着航天器的可靠性和工作寿命。
SRAM型FPGA是卫星信号处理的核心器件,其进行加固设计技术的研究历来受到航天行业的重视。现在经常采用的加固设计方法是在采用外部存储器保存FPGA的配置位流,最常见的外部存储器是PROM存储器、Flash存储器等。当FPGA的监控单元检测到FPGA发生翻转或者运行状态异常时,启动刷新进程,从外部存储器中读取配置位流,对FPGA进行重配置。此过程中,外部存储器中所存储的重配置文件,包含了重配置的信息,其格式和读取方式需保证目标FPGA的有效配置、检错、纠错及刷新。
上述现有技术中虽然公开了利用外部存储器的配置实现目标FPGA的加固,但是并没有给出如何生成外部存储器中的加固文件,也没有规定加固文件的数据格式。
发明内容
本发明针对上述现有技术中没有生成加固文件的相关技术的问题,提出了一种SRAM型FPGA抗辐射加固文件生成方法,其利用外部存储器存储文件对FPGA加固影响,完成了针对多个目标FPGA器件生成抗辐射加固文件,从而能够有效提升SRAM型FPGA的可靠性。
本发明提供一种SRAM型FPGA抗辐射加固文件生成方法,其包括:
步骤S10,上位机选择需要被加固的目标FPGA器件的型号和数量;
步骤S20,上位机根据目标FPGA器件的型号获取目标FPGA器件的配置位流文件;
步骤S30,上位机配置用来存储目标FPGA器件配置位流文件的外部存储器的类型和型号;
步骤S40,上位机依据外部存储器的类型、型号和目标FPGA器件配置位流文件,设置校验模式,并依据该校验模式按照设定数据格式将目标FPGA器件的配置位流文件组装到存储文件中;
步骤S50,根据外部存储器类型和型号,确定外部存储器每个存储块的存储容量,并根据每个存储块的存储容量将存储文件拆分,并将形成的拆分文件存入外部存储器的存储块中;
步骤S60,将每个拆分文件生成外部存储器烧录文件。
更优选地,所述步骤S40中的组装存储文件的过程,包括如下步骤:
步骤S401,新建存储文件(package.bit文件);
步骤S402,将第一片目标FPGA器件为当前目标FPGA器件。
步骤S403,提取当前目标FPGA器件的ID及识别目标FPGA的型号;读取当前目标FPGA器件的原始配置位流文件;
步骤S404,将FPGA器件的配置指令写入存储文件;该配置指令中包含FPGA的型号和FPGA器件ID;
步骤S405,将FPGA器件的配置位流文件内容写入存储文件;
步骤S406,将存储文件的大小变为整数MB,不足的位用自定义字节补满;
步骤S407,写入同步字和回读指令;
步骤S408,写入校验值;该校验值根据所述校验模式生成;
步骤S409,继续将存储文件补满为整数MB,完成当前FPGA器件存储文件的组装;
步骤S410,判断所有目标FPGA器件的存储器文件是否组装完成,若没有,则执行步骤S411,置下一个FPGA器件为当前目标FPGA器件,并重复步骤S403~S410;若完成所有FPGA器件的存储器文件的组装,则执行步骤S412;
步骤S412,写入监控配置参数到package.bit存储文件;
步骤S413,保存和关闭package.bit存储文件。
更优选地,所述步骤S40中的设定数据格式为:
第一片FPGA器件的数据+······+第N片FPGA器件的数据+监控配置参数(N为自然数);其中每一片FPGA器件的数据格式为:配置指令+配置位流+同步字+回读指令+校验值。
更优选地,所述监控配置参数包括:
单片FPGA的配置长度、帧长度、回读位流偏移字节(即回读位流有效位置)、回读帧数、动态重配置帧数、动态重配置指令长度、回读指令长度、位流前字节数、空帧数、同步字、单片监控储存长度、目标FPGA器件的数量、外部存储器类型、外部存储器初始地址、配置接口和配置参数储存位置。
更优选地,步骤S50中,将所述拆分文件存入外部存储器的存储块中,每存满一个存储块才使用下一个存储块,直到所有的拆分文件存完为止。
更优选地,所述外部存储器的类型包括PROM存储器和/或Flash存储器。
由上述本发明的技术方案可以看出,本发明具有如下技术效果:
本发明通过规范加固文件数据格式、配置用于生成加固文件所需外部存储器的方法以及组装存储文件的方法,实现了针对多个目标FPGA器件抗辐射加固文件生成方法,从而能够保证目标FPGA的有效配置、检错、纠错及刷新,进而能够有效提升SRAM型FPGA的可靠性。
附图说明
图1为本发明的流程图;
图2为本发明中存储文件组装过程的流程图。
具体实施方式
为使本发明更为清晰,下面结合附图对本发明进行详细地说明。
本发明提供一种SRAM型FPGA抗辐射加固文件生成方法,其实施流程如图1所示,包括如下步骤:
步骤S10,上位机选择需要被加固的目标FPGA器件的参数,包括目标FPGA器件型号、目标FPGA器件数量等。
用户确定需要被加固的目标FPGA器件后,通过上位机选择出这些目标器件的配置参数,包括:目标FPGA器件型号、目标FPGA器件数量等。
步骤S20,上位机获取目标FPGA器件的配置位流文件。
上位机可以通过回读获取目标FPGA器件的配置位流文件(.bin文件)。具体实现过程为:上位机根据目标FPGA器件型号、目标FPGA器件数量,发送回读指令至目标FPGA,目标FPGA识别指令后,允许上位机回读FPGA位流,上位机即将目标FPGA的配置位流回读并保存。
如果上位机已经有目标FPGA器件的最近配置位流文件,则只需通过上位机从保存位置读取即可。
步骤S30,上位机配置用来存储目标FPGA器件配置位流文件(.bin文件)的外部存储器的类型和外部存储器的器件型号。
外部存储器的类型可以是PROM存储器,也可以是Flash存储器等等。上位机可以根据获取到的目标FPGA器件的配置位流文件的属性大小配置相应的外部存储器的类型和外部存储器的器件型号。
步骤S40,上位机依据外部存储器的类型、器件型号和目标FPGA器件配置位流文件,设置校验模式(比如求和校验模式),并依据该校验模式按照设定数据格式将目标FPGA器件的配置位流文件组装到存储文件(package.bit文件)中。
其中设定数据格式为:
第一片FPGA器件的数据+······+第N片FPGA器件的数据+监控配置参数(N为自然数)。其中每一片FPGA器件的数据格式为:配置指令+配置位流+同步字+回读指令+校验值。
其中的监控配置参数是指监控单元的配置参数,该监控单元为负责对FPGA器件进行监控刷新的高可靠FPGA,可以采用Actel的反熔丝FPGA。监控配置参数包括:单片FPGA的配置长度、帧长度、回读位流偏移字节(即回读位流有效位置)、回读帧数、动态重配置帧数、动态重配置指令长度、回读指令长度、位流前字节数、空帧数、同步字、单片监控储存长度、目标FPGA器件的数量、外部存储器类型、外部存储器初始地址、配置接口、配置参数储存位置。
步骤S50,根据外部存储器类型和型号,确定外部存储器每个存储块的存储容量,并根据每个存储块的存储容量将存储文件(package.bit文件)拆分为多个文件,存入外部存储器的存储块中。
不同类型和器件型号对应的外部存储器的存储容量会不同;同一类型不同型号的外部存储器的存储容量也有差异,因此首先需要根据外部存储器的类型和型号确定出外部存储器每个存储块的存储容量。然后再根据其拆分package.bit存储文件。
存储过程中,每存满一个存储块才使用下一个存储块,直到所有的拆分文件存完为止。
步骤S60,将每个拆分文件生成外部存储器烧录文件。
该烧录文件的文件格式可以为.MCS,也可以为其它文件格式。至此完成加固文件的生成过程。
上述步骤S40中组装package.bit存储文件的过程,如图2所示,包括如下步骤:
步骤S401,新建存储文件(package.bit文件);
步骤S402,将第一片目标FPGA器件为当前目标FPGA器件。
步骤S403,提取当前目标FPGA器件的ID及识别目标FPGA的型号;读取当前目标FPGA器件的原始配置位流文件(.bin文件);
步骤S404,将FPGA器件的配置指令写入存储文件(package.bit文件);该配置指令中包含FPGA的型号和FPGA器件ID;
步骤S405,将FPGA器件的配置位流文件(.bin文件)内容全写入存储文件(package.bit文件);
步骤S406,将存储文件(package.bit文件)的大小变为整数MB,不足的位用自定义字节补满;如:不足的位用“FF”字节补满;
步骤S407,写入同步字和回读指令;
步骤S408,写入校验值;该校验值根据步骤S40所选的校验模式生成;
步骤S409,继续将存储文件(package.bit文件)补满为整数MB,完成当前FPGA器件存储文件的组装;
步骤S410,判断所有目标FPGA器件的存储器文件(package.bit文件)是否组装完成,若没有,则执行步骤S411,置下一个FPGA器件为当前目标FPGA器件,并重复步骤S403~S410,直到完成所有目标FPGA器件的存储器文件(package.bit文件)的组装;若完成所有FPGA器件的存储器文件(package.bit文件)的组装,则执行步骤S412;
步骤S412,写入监控配置参数到package.bit存储文件。
步骤S413,保存和关闭package.bit存储文件。
由上述可以看出,本发明通过上位机针对多个目标FPGA器件配置对应的外部存储器,并通过组装外部存储器的存储文件以及规范存储文件的设定数据格式,实现了FPGA器件加固文件的生成。
虽然本发明已以较佳实施例公开如上,但实施例并不是用来限定本发明的。在不脱离本发明之精神和范围内,所做的任何等效变化或润饰,同样属于本发明之保护范围。因此本发明的保护范围应当以本申请的权利要求所界定的内容为标准。
Claims (5)
1.一种SRAM型FPGA抗辐射加固文件生成方法,其特征在于,所述抗辐射加固文件生成方法,包括:
步骤S10,上位机选择需要被加固的目标FPGA器件的型号和数量;
步骤S20,上位机根据目标FPGA器件的型号获取目标FPGA器件的配置位流文件;
步骤S30,上位机配置用来存储目标FPGA器件配置位流文件的外部存储器的类型和型号;
步骤S40,上位机依据外部存储器的类型、型号和目标FPGA器件配置位流文件,设置校验模式,并依据该校验模式按照设定数据格式将目标FPGA器件的配置位流文件组装到存储文件中;
所述步骤S40中的组装存储文件的过程,包括如下步骤:
步骤S401,新建存储文件;
步骤S402,将第一片目标FPGA器件为当前目标FPGA器件;
步骤S403,提取当前目标FPGA器件的ID及识别目标FPGA的型号;读取当前目标FPGA器件的原始配置位流文件;
步骤S404,将FPGA器件的配置指令写入存储文件;该配置指令中包含FPGA的型号和FPGA器件ID;
步骤S405,将FPGA器件的配置位流文件内容写入存储文件;
步骤S406,将存储文件的大小变为整数MB,不足的位用自定义字节补满;
步骤S407,写入同步字和回读指令;
步骤S408,写入校验值;该校验值根据所述校验模式生成;
步骤S409,继续将存储文件补满为整数MB,完成当前FPGA器件存储文件的组装;
步骤S410,判断所有目标FPGA器件的存储器文件是否组装完成,若没有,则执行步骤S411,置下一个FPGA器件为当前目标FPGA器件,并重复步骤S403~S410;若完成所有FPGA器件的存储器文件的组装,则执行步骤S412;
步骤S412,写入监控配置参数到package.bit存储文件;
步骤S413,保存和关闭package.bit存储文件
步骤S50,根据外部存储器类型和型号,确定外部存储器每个存储块的存储容量,并根据每个存储块的存储容量将存储文件拆分,并将形成的拆分文件存入外部存储器的存储块中;
步骤S60,将每个拆分文件生成外部存储器烧录文件。
2.根据权利要求1所述的一种SRAM型FPGA抗辐射加固文件生成方法,其特征在于,所述步骤S40中的设定数据格式为:
第一片FPGA器件的数据+······+第N片FPGA器件的数据+监控配置参数,N为自然数;其中每一片FPGA器件的数据格式为:配置指令+配置位流+同步字+回读指令+校验值。
3.根据权利要求2所述的一种SRAM型FPGA抗辐射加固文件生成方法,其特征在于,所述监控配置参数包括:
单片FPGA的配置长度、帧长度、回读位流偏移字节,即回读位流有效位置、回读帧数、动态重配置帧数、动态重配置指令长度、回读指令长度、位流前字节数、空帧数、同步字、单片监控储存长度、目标FPGA器件的数量、外部存储器类型、外部存储器初始地址、配置接口和配置参数储存位置。
4.根据权利要求1所述的一种SRAM型FPGA抗辐射加固文件生成方法,其特征在于,步骤S50中,将所述拆分文件存入外部存储器的存储块中,每存满一个存储块才使用下一个存储块,直到所有的拆分文件存完为止。
5.根据权利要求1所述的一种SRAM型FPGA抗辐射加固文件生成方法,其特征在于,所述外部存储器的类型包括PROM存储器和/或Flash存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710822279.5A CN107678769B (zh) | 2017-09-13 | 2017-09-13 | 一种sram型fpga抗辐射加固文件生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710822279.5A CN107678769B (zh) | 2017-09-13 | 2017-09-13 | 一种sram型fpga抗辐射加固文件生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107678769A CN107678769A (zh) | 2018-02-09 |
CN107678769B true CN107678769B (zh) | 2020-07-17 |
Family
ID=61135476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710822279.5A Active CN107678769B (zh) | 2017-09-13 | 2017-09-13 | 一种sram型fpga抗辐射加固文件生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107678769B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1443417A1 (en) * | 2003-01-31 | 2004-08-04 | STMicroelectronics S.r.l. | A reconfigurable signal processor with embedded flash memory device |
CN101165652A (zh) * | 2006-10-18 | 2008-04-23 | 中兴通讯股份有限公司 | 一种用cpu同时加载多片fpga的方法 |
CN104503813A (zh) * | 2015-01-19 | 2015-04-08 | 中国人民解放军国防科学技术大学 | 一种fpga远程加载大容量配置位流文件的方法 |
CN106919734A (zh) * | 2017-01-10 | 2017-07-04 | 北京中科睿芯科技有限公司 | 一种多fpga上电自动配置方法 |
-
2017
- 2017-09-13 CN CN201710822279.5A patent/CN107678769B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1443417A1 (en) * | 2003-01-31 | 2004-08-04 | STMicroelectronics S.r.l. | A reconfigurable signal processor with embedded flash memory device |
CN101165652A (zh) * | 2006-10-18 | 2008-04-23 | 中兴通讯股份有限公司 | 一种用cpu同时加载多片fpga的方法 |
CN104503813A (zh) * | 2015-01-19 | 2015-04-08 | 中国人民解放军国防科学技术大学 | 一种fpga远程加载大容量配置位流文件的方法 |
CN106919734A (zh) * | 2017-01-10 | 2017-07-04 | 北京中科睿芯科技有限公司 | 一种多fpga上电自动配置方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107678769A (zh) | 2018-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107678913B (zh) | 一种多功能可配置的抗单粒子辐射系统及方法 | |
US20210011629A1 (en) | Memory device | |
JP6236533B2 (ja) | 差分アップデートパッケージの作成方法及び装置、システム差分アップデート方法及び装置 | |
KR101693664B1 (ko) | 감소된 정정 불가능 메모리 오류 | |
US9378081B2 (en) | Bit remapping system | |
CN108170455B (zh) | 升级包的打包方法以及升级方法 | |
CN102915236B (zh) | 使用硬件抽象执行软件应用程序的方法和系统 | |
CN107636759A (zh) | 存储控制器中的存储仿真 | |
US20180210841A1 (en) | Storage device performing hashing-based translation between logical address and physical address | |
CN110442473B (zh) | 一种非易失性数据存储方法、装置、电子设备及介质 | |
CN103177077B (zh) | 一种apk文件的存储及输出方法 | |
US20220027071A1 (en) | Method and system for enhancing programmability of a field-programmable gate array | |
CN110868458B (zh) | 一种用于稳定控制系统的通信方法及装置 | |
EP3680773A1 (en) | System and method for updating a computing device | |
CN107678769B (zh) | 一种sram型fpga抗辐射加固文件生成方法 | |
US10268611B2 (en) | Input/output (I/O) binding with automatic international electromechanical commission (IEC) address generation in remote terminal unit (RTU) configuration | |
US8321626B2 (en) | Management of configuration data using persistent memories requiring block-wise erase before rewriting | |
CN114020521A (zh) | 一种基于rmap协议实现星载数据备份的装置及方法 | |
US10970206B2 (en) | Flash data compression decompression method and apparatus | |
CN103136022B (zh) | 将压缩配置映像存储在内部只读存储器上的逻辑器件 | |
US8793228B2 (en) | File system including a file header area and a file data area | |
TWI621018B (zh) | 資料備份方法、資料恢復方法以及儲存控制器 | |
KR100811559B1 (ko) | 비휘발성 메모리의 데이터 저장영역 관리 방법 및 장치 | |
CN110442299A (zh) | 数据写入方法、存储器控制电路单元以及存储器储存装置 | |
US8819391B1 (en) | Memory controller with enhanced block management techniques |
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 |