首页> 中国专利> 一种基于WebServer的FPGA远程升级装置及方法

一种基于WebServer的FPGA远程升级装置及方法

摘要

本申请公开了一种基于WebServer的FPGA远程升级装置,位于FPGA板卡上,该装置一是解决了传统USB BLASTER升级方案加载时间长、需要外购USB BLASTER的缺点,使得升级过程不再受限于JTAG协议,提升了升级速度;二是克服了PCIe升级方案需要在每台插卡机器上安装驱动并升级软件的弊端,扩展了应用场景,适用于数据中心大规模部署中;三是该装置只需要连接到网络即可实现升级,既能满足时间的要求,又有利于实现多个FPGA板卡同时升级,显著提升升级效率。此外,本申请还提供了一种FPGA板卡及基于WebServer的FPGA远程升级方法,其技术效果与上述装置的技术效果相对应。

著录项

  • 公开/公告号CN112835603A

    专利类型发明专利

  • 公开/公告日2021-05-25

    原文格式PDF

  • 申请/专利权人 山东英信计算机技术有限公司;

    申请/专利号CN202110192543.8

  • 发明设计人 董培强;陈三霞;张晶威;

    申请日2021-02-20

  • 分类号G06F8/65(20180101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人张春辉

  • 地址 250001 山东省济南市高新区浪潮路1036号浪潮科技园S05号楼北三层北区

  • 入库时间 2023-06-19 11:05:16

说明书

技术领域

本申请涉及计算机技术领域,特别涉及一种基于WebServer的FPGA远程升级装置、FPGA板卡及基于WebServer的FPGA远程升级方法。

背景技术

随着人工智能、大数据、云计算等相关技术的飞速发展及摩尔定律的失效,以CPU为计算主体的系统在计算力方面无法满足日益增长的需求,FPGA(Field ProgrammableGate Array,现场可编程与门阵列)芯片以其高并行度、高流水线、低延迟、可定制性及可重构性的优势受到人们的青睐,因此,越来越多的以FPGA为核心处理单元的产品被广泛应用在人工智能、边缘计算等场合。

然而,随着数据中心业务的不断增长,对FPGA的功能需求也越来越多,而FPGA具有可重配置方面的优势,只需要更改配置bit流,不需要重新设计硬件,即可完成相关功能,这就涉及到FPGA板卡的远程更新,然而在大规模的数据中心,由于FPGA数量庞大,系统的升级是一件费时费力的工作。目前,存在以下两种FPGA更新方案:

方案1,传统USB BLASTER更新方法,如图1所示,采用外接USB Blaster进行FPGA在线更新方法,在PC机上安装QUARTUS II、ISE等programmer下载工具,通过外接USBBlaster,以JTAG的方式更新QSPI FLASH中的bit流,实现FPGA重配置。

方案2,采用PCIe接口实现FPGA在线更新,如图2所示,FPGA内部通过AVALON MM总线连接PCIe CORE、DMA、片内RAM、FLASH控制器,上位机通过PCIe Driver,利用DMA将配置文件烧写到FLASH,完成加载。

上述两种FPGA更新方案存在以下缺点:

方案1需要外配USB BLASTER,同时需要PC机安装相应的Programmer下载工具,另外,加载速度受到JTAG限制,特别是大容量的FLASH更新中,升级时间过长。

方案2虽然可以解决传统USB BLASTER方法耗时多的问题,但需要开发PCIe驱动及上位机软件,同样,该方案无法实现多FPGA同时更新的问题。

综上,当前的FPGA升级方案,要么需要购买USB BLASTER,且USB BLASTER加载时间受限于JTAG协议,要么需要在每台插卡机器上安装驱动并升级软件,无法应用于数据中心大规模部署中。

发明内容

本申请的目的是提供一种基于WebServer的FPGA远程升级装置、FPGA板卡及基于WebServer的FPGA远程升级方法,用以解决当前的FPGA升级方案存在升级效率低,无法应用于数据中心大规模部署中的问题。其具体方案如下:

第一方面,本申请提供了一种基于WebServer的FPGA远程升级装置,位于FPGA板卡上,包括:NIOS II处理器,MAC核心,RAM,DMA和FLASH控制器;

所述NIOS II处理器通过所述MAC核心和PHY芯片接入网络,所述NIOS II处理器上运行有基于LwIP库构建的WebServer,所述NIOS II处理器用于通过所述WebServer监听网络状态,并在监听到客户端发出的升级指令时将升级数据缓存至所述RAM;所述FLASH控制器用于通过所述DMA将所述RAM上的升级数据写入所述FPGA板卡的FLASH,以实现升级。

优选的,所述NIOS II处理器通过所述MAC核心和PHY芯片接入局域网,所述客户端以组播方式向局域网发出升级指令。

优选的,所述NIOS II处理器用于通过所述WebServer进行SOCKET监听,判断是否与本机通信,若是,则根据升级指令将升级数据缓存至所述RAM。

优选的,在判定是与本机通信时,所述NIOS II处理器用于判断当前指令是否为升级指令,若是,则根据升级指令将升级数据缓存至所述RAM。

优选的,在当前指令不为升级指令时,所述NIOS II处理器判定当前指令为管理指令,并执行所述管理指令。

优选的,所述管理指令包括状态获取指令,所述NIOS II处理器用于执行所述状态获取指令,采集板卡状态并发送至所述客户端。

优选的,所述板卡状态包括以下任意一项或多项:功耗、温度、版本号。

优选的,所述NIOS II处理器用于对所述RAM上的升级数据进行CRC校验,若校验通过,则控制所述FLASH控制器通过所述DMA将所述RAM上的升级数据写入所述FPGA板卡的FLASH。

第二方面,本申请提供了一种FPGA板卡,包括如上所述的基于WebServer的FPGA远程升级装置。

第三方面,本申请提供了一种FPGA远程升级方法,应用于位于FPGA板卡上的基于WebServer的FPGA远程升级装置,该装置通过MAC核心和PHY芯片接入网络,包括:

在NIOS II处理器上运行基于LwIP库构建的WebServer,利用所述WebServer监听网络状态;

在监听到客户端发出的升级指令时,将升级数据缓存至RAM;

控制FLASH控制器通过DMA将所述RAM上的升级数据写入所述FPGA板卡的FLASH,以实现升级。

本申请所提供的一种基于WebServer的FPGA远程升级装置,位于FPGA板卡上,包括:NIOS II处理器,MAC核心,RAM,DMA和FLASH控制器。其中,NIOS II处理器通过MAC核心和PHY芯片接入网络,NIOS II处理器上运行有基于LwIP库构建的WebServer,NIOS II处理器用于通过WebServer监听网络状态,并在监听到客户端发出的升级指令时将升级数据缓存至RAM;FLASH控制器用于通过DMA将RAM上的升级数据写入FPGA板卡的FLASH,以实现升级。

可见,该装置一是解决了传统USB BLASTER升级方案需要外购USB BLASTER、加载时间长的缺点,使得升级过程不再受限于JTAG协议,提升了升级速度;二是克服了PCIe升级方式需要在每台插卡机器上安装驱动并升级软件的弊端,扩展了应用场景,适用于数据中心大规模部署中;三是该装置只需要连接到网络即可实现升级,既能满足时间的要求,又有利于实现多个FPGA板卡同时升级,显著提升升级效率。

此外,本申请还提供了一种FPGA板卡及基于WebServer的FPGA远程升级方法,其技术效果与上述装置的技术效果相对应,这里不再赘述。

附图说明

为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为传统USB BLASTER更新方案示意图;

图2为基于PCIe接口的FPGA在线更新方案示意图;

图3为本申请所提供的一种基于WebServer的FPGA远程升级装置的架构图;

图4为基于WebServer方式的升级流程;

图5为基于多播方式的远程升级;

图6为本申请提供的一种FPGA远程升级方法实施例的流程图。

具体实施方式

本申请的核心是提供一种基于WebServer的FPGA远程升级装置、FPGA板卡及基于WebServer的FPGA远程升级方法,只需要连接到网络即可实现FPGA升级,使得升级过程不再受限于JTAG协议,既能满足时间的要求,又有利于实现多个FPGA板卡同时升级,结构简单,成本低,适用于数据中心大规模部署中。

为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

下面对本申请提供的一种基于WebServer的FPGA远程升级装置实施例进行介绍,该实施例包括:NIOS II处理器,MAC核心,RAM,DMA和FLASH控制器;

上述NIOS II处理器通过MAC核心和PHY芯片接入网络,NIOS II处理器上运行有基于LwIP库构建的WebServer。NIOS II处理器用于通过WebServer监听网络状态,并在监听到客户端发出的升级指令时将升级数据缓存至所述RAM;FLASH控制器用于通过DMA将RAM上的升级数据写入FPGA板卡的FLASH,以实现升级。

上述LwIP,全称Lightweight TCP/IP,即轻量级TCP/IP协议栈;上述NIOS II,即Altera软核。

实际应用中,先在FPGA板卡中搭建NIOS II系统,如图1所示,主要包括NIOS II处理器、MAC CORE、片内RAM、DMA以及FLASH控制器IP CORE,各模块之间通过AVALON总线相互连接,构成一个SOC片上系统。LwIP库运行在NIOS II处理器上,可实现TCP、UDP、IP、ICMP等各种网络协议。本实例利用LwIP提供的API构建一个WebServer,方便远程升级。

也就是说,本实施例利用FPGA内部自带的NIOS II软核和LwIP库实现WebServer功能,因此,用户只需在远程客户端以web界面登录,然后选择升级文件,即可实现FPGA的远程升级功能。

具体的,客户端远程登录浏览器,输入需要更新的FPGA板卡IP,登录WebServer。NIOS II处理器通过WebServer对网络链路进行SOCKET监听,判断是否与本机通信,若是,则根据升级指令将升级数据缓存至RAM。

此外,在获取到升级数据之后,NIOS II处理器先对RAM上的升级数据进行CRC校验,若校验通过,则控制FLASH控制器通过DMA将所述RAM上的升级数据写入FPGA板卡的FLASH;若校验未通过,则重新获取升级数据,以保证升级过程的可靠性。

可见,本实施例提供的基于WebServer的FPGA远程升级装置,是一种方便、高效的可编程逻辑器件远程比特流更新方案,利用FPGA内部自带的NIOS II软核和LwIP实现WebServer功能和组播功能,用户只需在远端以web界面登录,然后选择更新文件,即可实现FPGA的远程升级功能。该装置硬件结构简单,成本低,仅需要增加一片网络PHY芯片,固件上充分利用FPGA内部的NIOS II软核、MAC CORE、DMA、RAM等模块,通过AVALON总线搭建SOC系统,软件上调用LwIP库,利用API函数实现WebServer功能。

在上述实施例的基础上,还可以实现对FPGA板卡的远程管理。

在大规模数据中心部署中,越来越多的业务导致CPU负荷过重,FPGA因其自身结构的优越性,逐渐取代GPU,作为CPU的加速协处理器,卸载CPU任务,因此FPGA板卡作为数据中心重要部件,其统一管理变得尤为重要。除了远程升级的功能,也实现对FPGA板卡的BMC管理,直接控制及掌握板卡的各种状态。

因此,NIOS II处理器通过WebServer监听网络状态的过程中,若监听到指令,则先判断当前指令是升级指令还是管理指令,若为升级指令,则按照前述方案执行升级操作;若为管理指令,则执行相应的管理操作。

作为一种具体的实施方式,上述管理指令可以为状态获取指令,NIOS II处理器用于执行状态获取指令,采集板卡状态并发送至客户端。这里的板卡状态包括以下任意一项或多项:功耗、温度、版本号。

综上,基于WebServer的升级过程如图4所示,包括以下步骤:

S401、客户端远程登录浏览器,输入需要更新的FPGA板卡IP,登录WebServer。

S402、运行在NIOS II上的WebServer进行SOCKET监听,判断网络链路上是否有通信,并判断是否为与本机通信。如果不是与本机通信,则继续监听。

S403、检测到与本机通信,判断当前指令是升级指令还是管理指令。如果是升级指令,跳转到S405;如果是管理指令,跳转到S404。

S404、执行相应的管理指令。

S405、接收升级数据并进行CRC校验,如果校验正确,升级数据缓存到RAM,然后通过FLASH控制器将数据更新到外部FLASH。如果校验不正确,要求重传数据。

S406、重复执行S405,直到全部数据更新完成。

在上述实施例的基础上,还可以实现批量化升级FPGA板卡的功能。

在某些应用场合中,需要对大批量的FPGA功能进行升级,特别是在数据中心机房中,人为去管理,费时又费力,而且服务器的大量部署也增加了升级、管理难度。基于多播方式的FPGA远程升级过程如图5所示,NIOS II处理器通过MAC核心和PHY芯片接入局域网,客户端以组播方式向局域网发出升级指令。

基于这种升级方式,本实施例可以有效地实现远程管理和升级,借助于现有局域网络,编写主机升级软件、搭建FPGA内部NIOS II系统,将所有FPGA系统连接到局域网,升级软件以组播方式发起升级命令,当FPGA中的NIOS II检测到升级命令,对板卡FLASH进行数据更新,实现批量更新。

综上,本实施例提供的基于WebServer的FPGA远程升级装置,至少具备以下优点:

优点1,采用WevServer升级方法,克服了购买USB BLASTER的弊端,解决了USBBLASTER加载时间受限于JTAG协议的速度问题。

优点2,采用多播升级方式,解决了单个FPGA更新速度的问题,同时也能很好地解决大规模部署中多FPGA同时更新的问题,通过并行批量升级,大大缩短整体升级时间。

优点3,设计简单,实现方便,借助现有网络,无需外部装置,成本低。

此外,本申请还提供了一种FPGA板卡,该FPGA板卡包括如上文所述的基于WebServer的FPGA远程升级装置,因此能够借助该装置实现FPGA的远程升级功能。

下面对本申请实施例提供的一种FPGA远程升级方法进行介绍,下文描述的FPGA远程升级方法基于上文描述的基于WebServer的FPGA远程升级装置实现。

本实施例的FPGA远程升级方法,应用于位于FPGA板卡上的基于WebServer的FPGA远程升级装置,该装置通过MAC核心和PHY芯片接入网络,如图6所示,该方法包括以下步骤:

S601、在NIOS II处理器上运行基于LwIP库构建的WebServer,利用所述WebServer监听网络状态;

S602、在监听到客户端发出的升级指令时,将升级数据缓存至RAM;

S603、控制FLASH控制器通过DMA将所述RAM上的升级数据写入所述FPGA板卡的FLASH,以实现升级。

本实施例的FPGA远程升级方法基于上文描述的基于WebServer的FPGA远程升级装置实现,因此该方法的具体实施方式可见前文中的基于WebServer的FPGA远程升级装置的实施例部分,所以,在此不再展开介绍。

另外,由于本实施例的FPGA远程升级方法基于上文描述的基于WebServer的FPGA远程升级装置实现,因此其作用与上述装置的作用相对应,这里不再赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号