CN114924808B - 一种基于双份存储程序的sram型fpga在轨可靠加载方法 - Google Patents

一种基于双份存储程序的sram型fpga在轨可靠加载方法 Download PDF

Info

Publication number
CN114924808B
CN114924808B CN202210512827.5A CN202210512827A CN114924808B CN 114924808 B CN114924808 B CN 114924808B CN 202210512827 A CN202210512827 A CN 202210512827A CN 114924808 B CN114924808 B CN 114924808B
Authority
CN
China
Prior art keywords
fpga
sram type
configuration program
bin file
check
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
CN202210512827.5A
Other languages
English (en)
Other versions
CN114924808A (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.)
CETC 29 Research Institute
Original Assignee
CETC 29 Research Institute
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 CETC 29 Research Institute filed Critical CETC 29 Research Institute
Priority to CN202210512827.5A priority Critical patent/CN114924808B/zh
Publication of CN114924808A publication Critical patent/CN114924808A/zh
Application granted granted Critical
Publication of CN114924808B publication Critical patent/CN114924808B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于双份存储程序的SRAM型FPGA在轨可靠加载方法,该方法包括以下步骤:在FPGA配置程序bin文件中划分校验单元并***CRC校验;将加入校验的FPGA配置程序bin文件分两次注入NORFlash中的不同位置;在轨上电时,反熔丝FPGA选择出正确的FPGA配置程序bin文件数据加载SRAM型FPGA;SRAM型FPGA成功启动后,根据NORFlash中的校验情况,对出现比特翻转的Block进行重写。本发明通过NORFlash中的双份程序实现SRAM型FPGA的加载,在保证可靠性的基础上,减少了对NORFlash容量的需求;具有SRAM型FPGA配置文件在轨错误检测、更新机制,极大的减少了在轨长时间工作情况下双份程序同一位置被单粒子打翻概率,大大提高了SRAM型FPGA配置程序的可靠性。

Description

一种基于双份存储程序的SRAM型FPGA在轨可靠加载方法
技术领域
本发明涉及航天器技术领域,特别是一种基于双份存储程序的SRAM型FPGA在轨可靠加载方法。
背景技术
SRAM型FPGA具有重复编程的优点,需要上电进行加载配置。SRAM型FPGA在轨工作中,芯片本身及其配置存储器都面临单粒子效应威胁,尤其是存储器中的配置程序一旦出现单粒子翻转,则会导致FPGA无法成功加载,若翻转的配置程序无法恢复,更会导致分机或***失效的灾难性故障。使用单粒子翻转阈值高的PROM可有效保护配置程序,但PROM容量小,往往需要多片才能满足存储容量需求;且PROM无法重复擦写,因而FPGA失去在轨更新能力。使用NORFlash作为配置存储芯片具有可重复擦写的优点,配置程序可在轨重构,但NORFlash的翻转阈值相对较低。通常需要使用三片NORFlash进行芯片级三模,或者单片内存储3份程序实现三模冗余设计。前者需要的芯片数量多;后者在存储大容量配置文件时,对NORFlash芯片容量有较大需求,而大容量的NORFlash具有更大的尺寸,更高的价格,造成PCB布板难度和研制成本的增加。
发明内容
鉴于此,本发明提供一种基于双份存储程序的SRAM型FPGA在轨可靠加载方法,通过两份带有校验信息的bin文件,实现对SRAM型FPGA加载文件的正确选择;成功加载后,通过周期性的对NORFlash中的bin文件进行校验,更新出现比特翻转的数据,避免错误数据累积。
本发明公开了一种基于双份存储程序的SRAM型FPGA在轨可靠加载方法,包括以下步骤:
步骤1:在FPGA配置程序bin文件中划分校验单元并***CRC校验;
步骤2:将加入校验的FPGA配置程序bin文件分两次注入NORFlash中的不同位置;
步骤3:在轨上电时,反熔丝FPGA选择出正确的FPGA配置程序bin文件数据加载SRAM型FPGA;
步骤4:SRAM型FPGA成功启动后,根据NORFlash中的校验情况,对出现比特翻转的Block进行重写。
进一步地,所述步骤1具体包括:
步骤1-1:利用FPGA开发工具生成FPGA配置程序bin文件;
步骤1-2:根据NORFlash块的大小,定义校验单元的大小为N个字节;每个NORFlash块包括至少一个校验单元;每个校验单元由bin文件数据和CRC校验位构成;
步骤1-3:每个校验单元从FPGA配置程序bin文件中的首个字节开始依次取出N-2个字节数据,末尾不足N-2个字节则补0至N-2个字节;并根据CRC16校验方法分别生成每个校验单元内的CRC校验值。
进一步地,所述步骤2具体包括:
步骤2-1:初次注入加入校验的FPGA配置程序bin文件时,NORFlash中没有配置程序,无法启动,需使用JTAG接口在线下载FPGA程序,使FPGA工作;
步骤2-2:外部通信接口分两次将同一份加入校验的FPGA配置程序bin文件送入SRAM型FPGA,SRAM型FPGA将解析通信协议后的加入校验的FPGA配置程序bin文件传输至反熔丝FPGA;反熔丝FPGA将两份加入校验的FPGA配置程序bin文件分别写入NORFlash中的不同位置。
进一步地,所述步骤3具体包括:
步骤3-1:在轨上电时,反熔丝FPGA首先取NORFlash中存储的第一份FPGA配置程序bin文件加载SRAM型FPGA;
步骤3-2:若NORFlash中存储的第一份bin文件无法加载,反熔丝FPGA则取NORFlash中存储的第二份FPGA配置程序bin文件加载SRAM型FPGA;
步骤3-3:若NORFlash中存储的第二份FPGA配置程序bin文件无法加载,反熔丝FPGA从两份程序中按校验单元顺序选择出正确的FPGA配置程序bin文件数据加载SRAM型FPGA。
进一步地,所述步骤3-1具体包括:
步骤3-1-1:上电时,反熔丝FPGA取NORFlash中存储的第一份FPGA配置程序bin文件,跳过每个校验单元内的校验位,直接将数据传输至SRAM型FPGA进行加载;
步骤3-1-2:在NORFlash中存储的第一份FPGA配置程序bin文件传输至SRAM型FPGA之后,反熔丝FPGA通过SRAM型FPGA的done信号判断FPGA是否成功加载。
进一步地,所述步骤3-2具体包括:
步骤3-2-1:反熔丝FPGA取NORFlash中存储的第二份FPGA配置程序bin文件,跳过每个校验单元内的校验位,直接将数据传输至SRAM型FPGA进行加载;
步骤3-2-2:在NORFlash中存储的第二份FPGA配置程序bin文件传输至SRAM型FPGA之后,反熔丝FPGA通过SRAM型FPGA的done信号判断FPGA是否成功加载。
进一步地,所述步骤3-3具体包括:
步骤3-3-1:反熔丝FPGA首先取NORFlash中存储的第一份FPGA配置程序bin文件的第一个校验单元进行CRC校验,若校验正确,则将数据传输至SRAM型FPGA;若校验错误,则取NORFlash中存储的第二份FPGA配置程序bin文件的第一个校验单元进行校验,校验正确则将数据传输至SRAM型FPGA;
步骤3-3-2:反熔丝FPGA按步骤3-3-1的方式在两份FPGA配置程序bin文件中顺序从各校验单元中选出正确的数据加载SRAM型FPGA。
进一步地,所述步骤4具体包括:
步骤4-1:该数字电路正常工作后,反熔丝FPGA周期地对NORFlash中的FPGA配置程序bin文件进行校验,并将校验错误的Block块号报给SRAM型FPGA,SRAM型FPGA将错误NORFlash块的序号通过外部通信接口发送给星务计算机,最终通过数字遥测下传给地面;
步骤4-2:地面可通过星地通信链路将校验错误的NORFlash块内所有正确的校验单元重新上传给卫星,SRAM型FPGA通过外部通信接口获取重新注入的校验单元并发送给反熔丝FPGA,反熔丝FPGA将该校验单元写入NORFlash的原有位置,最终实现错误数据的更新。
由于采用了上述技术方案,本发明具有如下的优点:(1)本发明通过NORFlash中的双份程序实现SRAM型FPGA的加载,在保证可靠性的基础上,减少了对NORFlash容量的需求;(2)本发明具有SRAM型FPGA配置文件在轨错误检测、更新机制,极大的减少了在轨时间长时工作情况下双份程序同一位置被单粒子打翻概率,大大提高了SRAM型FPGA配置程序的可靠性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种基于双份存储程序的SRAM型FPGA在轨可靠加载方法流程图示意图;
图2为本发明实施例的一种校验单元的划分方式的示意图;
图3为本发明实施例的一种SRAM型FPGA配置程序注入框图;
图4为本发明实施例的一种反熔丝FPGA选择加载文件方法的示意图。
具体实施方式
结合附图和实施例对本发明作进一步说明,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
实施例一:
参见图1,本发明提供了一种基于双份存储程序的SRAM型FPGA在轨可靠加载方法的实施例,其包括以下步骤:
步骤1:在FPGA配置程序bin文件中划分校验单元并***CRC校验。
步骤1-1:利用FPGA开发工具生成FPGA配置程序bin文件。
步骤1-2:根据NORFlash块(Block)大小,定义校验单元大小为N字节。一个Block内可包含一个或多个校验单元。NORFlash通常按字进行操作,可使用CRC16校验算法,校验位为2字节,一个校验单元内文件可存放的FPGA配置程序bin文件数据为N-2字节。FPGA配置程序bin文件数据和CRC校验位共同构成一个校验单元。
步骤1-3:每个校验单元从前至后依次从bin文件中依次取出N-2字节数据,末尾不足N-2字节则补0至N-2字节。并根据CRC16校验方法分别生成每个校验单元内的CRC校验值。***校验的FPGA配置程序bin文件如图2所示。
步骤2:将加入校验的bin文件分两次注入NORFlash中的不同位置。
步骤2-1:初次注入加入校验的FPGA配置程序bin文件时,NORFlash中没有配置程序,无法启动,需使用JTAG接口在线下载FPGA程序,使FPGA工作。
步骤2-2:外部通信接口分两次将同一份加入校验的FPGA配置程序bin文件送入SRAM型FPGA,SRAM型FPGA将解析通信协议后的加入校验的FPGA配置程序bin文件送给反熔丝FPGA。反熔丝FPGA将两份加入校验的FPGA配置程序bin文件分别写入NORFlash中的不同位置。
步骤3:在轨上电时,反熔丝FPGA优先取第一份FPGA配置程序bin文件加载SRAM型FPGA。
步骤3-1:上电时,反熔丝FPGA取NORFlash中存储的第一份bin文件,跳过每个校验单元内的校验位,直接将数据送给SRAM型FPGA进行加载,见图3的a路径。此步的依据为:单粒子事情的发生是小概率事件,且断电状态下Flash的翻转阈值高,在轨上电时,NORFlash中的配置程序大概率未翻转。此步的目的为:缩短正常情况下SRAM型FPGA的加载时间,如采取对第一份程序先校验再加载的方式需两次读NORFlash,时间比直接加载长1倍时间。
步骤3-2:NORFlash中存储的第一份FPGA配置程序bin文件全送给SRAM型FPGA后,反熔丝FPGA通过SRAM型FPGA的done信号判断FPGA是否成功加载。
步骤4:若NORFlash中存储的第一份FPGA配置程序bin文件无法加载,反熔丝FPGA则取第二份FPGA配置程序bin文件加载SRAM型FPGA。
步骤4-1:反熔丝FPGA取NORFlash中存储的第二份FPGA配置程序bin文件,跳过每个校验单元内的校验位,直接将数据送给SRAM型FPGA进行加载,见图3的b路径。
步骤4-2:NORFlash中存储的第二份FPGA配置程序bin文件全送给SRAM型FPGA后,反熔丝FPGA通过SRAM型FPGA的done信号判断FPGA是否成功加载。
步骤5:若NORFlash中存储的第二份FPGA配置程序bin文件无法加载,反熔丝FPGA从两份程序中按校验单元顺序选择出正确的bin文件数据加载SRAM型FPGA。
步骤5-1:反熔丝FPGA优先取第一份FPGA配置程序bin文件第一个校验单元进行CRC校验,若校验正确,则将数据送给SRAM型FPGA;若校验错误,则取第二份bin文件第一个校验单元进行校验,校验正确则将数据送给SRAM型FPGA,见图3的c路径。此步的依据为:单粒子事情发生的概率小,NORFlash中不同bin文件的同一个校验单元同时被单粒子打翻的概率极小,因此至少有一个校验单元的数据能用于程序加载,保证了可靠性。
步骤5-2:反熔丝FPGA按步骤5-1的方式在两份FPGA配置程序bin文件中顺序从各校验单元中选出正确的数据加载SRAM型FPGA。
步骤6:SRAM型FPGA成功启动后,根据NORFlash中的校验情况,对出现比特翻转的Block进行重写。
步骤6-1:该数字电路正常工作后,反熔丝FPGA周期地对NORFlash中的FPGA配置程序bin文件进行校验,并将校验错误的Block块的序号报给SRAM型FPGA,SRAM型FPGA将错误块号通过外部通信接口发送给星务计算机,最终通过数字遥测下传给地面。
步骤6-2:地面可通过星地通信链路将校验错误的Block块号内所有正确的校验单元重新上传给卫星,SRAM型FPGA通过外部通信接口获取重新注入的校验单元并发送给反熔丝FPGA,反熔丝FPGA将该校验单元写入NORFlash的原有位置,最新实现错误数据的更新。
实施例二:
为了便于理解,本发明给出了一个更为具体的实施例:
某电路SRAM型FPGA选用XC7K325T-2FFG900I,反熔丝FPGA选用A54SX72ACQ208B,NORFlash选用256Mb的VDRF256M16RS54MS4V90。K7FPGAbin文件为11443612Byte,256Mb的NORFlash最多仅能存储两份程序。利用本方法加载SRAM型的步骤如下:
第一步,在K7FPGA的bin文件内划分校验单元,每65534Byte***校验多项式为G(x)=x16+x10+x2+1的CRC16校验,每个校验单元为65536Byte(1个NORFlashBlock大小)。***校验后bin文件总共有175个校验单元,文件大小为11468800Byte。
第二步,使用JTAG调试接口在线下载FPGA程序,将***校验的bin文件分别注入NORFlash的不同位置。
第三步,重新上电后,反熔丝FPGA优先取NORFlash中存储的第一份FPGA配置程序bin文件加载SRAM型FPGA,约4秒第一份程序被成功启动。
第四步,参见图4,若NORFlash中存储的第一份FPGA配置程序bin文件无法加载,反熔丝FPGA则取NORFlash中存储的第二份FPGA配置程序bin文件加载SRAM型FPGA。为模拟该过程,将第一份程序的第一个Block注入校验错误的程序,重新上电后,约8秒钟第二份程序被成功启动。
第五步,若NORFlash中存储的第二份FPGA配置程序bin文件无法加载,反熔丝FPGA从NORFlash中存储的两份程序中按校验单元顺序选择出正确的FPGA配置程序bin文件数据加载SRAM型FPGA。为模拟该过程,在第一份FPGA配置程序bin文件的第一个Block数据已错误的基础上,再将第二份FPGA配置程序bin的第二个Block注入校验错误的数据,重新上电后,约16秒钟后FPGA成功启动。
第六步,SRAM型FPGA成功启动后,根据NORFlash中的校验情况,对出现比特翻转的Block进行重写。SRAM型FPGA将校验错误的第一份bin文件第一个Block和第二份程序第二个Block的位置上报,利用SRAM型FPGA外部通信接口将正确的数据分别写入上述两个Block内。
上述措施可以使得配置程序单粒子翻转导致无法加载的概率降低为常规单份配置文件手段的1/174,大大提高了程序加载的可靠性。
以上以XC7K325T-2FFG900I、A54SX72ACQ208B、VDRF256M16RS54MS4V90三个器件为例说明了本发明的实施过程,但是本发明对不同选型的其它器件同样适用。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

Claims (6)

1.一种基于双份存储程序的SRAM型FPGA在轨可靠加载方法,其特征在于,包括以下步骤:
步骤1:在FPGA配置程序bin文件中划分校验单元并***CRC校验;
步骤2:将加入校验的FPGA配置程序bin文件分两次注入NORFlash中的不同位置;
步骤3:在轨上电时,反熔丝FPGA选择出正确的FPGA配置程序bin文件数据加载SRAM型FPGA;
步骤4:SRAM型FPGA成功启动后,根据NORFlash中的校验情况,对出现比特翻转的Block进行重写;
所述步骤2具体包括:
步骤2-1:初次注入加入校验的FPGA配置程序bin文件时,NORFlash中没有配置程序,无法启动,需使用JTAG接口在线下载FPGA程序,使FPGA工作;
步骤2-2:外部通信接口分两次将同一份加入校验的FPGA配置程序bin文件送入SRAM型FPGA,SRAM型FPGA将解析通信协议后的加入校验的FPGA配置程序bin文件传输至反熔丝FPGA;反熔丝FPGA将两份加入校验的FPGA配置程序bin文件分别写入NORFlash中的不同位置;
所述步骤4具体包括:
步骤4-1:数字电路正常工作后,反熔丝FPGA周期地对NORFlash中的FPGA配置程序bin文件进行校验,并将校验错误的Block块号报给SRAM型FPGA,SRAM型FPGA将错误NORFlash块的序号通过外部通信接口发送给星务计算机,最终通过数字遥测下传给地面;
步骤4-2:地面可通过星地通信链路将校验错误的NORFlash块内所有正确的校验单元重新上传给卫星,SRAM型FPGA通过外部通信接口获取重新注入的校验单元并发送给反熔丝FPGA,反熔丝FPGA将该校验单元写入NORFlash的原有位置,最终实现错误数据的更新。
2.根据权利要求1所述的方法,其特征在于,所述步骤1具体包括:
步骤1-1:利用FPGA开发工具生成bin文件;
步骤1-2:根据NORFlash块的大小,定义校验单元的大小为N个字节;每个NORFlash块包括至少一个校验单元;每个校验单元由bin文件数据和CRC校验位构成;
步骤1-3:每个校验单元从bin文件中的首个字节开始依次取出N-2个字节数据,末尾不足N-2个字节则补0至N-2个字节;并根据CRC16校验方法分别生成每个校验单元内的CRC校验值。
3.根据权利要求1所述的方法,其特征在于,所述步骤3具体包括:
步骤3-1:在轨上电时,反熔丝FPGA首先取NORFlash中存储的第一份FPGA配置程序bin文件加载SRAM型FPGA;
步骤3-2:若NORFlash中存储的第一份FPGA配置程序bin文件无法加载,反熔丝FPGA则取NORFlash中存储的第二份FPGA配置程序bin文件加载SRAM型FPGA;
步骤3-3:若NORFlash中存储的第二份FPGA配置程序bin文件无法加载,反熔丝FPGA从两份程序中按校验单元顺序选择出正确的FPGA配置程序bin文件数据加载SRAM型FPGA。
4.根据权利要求3所述的方法,其特征在于,所述步骤3-1具体包括:
步骤3-1-1:上电时,反熔丝FPGA取NORFlash中存储的第一份FPGA配置程序bin文件,跳过每个校验单元内的校验位,直接将数据传输至SRAM型FPGA进行加载;
步骤3-1-2:在NORFlash中存储的第一份FPGA配置程序bin文件传输至SRAM型FPGA之后,反熔丝FPGA通过SRAM型FPGA的done信号判断FPGA是否成功加载。
5.根据权利要求4所述的方法,其特征在于,所述步骤3-2具体包括:
步骤3-2-1:反熔丝FPGA取NORFlash中存储的第二份FPGA配置程序bin文件,跳过每个校验单元内的校验位,直接将数据传输至SRAM型FPGA进行加载;
步骤3-2-2:在NORFlash中存储的第二份FPGA配置程序bin文件传输至SRAM型FPGA之后,反熔丝FPGA通过SRAM型FPGA的done信号判断FPGA是否成功加载。
6.根据权利要求5所述的方法,其特征在于,所述步骤3-3具体包括:
步骤3-3-1:反熔丝FPGA首先取NORFlash中存储的第一份FPGA配置程序bin文件的第一个校验单元进行CRC校验,若校验正确,则将数据传输至SRAM型FPGA;若校验错误,则取NORFlash中存储的第二份FPGA配置程序bin文件的第一个校验单元进行校验,校验正确则将数据传输至SRAM型FPGA;
步骤3-3-2:反熔丝FPGA按步骤3-3-1的方式在两份FPGA配置程序bin文件中顺序从各校验单元中选出正确的数据加载SRAM型FPGA。
CN202210512827.5A 2022-05-12 2022-05-12 一种基于双份存储程序的sram型fpga在轨可靠加载方法 Active CN114924808B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210512827.5A CN114924808B (zh) 2022-05-12 2022-05-12 一种基于双份存储程序的sram型fpga在轨可靠加载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210512827.5A CN114924808B (zh) 2022-05-12 2022-05-12 一种基于双份存储程序的sram型fpga在轨可靠加载方法

