基于PCIe接口的FPGA升级方法技术

技术编号:24497112 阅读:33 留言:0更新日期:2020-06-13 03:28
一种FPGA升级方法,包括:主机向FPGA下发升级指令;所述主机卸载所述FPGA对应的PCIe驱动程序,使所述PCIe链路的状态变为所述断开状态;所述主机在第一超时时间内持续检测所述PCIe链路的状态是否变成连接状态;如果是,则重新加载所述PCIe驱动程序;所述方法还包括:所述FPGA在收到所述升级指令后,所述FPGA在第二超时时间内持续检测所述PCIe链路的状态是否变为断开状态,其中,所述断开状态为所述PCIe链路在所述主机卸载完成所述FPGA对应的PCIe驱动程序后的状态;如果是,所述FPGA从所述FPGA配置存储器中加载所述配置数据进行升级;升级完成后,所述FPGA通过跟所述主机协商以将所述PCIe链路的状态恢复为用于被所述主机检测到后重新加载所述PCIe驱动程序的连接状态。

FPGA upgrade method based on PCIe interface

【技术实现步骤摘要】
基于PCIe接口的FPGA升级方法
本专利技术涉及通信
,尤其涉及基于PCIe接口的FPGA升级方法。
技术介绍
由于FPGA(现场可编程逻辑门阵列)具有处理能力强、使用便捷性以及可重配置的特点,因此,在越来越多的业务场景中(如在服务器上)扮演类似于协处理器的重要角色。而基于通用性的考虑,当FPGA作为协处理器来加速主机的数据时,大部分是以标准PCIe接口卡的形式与主机相连。例如,参见图1,为一个服务器中PCIe接口卡与主机相连的结构示意图,图1中的FPGA板卡1、FPGA板卡2、图形处理卡以及固态硬盘均可以是PCIe接口卡,通过PCIe接口与主机相连。在运行维护阶段,通常需要对FPGA的配置进行升级,在一些环境比较复杂或者恶劣的情况下,不适合工作人员去现场进行升级,就需要利用PCIe总线对FPGA进行在线升级。参见图2,现有的一种FPGA升级方法中,通过增加专门的FPGA配置存储器(即用于存储FPGA配置数据的存储器,通常一个非易失性存储器芯片,如一个闪存芯片)来对FPGA进行在线升级,即主机先通过与FPGA之间的PCI本文档来自技高网...

【技术保护点】
1.一种升级FPGA的方法,其特征在于,所述方法由主机以及FPGA配合执行,其中,所述主机与所述FPGA通过PCIe链路相连,所述FPGA与FPGA配置存储器相连,所述FPGA配置存储器中保存有所述FPGA升级所需的配置数据,所述方法包括:/n所述主机向所述FPGA下发升级指令;/n所述主机卸载所述FPGA对应的PCIe驱动程序,使所述PCIe链路的状态变为断开状态;/n所述主机在第一超时时间内持续检测所述PCIe链路的状态是否变成连接状态;/n如果检测到所述PCIe链路的状态变为所述连接状态,则重新加载所述PCIe驱动程序;/n所述方法还包括:/n所述FPGA在收到所述升级指令后,所述FPG...

【技术特征摘要】
1.一种升级FPGA的方法,其特征在于,所述方法由主机以及FPGA配合执行,其中,所述主机与所述FPGA通过PCIe链路相连,所述FPGA与FPGA配置存储器相连,所述FPGA配置存储器中保存有所述FPGA升级所需的配置数据,所述方法包括:
所述主机向所述FPGA下发升级指令;
所述主机卸载所述FPGA对应的PCIe驱动程序,使所述PCIe链路的状态变为断开状态;
所述主机在第一超时时间内持续检测所述PCIe链路的状态是否变成连接状态;
如果检测到所述PCIe链路的状态变为所述连接状态,则重新加载所述PCIe驱动程序;
所述方法还包括:
所述FPGA在收到所述升级指令后,所述FPGA在第二超时时间内持续检测所述PCIe链路的状态是否变为断开状态,其中,所述断开状态为所述PCIe链路在所述主机卸载完成所述FPGA对应的PCIe驱动程序后的状态;
如果在所述第二超时时间内检测到所述PCIe链路变为断开状态,所述FPGA从所述FPGA配置存储器中加载所述配置数据进行升级;
升级完成后,所述FPGA通过跟所述主机协商以将所述PCIe链路的状态恢复为用于被所述主机检测到后重新加载所述PCIe驱动程序的连接状态。


2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述主机在卸载所述PCIe驱动程序之前,暂停使用PCIe链路对FPGA进行访问的一个或多个应用程序。


3.如权利要求2所述的方法,其特征在于,所述方法还包括:所述主机在重新加载所述PCIe驱动程序之后,恢复所述一个或多个应用程序运行。


4.如权利要求1-3任一所述的方法,其特征在于,所述主机在第一超时时间内持续检测所述PCIe链路的状态是否变成连接状态包括:
在所述第一超时时间内通过持续检测位于所述主机中的链路状态寄存器来持续检测所述PCIe链路是否变为所述连接状态。


5.如权利要求1-4任一所述的方法,其特征在于,所述FPGA在第二超时时间内持续检测所述PCIe链路的状态是否变为断开状态包括:
所述FPGA在所述第二超时时间内通过持续检测位于所述FPGA中的链路状态寄存器来持续检测所述PCIe链路是否变为所述断开状态。


6.如权利要求1-5任一所述的方法,其特征在于,所述第一超时时间为预定的所述FPGA完成升级所需的时间。


7.如权利要求1-6任一所述的方法,其特征在于,所述第二超时时间为预定的所述主机从发出所述升级指令后到完成卸载所述PCIe驱动程序所需的时间。


8.如权利要求1-7任一所述的方法,其特征在于,所述FPGA位于PCIe插卡上,所述PCIe插卡安装在所述主机的PCIe扩展槽上。


9.一种升级FPGA的方法,其特征在于,由FPGA执行,所述FPGA与主机通过PCIe链路通信,所述FPGA还与FPGA配置存储器相连,所述FPGA配置存储器中保存有所述FPGA升级所需的配置数据,所述方法包括:
接收所述主机下发的升级指令;
在超时时间内持续检测所述PCIe链路的状态是否变为断开状态,其中,所述断开状态为所述PCIe链路在所述主机卸载完成所述FPGA对应的PCIe驱动程序后的状态;
如果在所述超时时间内检测到所述PCIe链路变为断开状态,从所述FPGA配置存储器中加载所述配置数据进行升级;
升级完成后,通过与所述FPGA协商以将所述PCIe链路的状态恢复为连接状态;所述连接状态用于被所述主机检测到后重新加载所述PCIe驱动程序。


10.如权利要求9所述的方法,其特征在于,所述断开状态为所述PCIe链路在所述主机先暂停一个或多个应用程序,再卸载完成所述FPGA对应的PCIe驱动程序后的状态,其中所述一个或多个应用程序为使...

【专利技术属性】
技术研发人员:相剑波张波
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1