一种fpga远程加载大容量配置位流文件的方法

文档序号:6649148阅读:434来源:国知局
一种fpga远程加载大容量配置位流文件的方法
【专利摘要】本发明公开了一种FPGA远程加载大容量配置位流文件的方法,其步骤为:S1:远端主机预处理配置位流文件,以页数据为单位对配置位流文件进行处理;S2:启动动态重配置;CPU读取内存中的配置信息,控制FPGA将初始化控制信息下发实现非易失性器件的初始化设置。同时,以页数据为单位将配置信息写入非易失性器件中并且回读写入非易失性器件中的页数据执行校验比对操作;通过校验比对操作,检测写入非易失性器件中页单位元数据的正确性;当配置信息完全写入非易失性器件中后,完成配置信息的传送。本发明具有原理简单、可靠性好、能够实现目标FPGA的功能性修正和系统功能升级等优点。
【专利说明】一种吓6八远程加载大容量配置位流文件的方法

【技术领域】
[0001]本发明主要涉及到可重构硬件系统领域,特指一种基于??以的远程加载大容量配置位流文件的方法。

【背景技术】
[0002]当代半导体器件的发展日新月异,超大规模集成电路越来越成为新的研宄热点。然而,传统器件的产品研发周期长,成本高且功能不灵活。这些不足使得它们越来越不能够满足新的用户需求,促使以??以为代表的新一代可重构硬件的研发与使用成为更好的选择。针对航天航空、深海作业、宇宙探测以及核电监控等重要且难于进行人工维护的任务系统中,能够更灵活、更高效地对电子设备进行自动检错以及纠错成为重要的研宄内容,具有动态可重构特性的硬件设计系统成为主流的选择。
[0003]远程且难于进行人工维护的空间应用中,可重构硬件系统更容易受到强度空间辐射而发生功能性故障。空间探测任务中,受宇宙射线影响的电子设备器件的维修几乎是不可能的。由于功能性故障导致空间电子设备的报废,会形成空间垃圾,从而造成严重的生命财产损失。更有甚者,功能性故障的电子设备器件会在一定程度上威胁到空间设备的安全以及空间科学工作者的生命安全。保守的方法是以增加冗余部件来解决器件损伤问题,这不仅消耗大量的精密电子器件,还增加了空间探测设备的负担。为此,设计快速且有效地修正可重构硬件系统的功能性故障是一项必须要解决的课题。
[0004]可重构硬件系统在空间完成自修复,恢复由于强度空间辐射或极端空间环境引起部件功能性故障所导致失效的功能。具有可重构特性的硬件系统更能够适应空间恶劣环境并延长其使用寿命,大大提高了空间电子设备的可靠性和可用性。同时,可重构硬件设计在空间任务系统中的使用,对软件加载提出了新的技术要求。多种功能模块综合和互联互通以及应用灵活性和简易性要求的不断增加,软件维护及升级需求的日益迫切,软件加载技术都需要不断创新。考虑到空间恶劣环境的影响,提高软件加载的可靠性也是一项亟待解决的重要问题。


【发明内容】

[0005]本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种原理简单、可靠性好、能够实现目标??以的功能性修正和系统功能升级的??以远程加载大容量配置位流文件的方法。
[0006]为解决上述技术问题,本发明采用以下技术方案:
[0007]一种??以远程加载大容量配置位流文件的方法,其步骤为:
[0008]51:远端主机预处理配置位流文件,以页数据为单位对配置位流文件进行处理;
[0009]82:启动动态重配置口读取内存中的配置信息,控制将初始化控制信息下发实现非易失性器件的初始化设置。同时,以页数据为单位将配置信息写入非易失性器件中并且回读写入非易失性器件中的页数据执行校验比对操作;通过校验比对操作,检测写入非易失性器件中页单位元数据的正确性;当配置信息完全写入非易失性器件中后,完成配置信息的传送。
[0010]作为本发明的进一步改进:所述配置位流文件中包含配置信息文件、以及配置信息之外的行号和校验冗余信息;所述配置信息文件中包含有初始化控制信息、配置信息、读操作控制信息以及校验比对控制信息。
[0011]作为本发明的进一步改进:所述远端主机对配置信息文件进行预处理时包括对配置位流文件的拆分处理;具体步骤为:
[0012]8101:远端主机预处理目标??以的配置位流文件,去除配置位流文件中的行号以及校验冗余信息,生成待传送的配置信息文件;将大容量配置信息文件拆分成多个小容量的配置信息文件用来进行分别传送;
[0013]8102:将拆分后的配置信息文件分别写入非易失性器件的内部存储模块内,对非易失性器件中配置信息的更新是分块进行的。
[0014]作为本发明的进一步改进:所述配置位流文件使用第三方软件生成。
[0015]作为本发明的进一步改进:所述步骤52中,如果页单位元中写入的配置信息与回读的配置信息一致,控制??以将配置信息按照正确的时序要求写入非易失性器件,开始启动对下一页单位元的操作;如果校验结果显示,写入非易失性器件单位元中的配置信息与回读的配置信息不一致,说明配置信息在写入?的过程中出现错误;重新执行对该页单位元的操作,重复执行一定次数后,发现配置该页单位元仍然错误,说明非易失性器件器件损坏或者是通信链路特别恶劣。
[0016]作为本发明的进一步改进:所述步骤32的具体流程为:
[0017]8201:当启动动态重配置时,读取内存中的配置信息文件下发到数据处理中心模块进行处理,使得配置信息文件以串行数据格式传送到控制中;
[0018]8202:控制??以接到的配置信息文件经过数据处理模块和数据转换模块,以接口时序要求将配置信息写入非易失性器件中存储;
[0019]3203:待更新的配置信息文件存储在非易失性器件中,上电或目标??以检测到重配置指令后,读取非易失性器件中的配置信息,完成动态重配置。
[0020]与现有技术相比,本发明的优点在于:
[0021]1、本发明为一种优化的远程加载大容量配置位流文件的设计应用方案,实现了从远端分多次下发小容量配置信息文件完成可重构模块的更新升级和重新加载,实现了软件维护和模块功能切换,满足了日益复杂的系统设计。
[0022]2、本发明能够适应远程任务系统难于进行人工维护的特点,将大容量配置信息文件拆分成多个小容量的配置信息文件,摆脱了主控板上内存的限制。同时,考虑到通信链路上不稳定因素可能造成的错误,分多次传送小容量的配置信息文件,一旦遭遇通信链路上不稳定因素造成的错误,能够及时控制对错误配置信息文件的修正和重新传送。
[0023]3、本发明分多次传送小容量配置信息文件,能够及时检测到通信链路上不稳定因素的影响造成的配置信息错误。通过重新下发配置信息文件纠正该错误,为可重构硬件系统的功能性修正以及系统功能升级提供了一种可靠有效的实现手段。同时,本发明摆脱了可重构硬件系统原始设计中内存大小的限制,为远程控制系统功能性升级提供了必要的技术基础。

【专利附图】

【附图说明】
[0024]图1是本发明方法的流程示意图。
[0025]图2是本发明在具体应用时控制??以远程更新加载配置位流文件的拓扑结构示意图。
[0026]图3是本发明在具体应用时通过远端主机对配置信息文件进行拆分的处理流程示意图。
[0027]图4是本发明在具体应用时实现软件加载时的控制流程图。
[0028]图例说明:
[0029]1、远端主机;2、0狀1 ;3、数据处理中心模块;4、;401、数据传输模块;402、数据转换模块;403、数据处理模块;5、非易失性存储器;6、目标??以。

