CN111857866A - 一种多动态核的加载方法、装置和计算机可读存储介质 - Google Patents
一种多动态核的加载方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111857866A CN111857866A CN202010606000.1A CN202010606000A CN111857866A CN 111857866 A CN111857866 A CN 111857866A CN 202010606000 A CN202010606000 A CN 202010606000A CN 111857866 A CN111857866 A CN 111857866A
- Authority
- CN
- China
- Prior art keywords
- data stream
- loading
- reconfiguration data
- reconfiguration
- dynamic core
- 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.)
- Granted
Links
- 238000011068 loading method Methods 0.000 title claims abstract description 120
- 238000000034 method Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 230000003068 static effect Effects 0.000 claims description 10
- 230000001960 triggered effect Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44578—Preparing or optimising for loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种多动态核的加载方法、装置和介质,当检测到动态核加载启动时,从预设的存储空间中读取重配置数据流;依据重配置数据流中携带的原始数据流,加载动态核。当重配置数据流中携带的读取地址不是结束地址时,依据重配置数据流中携带的读取地址从存储空间中读取下一条重配置数据流,并返回依据重配置数据流中携带的原始数据流,加载原始数据流所对应的动态核的步骤。通过从存储空间中读取重配置数据流,可以减少软件层面的加载操作命令。并且在每条重配置数据流中加入了下一条数据流的读取地址,FPGA依赖于读取地址可以实现动态核的自动加载,无需在每次加载动态核时通过软件层面触发FPGA,提升了动态核加载的效率。
Description
技术领域
本发明涉及硬件配置技术领域,特别是涉及一种多动态核的加载方法、装置和计算机可读存储介质。
背景技术
近年来,重配置(Partial Reconfiguration)功能被大量的在现场可编程门阵列(Field Programmable Gate Array,FGPA)中使用。重配置主要是指把整个FPGA划分为静态区域和动态区域,在系统运行过程中,可以对动态区域的逻辑功能进行重新配置。
目前,当多个动态核(kernel)的编译结果需要加载时,现有的方式一般是,软件层面(host端)执行一条操作命令去加载第一个动态核kernel;当需要加载另一个动态核kernel时,需要host端再次输入一条操作命令,去加载另一个动态核kernel。这种加载动态核的主要问题是,每当需要加载动态核kernel时,都需要host端的操作命令,软件需要和底层硬件进行交互,不是实时的,导致有额外延迟。
可见,如何提升动态核加载的效率,是本领域技术人员需要解决的问题。
发明内容
本发明实施例的目的是提供一种多动态核的加载方法、装置和计算机可读存储介质,可以提升动态核加载的效率。
为解决上述技术问题,本发明实施例提供一种多动态核的加载方法,包括:
当检测到动态核加载启动时,从预设的存储空间中读取重配置数据流;其中,所述重配置数据流包括原始数据流和下一条数据流的读取地址;
依据所述重配置数据流中携带的原始数据流,加载所述原始数据流所对应的动态核;
判断所述重配置数据流中携带的读取地址是否为结束地址;
当所述重配置数据流中携带的读取地址不是结束地址时,则依据所述重配置数据流中携带的读取地址从所述存储空间中读取下一条重配置数据流,并返回所述依据所述重配置数据流中携带的原始数据流,加载所述原始数据流所对应的动态核的步骤。
可选地,在所述判断所述重配置数据流中携带的读取地址是否为结束地址之前还包括:
判断寄存器中记录的状态数据是否为动态核加载完成的标志位;
当所述状态数据为动态核加载完成的标志位时,则执行所述判断所述重配置数据流中携带的读取地址是否为结束地址。
可选地,在所述当接收到动态核加载指令时,从预设的存储空间中读取重配置数据流之前还包括:
接收主机端传输的重配置数据流;
将所述重配置数据流存储至预设存储空间;其中,所述存储空间为独立的高速存储器或静态逻辑区内置的存储器。
可选地,所述重配置数据流还包括安全校验数据,相应的,在所述将所述重配置数据流存储至预设存储空间之前还包括:
判断所述重配置数据流中携带的安全校验数据是否与预先存储的校验信息匹配;
当所述重配置数据流中携带的安全校验数据与预先存储的校验信息匹配时,则执行所述将所述重配置数据流存储至预设存储空间的步骤。
可选地,所述当检测到动态核加载启动时,从预设的存储空间中读取重配置数据流包括:
判断是否接收到动态核加载指令;
当接收到动态核加载指令时,则从预设的存储空间中读取重配置数据流。
可选地,所述当检测到动态核加载启动时,从预设的存储空间中读取重配置数据流包括:
获取传感器采集的参数信息;
当所述参数信息与预先存储的校验信息匹配时,则从预设的存储空间中读取重配置数据流。
本发明实施例还提供了一种多动态核的加载装置,包括读取单元、加载单元和判断单元;
所述读取单元,用于当检测到动态核加载启动时,从预设的存储空间中读取重配置数据流;其中,所述重配置数据流包括原始数据流和下一条数据流的读取地址;
所述加载单元,用于依据所述重配置数据流中携带的原始数据流,加载所述原始数据流所对应的动态核;
所述判断单元,用于判断所述重配置数据流中携带的读取地址是否为结束地址;
所述读取单元还用于当所述重配置数据流中携带的读取地址不是结束地址时,则依据所述重配置数据流中携带的读取地址从所述存储空间中读取下一条重配置数据流,并返回所述依据所述重配置数据流中携带的原始数据流,加载所述原始数据流所对应的动态核的步骤。
可选地,还包括状态判断单元;
所述状态判断单元,用于判断寄存器中记录的状态数据是否为动态核加载完成的标志位;当所述状态数据为动态核加载完成的标志位时,则触发所述判断单元。
可选地,还包括接收单元和存储单元;
所述接收单元,用于接收主机端传输的重配置数据流;
所述存储单元,用于将所述重配置数据流存储至预设存储空间;其中,所述存储空间为独立的高速存储器或静态逻辑区内置的存储器。
可选地,所述重配置数据流还包括安全校验数据,相应的,所述装置还包括校验单元;
所述校验单元,用于判断所述重配置数据流中携带的安全校验数据是否与预先存储的校验信息匹配;当所述重配置数据流中携带的安全校验数据与预先存储的校验信息匹配时,则触发所述存储单元。
可选地,所述读取单元具体用于判断是否接收到动态核加载指令;当接收到动态核加载指令时,则从预设的存储空间中读取重配置数据流。
可选地,所述读取单元具体用于获取传感器采集的参数信息;当所述参数信息与预先存储的校验信息匹配时,则从预设的存储空间中读取重配置数据流。
本发明实施例还提供了一种多动态核的加载装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述任意一项所述多动态核的加载方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述多动态核的加载方法的步骤。
由上述技术方案可以看出,当检测到动态核加载启动时,从预设的存储空间中读取重配置数据流;其中,重配置数据流包括原始数据流和下一条数据流的读取地址;依据重配置数据流中携带的原始数据流,加载所述原始数据流所对应的动态核。判断所述重配置数据流中携带的读取地址是否为结束地址;当重配置数据流中携带的读取地址不是结束地址时,则依据重配置数据流中携带的读取地址从存储空间中读取下一条重配置数据流,并返回依据所述重配置数据流中携带的原始数据流,加载所述原始数据流所对应的动态核的步骤。在该技术方案中,通过从存储空间中读取重配置数据流,可以减少软件层面的加载操作命令。并且在每条重配置数据流中加入了下一条数据流的读取地址,FPGA依赖于读取地址可以实现动态核的自动加载,无需在每次加载动态核时通过软件层面触发FPGA,极大的减少了软件与FPGA的交互延迟,提升了动态核加载的效率。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种多动态核的加载方法的流程图;
图2为本发明实施例提供的一种FPGA的硬件架构图;
图3为本发明实施例提供的一种多动态核的加载装置的结构示意图;
图4为本发明实施例提供的一种多动态核的加载装置的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种多动态核的加载方法。图1为本发明实施例提供的一种多动态核的加载方法的流程图,该方法包括:
S101:当检测到动态核加载启动时,从预设的存储空间中读取重配置数据流。
本发明实施例提供的多动态核的加载方法适用于FGPA的重配置过程。在具体实现中,可以将加载不同的动态核所需的各数据流预先存储值预设的存储空间中,从而减少FPGA与软件层面即主机端的交互。
参见图2所示的一种FPGA的硬件架构图,FPGA可以划分为静态逻辑区(FPGAStatic Region)和动态逻辑区(FPGA PR Region)。其中,静态逻辑区内置有存储器,存储器的类型可以包括掉电丢失性存储资源ram和掉电非丢失性存储资源rom。其中静态逻辑区中PR Control Logic是PR的控制逻辑,PR Control Logic负责从存储空间读取重配置数据流,然后将这个重配置数据流写入到负责FPGA重配置的FPGA PR Controller,由FPGA PRController完成动态核的加载工作,从而实现FPGA的重配置功能。PR Control Logic和FPGA PR Controller均属于FPGA中划分的模块,为了便于描述,在本发明实施例中,将PRControl Logic和FPGA PR Controller统称为FPGA。
在实际应用中,重配置数据流可以由主机端传输给FPGA,结合图2中FPGA的硬件架构,静态逻辑区的PR Control Logic可以接收主机端传输的重配置数据流,然后将重配置数据流存储至预设存储空间。在本发明实施例中,存储空间可以为独立的高速存储器,也可以采用静态逻辑区内置的存储器,在此不做限定。
初始状态下,FPGA读取重配置数据流时需要触发条件,在实际应用中,触发条件的形式可以有多种。
一种可行的实现方式,FPGA可以判断是否接收到动态核加载指令;当接收到动态核加载指令时,则从预设的存储空间中读取重配置数据流。
其中,动态核加载指令可以由FPGA预先设置的检测逻辑发出,也可以由主机端向FPGA传输。
另一种可行的实现方式,FPGA可以获取传感器采集的参数信息;当参数信息与预先存储的校验信息匹配时,则从预设的存储空间中读取重配置数据流。
其中,参数信息可以是FPGA当前的电压值、电流值或者温度值等。以电压值为例,当电压值达到预设电压值时,则可以触发FPGA执行从预设的存储空间中读取重配置数据流的操作。
存储空间中存储的重配置数据流往往有多条,当FPGA在触发条件下完成第一条重配置数据流的读取之后,为了使得FPGA可以实现对剩余的重配置数据流的自动化读取,在本发明实施例中,针对于每条重配置数据流除了包含用于加载动态核所需的原始数据流之外,还可以在重配置数据流中携带下一条数据流的读取地址。也即每条重配置数据流可以包括原始数据流和下一条数据流的读取地址。
S102:依据重配置数据流中携带的原始数据流,加载原始数据流所对应的动态核。
原始数据流指的是用于实现加载动态核的二进制数据流。依据原始数据流加载动态核的过程属于现有的常规操作步骤,在此不再展开介绍。
S103:判断重配置数据流中携带的读取地址是否为结束地址。
在本发明实施例中,可以预先设定结束地址的形式,例如,将0xffff作为结束地址。
当重配置数据流中携带的读取地址为0xffff,则表明当前读取的重配置数据流为最后一条数据流,当FPGA完成该重配置数据流所对应的动态核的加载工作之后,便可以结束操作。当再次检测到动态核加载启动时,则可以开始新一轮的动态核的加载流程。
当重配置数据流中携带的读取地址不为0xffff,则表明当前读取的重配置数据流并非是最后一条数据流,当FPGA完成该重配置数据流所对应的动态核的加载工作之后,还需要从存储空间中读取下一条重配置数据流。因此,当重配置数据流中携带的读取地址不是结束地址时,则执行S104。
S104:依据重配置数据流中携带的读取地址从存储空间中读取下一条重配置数据流,并返回依据重配置数据流中携带的原始数据流,加载原始数据流所对应的动态核的步骤。
当前的重配置数据流中携带的读取地址为下一条重配置数据流所对应的地址,因此根据该条重配置数据流中携带的读取地址,便可以直接从存储空间读取到下一条重配置数据流。
由上述技术方案可以看出,当检测到动态核加载启动时,从预设的存储空间中读取重配置数据流;其中,重配置数据流包括原始数据流和下一条数据流的读取地址;依据重配置数据流中携带的原始数据流,加载所述原始数据流所对应的动态核。判断所述重配置数据流中携带的读取地址是否为结束地址;当重配置数据流中携带的读取地址不是结束地址时,则依据重配置数据流中携带的读取地址从存储空间中读取下一条重配置数据流,并返回依据所述重配置数据流中携带的原始数据流,加载所述原始数据流所对应的动态核的步骤。在该技术方案中,通过从存储空间中读取重配置数据流,可以减少软件层面的加载操作命令。并且在每条重配置数据流中加入了下一条数据流的读取地址,FPGA依赖于读取地址可以实现动态核的自动加载,无需在每次加载动态核时通过软件层面触发FPGA,极大的减少了软件与FPGA的交互延迟,提升了动态核加载的效率。
在读取了一条重配置数据流之后,需要保证完成该重配置数据流所对应的动态核的加载工作之后,再读取下一条重配置数据流。本实际应用中,可以根据加载一次动态核所花费的最长时间设置周期时间,当加载原始数据流所对应的动态核所花费的时间达到该周期时间时,则可以进一步判断重配置数据流中携带的读取地址是否为结束地址。
考虑到FPGA加载不同的动态核所花费的时间往往存在一些差异,为了更加准确的反映FPGA完成动态核加载工作,在本发明实施例中,可以在FPGA中定义一个一位寄存器kernel_switch_reg,通过该寄存器记录的状态数据反映动态核加载的完成情况。
相应的,在判断重配置数据流中携带的读取地址是否为结束地址之前,可以判断寄存器中记录的状态数据是否为动态核加载完成的标志位;当状态数据为动态核加载完成的标志位时,则执行判断重配置数据流中携带的读取地址是否为结束地址。
在实际应用中,当动态核加载完成时,动态核可以调整寄存器中记录的状态数据。例如,可以采用数字“1”表示当前的动态核执行完毕,需要加载下一个动态核;采用数字“0”表示0当前的动态核正在执行。在动态核执行加载的过程,寄存器中的状态数据为数字0。在动态核加载完成之后,动态核可以将寄存器中的状态数据调整为数字1。当寄存器中记录的状态数据为1时,则说明FPGA已经完成动态核加载工作,此时可以判断重配置数据流中携带的读取地址是否为结束地址。
通过设置用于记录反映动态核加载的完成情况的寄存器,可以便于FPGA直观的了解动态核的加载完成情况,从而可以在完成当前动态核的加载工作之后,执行对下一条重配置数据流的处理,保证了重配置数据流处理的及时性,从而提升了动态核加载的效率。
在本发明实施例中,为了保证存储空间中存储的重配置数据流的合法性,可以在将重配置数据流存入存储空间之前,对重配置数据流进行安全校验。
在具体实现中,可以在重配置数据流中携带安全校验数据,相应的,在将重配置数据流存储至预设存储空间之前,可以先判断重配置数据流中携带的安全校验数据是否与预先存储的校验信息匹配。当重配置数据流中携带的安全校验数据与预先存储的校验信息匹配时,则执行将重配置数据流存储至预设存储空间的步骤。
在本发明实施例中,可以在FPGA内部的寄存器中预先存储校验信息的具体形式,当重配置数据流中携带的安全校验数据与该校验信息一致时,则说明重配置数据流正确,此时可以将该重配置数据流存储至预设存储空间。
图3为本发明实施例提供的一种多动态核的加载装置的结构示意图,包括读取单元31、加载单元32和判断单元33;
读取单元31,用于当检测到动态核加载启动时,从预设的存储空间中读取重配置数据流;其中,重配置数据流包括原始数据流和下一条数据流的读取地址;
加载单元32,用于依据重配置数据流中携带的原始数据流,加载原始数据流所对应的动态核;
判断单元33,用于判断重配置数据流中携带的读取地址是否为结束地址;
读取单元31还用于当重配置数据流中携带的读取地址不是结束地址时,则依据重配置数据流中携带的读取地址从存储空间中读取下一条重配置数据流,并返回依据重配置数据流中携带的原始数据流,加载原始数据流所对应的动态核的步骤。
可选地,还包括状态判断单元;
状态判断单元,用于判断寄存器中记录的状态数据是否为动态核加载完成的标志位;当状态数据为动态核加载完成的标志位时,则触发判断单元。
可选地,还包括接收单元和存储单元;
接收单元,用于接收主机端传输的重配置数据流;
存储单元,用于将重配置数据流存储至预设存储空间;其中,存储空间为独立的高速存储器或静态逻辑区内置的存储器。
可选地,重配置数据流还包括安全校验数据,相应的,装置还包括校验单元;
校验单元,用于判断重配置数据流中携带的安全校验数据是否与预先存储的校验信息匹配;当重配置数据流中携带的安全校验数据与预先存储的校验信息匹配时,则触发存储单元。
可选地,读取单元具体用于判断是否接收到动态核加载指令;当接收到动态核加载指令时,则从预设的存储空间中读取重配置数据流。
可选地,读取单元具体用于获取传感器采集的参数信息;当参数信息与预先存储的校验信息匹配时,则从预设的存储空间中读取重配置数据流。
图3所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,当检测到动态核加载启动时,从预设的存储空间中读取重配置数据流;其中,重配置数据流包括原始数据流和下一条数据流的读取地址;依据重配置数据流中携带的原始数据流,加载所述原始数据流所对应的动态核。判断所述重配置数据流中携带的读取地址是否为结束地址;当重配置数据流中携带的读取地址不是结束地址时,则依据重配置数据流中携带的读取地址从存储空间中读取下一条重配置数据流,并返回依据所述重配置数据流中携带的原始数据流,加载所述原始数据流所对应的动态核的步骤。在该技术方案中,通过从存储空间中读取重配置数据流,可以减少软件层面的加载操作命令。并且在每条重配置数据流中加入了下一条数据流的读取地址,FPGA依赖于读取地址可以实现动态核的自动加载,无需在每次加载动态核时通过软件层面触发FPGA,极大的减少了软件与FPGA的交互延迟,提升了动态核加载的效率。
图4为本发明实施例提供的一种多动态核的加载装置4的硬件结构示意图,包括:
存储器41,用于存储计算机程序;
处理器42,用于执行计算机程序以实现如上述任意实施例所述的多动态核的加载方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任意实施例所述的多动态核的加载方法的步骤。
以上对本发明实施例所提供的一种多动态核的加载方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
Claims (10)
1.一种多动态核的加载方法,其特征在于,包括:
当检测到动态核加载启动时,从预设的存储空间中读取重配置数据流;其中,所述重配置数据流包括原始数据流和下一条数据流的读取地址;
依据所述重配置数据流中携带的原始数据流,加载所述原始数据流所对应的动态核;
判断所述重配置数据流中携带的读取地址是否为结束地址;
当所述重配置数据流中携带的读取地址不是结束地址时,则依据所述重配置数据流中携带的读取地址从所述存储空间中读取下一条重配置数据流,并返回所述依据所述重配置数据流中携带的原始数据流,加载所述原始数据流所对应的动态核的步骤。
2.根据权利要求1所述的多动态核的加载方法,其特征在于,在所述判断所述重配置数据流中携带的读取地址是否为结束地址之前还包括:
判断寄存器中记录的状态数据是否为动态核加载完成的标志位;
当所述状态数据为动态核加载完成的标志位时,则执行所述判断所述重配置数据流中携带的读取地址是否为结束地址。
3.根据权利要求1所述的多动态核的加载方法,其特征在于,在所述当接收到动态核加载指令时,从预设的存储空间中读取重配置数据流之前还包括:
接收主机端传输的重配置数据流;
将所述重配置数据流存储至预设存储空间;其中,所述存储空间为独立的高速存储器或静态逻辑区内置的存储器。
4.根据权利要求3所述的多动态核的加载方法,其特征在于,所述重配置数据流还包括安全校验数据,相应的,在所述将所述重配置数据流存储至预设存储空间之前还包括:
判断所述重配置数据流中携带的安全校验数据是否与预先存储的校验信息匹配;
当所述重配置数据流中携带的安全校验数据与预先存储的校验信息匹配时,则执行所述将所述重配置数据流存储至预设存储空间的步骤。
5.根据权利要求1-4任意一项所述的多动态核的加载方法,其特征在于,所述当检测到动态核加载启动时,从预设的存储空间中读取重配置数据流包括:
判断是否接收到动态核加载指令;
当接收到动态核加载指令时,则从预设的存储空间中读取重配置数据流。
6.根据权利要求1-4任意一项所述的多动态核的加载方法,其特征在于,所述当检测到动态核加载启动时,从预设的存储空间中读取重配置数据流包括:
获取传感器采集的参数信息;
当所述参数信息与预先存储的校验信息匹配时,则从预设的存储空间中读取重配置数据流。
7.一种多动态核的加载装置,其特征在于,包括读取单元、加载单元和判断单元;
所述读取单元,用于当检测到动态核加载启动时,从预设的存储空间中读取重配置数据流;其中,所述重配置数据流包括原始数据流和下一条数据流的读取地址;
所述加载单元,用于依据所述重配置数据流中携带的原始数据流,加载所述原始数据流所对应的动态核;
所述判断单元,用于判断所述重配置数据流中携带的读取地址是否为结束地址;
所述读取单元还用于当所述重配置数据流中携带的读取地址不是结束地址时,则依据所述重配置数据流中携带的读取地址从所述存储空间中读取下一条重配置数据流,并返回所述依据所述重配置数据流中携带的原始数据流,加载所述原始数据流所对应的动态核的步骤。
8.根据权利要求7所述的多动态核的加载装置,其特征在于,还包括状态判断单元;
所述状态判断单元,用于判断寄存器中记录的状态数据是否为动态核加载完成的标志位;当所述状态数据为动态核加载完成的标志位时,则触发所述判断单元。
9.一种多动态核的加载装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至6任意一项所述多动态核的加载方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任意一项所述多动态核的加载方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010606000.1A CN111857866B (zh) | 2020-06-29 | 2020-06-29 | 一种多动态核的加载方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010606000.1A CN111857866B (zh) | 2020-06-29 | 2020-06-29 | 一种多动态核的加载方法、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111857866A true CN111857866A (zh) | 2020-10-30 |
CN111857866B CN111857866B (zh) | 2022-06-17 |
Family
ID=72988189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010606000.1A Active CN111857866B (zh) | 2020-06-29 | 2020-06-29 | 一种多动态核的加载方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111857866B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112218082A (zh) * | 2020-12-04 | 2021-01-12 | 北京电信易通信息技术股份有限公司 | 一种基于可重构的多视频编码加速设计的方法及系统 |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6326806B1 (en) * | 2000-03-29 | 2001-12-04 | Xilinx, Inc. | FPGA-based communications access point and system for reconfiguration |
US20050242835A1 (en) * | 2004-04-30 | 2005-11-03 | Xilinx, Inc. | Reconfiguration port for dynamic reconfiguration-controller |
CN202049755U (zh) * | 2011-05-11 | 2011-11-23 | 京微雅格(北京)科技有限公司 | 一种可编程器件 |
US8069329B1 (en) * | 2008-01-28 | 2011-11-29 | Lattice Semiconductor Corporation | Internally triggered reconfiguration of programmable logic devices |
CN102298344A (zh) * | 2011-05-05 | 2011-12-28 | 杭州电子科技大学 | 一种基于fpga动态部分可重构技术的局部热点缓和系统 |
CN103677916A (zh) * | 2013-12-10 | 2014-03-26 | 中国航空工业集团公司第六三一研究所 | 一种基于fpga的在线重配置系统及方法 |
CN104219121A (zh) * | 2014-09-16 | 2014-12-17 | 西南大学 | 基于fpga的串行总线通信在线重构方法 |
CN105095569A (zh) * | 2015-07-07 | 2015-11-25 | 北京航空航天大学 | 一种基于arm和flash的fpga重配置系统 |
CN106027510A (zh) * | 2016-05-13 | 2016-10-12 | 西南大学 | 工业以太网的通信网络的动态重构方法及系统 |
CN106291336A (zh) * | 2016-07-15 | 2017-01-04 | 上海华岭集成电路技术股份有限公司 | 一种 fpga 测试配置码流实时下载方法及系统 |
CN106372032A (zh) * | 2016-09-08 | 2017-02-01 | 北京航空航天大学 | 一种fpga动态重构方法 |
CN106843955A (zh) * | 2017-01-17 | 2017-06-13 | 西安电子科技大学 | 基于文件压缩及非接触式的fpga动态配置方法 |
CN107450948A (zh) * | 2017-07-28 | 2017-12-08 | 西安电子科技大学 | 一种低功耗的fpga自适应加载方法及系统 |
CN109451098A (zh) * | 2019-01-16 | 2019-03-08 | 郑州云海信息技术有限公司 | Fpga加速卡mac地址配置方法、装置及加速卡 |
CN109460383A (zh) * | 2018-12-29 | 2019-03-12 | 中科院计算技术研究所南京移动通信与计算创新研究院 | 静态可重构数字下变频装置、系统及其方法 |
CN109656870A (zh) * | 2018-11-19 | 2019-04-19 | 北京时代民芯科技有限公司 | 一种sram型fpga在轨动态重构管理系统及方法 |
CN110704365A (zh) * | 2019-08-20 | 2020-01-17 | 浙江大华技术股份有限公司 | 一种基于fpga的重构装置 |
CN111190855A (zh) * | 2019-12-13 | 2020-05-22 | 南京理工大学 | 一种fpga多重远程配置系统及方法 |
CN111274183A (zh) * | 2020-02-21 | 2020-06-12 | 山东超越数控电子股份有限公司 | 多路高速协议接口动态可重构系统及实现方法 |
-
2020
- 2020-06-29 CN CN202010606000.1A patent/CN111857866B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6326806B1 (en) * | 2000-03-29 | 2001-12-04 | Xilinx, Inc. | FPGA-based communications access point and system for reconfiguration |
US20050242835A1 (en) * | 2004-04-30 | 2005-11-03 | Xilinx, Inc. | Reconfiguration port for dynamic reconfiguration-controller |
US8069329B1 (en) * | 2008-01-28 | 2011-11-29 | Lattice Semiconductor Corporation | Internally triggered reconfiguration of programmable logic devices |
CN102298344A (zh) * | 2011-05-05 | 2011-12-28 | 杭州电子科技大学 | 一种基于fpga动态部分可重构技术的局部热点缓和系统 |
CN202049755U (zh) * | 2011-05-11 | 2011-11-23 | 京微雅格(北京)科技有限公司 | 一种可编程器件 |
CN103677916A (zh) * | 2013-12-10 | 2014-03-26 | 中国航空工业集团公司第六三一研究所 | 一种基于fpga的在线重配置系统及方法 |
CN104219121A (zh) * | 2014-09-16 | 2014-12-17 | 西南大学 | 基于fpga的串行总线通信在线重构方法 |
CN105095569A (zh) * | 2015-07-07 | 2015-11-25 | 北京航空航天大学 | 一种基于arm和flash的fpga重配置系统 |
CN106027510A (zh) * | 2016-05-13 | 2016-10-12 | 西南大学 | 工业以太网的通信网络的动态重构方法及系统 |
CN106291336A (zh) * | 2016-07-15 | 2017-01-04 | 上海华岭集成电路技术股份有限公司 | 一种 fpga 测试配置码流实时下载方法及系统 |
CN106372032A (zh) * | 2016-09-08 | 2017-02-01 | 北京航空航天大学 | 一种fpga动态重构方法 |
CN106843955A (zh) * | 2017-01-17 | 2017-06-13 | 西安电子科技大学 | 基于文件压缩及非接触式的fpga动态配置方法 |
CN107450948A (zh) * | 2017-07-28 | 2017-12-08 | 西安电子科技大学 | 一种低功耗的fpga自适应加载方法及系统 |
CN109656870A (zh) * | 2018-11-19 | 2019-04-19 | 北京时代民芯科技有限公司 | 一种sram型fpga在轨动态重构管理系统及方法 |
CN109460383A (zh) * | 2018-12-29 | 2019-03-12 | 中科院计算技术研究所南京移动通信与计算创新研究院 | 静态可重构数字下变频装置、系统及其方法 |
CN109451098A (zh) * | 2019-01-16 | 2019-03-08 | 郑州云海信息技术有限公司 | Fpga加速卡mac地址配置方法、装置及加速卡 |
CN110704365A (zh) * | 2019-08-20 | 2020-01-17 | 浙江大华技术股份有限公司 | 一种基于fpga的重构装置 |
CN111190855A (zh) * | 2019-12-13 | 2020-05-22 | 南京理工大学 | 一种fpga多重远程配置系统及方法 |
CN111274183A (zh) * | 2020-02-21 | 2020-06-12 | 山东超越数控电子股份有限公司 | 多路高速协议接口动态可重构系统及实现方法 |
Non-Patent Citations (2)
Title |
---|
LUKA DAOUD ET AL.: "《Real-time Bitstream Decompression Scheme for FPGAs Reconfiguration》", 《2018 IEEE 61ST INTERNATIONAL MIDWEST SYMPOSIUM ON CIRCUITS AND SYSTEMS (MWSCAS)》 * |
杨晓峰 等: "《FPGA动态局部重构在通用远程接口单元设计中的应用》", 《测控技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112218082A (zh) * | 2020-12-04 | 2021-01-12 | 北京电信易通信息技术股份有限公司 | 一种基于可重构的多视频编码加速设计的方法及系统 |
CN112218082B (zh) * | 2020-12-04 | 2021-03-16 | 北京电信易通信息技术股份有限公司 | 一种基于可重构的多视频编码加速设计的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111857866B (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107247636B (zh) | 一种固态硬盘中数据重建优化的方法及装置 | |
US20080016415A1 (en) | Evaluation system and method | |
CN111124870A (zh) | 一种接口测试方法及装置 | |
CN112100085B (zh) | 安卓应用程序稳定性测试方法、装置和设备 | |
CN111857866B (zh) | 一种多动态核的加载方法、装置和计算机可读存储介质 | |
CN117219146A (zh) | 一种面向安全启动的片上efuse读写控制装置及方法 | |
CN113268263A (zh) | 一种fpga的回读刷新方法和系统 | |
CN113960391A (zh) | 存储介质异常掉电测试装置及方法 | |
CN116166525A (zh) | 一种测试脚本的生成方法及装置 | |
CN115470141A (zh) | 一种故障模拟方法、装置及相关设备 | |
CN113849388B (zh) | 一种测试方法和装置、电子设备和存储介质 | |
CN106653091B (zh) | 芯片抗辐射能力的评测方法、装置及芯片 | |
CN113157512B (zh) | 实现大容量ssd在小内存机器上进行数据校验测试的方法 | |
US9513984B2 (en) | Hardware signal logging in embedded block random access memory | |
CN112256462B (zh) | NAND Flash存储器的寿命预估方法、装置及介质 | |
CN113821898A (zh) | 芯片子系统的随机验证方法、装置、设备和存储介质 | |
CN110473585B (zh) | 一种擦失效存储单元的替换方法、装置、设备及存储介质 | |
CN118072806A (zh) | 存储器检测方法、集成电路装置、存储介质及激光雷达 | |
JP6594712B2 (ja) | 半導体メモリ及び半導体メモリのベリファイ方法 | |
CN115509924A (zh) | 一种故障模拟方法、装置及相关设备 | |
CN111104334A (zh) | 基于eeprom模块接口软件的测试方法、装置及可读取存储介质 | |
CN113900928B (zh) | 一种io负载自动化测试方法、装置 | |
CN117131821B (zh) | 芯片验证方法、装置、电子设备及存储介质 | |
CN112468296B (zh) | 一种密钥编程方法、系统、电子设备及存储介质 | |
KR100600303B1 (ko) | 플래쉬 메모리 소자의 페이지 프로그램 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |