可编程逻辑器件的升级方法及装置与流程

文档序号:19128150发布日期:2019-11-13 02:20阅读:143来源:国知局
可编程逻辑器件的升级方法及装置与流程

本发明涉及通信技术领域,尤指一种可编程逻辑器件的升级方法及装置。



背景技术:

互联网数据中心(internetdatacenter,idc)是伴随着互联网技术的不断发展而迅速发展起来的,成了互联网产业中的重要一环,为网络内容服务商(internetcontentprovider,icp)、企业、媒体和各类网站提供大规模、高质量、连续安全可靠的专业化服务器托管、空间租用、网络批发带宽等业务。由于idc对数据传输的连续性和稳定性要求都很高,因此要求idc中的网络设备即使在升级过程中也要严格不间断工作,做到无缝升级。

idc中的网络设备的结构如图1所示,主要包括中央处理器(centralprocessingunit,cpu)、可编程逻辑器件、缓存、光电转发器件和交换芯片,其中,cpu与光电转换器件的内部集成电路(inter-integratedcircuit,i2c)端口相连进行数据通信,cpu对交换芯片和可编程逻辑器件进行管理;交换芯片与光电转换器件进行数据通信;可编程逻辑器件是一种集成度很高的新型高性能可编程芯片,其内部电路功能是可编程的,可以通过硬件描述语言(hardwaredescriptionlanguage,hdl)和专用设计工具在其内部灵活地实现极其复杂的电路功能,适用于高速、高密度的高端数字逻辑电路设计领域,可编程逻辑器件在运行时通过高电平信号实现对光电转换器件进行使能、复位和上下电控制等控制逻辑;光电转换器件是进行光电和电光转换的光电子器件,在交换机、路由器等网络设备中大量使用;缓存可以保存可编程逻辑器件的程序,作为设备每次上电后可编程逻辑器件执行的默认程序。

网络设备中的很多器件都需要升级,下面介绍可编程逻辑器件的升级方法:cpu检测到可编程逻辑器件的升级配置文件后将升级配置文件保存在可编程逻辑器件连接的缓存中,向可编程逻辑器件发送升级指令;可编程逻辑器件接收升级指令后从缓存中获取升级配置文件,加载升级配置文件,此时可编程逻辑器件中与光电转换器件连接的端口的当前信号状态更新为默认信号状态,加载完升级配置文件后,再将可编程逻辑器件中的端口的默认信号状态更新为升级配置文件中保存的默认状态后运行升级配置文件。该方法在可编程逻辑器件升级的过程中,需要多次更改可编程逻辑器件的端口的信号状态,这样就会造成光电转换器件正在执行的业务中断,从而造成网络设备的业务中断,无法实现可编程逻辑器件的无缝升级,进而无法实现网络设备的无缝升级。



技术实现要素:

本发明实施例提供一种可编程逻辑器件的升级方法及装置,用以解决现有技术中存在的无法实现可编程逻辑器件的无缝升级,进而无法实现网络设备的无缝升级的问题。

根据本发明实施例,提供一种可编程逻辑器件的升级方法,,应用于可编程逻辑器件中,所述方法包括:

接收所述可编程逻辑器件连接的cpu发送的锁存指令后,锁存所述可编程逻辑器件中与选定器件连接的选定端口的当前信号状态,所述锁存指令是所述cpu检测到所述可编程逻辑器件的升级配置文件、将所述升级配置文件保存在所述可编程逻辑器件连接的缓存中、并检测到所述可编程逻辑器件支持锁存功能后发出的;

接收所述cpu发送的升级指令后,从所述缓存中获取所述升级配置文件,所述升级指令是所述cpu发送所述锁存指令后发送的;

加载所述升级配置文件后,向所述cpu发送加载完成通告,以使所述cpu发送解锁指令;

接收所述解锁指令后,解除锁存所述选定端口的当前信号状态,并基于所述选定端口的当前信号状态运行所述升级配置文件。

具体的,基于所述选定端口的当前信号状态运行所述升级配置文件,具体包括:

读取所述选定端口的当前信号状态;

