一种FPGA部分重配置方法、系统、设备及计算机介质与流程

文档序号:17639627发布日期:2019-05-11 00:35阅读:203来源:国知局
一种FPGA部分重配置方法、系统、设备及计算机介质与流程

本申请涉及软件技术领域,更具体地说,涉及一种fpga部分重配置方法、系统、设备及计算机介质。



背景技术:

fpga(field-programmablegatearray,现场可编程门阵列)部分重配置(partialreconfiguration,pr)是一种能够动态地重新配置fpga内的部分重配置区域的加载技术,通过这种技术能够在不影响其他区域正常工作的条件下,重新下载部分重配置区域的配置文件,实现不同业务功能的切换。在此过程中,为了保证fpga切换业务功能的准确性,需要保证部分重配置过程的准确性。

综上所述,如何保证fpga部分重配置过程的准确性是目前本领域技术人员亟待解决的问题。



技术实现要素:

本申请的目的是提供一种fpga部分重配置方法,其能在一定程度上解决如何保证fpga部分重配置过程的准确性的技术问题。本申请还提供了一种fpga部分重配置系统、设备及计算机可读存储介质。

为了实现上述目的,本申请提供如下技术方案:

一种fpga部分重配置方法,应用于所述fpga,包括:

通过自身的传输端口按帧接收部分重配置文件;

对每一帧所述部分重配置文件进行重配置处理,所述重配置处理包括:

对每一帧所述部分重配置文件进行第一次crc校验,得到第一次校验结果;

按行将每一帧所述部分重配置文件重配置到所述fpga的部分重配置区域,并对每行所述部分重配置文件进行第二次crc校验,得到第二次校验结果;

基于所述第一次校验结果和所述第二次校验结果判断重配置过程是否正确,若否,则结束。

优选的,所述传输端口包括pcie端口、网络端口、jtag端口。

优选的,所述通过自身的传输端口按帧接收部分重配置文件,包括:

判断是否满足预设重配置条件,若是,则执行所述通过自身的传输端口按帧接收部分重配置文件的步骤,若否,则预设时长后执行所述判断是否满足预设重配置条件的步骤。

优选的,所述判断是否满足预设重配置条件,包括:

判断是否具有重配置权限,若是,则判定满足所述预设重配置条件,若否,则判定不满足所述预设重配置条件。

优选的,所述判断是否满足预设重配置条件,包括:

判断是否接收到管理员客户端发送的重配置指令,若是,则判定满足所述预设重配置条件,若否,则判定不满足所述预设重配置条件。

优选的,所述通过自身的传输端口按帧接收部分重配置文件之前,还包括:

复位所述fpga的部分重配置区域的全部信号。

优选的,所述基于所述第一次校验结果和所述第二次校验结果判断重配置过程是否正确之后,还包括:

若判定重配置过程正确,则返回重配置成功标志。

一种fpga部分重配置系统,应用于所述fpga,包括:

第一接收模块,用于通过自身的传输端口按帧接收部分重配置文件;

第一校验模块,用于对每一帧所述部分重配置文件,对每一帧所述部分重配置文件进行第一次crc校验,得到第一次校验结果;

第一处理模块,用于对每一帧所述部分重配置文件,按行将每一帧所述部分重配置文件重配置到所述fpga的部分重配置区域,并对每行所述部分重配置文件进行第二次crc校验,得到第二次校验结果;

第一判断模块,用于对每一帧所述部分重配置文件,基于所述第一次校验结果和所述第二次校验结果判断重配置过程是否正确,若否,则结束。

一种fpga部分重配置设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上任一所述fpga部分重配置方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述fpga部分重配置方法的步骤。

本申请提供的一种fpga部分重配置方法,应用于fpga,通过自身的传输端口按帧接收部分重配置文件;对每一帧部分重配置文件进行重配置处理,重配置处理包括:对每一帧部分重配置文件进行第一次crc校验,得到第一次校验结果;按行将每一帧部分重配置文件重配置到fpga的部分重配置区域,并对每行部分重配置文件进行第二次crc校验,得到第二次校验结果;基于第一次校验结果和第二次校验结果判断重配置过程是否正确,若否,则结束。本申请提供的一种fpga部分重配置方法,fpga按帧接收部分重配置文件,并且对每一帧部分重配置文件进行第一次crc校验得到第一次校验结果,按行将每一帧部分重配置文件重配置到fpga的部分重配置区域,由于是按行进行重配置,可以提高重配置的效率,之后对每行部分重配置文件进行第二次crc校验得到第二次校验结果,最后基于第一次校验结果和第二次校验结果判断重配置过程是否正确,借助crc校验可以保证重配置前的部分重配置文件与重配置后的部分重配置文件一致,保证了fpga部分重配置过程的准确性。本申请提供的一种fpga部分重配置系统、设备及计算机可读存储介质也解决了相应技术问题。