Publications (2)

Publication Number Publication Date
CN114924808A CN114924808A (zh) 2022-08-19
CN114924808B true CN114924808B (zh) 2023-03-14

Family

ID=82809463

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210512827.5A Active CN114924808B (zh) 2022-05-12 2022-05-12 一种基于双份存储程序的sram型fpga在轨可靠加载方法

Country Status (1)

Country Link
CN (1) CN114924808B (zh)

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8644832B2 (en) * 2010-08-12 2014-02-04 At&T Intellectual Property I, L.P. Redirecting handovers in LTE networks
US8674724B2 (en) * 2011-07-29 2014-03-18 Crossbar, Inc. Field programmable gate array utilizing two-terminal non-volatile memory
CN102736938B (zh) * 2012-06-18 2015-07-29 中国电子科技集团公司第十研究所 Fpga配置程序的烧写方法
US9323597B2 (en) * 2012-08-08 2016-04-26 Peach Fuzzer Llc Flow based fault testing
US20140089806A1 (en) * 2012-09-25 2014-03-27 John C. Weast Techniques for enhanced content seek
US8884649B1 (en) * 2013-04-22 2014-11-11 Ciena Corporation System and method for stationary finite impulse response filters in programmable microelectronic circuits
CN103971732A (zh) * 2014-04-30 2014-08-06 浙江大学 监控fpga的单粒子翻转效应并纠正重加载的方法及***
CN104484214B (zh) * 2014-12-30 2017-06-20 华中科技大学 一种sram型fpga的配置、刷新与程序上注一体化***
US10521295B2 (en) * 2016-06-23 2019-12-31 Triad National Security, Llc Low cost, hardened single board computer for command and data handling
CN106201590B (zh) * 2016-06-29 2019-06-11 瑞斯康达科技发展股份有限公司 一种fpga配置文件加载方法和***
CN106293991B (zh) * 2016-08-10 2019-10-18 上海无线电设备研究所 基于ecc纠错码的fpga抗单粒子翻转快速刷新电路及方法
US10162563B2 (en) * 2016-12-02 2018-12-25 International Business Machines Corporation Asynchronous local and remote generation of consistent point-in-time snap copies
CN108875369B (zh) * 2017-05-15 2020-07-07 ***通信有限公司研究院 一种控制流完整性校验方法、装置和计算机存储介质
US10432523B2 (en) * 2017-05-31 2019-10-01 Juniper Networks, Inc. Routing protocol signaling of multiple next hops and their relationship
CN107255975B (zh) * 2017-07-21 2020-03-27 中国电子科技集团公司第二十九研究所 一种利用高速总线实现fpga程序快速加载的装置及方法
CN107479913A (zh) * 2017-07-27 2017-12-15 中国船舶重工集团公司第七二四研究所 一种fpga配置多启动低资源占用更新方法及实施***
CN107450948B (zh) * 2017-07-28 2019-10-08 西安电子科技大学 一种低功耗的fpga自适应加载方法及***
US10957679B2 (en) * 2017-08-08 2021-03-23 iCometrue Company Ltd. Logic drive based on standardized commodity programmable logic semiconductor IC chips
CN107621943A (zh) * 2017-08-18 2018-01-23 上海无线电设备研究所 一种fpga动态批量烧写***及方法
CN107463341A (zh) * 2017-08-25 2017-12-12 上海闻泰电子科技有限公司 Flash芯片的擦除方法、装置和移动终端
CN107562504A (zh) * 2017-09-11 2018-01-09 哈尔滨工程大学 一种dsp程序分段加载的串口实现方法
CN207440771U (zh) * 2017-10-25 2018-06-01 湖南斯北图科技有限公司 一种基于外部存储器和icap口的sram型fpga抗辐射加固电路
CN108629206B (zh) * 2017-12-13 2020-11-03 百富计算机技术(深圳)有限公司 一种安全加密方法、加密机及终端设备
WO2019119448A1 (zh) * 2017-12-22 2019-06-27 北京小米移动软件有限公司 在半静态调度方式下传输数据的方法、基站、终端和***
CN108196890B (zh) * 2017-12-24 2021-04-20 北京卫星信息工程研究所 在轨混合加载fpga与cpu的方法
CN109144932A (zh) * 2018-08-03 2019-01-04 中国航空工业集团公司雷华电子技术研究所 一种基于dsp的快速动态配置fpga的装置及方法
CN109542532A (zh) * 2018-10-29 2019-03-29 中国科学院西安光学精密机械研究所 一种从fpga配置芯片向单片机进行程序加载的方法
CN109947608B (zh) * 2019-03-06 2020-04-24 清华大学 一种fpga加法树单粒子翻转故障检测方法及装置
CN110427222A (zh) * 2019-06-24 2019-11-08 北京达佳互联信息技术有限公司 数据加载方法、装置、电子设备及存储介质
CN110753106A (zh) * 2019-10-17 2020-02-04 杭州涂鸦信息技术有限公司 文件上传方法及装置、电子设备
CN110738317A (zh) * 2019-10-17 2020-01-31 中国科学院上海高等研究院 基于fpga的可变形卷积网络运算方法、装置和***
CN110941506A (zh) * 2019-10-28 2020-03-31 南京理工大学 一种抗seu的配置文件存储***及其存储方法
CN111176908B (zh) * 2019-12-11 2023-07-14 北京遥测技术研究所 一种基于三模冗余的程序在轨加载刷新方法
CN111611201B (zh) * 2020-06-24 2022-04-19 中国人民解放军国防科技大学 一种刷新自适应的连续高可靠在轨fpga重构***与方法
CN112540767B (zh) * 2020-12-25 2023-07-25 北京百度网讯科技有限公司 程序代码的生成方法、装置、电子设备及存储介质
CN113608720B (zh) * 2021-07-23 2023-11-10 中国电子科技集团公司第三十研究所 一种抗单粒子翻转的星载数据处理***及方法
CN113918386A (zh) * 2021-10-25 2022-01-11 北京理工雷科电子信息技术有限公司 一种在轨处理***自主容错和故障恢复方法

Also Published As

Publication number Publication date
CN114924808A (zh) 2022-08-19

Similar Documents

Publication Publication Date Title
CN111142962B (zh) 一种星载fpga的在轨重构方法及***
CN107957972B (zh) 一种基于fpga的在轨重构***及方法
CN109783434B (zh) 低代价高可靠的星载单机多片sram型fpga在轨重构***及方法
US6625061B2 (en) Method of managing a defect in a flash memory
JP4595342B2 (ja) 記憶装置のデータ書き込み、読み出し方法およびデータ記憶システム
CN108446189B (zh) 一种星载嵌入式软件容错启动***及方法
CN107885614A (zh) 一种基于存储器的数据处理方法及数据处理装置
CN102347083A (zh) 通过内部操作验证进行安全的存储器存储
CN101908376B (zh) 非挥发性存储装置及其控制方法
CN109933340B (zh) 一种航天器eeprom基于页模式的在轨写入和自检方法
CN112181304B (zh) 一种星载NAND Flash存储管理***
CN112099832B (zh) 星载设备的单粒子翻转恢复方法及***
CN105005453A (zh) 星载nand flash固存坏区管理***
US10514980B2 (en) Encoding method and memory storage apparatus using the same
US8438327B2 (en) Recovery scheme for an emulated memory system
CN113608720B (zh) 一种抗单粒子翻转的星载数据处理***及方法
CN114924808B (zh) 一种基于双份存储程序的sram型fpga在轨可靠加载方法
US7181655B2 (en) Method and circuit arrangement for memory error processing
CN207440771U (zh) 一种基于外部存储器和icap口的sram型fpga抗辐射加固电路
EP0926687B1 (en) Self-test and correction of loss of charge errors in a flash memory, erasable and programmable by sectors thereof
CN113380294A (zh) Fpga配置flash芯片抗单粒子翻转电路及方法
CN111930393B (zh) 一种用于星载软件的在轨编程***、方法及电路
JP4266742B2 (ja) フラッシュメモリ搭載電子装置、そのメモリデータ管理方法およびプログラム
CN110008145B (zh) 数据保护方法、存储器控制电路单元与存储器存储装置
CN111176732A (zh) 一种基于mram实现的软硬件冗余安全启动与维护方法

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