将所述升级配置文件中所述选定端口的默认信号状态替换为所述选定端口的当前信号状态后,运行所述升级配置文件。

根据本发明实施例,还提供一种可编程逻辑器件的升级方法,应用于可编程逻辑器件连接的cpu中,所述方法包括:

检测到所述可编程逻辑器件的升级配置文件后,将所述升级配置文件保存在所述可编程逻辑器件连接的缓存中;

检测所述可编程逻辑器件是否支持锁存功能;

若检测到所述可编程逻辑器件支持锁存功能,则向所述可编程逻辑器件发送锁存指令,以使所述可编程逻辑器件接收所述锁存指令后,锁存所述可编程逻辑器件中与选定器件连接的选定端口的当前信号状态;

向所述可编程逻辑器件发送升级指令,以使所述可编程逻辑器件接收所述升级指令后,从所述缓存中获取所述升级配置文件、并加载所述升级配置文件,向所述cpu发送加载完成通告;

接收所述加载完成通告后,向所述可编程逻辑器件发送解锁指令,以使所述可编程逻辑器件接收所述解锁指令后,解除锁存所述选定端口的当前信号状态,基于所述选定端口的当前信号状态运行所述升级配置文件。

具体的,检测到所述可编程逻辑器件的升级配置文件,具体包括:

检测到用户存储的所述可编程逻辑器件的升级配置文件;或者,

检测到第三方提供的所述可编程逻辑器件的升级配置文件的提示信息。

具体的,检测所述可编程逻辑器件是否支持锁存功能,具体包括:

获取所述可编程逻辑器件的属性信息;

从所述可编程逻辑器的属性信息中确定所述可编程逻辑器件是否支持锁存功能。

根据本发明实施例,还提供一种可编程逻辑器件的升级装置,应用于所述可编程逻辑器件中,所述装置包括:

锁存模块,用于接收所述可编程逻辑器件连接的中央处理器cpu发送的锁存指令后,锁存所述可编程逻辑器件中与选定器件连接的选定端口的当前信号状态,所述锁存指令是所述cpu检测到所述可编程逻辑器件的升级配置文件、将所述升级配置文件保存在所述可编程逻辑器件连接的缓存中、并检测到所述可编程逻辑器件支持锁存功能后发出的;

获取模块,用于接收所述cpu发送的升级指令后,从所述缓存中获取所述升级配置文件,所述升级指令是所述cpu发送所述锁存指令后发送的;

加载模块,用于加载所述升级配置文件后,向所述cpu发送加载完成通告,以使所述cpu发送解锁指令;

解锁模块,用于接收所述解锁指令后,解除锁存所述选定端口的当前信号状态,并基于所述选定端口的当前信号状态运行所述升级配置文件。

具体的,所述解锁模块,用于基于所述选定端口的当前信号状态运行所述升级配置文件,具体用于:

读取所述选定端口的当前信号状态;

将所述升级配置文件中所述选定端口的默认信号状态替换为所述选定端口的当前信号状态后,运行所述升级配置文件。

根据本发明实施例,还提供一种可编程逻辑器件的升级装置,应用于可编程逻辑器件连接的cpu中,所述装置包括:

保存模块,用于检测到所述可编程逻辑器件的升级配置文件后,将所述升级配置文件保存在所述可编程逻辑器件连接的缓存中;

检测模块,用于检测所述可编程逻辑器件是否支持锁存功能;

第一发送模块,用于若检测到所述可编程逻辑器件支持锁存功能,则向所述可编程逻辑器件发送锁存指令,以使所述可编程逻辑器件接收所述锁存指令后,锁存所述可编程逻辑器件中与选定器件连接的选定端口的当前信号状态;

第二发送模块,用于向所述可编程逻辑器件发送升级指令,以使所述可编程逻辑器件接收所述升级指令后,从所述缓存中获取所述升级配置文件、并加载所述升级配置文件,向所述cpu发送加载完成通告;

收发模块,用于接收所述加载完成通告后,向所述可编程逻辑器件发送解锁指令,以使所述可编程逻辑器件接收所述解锁指令后,解除锁存所述选定端口的当前信号状态,基于所述选定端口的当前信号状态运行所述升级配置文件。

具体的,所述保存模块,用于检测到所述可编程逻辑器件的升级配置文件,具体用于:

检测到用户存储的所述可编程逻辑器件的升级配置文件;或者,

检测到第三方提供的所述可编程逻辑器件的升级配置文件的提示信息。

具体的,所述检测模块,用于检测所述可编程逻辑器件是否支持锁存功能,具体用于:

获取所述可编程逻辑器件的属性信息;

从所述可编程逻辑器的属性信息中确定所述可编程逻辑器件是否支持锁存功能。

本发明有益效果如下:

本发明实施例提供一种可编程逻辑器件的升级方法及装置,通过接收所述可编程逻辑器件连接的cpu发送的锁存指令后,锁存所述可编程逻辑器件中与选定器件连接的选定端口的当前信号状态,所述锁存指令是所述cpu检测到所述可编程逻辑器件的升级配置文件、将所述升级配置文件保存在所述可编程逻辑器件连接的缓存中、并检测到所述可编程逻辑器件支持锁存功能后发出的;接收所述cpu发送的升级指令后,从所述缓存中获取所述升级配置文件,所述升级指令是所述cpu发送所述锁存指令后发送的;加载所述升级配置文件后,向所述cpu发送加载完成通告,以使所述cpu发送解锁指令;接收所述解锁指令后,基于所述选定端口的当前信号状态运行所述升级配置文件。该方案在可编程逻辑器件升级的过程中,不会多次改变选定端口的信号状态,一直会保持选定端口的当前信号状态,这样就可以避免造成选定器件正在执行的业务中断,从而避免网络设备的业务中断,实现可编程逻辑器件的无缝升级,可以进一步确保实现网络设备的无缝升级。

附图说明

图1为现有技术中网络设备的结构示意图;

图2为本发明实施例中一种以可编程逻辑器件为执行主体的可编程逻辑器件的升级方法的流程图;

图3为本发明实施例中一种以cpu为执行主体的可编程逻辑器件的升级方法的流程图;

图4为本发明实施例中与图2对应的可编程逻辑器件的升级装置的结构示意图;

图5为本发明实施例中与图3对应的可编程逻辑器件的升级装置的结构示意图。

具体实施方式

针对现有技术中存在的无法实现可编程逻辑器件的无缝升级,进而无法实现网络设备的无缝升级的问题,本发明实施例提供一种可编程逻辑器件的升级方法,应用于如图1所示的网络设备中,下面分别以可编程逻辑器和cpu为执行主体介绍可编程逻辑器件的升级方法。

首先介绍以可编程逻辑器件为执行主体的可编程逻辑器件的升级方法,该方法的流程如图2所示,执行步骤如下:

s21:接收可编程逻辑器件连接的cpu发送的锁存指令后,锁存可编程逻辑器件中与选定器件连接的选定端口的当前信号状态,锁存指令是cpu检测到可编程逻辑器件的升级配置文件、将升级配置文件保存在可编程逻辑器件连接的缓存中、并检测到可编程逻辑器件支持锁存功能后发出的。

其中,可编程逻辑器件可以但不限于是现场可编程门阵列(field-programmablegatearray,fpga)、复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld)等等,可编程逻辑器件中与选定器件连接的端口可以定义为选定端口;选定器件可以但不限于是光电转换器件,以下以光电转换器件为例进行说明;锁存指令可以但不限于是将hold_output端口的控制信号置为高电平。

可编程逻辑器件运行时实现对光电转换器件使能、复位和上下电控制等控制逻辑,控制信号以高、低电平输入到光电转换器件的对应端口。cpu检测到可编程逻辑器件的升级配置文件、将升级配置文件保存在可编程逻辑器件连接的缓存中之后,并不会马上发送升级指令,而是首先在检测到可编程逻辑器件支持锁存功能后发出锁存指令,可编程逻辑器件就可以在接收到锁存指令后锁存可编程逻辑器件中与选定器件连接的选定端口的当前信号状态,即锁定了可编程逻辑器件输出给光电转换器件的使能、复位和上下电控制等控制信号的当前信号状态。

s22:接收cpu发送的升级指令后,从缓存中获取升级配置文件,升级指令是cpu发送锁存指令后发送的。

cpu在发送锁存指令后才会发送升级指令,可编程逻辑器件内部的静态随机存取存储器(staticrandom-accessmemory,sram)存储的当前配置文件在掉电后会丢失,因此,在升级时会从缓存中获取升级配置文件保存在sram中。

其中,升级指令可以但不限于通过联合测试工作组(jointtestactiongroup,jtag)接口下发。

s23:加载升级配置文件后,向cpu发送加载完成通告,以使cpu发送解锁指令。

加载升级配置文件时可以从sram中加载,完成加载后通告cpu,以便cpu发送解锁指令,解除之前锁存的选定端口的当前信号状态。

其中,解锁指令可以但不限于是将hold_output端口的控制信号置为低电平。

s24:接收解锁指令后,解除锁存选定端口的当前信号状态,基于选定端口的当前信号状态运行升级配置文件。

当锁存选定端口的当前信号状态后,任何指令不能改变选定端口的当前信号状态,由于升级后要继续运行升级配置文件,所以要在新的配置文件工作之前首先解除锁存选定端口的当前信号状态,并以当前信号状态作为选定端口的初始状态运行升级配置文件,由此完成可编程逻辑器件的升级过程。

该方案在可编程逻辑器件升级的过程中,不会多次改变选定端口的信号状态,一直会保持选定端口的当前信号状态,这样就可以避免造成选定器件正在执行的业务中断,从而避免网络设备的业务中断,实现可编程逻辑器件的无缝升级,可以进一步确保实现网络设备的无缝升级。

具体的,上述s24中的基于选定端口的当前信号状态运行升级配置文件,实现过程具体包括:

读取选定端口的当前信号状态;

将升级配置文件中选定端口的默认信号状态替换为选定端口的当前信号状态后,运行升级配置文件。

由于之前锁存了选定端口的当前信号状态,在解除锁存之后可以将选定端口的当前信号状态作为运行升级配置文件的初始状态,而升级配置文件中会有选定端口的信号状态,可以定义为默认信号状态,为了保持选定器件执行业务的连续性,因此需要将升级配置文件中选定端口的默认信号状态替换为选定端口的当前信号状态后,运行升级配置文件,从而完成可编程逻辑器件的升级,并且还保持了选定器件执行业务的连续性。

以上介绍了以可编程逻辑器件为执行主体的可编程逻辑器件的升级方法,下面介绍了以cpu为执行主体的可编程逻辑器件的升级方法;该方法的流程,如图3所示,执行步骤如下:

s31:检测到可编程逻辑器件的升级配置文件后,将升级配置文件保存在可编程逻辑器件连接的缓存中。

s32:检测可编程逻辑器件是否支持锁存功能。

s33:若检测到可编程逻辑器件支持锁存功能,则向可编程逻辑器件发送锁存指令,以使可编程逻辑器件接收锁存指令后,锁存可编程逻辑器件中与选定器件连接的选定端口的当前信号状态。

s34:向可编程逻辑器件发送升级指令,以使可编程逻辑器件接收升级指令后,从缓存中获取升级配置文件、并加载升级配置文件,向cpu发送加载完成通告。

s35:接收加载完成通告后,向可编程逻辑器件发送解锁指令,以使可编程逻辑器件接收解锁指令后,解除锁存选定端口的当前信号状态,基于选定端口的当前信号状态运行升级配置文件。

该方案在可编程逻辑器件升级的过程中,不会多次改变选定端口的信号状态,一直会保持选定端口的当前信号状态,这样就可以避免造成选定器件正在执行的业务中断,从而避免网络设备的业务中断,实现可编程逻辑器件的无缝升级,可以进一步确保实现网络设备的无缝升级。

具体的,上述s31中的检测到可编程逻辑器件的升级配置文件,实现过程具体包括:

检测到用户存储的可编程逻辑器件的升级配置文件;或者,

检测到第三方提供的可编程逻辑器件的升级配置文件的提示信息。

以上列举了两种检测到可编程逻辑器件的升级配置文件的方式,当然还有很多其他方式可以检测,这里不再一一说明。

具体的,上述s32中的检测可编程逻辑器件是否支持锁存功能,实现过程具体包括:

获取可编程逻辑器件的属性信息;

从可编程逻辑器的属性信息中确定可编程逻辑器件是否支持锁存功能。

通常,网络设备中会保存所有器件的属性信息,因此,cpu可以获取可编程逻辑器件的属性信息,然后基于该属性信息就可以确定可编程逻辑器件是否支持锁存功能。

基于同一发明构思,本发明实施例提供一种可编程逻辑器件的升级装置,与如图2所示的方法相对于,应用于与可编程逻辑器件连接的cpu中,该装置的结构如图4所示,包括:

锁存模块41,用于接收可编程逻辑器件连接的cpu发送的锁存指令后,锁存可编程逻辑器件中与选定器件连接的选定端口的当前信号状态,锁存指令是cpu检测到可编程逻辑器件的升级配置文件、将升级配置文件保存在可编程逻辑器件连接的缓存中、并检测到可编程逻辑器件支持锁存功能后发出的;

获取模块42,用于接收cpu发送的升级指令后,从缓存中获取升级配置文件,升级指令是cpu发送锁存指令后发送的;

加载模块43,用于加载升级配置文件后,向cpu发送加载完成通告,以使cpu发送解锁指令;

解锁模块44,用于接收解锁指令后,解除锁存选定端口的当前信号状态,并基于选定端口的当前信号状态运行升级配置文件。

该方案在可编程逻辑器件升级的过程中,不会多次改变选定端口的信号状态,一直会保持选定端口的当前信号状态,这样就可以避免造成选定器件正在执行的业务中断,从而避免网络设备的业务中断,实现可编程逻辑器件的无缝升级,可以进一步确保实现网络设备的无缝升级。

具体的,解锁模块44,用于基于选定端口的当前信号状态运行升级配置文件,具体用于:

读取选定端口的当前信号状态;

将升级配置文件中选定端口的默认信号状态替换为选定端口的当前信号状态后,运行升级配置文件。

基于同一发明构思,本发明实施例提供一种可编程逻辑器件的升级装置,与如图3所示的方法相对于,应用于可编程逻辑器件连接的cpu中,该装置的结构如图5所示,包括:

保存模块51,用于检测到可编程逻辑器件的升级配置文件后,将升级配置文件保存在可编程逻辑器件连接的缓存中;

检测模块52,用于检测可编程逻辑器件是否支持锁存功能;

第一发送模块53,用于若检测到可编程逻辑器件支持锁存功能,则向可编程逻辑器件发送锁存指令,以使可编程逻辑器件接收锁存指令后,锁存可编程逻辑器件中与选定器件连接的选定端口的当前信号状态;

第二发送模块54,用于向可编程逻辑器件发送升级指令,以使可编程逻辑器件接收升级指令后,从缓存中获取升级配置文件、并加载升级配置文件,向cpu发送加载完成通告;

收发模块55,用于接收加载完成通告后,向可编程逻辑器件发送解锁指令,以使可编程逻辑器件接收解锁指令后,解除锁存选定端口的当前信号状态,基于选定端口的当前信号状态运行升级配置文件。

该方案在可编程逻辑器件升级的过程中,不会多次改变选定端口的信号状态,一直会保持选定端口的当前信号状态,这样就可以避免造成选定器件正在执行的业务中断,从而避免网络设备的业务中断,实现可编程逻辑器件的无缝升级,可以进一步确保实现网络设备的无缝升级。

具体的,保存模块51,用于检测到可编程逻辑器件的升级配置文件,具体用于:

检测到用户存储的可编程逻辑器件的升级配置文件;或者,

检测到第三方提供的可编程逻辑器件的升级配置文件的提示信息。

具体的,检测模块52,用于检测可编程逻辑器件是否支持锁存功能,具体用于:

获取可编程逻辑器件的属性信息;

从可编程逻辑器的属性信息中确定可编程逻辑器件是否支持锁存功能。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1