CN106445565A - 现场可编程门阵列的升级方法及装置 - Google Patents

现场可编程门阵列的升级方法及装置 Download PDF

Info

Publication number
CN106445565A
CN106445565A CN201510430281.9A CN201510430281A CN106445565A CN 106445565 A CN106445565 A CN 106445565A CN 201510430281 A CN201510430281 A CN 201510430281A CN 106445565 A CN106445565 A CN 106445565A
Authority
CN
China
Prior art keywords
gate array
programmable gate
field programmable
file
disc
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
CN201510430281.9A
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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201510430281.9A priority Critical patent/CN106445565A/zh
Publication of CN106445565A publication Critical patent/CN106445565A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种现场可编程门阵列的升级方法及装置,其中,该方法包括:多片现场可编程门阵列分别从同一存储器中读取对应的升级文件,其中,存储器中预先存储有多片现场可编程门阵列对应的升级文件;以及多片现场可编程门阵列分别根据对应的升级文件进行升级。本发明解决了相关技术中在无外部控制单元配合的条件下多片现场可编程门阵列升级效率较低的技术问题。

Description

现场可编程门阵列的升级方法及装置
技术领域
本发明涉及电子领域,具体而言,涉及一种现场可编程门阵列的升级方法及装置。
背景技术
随着系统的应用复杂程度的增加,在一个系统中引入多片现场可编程门阵列(Field Programmable Gate Array,简称为FPGA)成为必然趋势,多片FPGA分别承担不同的任务,以安防行业为例,随着安防行业的日益兴起,安防应用场景也由点及面,从单一到集成,从而对安防设备的功能集成度和复杂度要求越来越高,因此很多设备上集成了几片甚至数十片FPGA。基于FPGA设计的产品最大的问题是系统的维护和升级,在FPGA系统升级时都必须重新连接下载电缆或使用编程器对存储器件进行烧写,这些硬件上的操作,不方便软件人员及用户的使用。此外,对于集成了多片FPGA的设备,需要花费大量的时间才能将所有的FPGA升级完成,在仅需对该多片FPGA中的部分FPGA进行升级时,同样需要对设备上所有的FPGA都进行升级,这种升级方式会影响设备的正常功能或导致业务时间的中断。
目前最常用FPGA升级方法有两种:第一种FPGA升级方法是每片FPGA均对应一个闪存(俗称Flash),分别将各个FPGA的升级程序放置在其相应的Flash中进行管理,每次升级仅对相应的Flash进行操作即可,但这种FPGA升级方法会造成每次升级的时间都很长,而且当产线生产相应产品时,也会大大降低单位时间内的产量(因为生产时需要分别对每个Flash进行操作);第二种FPGA升级方法是通过FPGA之外的处理器(例如,CPU)对FPGA升级程序进行管理,具体为根据当前系统中需要升级的FPGA的文件数和文件大小预先对缓存FPGA升级程序的存储区进行空间分配,为保证每个文件空间足够用,分配时需要预留足够的空间,造成很大一部分空间的浪费,另外对存储器进行分区,增加了对各个存储区的管理难度。
考虑到产率和产品的维护,通常情况一般不会采用第一种FPGA升级方法,而第二种FPGA升级方法也存在以下缺陷:1、不适用于无外部控制单元配合的FPGA系统,例如,光端机产品,因为在光端机设备上一般除了FPGA之外,不再存在额外的CPU,因此在光端机产品上的FPGA更适合设置成主动加载方式,将存储FPGA配置文件的Flash直接与FPGA相连,Flash不适合挂接在主板的复杂可编程逻辑器件(ComplexProgrammable Logic Device,简称为CPLD)或CPU上;2、对于FPGA配置文件的升级,可靠性不高,如果升级有问题版本的FPGA程序或升级过程中出现异常,比如断电,容易造成FPGA在线升级失败,导致系统相关功能异常。
针对相关技术中在无外部控制单元配合的条件下多片现场可编程门阵列升级效率较低的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种现场可编程门阵列的升级方法及装置,以至少解决相关技术中在无外部控制单元配合的条件下多片现场可编程门阵列升级效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种现场可编程门阵列的升级方法,包括:多片现场可编程门阵列分别从同一存储器中读取对应的升级文件,其中,存储器中预先存储有多片现场可编程门阵列对应的升级文件;以及多片现场可编程门阵列分别根据对应的升级文件进行升级。
进一步地,在多片现场可编程门阵列分别根据对应的升级文件进行升级之后,该方法还包括:分别判断多片现场可编程门阵列升级是否异常;以及在判断出多片现场可编程门阵列中存在升级异常的现场可编程门阵列时,通过现场可编程门阵列对应的备份文件启动升级异常的现场可编程门阵列。
进一步地,在多片现场可编程门阵列分别从同一存储器中读取对应的升级文件之前,该方法还包括:将多片现场可编程门阵列对应的升级文件进行合并,得到升级文件包,其中,多片现场可编程门阵列根据升级文件包进行升级,和/或将多片现场可编程门阵列对应的备份文件进行合并,得到备份文件包,其中,通过备份文件包启动升级异常的现场可编程门阵列。
进一步地,分别判断多片现场可编程门阵列升级是否异常包括:分别检测多片现场可编程门阵列的升级状态;分别判断多片现场可编程门阵列的升级状态是否为第一值或第二值;将多片现场可编程门阵列中升级状态为第一值的现场可编程门阵列确定为升级异常的现场可编程门阵列;以及将多片现场可编程门阵列中升级状态为第二值的现场可编程门阵列确定为升级正常的现场可编程门阵列。
进一步地,多片现场可编程门阵列对应的升级文件和备份文件存储于同一存储器中,其中,多片现场可编程门阵列对应的升级文件存储于存储器的第一存储区,多片现场可编程门阵列对应的备份文件存储于存储器的第二存储区。
进一步地,备份文件包括预设配置文件或现场可编程门阵列前一次成功升级的升级文件。
根据本发明实施例的另一方面,还提供了一种现场可编程门阵列的升级装置,包括:读取单元,用于使多片现场可编程门阵列分别从同一存储器中读取对应的升级文件,其中,存储器中预先存储有多片现场可编程门阵列对应的升级文件;以及升级单元,用于使多片现场可编程门阵列分别根据对应的升级文件进行升级。
进一步地,该装置还包括:判断单元,用于分别判断多片现场可编程门阵列升级是否异常;以及启动单元,用于在判断出多片现场可编程门阵列中存在升级异常的现场可编程门阵列时,通过现场可编程门阵列对应的备份文件启动升级异常的现场可编程门阵列。
进一步地,在多片现场可编程门阵列分别从同一存储器中读取对应的升级文件之前,该装置还包括:合并单元,用于将多片现场可编程门阵列对应的升级文件进行合并,得到升级文件包,其中,多片现场可编程门阵列根据升级文件包进行升级,和/或将多片现场可编程门阵列对应的备份文件进行合并,得到备份文件包,其中,通过备份文件包启动升级异常的现场可编程门阵列。
进一步地,判断单元包括:检测单元,用于分别检测多片现场可编程门阵列的升级状态;判断单元,用于分别判断多片现场可编程门阵列的升级状态是否为第一值或第二值;以及确定模块,用于将多片现场可编程门阵列中升级状态为第一值的现场可编程门阵列确定为升级异常的现场可编程门阵列,将多片现场可编程门阵列中升级状态为第二值的现场可编程门阵列确定为升级正常的现场可编程门阵列。
在本发明实施例中,采用多片现场可编程门阵列分别从同一存储器中读取对应的升级文件,其中,存储器中预先存储有多片现场可编程门阵列对应的升级文件;以及多片现场可编程门阵列分别根据对应的升级文件进行升级,通过将多片现场可编程门阵列对应的升级文件均存储于同一存储器中,并通过多片现场可编程门阵列分别从存储器中加载对应的升级文件并进行升级,实现了在没有外部控制单元配合下多片现场可编程门阵列快速升级,进而解决了相关技术中在无外部控制单元配合的条件下多片现场可编程门阵列升级效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本实施例的现场可编程门阵列的升级方法的流程图;
图2是根据本实施例的多片现场可编程门阵列的升级文件存储示意图;
图3是根据本实施例的多片现场可编程门阵列与同一存储器连接示意图;
图4是根据本实施例的多片现场可编程门阵列的配置文件合并示意图;
图5是根据本实施例的现场可编程门阵列的多启动机制实现升级的示意图;
图6是根据本实施例的位流在外部存储器中位置分布示意图;以及
图7是根据本实施例的现场可编程门阵列的升级装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本实施例,提供了一种现场可编程门阵列的升级方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本实施例的现场可编程门阵列的升级方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,多片现场可编程门阵列分别从同一存储器中读取对应的升级文件,其中,存储器中预先存储有多片现场可编程门阵列对应的升级文件。
现场可编程门阵列(Field Programmable Gate Array,简称为FPGA)是在可编程阵列逻辑(Programmable Array Logic,简称为PAL)、通用阵列逻辑(Generic ArrayLogic,简称为GAL)、复杂可编程逻辑器件(Complex Programmable Logic Device,简称为CPLD)等可编程器件的基础上发展而来。FPGA作为专用集成电路(ApplicationSpecific Integrated Circuit,简称为ASIC)领域中的一种半定制电路,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
本实施例的现场可编程门阵列对应的升级文件是指当前现场可编程门阵列最新的配置文件,FPGA对应的升级文件可以是FPGA的升级程序,FPGA通过加载其升级程序即可以进行升级。具体地,为了提高FPGA升级的效率,可以预先将多片FPGA的升级文件存储于存储器中,例如,可以预先将多片FPGA的升级文件存储于外部闪存(俗称Flash)中,多片FPGA升级时可以直接从外部Flash中读取对应的升级文件进行升级。
本实施例预先将多片现场可编程门阵列的升级文件存储于同一存储器的不同存储区。图2是根据本实施例的多片现场可编程门阵列的升级文件存储示意图,如图2所示,FPGA0~FPGAn的升级程序(即升级文件)存储于同一外部Flash中。
图3是根据本实施例的多片现场可编程门阵列与同一存储器连接示意图,如图3所示,多片现场可编程门阵列(例如,FPGA0,FPGA1)通过菊花链方式连接至同一外部串行接口闪存(即SPI Serial Flash,其中,SPI为Serial Peripheral Interface的简称),其中,菊花链方式是一种简化的级联方式,主要优点在于提供集中管理的扩展接口,FPGA0采用SPI(Serial Peripheral Interface)配置模式,FPGA1采用从串(Slave Serial)配置模式。需要说明的是,图3所示的多片现场可编程门阵列与同一存储器连接方式仅是本发明的一种可选实施例。
步骤S104,多片现场可编程门阵列分别根据对应的升级文件进行升级。
本实施例中,多片现场可编程门阵列可以通过直接加载对应的升级文件进行升级。具体地,如图3所示,以多片现场可编程门阵列包括FPGA0和FPGA1为例对本实施例进行说明。
在对多片现场可编程门阵列进行更新时,本实施例通过FPGA0从外部串行接口闪存中读取全部FPGA的升级文件,FPGA0获取其对应的升级文件并将其他FPGA的升级文件全部发送给FPGA1,FPGA0也可以是查找其对应的升级文件后将全部FPGA的升级文件发送给FPGA1,FPGA1获取其对应的升级文件后再将全部FPGA的升级文件发送给后续的FPGA,依次类推,直至全部的FPGA都获取到其对应的升级文件并进行升级。
本发明实施例在进行多片现场可编程门阵列升级时,由于是通过多片现场可编程门阵列自身从存储器中加载对应的升级文件进行升级,无需外部的控制单元,此外,本实施例多片现场可编程门阵列升级可以并行进行(例如,多片FPGA全部更新配置文件后再全部启动),相比于现有技术中多片现场可编程门阵列对应于多片Flash的串行升级方式(即多片FPGA依次更新配置文件并启动,例如,FPGA1更新配置文件并启动后,FPGA2再更新配置文件并启动,依次类推),显著提高了升级效率,并节省存储空间。
本发明实施例通过多片现场可编程门阵列分别从同一存储器中读取对应的升级文件,其中,存储器中预先存储有多片现场可编程门阵列对应的升级文件;以及多片现场可编程门阵列分别根据对应的升级文件进行升级。通过将多片现场可编程门阵列的升级文件均存储于同一存储器中,并通过多片现场可编程门阵列分别从存储器中加载对应的升级文件并进行升级,实现了在没有外部控制单元配合下多片现场可编程门阵列快速升级,进而解决了相关技术中在无外部控制单元配合的条件下多片现场可编程门阵列升级效率较低的技术问题。
优选地,为了提高多片现场可编程门阵列升级的可靠性,在多片现场可编程门阵列分别根据对应的升级文件进行升级之后,该方法还包括:分别判断多片现场可编程门阵列升级是否异常;以及在判断出多片现场可编程门阵列中存在升级异常的现场可编程门阵列时,通过现场可编程门阵列对应的备份文件启动升级异常的现场可编程门阵列。
具体地,现场可编程门阵列加载升级文件进行升级时,升级文件有问题或是升级过程出现异常(例如,断电)等原因容易造成现场可编程门阵列升级失败(即升级异常)。本实施例在多片现场可编程门阵列分别根据对应的升级文件进行升级后,分别判断多片现场可编程门阵列升级是否异常。
优选地,分别判断多片现场可编程门阵列升级是否异常包括:分别检测多片现场可编程门阵列的升级状态;分别判断多片现场可编程门阵列的升级状态是否为第一值或第二值;将多片现场可编程门阵列中升级状态为第一值的现场可编程门阵列确定为升级异常的现场可编程门阵列;以及将多片现场可编程门阵列中升级状态为第二值的现场可编程门阵列确定为升级正常的现场可编程门阵列。
本实施例在多片现场可编程门阵列分别根据对应的升级文件进行升级后,对现场可编程门阵列升级状态进行检测,其中,升级状态包括第一值和第二值,例如,第一值为0,第二值为1,如果升级状态为第一值,则表示现场可编程门阵列升级异常(即升级失败),如果升级状态为第二值,则表示现场可编程门阵列升级正常(即升级失败)。
需要说明的是,通常,每片现场可编程门阵列可以加载三次升级文件,如果三次都升级失败,则通过备份文件重新启动该现场可编程门阵列。
如果检测出多片现场可编程门阵列中存在升级异常的现场可编程门阵列,为保证现场可编程门阵列的正常运行,以及对下一次升级操作的正确响应,本实施例通过现场可编程门阵列对应的备份文件重新启动升级异常的现场可编程门阵列,其中,备份文件包括预设配置文件或现场可编程门阵列前一次成功升级的升级文件。具体地,备份文件可以是预设配置文件,在现场可编程门阵列升级异常时,通过加载该预设配置文件即可实现该现场可编程门阵列的启动。
优选地,可以在出厂时将预设配置文件烧录在存储器中(例如,外部的Flash),从而可以保证现场可编程门阵列正常工作和升级;备份文件也可以是现场可编程门阵列前一次成功升级的升级文件,在每次现场可编程门阵列成功升级后,通过当前的升级文件更新备份文件;也可以同时将预设配置文件和现场可编程门阵列前一次成功升级的升级文件存储于存储器的不同存储区,在现场可编程门阵列升级失败后,先通过现场可编程门阵列前一次成功升级的升级文件重新启动现场可编程门阵列,如果现场可编程门阵列前一次升级的升级文件重新启动现场可编程门阵列失败,再通过预设配置文件重新启动现场可编程门阵列。
优选地,可以预先将备份文件存储于存储器(例如,闪存)中,现场可编程门阵列可以从存储器中直接加载备份文件既可以重新启动。需要说明的是,备份文件和升级文件可以存储在同一存储器中,也可以存储在不同存储器中。
优选地,为了节省存储空间和便于存储器的管理,本实施例将多片现场可编程门阵列对应的升级文件和备份文件存储于同一存储器中,其中,多片现场可编程门阵列对应的升级文件存储于存储器的第一存储区,多片现场可编程门阵列对应的备份文件存储于存储器的第二存储区,具体地,可以预先根据多片现场可编程门阵列的升级文件和备份文件的数量和大小进行存储区的空间分配。
如图2所示,FPGA0~FPGAn的升级程序(即升级文件)和备份程序(即备份文件)均存储于同一外部Flash中,其中,FPGA0~FPGAn的升级程序依次存储于Flash的上半区,FPGA0~FPGAn的备份程序依次存储于Flash的下半区。
优选地,为了方便用户对多片现场可编程门阵列同时进行升级,在多片现场可编程门阵列分别从同一存储器中读取对应的升级文件之前,该方法还包括:将多片现场可编程门阵列对应的升级文件进行合并,得到升级文件包,其中,多片现场可编程门阵列根据升级文件包进行升级,和/或将多片现场可编程门阵列对应的备份文件进行合并,得到备份文件包,其中,通过备份文件包启动升级异常的现场可编程门阵列。
具体地,可以直接通过FPGA开发工具将多片FPGA的升级文件和/或FPGA的备份文件进行合并,例如,通过莱迪思钻石开发工具(Lattice Diamond Development Tool)将多片FPGA的升级文件合并成一个升级文件包,将多片FPGA的备份文件合并成一个备份文件包,图4是根据本实施例的多片现场可编程门阵列的配置文件合并示意图,如图4所示,将FPGA0~FPGAn的升级程序合并成一个升级程序,将FPGA0~FPGAn的备份程序合并成一个备份程序。在对多片FPGA进行升级时,只需加载该合并得到的升级程序即可实现对多片FPGA的升级。
从以上的描述中,可以看出,本发明实现了如下技术效果:
本实施例通过将多片现场可编程门阵列的升级程序存储于同一存储器中,通过多片现场可编程门阵列从存储器中读取对应的升级文件进行升级,并对各片现场可编程门阵列的升级状态进行检测,以及通过备份文件对升级失败的现场可编程门阵列进行重新启动,相比于现有技术中需要在前一个FPGA升级成功后再启动后续的FPGA进行升级的方式,显著提高了对多片现场可编程门阵列进行升级的效率,相对于将多片现场可编程门阵列的配置文件存放在CPLD或CPU上,减少了额外的配置控制,节省了成本。本实施由于增加了升级备份功能,使得在FPGA升级过程中出现升级文件错误、升级过程中断电等异常情况时,可以通过备份文件重新启动升级失败的FPGA,保证了系统的功能正常,显著提高了FPGA升级过程的可靠性。
此外,本实施例的现场可编程门阵列升级方法不依赖外部的控制,无论是将多片现场可编程门阵列的配置文件进行合并,还是升级异常时从备份区域进行启动的机制,都可以利用现场可编程门阵列自身开发工具进行实现,因此本实施例的现场可编程门阵列升级方法更具有通用性,可扩展性好。
可选地,本实施例可以通过现场可编程门阵列的多启动(multiboot)机制实现现场可编程门阵列的升级和备份。图5是根据本实施例的现场可编程门阵列的多启动机制实现升级的示意图。现场可编程门阵列通常都支持multiboot的加载启动方式,multiboot的加载启动方式是指在外部的程序存储器中存放2个或者更多个的位流(Bit Stream),按引导头(Header)描述,引导现场可编程门阵列启动IPROG重新配置(IPROG reconfiguration),加载对应的位流,并在加载失败时,能自动回到安全(golden)的位流加载(即备份文件的加载)。
如图5所示,根据本实施例的现场可编程门阵列的多启动机制实现升级包括如下步骤:步骤a,根据引导头,跳到多启动位流(即升级程序)进行加载,尝试加载3次;步骤b,若升级程序3次加载均失败,跳回备份文件加载,同样尝试加载3次;步骤c,若备份文件3次也均加载失败,回到引导头重复步骤a至步骤c,如重复步骤a至步骤c三次后还是加载失败,则上报加载失败。需要说明的是,每个文件的尝试加载次数可以根据实际情况进行设置,本实施例是以每个文件的尝试加载次数为3为例进行说明的。
以下以2个位流为例对本实施例的multiboot的加载启动方式进行说明。
在外部的flash中存放2个位流,分别是备份文件(即golden流),出厂时烧录,保证现场可编程门阵列总能正常工作和升级;另一个是升级文件(multiboot流),是升级文件,正常情况下,现场可编程门阵列都运行此程序,每次升级也是更新此程序,当此程序加载失败时,自动跳回备份文件运行。
图6是根据本实施例的位流在外部存储器中位置分布示意图,如图6所示,步骤1,根据引导头,跳到多启动位流(即升级程序)进行加载,尝试加载三次;步骤2,若升级程序3次加载均失败,跳回备份文件加载,同样尝试加载三次;步骤3,若备份文件加载3次也均加载失败,回到引导头重复步骤1至步骤3,如若重复步骤1至步骤3三次后还是加载失败,则上报加载失败。
需要说明的是,每次FPGA升级时,只需要更新multiboot流。多启动流(即Multiboot流)可以是常规的位文件生产的bin文件,Multiboot流可以放在存储器的任意位置。引导头和备份文件流可以通过ISE软件(即FPGA开发软件)中的generateprogramming file中一并生成到一个位(bit)或bin文件中,无需手动添加引导头。ID型号错误(IDCODE error)、循环引用校验码错误(CRC error)或者加载超时(watchdog time_out)等都会导致程序加载失败回跳。真正产品的流程是将引导头和备份文件合并后的bin文件,供工厂预先烧录,升级时再提供升级的bin文件,将升级文件写入multiboot流的对应位置。
根据本发明又一实施例,还提供了一种现场可编程门阵列的升级装置实施例。图7是根据本实施例的现场可编程门阵列的升级装置的示意图,如图7所示,该装置包括:读取单元70和升级单元72。
读取单元70,用于使多片现场可编程门阵列分别从同一存储器中读取对应的升级文件,其中,存储器中预先存储有多片现场可编程门阵列对应的升级文件。
本实施例的现场可编程门阵列对应的升级文件是指当前现场可编程门阵列最新的配置文件,FPGA对应的升级文件可以是FPGA的升级程序,FPGA通过加载其升级程序即可以进行升级。具体地,为了提高FPGA升级的效率,可以预先将多片FPGA的升级文件存储于存储器中,例如,可以预先将多片FPGA的升级文件存储于外部闪存(俗称Flash)中,多片FPGA升级时可以直接从外部Flash中读取对应的升级文件进行升级。
升级单元72,用于使多片现场可编程门阵列分别根据对应的升级文件进行升级。
本实施例中,多片现场可编程门阵列可以通过直接加载对应的升级文件进行升级。
本发明实施例在进行多片现场可编程门阵列升级时,由于是通过多片现场可编程门阵列自身从存储器中加载对应的升级文件进行升级,无需外部的控制单元,此外,本实施例多片现场可编程门阵列升级可以并行进行(例如,多片FPGA全部更新配置文件后再全部启动),相比于现有技术中多片现场可编程门阵列对应于多片Flash的串行升级方式(即多片FPGA依次更新配置文件并启动,例如,FPGA1更新配置文件并启动后,FPGA2再更新配置文件并启动,依次类推),显著提高了升级效率,并节省存储空间。
本发明实施例通过读取单元70使得多片现场可编程门阵列分别从同一存储器中读取对应的升级文件,其中,存储器中预先存储有多片现场可编程门阵列对应的升级文件;以及升级单元72使得多片现场可编程门阵列分别根据对应的升级文件进行升级。通过将多片现场可编程门阵列的升级文件均存储于同一存储器中,并通过多片现场可编程门阵列分别从存储器中加载对应的升级文件并进行升级,实现了在没有外部控制单元配合下多片现场可编程门阵列快速升级,进而解决了相关技术中在无外部控制单元配合的条件下多片现场可编程门阵列升级效率较低的技术问题。
优选地,为了提高多片现场可编程门阵列升级的可靠性,该装置还包括:判断单元,用于分别判断多片现场可编程门阵列升级是否异常;以及启动单元,用于在判断出多片现场可编程门阵列中存在升级异常的现场可编程门阵列时,通过现场可编程门阵列对应的备份文件启动升级异常的现场可编程门阵列。
具体地,现场可编程门阵列加载升级文件进行升级时,升级文件有问题或是升级过程出现异常(例如,断电)等原因容易造成现场可编程门阵列升级失败(即升级异常)。本实施例在多片现场可编程门阵列分别根据对应的升级文件进行升级后,分别判断多片现场可编程门阵列升级是否异常。
优选地,判断单元包括:检测单元,用于分别检测多片现场可编程门阵列的升级状态;判断单元,用于分别判断多片现场可编程门阵列的升级状态是否为第一值或第二值;以及确定模块,用于将多片现场可编程门阵列中升级状态为第一值的现场可编程门阵列确定为升级异常的现场可编程门阵列,将多片现场可编程门阵列中升级状态为第二值的现场可编程门阵列确定为升级正常的现场可编程门阵列。
本实施例在多片现场可编程门阵列分别根据对应的升级文件进行升级后,对现场可编程门阵列升级状态进行检测,其中,升级状态包括第一值和第二值,例如,第一值为0,第二值为1,如果升级状态为第一值,则表示现场可编程门阵列升级异常(即升级失败),如果升级状态为第二值,则表示现场可编程门阵列升级正常(即升级失败)。
优选地,在多片现场可编程门阵列分别从同一存储器中读取对应的升级文件之前,该装置还包括:合并单元,用于将多片现场可编程门阵列对应的升级文件进行合并,得到升级文件包,其中,多片现场可编程门阵列根据升级文件包进行升级,和/或将多片现场可编程门阵列对应的备份文件进行合并,得到备份文件包,其中,通过备份文件包启动升级异常的现场可编程门阵列。
具体地,可以直接通过FPGA开发工具将多片FPGA的升级文件和/或FPGA的备份文件进行合并,例如,通过莱迪思钻石开发工具(Lattice Diamond Development Tool)将多片FPGA的升级文件合并成一个升级文件包,将多片FPGA的备份文件合并成一个备份文件包。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种现场可编程门阵列的升级方法,其特征在于,所述方法包括:
多片现场可编程门阵列分别从同一存储器中读取对应的升级文件,其中,所述存储器中预先存储有所述多片现场可编程门阵列对应的升级文件;以及
所述多片现场可编程门阵列分别根据对应的升级文件进行升级。
2.根据权利要求1所述的方法,其特征在于,在所述多片现场可编程门阵列分别根据对应的升级文件进行升级之后,所述方法还包括:
分别判断所述多片现场可编程门阵列升级是否异常;以及
在判断出所述多片现场可编程门阵列中存在升级异常的现场可编程门阵列时,通过所述现场可编程门阵列对应的备份文件启动升级异常的现场可编程门阵列。
3.根据权利要求2所述的方法,其特征在于,在多片现场可编程门阵列分别从同一存储器中读取对应的升级文件之前,所述方法还包括:
将所述多片现场可编程门阵列对应的升级文件进行合并,得到升级文件包,其中,所述多片现场可编程门阵列根据所述升级文件包进行升级,和/或
将所述多片现场可编程门阵列对应的备份文件进行合并,得到备份文件包,其中,通过所述备份文件包启动升级异常的现场可编程门阵列。
4.根据权利要求2所述的方法,其特征在于,分别判断所述多片现场可编程门阵列升级是否异常包括:
分别检测所述多片现场可编程门阵列的升级状态;
分别判断所述多片现场可编程门阵列的升级状态是否为第一值或第二值;
将所述多片现场可编程门阵列中升级状态为所述第一值的现场可编程门阵列确定为升级异常的现场可编程门阵列;以及
将所述多片现场可编程门阵列中升级状态为所述第二值的现场可编程门阵列确定为升级正常的现场可编程门阵列。
5.根据权利要求2所述的方法,其特征在于,所述多片现场可编程门阵列对应的升级文件和备份文件存储于同一存储器中,其中,所述多片现场可编程门阵列对应的升级文件存储于所述存储器的第一存储区,所述多片现场可编程门阵列对应的备份文件存储于所述存储器的第二存储区。
6.根据权利要求2所述的方法,其特征在于,所述备份文件包括预设配置文件或所述现场可编程门阵列前一次成功升级的升级文件。
7.一种现场可编程门阵列的升级装置,其特征在于,所述装置包括:
读取单元,用于使多片现场可编程门阵列分别从同一存储器中读取对应的升级文件,其中,所述存储器中预先存储有所述多片现场可编程门阵列对应的升级文件;以及
升级单元,用于使所述多片现场可编程门阵列分别根据对应的升级文件进行升级。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
判断单元,用于分别判断所述多片现场可编程门阵列升级是否异常;以及
启动单元,用于在判断出所述多片现场可编程门阵列中存在升级异常的现场可编程门阵列时,通过所述现场可编程门阵列对应的备份文件启动升级异常的现场可编程门阵列。
9.根据权利要求8所述的装置,其特征在于,在多片现场可编程门阵列分别从同一存储器中读取对应的升级文件之前,所述装置还包括:
合并单元,用于将所述多片现场可编程门阵列对应的升级文件进行合并,得到升级文件包,其中,所述多片现场可编程门阵列根据所述升级文件包进行升级,和/或
将所述多片现场可编程门阵列对应的备份文件进行合并,得到备份文件包,其中,通过所述备份文件包启动升级异常的现场可编程门阵列。
10.根据权利要求8所述的装置,其特征在于,所述判断单元包括:
检测单元,用于分别检测所述多片现场可编程门阵列的升级状态;
判断单元,用于分别判断所述多片现场可编程门阵列的升级状态是否为第一值或第二值;以及
确定模块,用于将所述多片现场可编程门阵列中升级状态为所述第一值的现场可编程门阵列确定为升级异常的现场可编程门阵列,将所述多片现场可编程门阵列中升级状态为所述第二值的现场可编程门阵列确定为升级正常的现场可编程门阵列。
CN201510430281.9A 2015-07-21 2015-07-21 现场可编程门阵列的升级方法及装置 Pending CN106445565A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510430281.9A CN106445565A (zh) 2015-07-21 2015-07-21 现场可编程门阵列的升级方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510430281.9A CN106445565A (zh) 2015-07-21 2015-07-21 现场可编程门阵列的升级方法及装置

Publications (1)

Publication Number Publication Date
CN106445565A true CN106445565A (zh) 2017-02-22

Family

ID=59216204

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510430281.9A Pending CN106445565A (zh) 2015-07-21 2015-07-21 现场可编程门阵列的升级方法及装置

Country Status (1)

Country Link
CN (1) CN106445565A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111611013A (zh) * 2020-04-30 2020-09-01 京微齐力(北京)科技有限公司 一种支持多镜像的fpga硬启动方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1908901A (zh) * 2005-04-29 2007-02-07 阿尔卡特公司 电子装置配置管理系统和方法
US20090079467A1 (en) * 2007-09-26 2009-03-26 Sandven Magne V Method and apparatus for upgrading fpga/cpld flash devices
CN101485576A (zh) * 2008-12-30 2009-07-22 深圳市蓝韵实业有限公司 一种对设备内fpga芯片统一配置和管理的系统
CN101697601A (zh) * 2009-10-26 2010-04-21 深圳市共进电子有限公司 一种可远程升级硬件逻辑的光网络单元及远程升级方法
CN102654839A (zh) * 2012-04-18 2012-09-05 华为技术有限公司 一种实现现场可编程门阵列可靠升级的方法及装置
CN104063257A (zh) * 2014-07-23 2014-09-24 武汉邮电科学研究院 一种fpga自动加载系统及方法
CN104199707A (zh) * 2014-09-12 2014-12-10 武汉精测电子技术股份有限公司 对fpga进行升级的系统和方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1908901A (zh) * 2005-04-29 2007-02-07 阿尔卡特公司 电子装置配置管理系统和方法
US20090079467A1 (en) * 2007-09-26 2009-03-26 Sandven Magne V Method and apparatus for upgrading fpga/cpld flash devices
CN101485576A (zh) * 2008-12-30 2009-07-22 深圳市蓝韵实业有限公司 一种对设备内fpga芯片统一配置和管理的系统
CN101697601A (zh) * 2009-10-26 2010-04-21 深圳市共进电子有限公司 一种可远程升级硬件逻辑的光网络单元及远程升级方法
CN102654839A (zh) * 2012-04-18 2012-09-05 华为技术有限公司 一种实现现场可编程门阵列可靠升级的方法及装置
CN104063257A (zh) * 2014-07-23 2014-09-24 武汉邮电科学研究院 一种fpga自动加载系统及方法
CN104199707A (zh) * 2014-09-12 2014-12-10 武汉精测电子技术股份有限公司 对fpga进行升级的系统和方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111611013A (zh) * 2020-04-30 2020-09-01 京微齐力(北京)科技有限公司 一种支持多镜像的fpga硬启动方法及装置
CN111611013B (zh) * 2020-04-30 2023-12-22 京微齐力(北京)科技有限公司 一种支持多镜像的fpga硬启动方法及装置

Similar Documents

Publication Publication Date Title
CN100395707C (zh) 升级程序的方法
CN104199666B (zh) 一种应用程序动态配置方法及装置
CN103136012B (zh) 计算机系统及其基本输入输出系统的更新方法
CN102622298B (zh) 一种软件测试系统及方法
US8640118B2 (en) Managing firmware on a system board
EP0845742A2 (en) Methods and systems for booting a computer in a distributed computing system
CN101853173A (zh) 一种分布式系统的可编程逻辑器件的软件升级方法和设备
CN109656597A (zh) 固件升级方法、装置及计算机可读存储介质
CN101589592A (zh) 多协议可移动存储设备
CN104951308B (zh) Docker Registry的管理优化方式及装置
CN103164238A (zh) 自动化连续安装操作系统的方法
CN100421083C (zh) 更新适配器代码映像的装置、系统和方法
CN110633091A (zh) 一种电子模块及其软件无线升级方法
CN101442688A (zh) 智能网平台的升级方法和系统、控制器和智能网平台设备
CN109783390A (zh) Psu固件升降级稳定性测试方法、装置、终端及存储介质
CN112199157A (zh) 一种云环境管理方法
CN107980119A (zh) 一种服务器管理方法和服务器
CN101989220A (zh) 压力测试方法
CN106980493A (zh) 固件管理方法和装置
CN103761131A (zh) 一种基于内存共享的多板卡部件自动更新方法及系统
CN106569863A (zh) 基于资源和代码模块化的安卓app资源更新和修复的方法
CN109582332A (zh) 互联网摄像机的系统升级方法及装置
CN109992280A (zh) 一种嵌入式软件升级的方法、终端装置及存储装置
CN114911492A (zh) 推理服务部署方法、装置、设备以及存储介质
CN106909382B (zh) 输出不同类型系统启动信息的方法及装置

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170222