CN105760243B - 一种基于码流预处理的智能刷新控制方法 - Google Patents

一种基于码流预处理的智能刷新控制方法 Download PDF

Info

Publication number
CN105760243B
CN105760243B CN201610070778.9A CN201610070778A CN105760243B CN 105760243 B CN105760243 B CN 105760243B CN 201610070778 A CN201610070778 A CN 201610070778A CN 105760243 B CN105760243 B CN 105760243B
Authority
CN
China
Prior art keywords
code stream
data frame
bit stream
frame
code
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
CN201610070778.9A
Other languages
English (en)
Other versions
CN105760243A (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.)
Beijing Microelectronic Technology Institute
Mxtronics Corp
Original Assignee
Beijing Microelectronic Technology Institute
Mxtronics Corp
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 Beijing Microelectronic Technology Institute, Mxtronics Corp filed Critical Beijing Microelectronic Technology Institute
Priority to CN201610070778.9A priority Critical patent/CN105760243B/zh
Publication of CN105760243A publication Critical patent/CN105760243A/zh
Application granted granted Critical
Publication of CN105760243B publication Critical patent/CN105760243B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Abstract

本发明涉及一种基于码流预处理的智能刷新控制方法,通过刷新控制系统实现,所述刷新控制系统包括码流存储器、刷新模块和FPGA,刷新模块将码流存储器中的码流读出,对所述码流的数据帧进行实时筛选,剔除其中的无效码流数据帧,将剩余的有效码流数据帧实时写入码流存储器的剩余空间,在需要刷新时,刷新模块读取码流存储器中的所述有效码流数据帧,对FPGA进行刷新,本发明通过将无效数据在对FPGA进行刷新前全部剔除,仅进行有效数据的刷新,显著压缩了刷新时传输的数据量,从而能够在不提升刷新主频时钟的前提下有效缩短实际刷新周期,提高实际刷新频率,从而提高待刷SRAM型FPGA器件的抗单粒子翻转能力。

Description

一种基于码流预处理的智能刷新控制方法
技术领域
本发明涉及一种基于码流预处理的智能刷新控制方法,特别适用于恢复宇航用SRAM型FPGA发生的空间单粒子翻转故障,属于集成电路技术领域。
背景技术
SRAM型FPGA的基本结构如图5,其中主要的功能模块包括:四周一圈的输入输出模块(IOB)、边沿两列块存储器(BRAM)、内部的可编程逻辑块阵列(CLB),除此以外,还有遍布整个电路连接各个模块的互联资源。上述逻辑资源和互联资源都由下层SRAM配置位控制。大量的遍布FPGA电路的SRAM配置位决定了FPGA电路的具体功能,这些配置位的码流集合即被称为码流(bit stream)。在进行配置后,FPGA内部分资源用于构建用户所需的功能,而其他资源处于闲置状态,此时对应这些闲置资源的配置位处于空闲状态,因此生成的码流中有一定量的无用冗余数据。
空间辐射环境对空间飞行器的电子产品有着严重的影响,当SRAM型FPGA在空间环境应用时,空间高能粒子会穿透FPGA器件内部并在路径上产生电离,从而引起电路节点上瞬时电流干扰而导致电路错误,这种效应就是空间单粒子翻转效应,配置位状态的翻转可能导致SRAM型FPGA信息丢失和功能失效,引发系统故障。目前系统级用于避免数字电路单粒子翻转效应的技术主要为刷新技术,其思路为在发生翻转后恢复最初的编程信息,刷新的效果由刷新的频率决定,当刷新的频率越高,其纠正单粒子翻转的能力也就越强。目前主流的刷新方法有:逐帧刷新以及回读刷新两种。逐帧刷新是将完整码流逐帧刷入到待刷新FPGA中,该刷新方法实现简单,但由于码流中有大量的无意义数据,导致刷新效率较低;回读刷新的原理是通过回读待刷新FPGA中的码流,将回读得到的码流与正确码流进行逐帧比对,检测出其中错误的码流数据帧,通过刷新的方法,仅对错误的码流数据帧进行纠正,该方法由于需要对待刷FPGA进行回读操作,实现复杂,且实际刷新频率与逐帧刷新的频率接近,因此实用性不强。
发明内容
本发明的目的在于克服现有技术的上述缺陷,提供一种基于码流预处理的智能刷新控制方法,该方法能够在不增加额外功耗和不提高刷新主频时钟的基础上,提高实际刷新频率,从而提高待刷SRAM型FPGA器件的抗单粒子翻转能力。
本发明的上述目的主要是通过如下技术方案予以实现的:
一种基于码流预处理的智能刷新控制方法,将码流存储器中的码流读出,对所述码流的数据帧进行实时筛选,剔除其中的无效码流数据帧,将剩余的有效码流数据帧实时写入码流存储器的剩余空间,在需要刷新时读取码流存储器中的所述有效码流数据帧,对FPGA进行刷新。
在上述基于码流预处理的智能刷新控制方法中,对所述码流的数据帧进行实时筛选,剔除其中的无效码流数据帧,将剩余的有效码流数据帧实时写入码流存储器的剩余空间的具体实现方法包括如下步骤:
(1)、获取待刷新FPGA的码流规模和最小码流单位的长度;
(2)、检测从码流存储器读出的全部码流,当检测到码流中待刷新FPGA的配置起点时,从配置起点之后的所有码流作为完整码流;
(3)、根据FPGA的最小码流单位长度对所述完整码流实时进行逐帧筛选,具体方法为:
(a)判断从码流存储器中读出的一帧数据是否为无效码流数据帧,若是,则将其剔除,否则记录当前有效码流数据帧的帧地址,并将所述帧地址与所述有效码流数据帧写入码流存储器的剩余空间中,并进入步骤(b);
(b)、根据FPGA的码流规模判断是否所述完整码流全部处理完毕,若处理完毕则在向码流存储器中写入最后一帧有效码流数据帧后,继续向码流存储器中写入结束标志,并结束码流处理,否则,重复步骤(a)。
在上述基于码流预处理的智能刷新控制方法中,步骤(3)的(a)中判断从码流存储器中读出的一帧数据是否为无效码流数据帧的方法为:判断该码流数据帧是否全为0,若是,则为无效码流数据帧,否则,则为有效码流数据帧。
在上述基于码流预处理的智能刷新控制方法中,步骤(3)的(a)中,将所述帧地址与所述有效码流数据帧写入码流存储器的剩余空间中的格式为{32位帧地址,有效码流数据帧}。
在上述基于码流预处理的智能刷新控制方法中,在需要刷新时读取码流存储器中的所述有效码流数据帧,对FPGA进行刷新的具体方法如下:
(1)、读取码流存储器中存储的两个有效码流数据帧;
(2)、向待刷新FPGA中打入刷新开始命令;
(3)、检测所述读取的两个有效码流数据帧的帧地址是否相邻,若相邻,则进入步骤(4),若不相邻,则进入步骤(5);
(4)、向待刷新FPGA中打入帧地址较小的有效码流数据帧,同时从码流存储器中读取下一个有效码流数据帧,并判断所述读取的有效码流数据帧是否为结束标志,若是,则进入步骤(6),若不是,则返回步骤(3);
(5)、向待刷新FPGA中打入帧地址较小的有效码流数据帧,并打入刷新结束命令和刷新开始命令,同时从码流存储器中读取下一个有效码流数据帧,并判断所述读取的有效码流数据帧是否为结束标志,若是,则进入步骤(6),若不是,则返回步骤(3);
(6)、向待刷新FPGA中打入结束标志之前的最后一帧有效码流数据帧,并打入刷新结束命令,结束整个刷新过程。
在上述基于码流预处理的智能刷新控制方法中,通过刷新控制系统实现,所述刷新控制系统包括码流存储器、刷新模块和FPGA,所述刷新模块将码流存储器中的码流读出,对所述码流的数据帧进行实时筛选,剔除其中的无效码流数据帧,将剩余的有效码流数据帧实时写入码流存储器的剩余空间,在需要刷新时,刷新模块读取码流存储器中的所述有效码流数据帧,对FPGA进行刷新。
在上述基于码流预处理的智能刷新控制方法中,刷新模块包括读写模块、码流预处理模块和刷新控制模块,其中读写模块将码流存储器中的码流读出,并发送给码流预处理模块,码流预处理模块对所述码流的数据帧进行实时筛选,剔除其中的无效码流数据帧,将剩余的有效码流数据帧实时发送给读写模块,读写模块将所述有效码流数据帧写入码流存储器的剩余空间,在需要刷新时,读写模块读取码流存储器中的所述有效码流数据帧,并发送给刷新控制模块,刷新控制模块对FPGA进行刷新。
在上述基于码流预处理的智能刷新控制方法中,读写模块将码流存储器中的码流读出,并发送给码流预处理模块,码流预处理模块对所述码流的数据帧进行实时筛选,剔除其中的无效码流数据帧,将剩余的有效码流数据帧实时发送给读写模块,读写模块将所述有效码流数据帧写入码流存储器的剩余空间的具体实现方法包括如下步骤:
(1)、码流预处理模块获取待刷新FPGA的码流规模和最小码流单位的长度;
(2)、读写模块将码流存储器中的全部码流读出,并发送给码流预处理模块,码流预处理模块检测读入的全部码流,当检测到码流中待刷新FPGA的配置起点时,从配置起点之后的所有码流作为完整码流。
(3)、码流预处理模块根据FPGA的最小码流单位长度对所述完整码流实时进行逐帧筛选,具体方法为:
(a)码流预处理模块判断从码流存储器中读出的一帧数据是否为无效码流数据帧,若是,则将其剔除,否则记录当前有效码流数据帧的帧地址,并将所述帧地址与所述有效码流数据帧发送给读写模块,读写模块将所述帧地址与所述有效码流数据帧写入码流存储器的剩余空间中,并进入步骤(b);
(b)、码流预处理模块根据FPGA的码流规模判断是否所述完整码流全部处理完毕,若处理完毕则在向码流存储器中写入最后一帧有效码流数据帧后,继续向码流存储器中写入结束标志,并结束码流处理,否则,重复步骤(a)。
在上述基于码流预处理的智能刷新控制方法中,步骤(3)的(a)中判断从码流存储器中读出的一帧数据是否为无效码流数据帧的方法为:判断该码流数据帧是否全为0,若是,则为无效码流数据帧,否则,则为有效码流数据帧。
在上述基于码流预处理的智能刷新控制方法中,在需要刷新时,读写模块读取码流存储器中的所述有效码流数据帧,并发送给刷新控制模块,刷新控制模块对FPGA进行刷新的具体方法如下:
(1)、读写模块读取码流存储器中存储的两个有效码流数据帧,并发送给刷新控制模块;
(2)、刷新控制模块向待刷新FPGA中打入刷新开始命令;
(3)、刷新控制模块检测从读写模块接收的两个有效码流数据帧的帧地址是否相邻,若相邻,则进入步骤(4),若不相邻,则进入步骤(5);
(4)、刷新控制模块向待刷新FPGA中打入帧地址较小的有效码流数据帧,同时读写模块从码流存储器中读取下一个有效码流数据帧,并发送给刷新控制模块,刷新控制模块判断所述读取的有效码流数据帧是否为结束标志,若是,则进入步骤(6),否则返回步骤(3);
(5)、刷新控制模块向待刷新FPGA中打入帧地址较小的有效码流数据帧,并打入刷新结束命令和刷新开始命令,同时读写模块从码流存储器中读取下一个有效码流数据帧,并发送给刷新控制模块,刷新控制模块判断读取的有效码流数据帧是否为结束标志,若是,则进入步骤(6),若不是,则返回步骤(3);
(6)、刷新控制模块向待刷新FPGA中打入结束标志之前的最后一帧有效码流数据帧,并打入刷新结束命令,结束整个刷新过程。
本发明与现有技术相比具有如下有益效果:
(1)、本发明创新性地提出一种基于码流预处理的智能刷新控制方法,通过将无效数据在对FPGA进行刷新前全部剔除,仅进行有效数据的刷新,显著压缩了刷新时传输的数据量,从而能够在不提升刷新主频时钟的前提下有效缩短实际刷新周期,提高实际刷新频率,从而提高待刷SRAM型FPGA器件的抗单粒子翻转能力;
(2)、本发明方法相对于其他外部刷新方案,无任何额外功耗,且无其他额外硬件开销,能够在不增加额外功耗的基础上,显著提高实际刷新频率,从而提高待刷新SRAM型FPGA器件的抗单粒子翻转能力。
(3)、本发明实现方法简单方便、易于实现,具有较强的实用性。
附图说明
图1为本发明基于码流预处理的智能刷新控制方法流程图;
图2为本发明刷新控制系统结构示意图;
图3为本发明码流预处理方法流程图;
图4为本发明码流控制方法流程图;
图5为SRAM型FPGA的基本结构图.
具体实施方式
下面结合附图和具体实施例子对本发明作进一步详细的描述:
如图2所示为本发明刷新控制系统结构示意图,本发明刷新控制方法通过刷新控制系统实现,由图可知刷新控制系统包括码流存储器、刷新模块和FPGA,其中刷新模块将码流存储器中的码流读出,对所述码流的数据帧进行实时筛选,剔除其中的无效码流数据帧,将剩余的有效码流数据帧实时写入码流存储器的剩余空间,在需要刷新时,刷新模块读取码流存储器中的所述有效码流数据帧,对FPGA进行刷新。
其中刷新模块包括读写模块、码流预处理模块和刷新控制模块,其中读写模块将码流存储器中的码流读出,并发送给码流预处理模块,码流预处理模块对所述码流的数据帧进行实时筛选,剔除其中的无效码流数据帧,将剩余的有效码流数据帧实时发送给读写模块,读写模块将所述有效码流数据帧写入码流存储器的剩余空间,在需要刷新时,读写模块读取码流存储器中的所述有效码流数据帧,并发送给刷新控制模块,刷新控制模块对FPGA进行刷新。
读写模块主要用于:在系统上电和进行刷新时提供FPGA配置和刷新所需的连续不断的码流数据,并将码流预处理模块处理发送过来的有效码流数据帧存入码流存储器中;在刷新模块对待刷新FPGA进行刷新时,读写模块读取码流存储器中的帧地址及有效码流数据帧,并能够根据需求暂停或继续读取码流存储器中的有效码流数据帧。
如图1所示为本发明基于码流预处理的智能刷新控制方法流程图,本发明基于码流预处理的智能刷新控制方法具体包括如下步骤,
(1)、码流预处理模块获取待刷新FPGA的码流规模和最小码流单位(帧)的长度;
(2)、读写模块将码流存储器中的全部码流读出,并发送给码流预处理模块,码流预处理模块实时检测读入的全部码流,当检测到码流中待刷新FPGA的配置起点时,从配置起点之后的所有码流(不包括配置起点)作为完整码流。
(3)、码流预处理模块根据FPGA的最小码流单位长度对所述完整码流进行逐帧实时筛选,具体方法为:
(a)码流预处理模块判断从码流存储器中读出的一帧数据是否为无效码流数据帧,若是,则将其剔除,否则记录当前有效码流数据帧的帧地址,并将所述帧地址与所述有效码流数据帧发送给读写模块,读写模块将所述帧地址与所述有效码流数据帧写入码流存储器的剩余空间中,并进入步骤(b);
判断从码流存储器中读出的一帧数据是否为无效码流数据帧的方法为:判断该码流数据帧是否全为0,若是,则为无效码流数据帧,否则,则为有效码流数据帧。
将所述帧地址与所述有效码流数据帧写入码流存储器的剩余空间中的格式为{32位帧地址,有效码流数据帧}。
(b)、码流预处理模块根据FPGA的码流规模判断是否所述完整码流全部处理完毕,若处理完毕则在写入最后一帧有效码流数据后,写入结束标志,并结束码流处理,否则,重复步骤(a)。如图3所示为本发明码流预处理方法流程图。
(4)、在需要刷新时,读写模块读取码流存储器中的所述有效码流数据帧,并发送给刷新控制模块,刷新控制模块对FPGA进行刷新,如图4所示为本发明码流控制方法流程图;具体方法包括如下步骤:
(4.1)、读写模块读取码流存储器中存储的两个有效码流数据帧,例如码流数据帧A、B,并发送给刷新控制模块。
(4.2)、刷新控制模块向待刷新FPGA中打入刷新开始命令;
(4.3)、刷新控制模块检测从读写模块接收的两个有效码流数据帧的帧地址是否相邻,例如码流数据帧A、B,若相邻,则进入步骤(4.4),否则进入步骤(4.5);
(4.4)、刷新控制模块向待刷新FPGA中打入帧地址较小的有效码流数据帧,例如有效码流数据帧A,同时读写模块从码流存储器中读取下一个有效码流数据帧,例如码流数据帧C,并发送给刷新控制模块,刷新控制模块判断所述读取的有效码流数据帧C是否为结束标志,若是,则进入步骤(4.6),否则返回步骤(4.3),由刷新控制模块检测两个有效码流数据帧B、C的帧地址是否相邻。
(4.5)、刷新控制模块向待刷新FPGA中打入帧地址较小的有效码流数据帧,例如有效码流数据帧A,并打入刷新结束命令和刷新开始命令,同时读写模块从码流存储器中读取下一个有效码流数据帧C,并发送给刷新控制模块,刷新控制模块判断读取的有效码流数据帧C是否为结束标志,若是,则进入步骤(4.6),否则返回步骤(4.3),由刷新控制模块检测两个有效码流数据帧B、C的帧地址是否相邻。
(4.6)、刷新控制模块向待刷新FPGA打入结束标志C之前的最后一帧有效码流数据帧B,并打入刷新结束命令,结束整个刷新过程。
步骤(4.6)在实际处理时,需要判断是否进行FPGA的完整码流刷新,若否,则跳转到步骤(4.1)继续进行刷新,若是,则从码流存储器中读取完整码流进行完整码流刷新后跳转到步骤(4.1)。
实施例
以刷新Xilinx公司生产的XC2V1000型FPGA为例,当使用本发明方法进行刷新时,先通过JTAG端口或者SelectMAP回读ID code,识别出为XC2V1000型FPGA,并确定一帧的数据长度为32*106bits,完整码流长度为4089504bits;从存储器中读取完整码流,对XC2V1000进行配置,同时对码流进行处理,得到有效码流数据为:第i帧数据{0011……0110},第i+1帧数据{1001……0100},第i+5帧数据{0000……1000},将这些数据以{i,0011……0110},{i+1,1001……0100},{i+5,0000……1000}的格式依次存入存储器4089504bits之后的位置,并写入标志结束的特殊数据{0,665599AA……};在刷新时,读取存储器中4089504之后的位置中的数据,首先读取的是{i,0011……0110},{i+1,1001……0100},校验帧地址后,由于i与i+1相邻,因此先向XC2V1000中打入部分可重配开始命令,并打入帧地址较小的第i帧数据,此时读入{i+5,0000……1000}到寄存器中;检查寄存器中的数据地址,因i+1与i+5不相邻,此时打入i+1帧数据,并打入部分可重配结束命令;读入下一帧数据,为{0,665599AA……},检测为标志结束的数据,此时打入部分可重配开始命令,并打入第i+5帧数据,打入部分可重配结束命令,并结束刷新;重复以上过程,直到需要进行一次完整码流刷新;进行一次完整码流刷新后,继续进入刷新流程。
以上所述,仅为本发明最佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。