【具体实施方式】
[0030]以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
[0031]如图1、图2和图4所示,本发明一种??以远程加载大容量配置位流文件的方法,是在可重构硬件系统遭遇功能性故障或者是系统升级的需求时,远端主机1负责将配置信息文件传送到主控板上的内存中,其具体步骤为:
[0032]51:远端主机1预处理配置位流文件,以页数据为单位对配置位流文件进行处理。即,远端主机1对配置位流文件进行预处理,下发完全符合非易失性存储器5 存储格式的配置信息。
[0033]上述配置位流文件在具体应用时可以使用第三方软件生成。在上述配置位流文件中,包含配置信息文件、以及配置信息之外的行号以及校验等冗余信息。上述配置信息文件中包含有初始化控制信息、配置信息、读操作控制信息以及校验比对控制信息。
[0034]32:启动动态重配置;⑶I读取内存中的配置信息,经过下行通路的处理,控制??以4将初始化控制信息下发实现非易失性器件50801)的初始化设置。??以4包括数据传输模块401、数据转换模块402、数据处理模块403 ;同时,以页数据为单位将配置信息写入非易失性器件5 $801)中并且回读写入非易失性器件5 $801)中的页数据执行校验比对操作。通过校验比对操作检测写入非易失性器件5 0801)中页单位元数据的正确性。当写入~页时,配置信息已完全写入?如15中,从而完成配置信息的传送。
[0035]在具体操作时,是由远端主机1运行服务端,主控板运行油0於引导程序,在油00丨命令行中键入重配置的命令执行动态重配置。通过网络协议将远端主机1的配置信息文件数据存入主控板的内存。同时,以页为单位从对应内存地址中读取数据进行配置写入与回读操作,直到完全处理一个文件。重复对前一个配置信息文件的操作,将下一个配置信息文件通过网络存入主控板上的内存,可以覆盖前一个文件写入内存的数据,以解决主控板上内存大小的限制。
[0036]在上述过程中,如果页单位元中写入的配置信息与回读的配置信息一致,说明配置信息在通信链路上可靠传输,并且控制??以4将配置信息按照正确的时序要求写入非易失性器件5 08011开始启动对下一页单位元的操作。如果校验结果显示,写入非易失性器件5 $801)单位元中的配置信息与回读的配置信息不一致,说明配置信息在写入?801的过程中出现错误。重新执行对该页单位元的操作,重复执行3次后,发现配置该页单位元仍然错误,说明非易失性器件5 0801)器件损坏或者是通信链路特别恶劣,不适宜传输配置信息数据。
[0037]在具体实例中,步骤32的具体流程为:
[0038]8201:当启动动态重配置时,口读取内存中的配置信息文件下发到数据处理中心模块3进行处理,使得配置信息文件以串行数据格式传送到控制??以4中。此处,采用串行通信链路,是由于其具有简单可靠的优点。
[0039]8202:控制??以4接到的配置信息文件经过数据处理模块403和数据转换模块402,以接口时序要求将配置信息写入非易失性器件5 0801)中存储。
[0040]在此过程中,配置信息在非易失性器件5 0801)中是掉电不丢失的,对目标??以6进行系统功能升级时,需要擦除非易失性器件5中的原始配置信息。
[0041]在此过程中,由于配置信息在非易失性器件5 0801)中是以页为单位元进行存储的。所以,控制??执行读、写操作。远端主机1预处理配置位流文件时,也是以页数据为单位执行的。
[0042]8203:待更新的配置信息文件存储在非易失性器件5 $801)中,上电或目标??以6检测到重配置指令后,读取?如15中的配置信息,完成动态重配置。
[0043]在具体应用过程中,待更新的目标??以6的配置位流文件可能超出了主控板上原始内存的存储容量,这就需要对大容量的配置信息文件进行拆分。同时,大容量的配置信息文件由远端主机1传送到主控板上的内存时,由于通信链路上的不稳定因素可能还会造成下发配置信息的错误,恶劣环境的影响尤其明显。一旦遭遇不稳定因素的影响造成配置信息文件发生错误,检测该错误并纠正该错误所花费的时间就会很长。因此,分多次传送拆分的小容量配置信息文件,能够减少出现该错误的恢复时间,提高目标??以6动态重配置的效率。
[0044]如图3所示,为在具体应用实例中,远端主机1对配置信息文件进行拆分的处理流程。
[0045]8101:远端主机1预处理目标??以6的配置位流文件,去除配置位流文件中的行号以及校验等冗余信息,生成待传送的配置信息文件。为了提高通信链路传输配置信息文件的有效性以及摆脱主控板上内存大小的限制,可以进一步将大容量配置信息文件拆分成多个小容量的配置信息文件分别传送。进一步,还可以将拆分的小容量配置信息文件按照顺序进行编号。
[0046]在上述过程中,应当综合考虑主控板上内存的大小和通信链路的恶劣程度,确定拆分的配置信息文件的大小。在满足主控板上内存的要求条件下,恶劣程度严重的通信链路上传送较小的配置信息文件;反之,在恶劣程度较轻的通信链路上传送较大恶配置信息文件。
[0047]8102:将拆分后的配置信息文件分别写入非易失性器件5 $801)的内部存储模块内,对非易失性器件5 $801)中配置信息的更新是分块进行的。这样,减少了通信链路上遭遇错误后的检错,纠错的时间。可重构硬件系统适应恶劣环境的能力进一步提升。
[0048]配置信息在非易失性器件5 $801)中是以页数据为单位(256610进行存储的。在非易失性器件50801)中每页配置数据划分的地址空间为0x000020。在本具体应用实例中,是将大小为32她的配置位流文件写入非易失性器件5(9801)中。321的大容量配置位流文件分32次进行传送,每次传送1她的小容量配置信息文件;具体的拆分处理流程如图3所示。
[0049] 以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
【权利要求】
1.一种FPGA远程加载大容量配置位流文件的方法,其特征在于,步骤为: 51:远端主机预处理配置位流文件,以页数据为单位对配置位流文件进行处理; 52:启动动态重配置;CPU读取内存中的配置信息,控制FPGA将初始化控制信息下发实现非易失性器件的初始化设置。同时,以页数据为单位将配置信息写入非易失性器件中并且回读写入非易失性器件中的页数据执行校验比对操作;通过校验比对操作,检测写入非易失性器件中页单位元数据的正确性;当配置信息完全写入非易失性器件中后,完成配置信息的传送。
2.根据权利要求1所述的FPGA远程加载大容量配置位流文件的方法,其特征在于,所述配置位流文件中包含配置信息文件、以及配置信息之外的行号和校验冗余信息;所述配置信息文件中包含有初始化控制信息、配置信息、读操作控制信息以及校验比对控制信息。
3.根据权利要求2所述的FPGA远程加载大容量配置位流文件的方法,其特征在于,所述远端主机对配置信息文件进行预处理时包括对配置位流文件的拆分处理;具体步骤为: S101:远端主机预处理目标FPGA的配置位流文件,去除配置位流文件中的行号以及校验冗余信息,生成待传送的配置信息文件;将大容量配置信息文件拆分成多个小容量的配置信息文件用来进行分别传送; S102:将拆分后的配置信息文件分别写入非易失性器件的内部存储模块内,对非易失性器件中配置信息的更新是分块进行的。
4.根据权利要求3所述的FPGA远程加载大容量配置位流文件的方法,其特征在于,所述配置位流文件使用第三方软件生成。
5.根据权利要求1?4中任意一项所述的FPGA远程加载大容量配置位流文件的方法,其特征在于,所述步骤S2中,如果页单位元中写入的配置信息与回读的配置信息一致,控制FPGA将配置信息按照正确的时序要求写入非易失性器件,开始启动对下一页单位元的操作;如果校验结果显示,写入非易失性器件单位元中的配置信息与回读的配置信息不一致,说明配置信息在写入PROM的过程中出现错误;重新执行对该页单位元的操作,重复执行一定次数后,发现配置该页单位元仍然错误,说明非易失性器件器件损坏或者是通信链路特别恶劣。
6.根据权利要求1?4中任意一项所述的FPGA远程加载大容量配置位流文件的方法,其特征在于,所述步骤S2的具体流程为: 5201:当启动动态重配置时,CPU读取内存中的配置信息文件下发到数据处理中心模块进行处理,使得配置信息文件以串行数据格式传送到控制FPGA中; 5202:控制FPGA接到的配置信息文件经过数据处理模块和数据转换模块,以接口时序要求将配置信息写入非易失性器件中存储; 5203:待更新的配置信息文件存储在非易失性器件中,上电或目标FPGA检测到重配置指令后,读取非易失性器件中的配置信息,完成动态重配置。
【文档编号】G06F9/445GK104503813SQ201510025258
【公开日】2015年4月8日 申请日期:2015年1月19日 优先权日:2015年1月19日
【发明者】毛席龙, 王宝生, 赵宝康, 陈一骄, 吴纯青, 虞万荣, 冯振乾 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1