附图说明

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

图1为本申请实施例提供的一种fpga部分重配置方法的第一流程图;

图2为本申请实施例提供的一种fpga部分重配置方法的第二流程图;

图3为本申请实施例提供的一种fpga部分重配置系统的结构示意图;

图4为本申请实施例提供的一种fpga部分重配置设备的结构示意图;

图5为本申请实施例提供的一种fpga部分重配置设备的另一结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

fpga(field-programmablegatearray,现场可编程门阵列)部分重配置(partialreconfiguration,pr)是一种能够动态地重新配置fpga内的部分重配置区域的加载技术,通过这种技术能够在不影响其他区域正常工作的条件下,重新下载部分重配置区域的配置文件,实现不同业务功能的切换。在此过程中,为了保证fpga切换业务功能的准确性,需要保证部分重配置过程的准确性。本申请提供的一种fpga部分重配置方法可以保证fpga部分重配置过程的准确性。

请参阅图1,图1为本申请实施例提供的一种fpga部分重配置方法的第一流程图。

本申请实施例提供的一种fpga部分重配置方法,应用于fpga,可以包括以下步骤:

步骤s101:通过自身的传输端口按帧接收部分重配置文件。

实际应用中,fpga可以先通过自身的传输端口按帧接收部分重配置文件,部分重配置文件的存储地址及类型可以根据实际需要确定。

具体应用场景中,为了提高本申请实施例提供的一种fpga部分重配置方法的灵活性,可以为fpga添加多种类型的传输端口,使得fpga可以根据需要灵活选择接收部分重配置文件的方式,具体的,fpga的传输端口可以包括pcie(peripheralcomponentinterconnectexpress,高速串行计算机扩展总线标准)端口、网络端口、jtag(jointtestactiongroup,联合测试行动小组)端口。

具体应用场景中,为了满足外界对重配置过程的控制,通过自身的传输端口按帧接收部分重配置文件的过程可以具体为:判断是否满足预设重配置条件,若是,则执行通过自身的传输端口按帧接收部分重配置文件的步骤,若否,则预设时长后再次执行判断是否满足预设重配置条件的步骤。实际应用中,判断是否满足预设重配置条件的过程可以为:判断是否具有重配置权限,若是,则判定满足预设重配置条件,若否,则判定不满足预设重配置条件;也即fpga只有在具有重配置权限后才会开始重配置过程。此外,判断是否满足预设重配置条件的过程可以具体为:判断是否接收到管理员客户端发送的重配置指令,若是,则判定满足预设重配置条件,若否,则判定不满足预设重配置条件。

具体应用场景中,为了排除fpga自身对重配置过程的影响,在通过自身的传输端口按帧接收部分重配置文件之前,还可以复位fpga的部分重配置区域的全部信号。

步骤s102:对每一帧部分重配置文件,对每一帧部分重配置文件进行第一次crc(cyclicredundancycheck,循环冗余校验)校验,得到第一次校验结果。

实际应用中,在按帧接收到部分重配置文件后,便可以对每一帧部分重配置文件进行第一次crc校验,得到第一次校验结果。具体应用场景中,可以是没接收到一帧部分重配置文件,便对该帧部分重配置文件进行处理,也可以是接收到全部的部分重配置文件后,才对每一帧部分重配置文件进行处理。由于是按帧对部分重配置文件进行处理,可以降低每次进行处理的数据量,从而提高处理效率,而且按帧对部分重配置文件进行重配置,可以提高重配置的效率。

步骤s103:对每一帧部分重配置文件,按行将每一帧部分重配置文件重配置到fpga的部分重配置区域,并对每行部分重配置文件进行第二次crc校验,得到第二次校验结果。

实际应用中,对于每一帧部分重配置文件,fpga在得到第一次校验结果后,便可以按行将每一帧部分重配置文件重配置到fpga的部分重配置区域,并对每行部分重配置文件进行第二次crc校验,得到第二次校验结果。具体应用场景中,可以是每重配置了一行部分重配置文件,便对该行部分重配置文件进行crc校验,也可以是重配置一帧部分重配置文件后,再对所有行的部分重配置文件进行crc校验等。

步骤s104:对每一帧部分重配置文件,基于第一次校验结果和第二次校验结果判断重配置过程是否正确,若否,则执行步骤s105:结束。