Claims (10)

1.一种基于码流预处理的智能刷新控制方法,其特征在于:将码流存储器中的码流读出,对所述码流的数据帧进行实时筛选,剔除其中的无效码流数据帧,将剩余的有效码流数据帧实时写入码流存储器的剩余空间,在需要刷新时读取码流存储器中的所述有效码流数据帧,对FPGA进行刷新。
2.根据权利要求1所述的一种基于码流预处理的智能刷新控制方法,其特征在于:对所述码流的数据帧进行实时筛选,剔除其中的无效码流数据帧,将剩余的有效码流数据帧实时写入码流存储器的剩余空间的具体实现方法包括如下步骤:
(1)、获取待刷新FPGA的码流规模和最小码流单位的长度;
(2)、检测从码流存储器读出的全部码流,当检测到码流中待刷新FPGA的配置起点时,从配置起点之后的所有码流作为完整码流;
(3)、根据FPGA的最小码流单位长度对所述完整码流实时进行逐帧筛选,具体方法为:
(a)判断从码流存储器中读出的一帧数据是否为无效码流数据帧,若是,则将其剔除,否则记录当前有效码流数据帧的帧地址,并将所述帧地址与所述有效码流数据帧写入码流存储器的剩余空间中,并进入步骤(b);
(b)、根据FPGA的码流规模判断是否所述完整码流全部处理完毕,若处理完毕则在向码流存储器中写入最后一帧有效码流数据帧后,继续向码流存储器中写入结束标志,并结束码流处理,否则,重复步骤(a)。
3.根据权利要求2所述的一种基于码流预处理的智能刷新控制方法,其特征在于:所述步骤(3)的(a)中判断从码流存储器中读出的一帧数据是否为无效码流数据帧的方法为:判断该码流数据帧是否全为0,若是,则为无效码流数据帧,否则,则为有效码流数据帧。
4.根据权利要求2所述的一种基于码流预处理的智能刷新控制方法,其特征在于:所述步骤(3)的(a)中,将所述帧地址与所述有效码流数据帧写入码流存储器的剩余空间中的格式为{32位帧地址,有效码流数据帧}。
5.根据权利要求1或2所述的一种基于码流预处理的智能刷新控制方法,其特征在于:在需要刷新时读取码流存储器中的所述有效码流数据帧,对FPGA进行刷新的具体方法如下:
(1)、读取码流存储器中存储的两个有效码流数据帧;
(2)、向待刷新FPGA中打入刷新开始命令;
(3)、检测所述读取的两个有效码流数据帧的帧地址是否相邻,若相邻,则进入步骤(4),若不相邻,则进入步骤(5);
(4)、向待刷新FPGA中打入帧地址较小的有效码流数据帧,同时从码流存储器中读取下一个有效码流数据帧,并判断所述读取的有效码流数据帧是否为结束标志,若是,则进入步骤(6),若不是,则返回步骤(3);
(5)、向待刷新FPGA中打入帧地址较小的有效码流数据帧,并打入刷新结束命令和刷新开始命令,同时从码流存储器中读取下一个有效码流数据帧,并判断所述读取的有效码流数据帧是否为结束标志,若是,则进入步骤(6),若不是,则返回步骤(3);
(6)、向待刷新FPGA中打入结束标志之前的最后一帧有效码流数据帧,并打入刷新结束命令,结束整个刷新过程。
6.根据权利要求1所述的一种基于码流预处理的智能刷新控制方法,其特征在于:通过刷新控制系统实现,所述刷新控制系统包括码流存储器、刷新模块和FPGA,所述刷新模块将码流存储器中的码流读出,对所述码流的数据帧进行实时筛选,剔除其中的无效码流数据帧,将剩余的有效码流数据帧实时写入码流存储器的剩余空间,在需要刷新时,刷新模块读取码流存储器中的所述有效码流数据帧,对FPGA进行刷新。
7.根据权利要求6所述的一种基于码流预处理的智能刷新控制方法,其特征在于:所述刷新模块包括读写模块、码流预处理模块和刷新控制模块,其中读写模块将码流存储器中的码流读出,并发送给码流预处理模块,码流预处理模块对所述码流的数据帧进行实时筛选,剔除其中的无效码流数据帧,将剩余的有效码流数据帧实时发送给读写模块,读写模块将所述有效码流数据帧写入码流存储器的剩余空间,在需要刷新时,读写模块读取码流存储器中的所述有效码流数据帧,并发送给刷新控制模块,刷新控制模块对FPGA进行刷新。
8.根据权利要求7所述的一种基于码流预处理的智能刷新控制方法,其特征在于:读写模块将码流存储器中的码流读出,并发送给码流预处理模块,码流预处理模块对所述码流的数据帧进行实时筛选,剔除其中的无效码流数据帧,将剩余的有效码流数据帧实时发送给读写模块,读写模块将所述有效码流数据帧写入码流存储器的剩余空间的具体实现方法包括如下步骤:
(1)、码流预处理模块获取待刷新FPGA的码流规模和最小码流单位的长度;
(2)、读写模块将码流存储器中的全部码流读出,并发送给码流预处理模块,码流预处理模块检测读入的全部码流,当检测到码流中待刷新FPGA的配置起点时,从配置起点之后的所有码流作为完整码流;
(3)、码流预处理模块根据FPGA的最小码流单位长度对所述完整码流实时进行逐帧筛选,具体方法为:
(a)码流预处理模块判断从码流存储器中读出的一帧数据是否为无效码流数据帧,若是,则将其剔除,否则记录当前有效码流数据帧的帧地址,并将所述帧地址与所述有效码流数据帧发送给读写模块,读写模块将所述帧地址与所述有效码流数据帧写入码流存储器的剩余空间中,并进入步骤(b);
(b)、码流预处理模块根据FPGA的码流规模判断是否所述完整码流全部处理完毕,若处理完毕则在向码流存储器中写入最后一帧有效码流数据帧后,继续向码流存储器中写入结束标志,并结束码流处理,否则,重复步骤(a)。
9.根据权利要求8所述的一种基于码流预处理的智能刷新控制方法,其特征在于:所述步骤(3)的(a)中判断从码流存储器中读出的一帧数据是否为无效码流数据帧的方法为:判断该码流数据帧是否全为0,若是,则为无效码流数据帧,否则,则为有效码流数据帧。
10.根据权利要求7所述的一种基于码流预处理的智能刷新控制方法,其特征在于:在需要刷新时,读写模块读取码流存储器中的所述有效码流数据帧,并发送给刷新控制模块,刷新控制模块对FPGA进行刷新的具体方法如下:
(1)、读写模块读取码流存储器中存储的两个有效码流数据帧,并发送给刷新控制模块;
(2)、刷新控制模块向待刷新FPGA中打入刷新开始命令;
(3)、刷新控制模块检测从读写模块接收的两个有效码流数据帧的帧地址是否相邻,若相邻,则进入步骤(4),若不相邻,则进入步骤(5);
(4)、刷新控制模块向待刷新FPGA中打入帧地址较小的有效码流数据帧,同时读写模块从码流存储器中读取下一个有效码流数据帧,并发送给刷新控制模块,刷新控制模块判断所述读取的有效码流数据帧是否为结束标志,若是,则进入步骤(6),否则返回步骤(3);
(5)、刷新控制模块向待刷新FPGA中打入帧地址较小的有效码流数据帧,并打入刷新结束命令和刷新开始命令,同时读写模块从码流存储器中读取下一个有效码流数据帧,并发送给刷新控制模块,刷新控制模块判断读取的有效码流数据帧是否为结束标志,若是,则进入步骤(6),若不是,则返回步骤(3);
(6)、刷新控制模块向待刷新FPGA中打入结束标志之前的最后一帧有效码流数据帧,并打入刷新结束命令,结束整个刷新过程。
CN201610070778.9A 2016-02-02 2016-02-02 一种基于码流预处理的智能刷新控制方法 Active CN105760243B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610070778.9A CN105760243B (zh) 2016-02-02 2016-02-02 一种基于码流预处理的智能刷新控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610070778.9A CN105760243B (zh) 2016-02-02 2016-02-02 一种基于码流预处理的智能刷新控制方法

Publications (2)

Publication Number Publication Date
CN105760243A CN105760243A (zh) 2016-07-13
CN105760243B true CN105760243B (zh) 2018-11-06

Family

ID=56343014

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610070778.9A Active CN105760243B (zh) 2016-02-02 2016-02-02 一种基于码流预处理的智能刷新控制方法

Country Status (1)

Country Link
CN (1) CN105760243B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114696837B (zh) * 2022-02-18 2023-03-07 电子科技大学 面向fpga安全分析的位流解压缩方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7102555B2 (en) * 2004-04-30 2006-09-05 Xilinx, Inc. Boundary-scan circuit used for analog and digital testing of an integrated circuit
CN101814316A (zh) * 2010-04-28 2010-08-25 中国航天科技集团公司第五研究院第五一三研究所 一种静态存储型现场可编程逻辑门阵列的配置方法
CN101826038A (zh) * 2010-04-28 2010-09-08 复旦大学 一种抗sram fpga器件seu的电路及方法
CN102540062A (zh) * 2011-12-29 2012-07-04 北京航空航天大学 一种针对sram型fpga的随机翻转故障注入方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7102555B2 (en) * 2004-04-30 2006-09-05 Xilinx, Inc. Boundary-scan circuit used for analog and digital testing of an integrated circuit
CN101814316A (zh) * 2010-04-28 2010-08-25 中国航天科技集团公司第五研究院第五一三研究所 一种静态存储型现场可编程逻辑门阵列的配置方法
CN101826038A (zh) * 2010-04-28 2010-09-08 复旦大学 一种抗sram fpga器件seu的电路及方法
CN102540062A (zh) * 2011-12-29 2012-07-04 北京航空航天大学 一种针对sram型fpga的随机翻转故障注入方法