实际应用中,对于每一帧部分重配置文件,fpga在得到第二次校验结果后,便可以比较第一次校验结果和第二次校验结果,以此来判断重配置过程的正确性。具体应用场景中,在每重配置了一行部分重配置文件,便对该行部分重配置文件进行crc校验时,可以判断第二次校验结果是否属于第一次校验结果,来判断该行部分重配置文件重配置过程的正确性,若第二次校验结果属于第一次校验结果,则该行部分重配置文件的重配置过程正确,若第二次校验结果不属于第一次校验结果,则该行部分重配置文件的重配置过程错误;在重配置一帧部分重配置文件后,再对所有行的部分重配置文件进行crc校验时,可以判断第二次校验结果是否与第一次校验结果一致,来判断该帧部分重配置文件重配置过程的正确性,若第二次校验结果与第一次校验结果一致,则该帧部分重配置文件的重配置过程正确,若第二次校验结果与第一次校验结果不一致,则该帧部分重配置文件的重配置过程错误。在判断重配置过程错误后,可以直接结束,也可以标记该帧部分重配置文件,再次对该帧部分重配置文件进行重配置等;在判断重配置过程正确后,可以返回重配置标志等。

请参阅图2,图2为本申请实施例提供的一种fpga部分重配置方法的第二流程图。

实际应用中,本申请实施例提供的一种fpga部分重配置方法可以包括以下步骤:

步骤s201:复位fpga的部分重配置区域的全部信号。

步骤s202:判断是否满足预设重配置条件,若否,则执行步骤s203,若是,则执行步骤s204。

步骤s203:等待预设时长,返回步骤s202。

步骤s204:通过自身的pcie端口或网络端口或jtag端口按帧接收部分重配置文件。

步骤s205:对每一帧部分重配置文件,对每一帧部分重配置文件进行第一次crc校验,得到第一次校验结果。

步骤s206:对每一帧部分重配置文件,按行将每一帧部分重配置文件重配置到fpga的部分重配置区域,并对每行部分重配置文件进行第二次crc校验,得到第二次校验结果。

步骤s207:对每一帧部分重配置文件,基于第一次校验结果和第二次校验结果判断重配置过程是否正确,若否,则执行步骤s208,若是,则执行步骤s209。

步骤s208:结束。

步骤s209:返回重配置成功标志。

本申请还提供了一种fpga部分重配置系统,其具有本申请实施例提供的一种fpga部分重配置方法具有的对应效果。请参阅图3,图3为本申请实施例提供的一种fpga部分重配置系统的结构示意图。

本申请实施例提供的一种fpga部分重配置系统,应用于fpga,可以包括:

第一接收模块101,用于通过自身的传输端口按帧接收部分重配置文件;

第一校验模块102,用于对每一帧部分重配置文件,对每一帧部分重配置文件进行第一次crc校验,得到第一次校验结果;

第一处理模块103,用于对每一帧部分重配置文件,按行将每一帧部分重配置文件重配置到fpga的部分重配置区域,并对每行部分重配置文件进行第二次crc校验,得到第二次校验结果;

第一判断模块104,用于对每一帧部分重配置文件,基于第一次校验结果和第二次校验结果判断重配置过程是否正确,若否,则结束。

本申请实施例提供的一种fpga部分重配置系统,应用于fpga,传输端口包括pcie端口、网络端口、jtag端口。

本申请实施例提供的一种fpga部分重配置系统,应用于fpga,第一接收模块可以包括:

第一判断单元,用于判断是否满足预设重配置条件,若是,则提示第一接收模块执行通过自身的传输端口按帧接收部分重配置文件的步骤,若否,则预设时长后执行判断是否满足预设重配置条件的步骤。

本申请实施例提供的一种fpga部分重配置系统,应用于fpga,第一判断单元可以包括:

第一判断子单元,用于判断是否具有重配置权限,若是,则判定满足预设重配置条件,若否,则判定不满足预设重配置条件。

本申请实施例提供的一种fpga部分重配置系统,应用于fpga,第一判断单元可以包括:

第二判断子单元,用于判断是否接收到管理员客户端发送的重配置指令,若是,则判定满足预设重配置条件,若否,则判定不满足预设重配置条件。

本申请实施例提供的一种fpga部分重配置系统,应用于fpga,还可以包括:

第一复位模块,用于第一接收模块通过自身的传输端口按帧接收部分重配置文件之前,复位fpga的部分重配置区域的全部信号。

本申请实施例提供的一种fpga部分重配置系统,应用于fpga,还可以包括:

第一返回模块,用于第一判断模块基于第一次校验结果和第二次校验结果判断重配置过程是否正确之后,若判定重配置过程正确,则返回重配置成功标志。

本申请还提供了一种fpga部分重配置设备及计算机可读存储介质,其均具有本申请实施例提供的一种fpga部分重配置方法具有的对应效果。请参阅图4,图4为本申请实施例提供的一种fpga部分重配置设备的结构示意图。

本申请实施例提供的一种fpga部分重配置设备,包括存储器201及处理器202,存储器201中存储有计算机程序,处理器202执行存储器201中的计算机程序实现如下步骤:

通过自身的传输端口按帧接收部分重配置文件;

对每一帧部分重配置文件进行重配置处理,重配置处理包括:

对每一帧部分重配置文件进行第一次crc校验,得到第一次校验结果;

按行将每一帧部分重配置文件重配置到fpga的部分重配置区域,并对每行部分重配置文件进行第二次crc校验,得到第二次校验结果;

基于第一次校验结果和第二次校验结果判断重配置过程是否正确,若否,则结束。

本申请实施例提供的一种fpga部分重配置设备,传输端口包括pcie端口、网络端口、jtag端口。

本申请实施例提供的一种fpga部分重配置设备,包括存储器201及处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中的计算机子程序具体实现如下步骤:判断是否满足预设重配置条件,若是,则执行通过自身的传输端口按帧接收部分重配置文件的步骤,若否,则预设时长后执行判断是否满足预设重配置条件的步骤。

本申请实施例提供的一种fpga部分重配置设备,包括存储器201及处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中的计算机子程序具体实现如下步骤:判断是否具有重配置权限,若是,则判定满足预设重配置条件,若否,则判定不满足预设重配置条件。

本申请实施例提供的一种fpga部分重配置设备,包括存储器201及处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中的计算机子程序实现如下步骤:判断是否接收到管理员客户端发送的重配置指令,若是,则判定满足预设重配置条件,若否,则判定不满足预设重配置条件。

本申请实施例提供的一种fpga部分重配置设备,包括存储器201及处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中的计算机子程序实现如下步骤:通过自身的传输端口按帧接收部分重配置文件之前,复位fpga的部分重配置区域的全部信号。

本申请实施例提供的一种fpga部分重配置设备,包括存储器201及处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中的计算机子程序具体实现如下步骤:基于第一次校验结果和第二次校验结果判断重配置过程是否正确之后,若判定重配置过程正确,则返回重配置成功标志。

请参阅图5,本申请实施例提供的另一种fpga部分重配置设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现fpga部分重配置设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(hml)、通用串行总线(usb)、高清多媒体接口(hdmi)、无线连接:无线保真技术(wifi)、蓝牙通信技术、低功耗蓝牙通信技术、基于ieee802.11s的通信技术。

本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:

通过自身的传输端口按帧接收部分重配置文件;

对每一帧部分重配置文件进行重配置处理,重配置处理包括:

对每一帧部分重配置文件进行第一次crc校验,得到第一次校验结果;

按行将每一帧部分重配置文件重配置到fpga的部分重配置区域,并对每行部分重配置文件进行第二次crc校验,得到第二次校验结果;

基于第一次校验结果和第二次校验结果判断重配置过程是否正确,若否,则结束。

本申请实施例提供的一种计算机可读存储介质,传输端口包括pcie端口、网络端口、jtag端口。

本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机子程序,计算机子程序被处理器执行时具体实现如下步骤:判断是否满足预设重配置条件,若是,则执行通过自身的传输端口按帧接收部分重配置文件的步骤,若否,则预设时长后执行判断是否满足预设重配置条件的步骤。

本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机子程序,计算机子程序被处理器执行时具体实现如下步骤:判断是否具有重配置权限,若是,则判定满足预设重配置条件,若否,则判定不满足预设重配置条件。

本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机子程序,计算机子程序被处理器执行时具体实现如下步骤:判断是否接收到管理员客户端发送的重配置指令,若是,则判定满足预设重配置条件,若否,则判定不满足预设重配置条件。

本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机子程序,计算机子程序被处理器执行时具体实现如下步骤:通过自身的传输端口按帧接收部分重配置文件之前,复位fpga的部分重配置区域的全部信号。

本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机子程序,计算机子程序被处理器执行时具体实现如下步骤:基于第一次校验结果和第二次校验结果判断重配置过程是否正确之后,若判定重配置过程正确,则返回重配置成功标志。

本申请所涉及的计算机可读存储介质包括随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质。

本申请实施例提供的一种fpga部分重配置系统、设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的一种fpga部分重配置方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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