Also Published As

Publication number Publication date
CN105760243A (zh) 2016-07-13

Similar Documents

Publication Publication Date Title
Zhang et al. Rest: An efficient transformer for visual recognition
KR102168930B1 (ko) 상태 머신 엔진에 의해 수신된 데이터를 제공하기 위한 방법 및 장치
CN104484238B (zh) 一种用于sram型fpga配置刷新的crc校验方法
CN110265071A (zh) 具有内部读取-修改-写入操作的存储部件
CN106293991B (zh) 基于ecc纠错码的fpga抗单粒子翻转快速刷新电路及方法
CN103988212A (zh) 用于在状态机中路由的方法及系统
CN106951587A (zh) Fpga调试系统及方法
CN107894898A (zh) Sram型fpga片上刷新和纠错的装置、实现方法及fpga芯片
CN108205704B (zh) 一种神经网络芯片
CN106529517A (zh) 图像处理方法和图像处理设备
CN109522828A (zh) 一种异常事件检测方法及系统、存储介质及终端
US20180024841A1 (en) Adaptive routing to avoid non-repairable memory and logic defects on automata processor
CN101729421B (zh) 一种基于时分复用的存储方法和装置
CN103413571B (zh) 存储器和利用该存储器实现检错纠错的方法
CN105760243B (zh) 一种基于码流预处理的智能刷新控制方法
CN109542670A (zh) 基于错误快速定位的fpga软错误刷新方法以及刷新器
US9508414B2 (en) Memory cell supply voltage reduction prior to write cycle
CN110941506A (zh) 一种抗seu的配置文件存储系统及其存储方法
CN110888824A (zh) 多级存储器层级结构
CN110324204A (zh) 一种在fpga中实现的高速正则表达式匹配引擎及方法
Lv et al. Efficient repair analysis algorithm exploration for memory with redundancy and in-memory ECC
CN107807902A (zh) 一种抗单粒子效应的fpga动态重构控制器
US11651835B1 (en) NPU capable of testing component therein during runtime
CN104407367B (zh) 提高卫星导航终端接收机基带信号处理能力的装置与方法
CN112837256B (zh) 一种用于Harris角点检测的电路系统及检测方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant