CN105808290B - 用于多fpga整机系统的远程动态更新系统和方法 - Google Patents

用于多fpga整机系统的远程动态更新系统和方法 Download PDF

Info

Publication number
CN105808290B
CN105808290B CN201610118505.7A CN201610118505A CN105808290B CN 105808290 B CN105808290 B CN 105808290B CN 201610118505 A CN201610118505 A CN 201610118505A CN 105808290 B CN105808290 B CN 105808290B
Authority
CN
China
Prior art keywords
fpga
fpgas
external
flash memory
module
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.)
Active
Application number
CN201610118505.7A
Other languages
English (en)
Other versions
CN105808290A (zh
Inventor
舒琳
蒿杰
赵良田
穆敬彬
冯卉
宋亚芳
范秋香
李程程
张忠红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenyang Institute of Automation of CAS
Original Assignee
Shenyang Institute of Automation of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenyang Institute of Automation of CAS filed Critical Shenyang Institute of Automation of CAS
Priority to CN201610118505.7A priority Critical patent/CN105808290B/zh
Publication of CN105808290A publication Critical patent/CN105808290A/zh
Application granted granted Critical
Publication of CN105808290B publication Critical patent/CN105808290B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading

Abstract

本发明公开了一种用于多FPGA整机系统的远程动态更新系统和方法。其中,第一FPGA用于更新所述外部flash存储器中的所述至少一第二FPGA的配置文件,以及对所述至少一第二FPGA进行配置;外部flash存储器用于存储所述第一FPGA和所述至少一第二FPGA的所述配置文件;外部SDRAM存储器用于暂存所述至少一第二FPGA更新的配置文件;通信接口用于接收远程上位机发送来的控制字命令以及所述至少一第二FPGA的所述配置文件。本发明实现了结构简单、使用物理资源少、灵活多变、便于远程操作、满足多种试验需求、整机系统升级方便快捷的技术效果。

Description

用于多FPGA整机系统的远程动态更新系统和方法
技术领域
本发明实施例涉及数字电路技术领域,尤其是涉及一种用于多FPGA整机系统的远程动态更新系统和方法。
背景技术
FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,其具有丰富的逻辑资源、IO资源。FPGA具有设计周期短、开发费用低、风险小及可靠性高的优点,因而其在数字系统中应用广泛。
但是,通用的大容量FPGA一般基于掉电易失性存储器设计,其在掉电后不能保存配置文件。为了保证FPGA能够正常工作,必须每次上电后对FPGA进行重新配置。目前常用的FPGA配置方式有三种。第一种是采用JTAG(Joint Test Action Group)在线配置。即采用FPGA厂商专用的下载工具,将FPGA配置文件直接写入FPGA芯片内部的易失性存储器中,FPGA就可以正常工作了。此方法适用于单板卡的频繁调试,但是下载速度较慢,且由于下载工具的限制不适用于远程调试。第二种是FPGA外接非易失性存储器,上电自加载非易失性存储器中的配置文件进行配置。此方法适用于功能单一的定制FPGA系统,灵活性比较差。第三种是通过第三方处理器进行加载。此方法相对灵活,便于远程操作与系统升级,但是目前已有的各种方案所需物理资源较多、设计复杂且成本相对较高。
在多FPGA整机系统应用中,要求能够整机远程调试、远程多功能切换以及远程整机升级等等。已有的FPGA配置方案大都着重于单板卡或者单片FPGA应用,无法满足多FPGA整机系统的这种灵活配置需求。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种用于多FPGA整机系统的远程动态更新系统和方法。
为了实现上述目的,根据本发明的一个方面,提供了以下技术方案:
一种用于多FPGA整机系统的远程动态更新系统,其中,所述多FPGA整机系统与远程上位机通信连接;所述系统至少包括:第一FPGA、至少一第二FPGA、外部flash存储器、外部SDRAM存储器及通信接口;其中,所述第一FPGA分别与所述至少一第二FPGA、所述外部flash存储器、所述外部SDRAM存储器和所述通信接口相连;
所述第一FPGA,用于更新所述外部flash存储器中的所述至少一第二FPGA的配置文件,以及对所述至少一第二FPGA进行配置;
所述外部flash存储器,用于存储所述第一FPGA和所述至少一第二FPGA的所述配置文件;
所述外部SDRAM存储器,用于暂存所述至少一第二FPGA更新的配置文件;
所述通信接口,用于接收远程上位机发送来的控制字命令以及所述至少一第二FPGA的所述配置文件。
根据本发明的另一个方面,还提供了一种用于多FPGA整机系统的远程动态更新方法;所述多FPGA整机系统包括第一FPGA、至少一第二FPGA、外部flash存储器、外部SDRAM存储器及通信接口;其中,所述第一FPGA分别与所述至少一第二FPGA、所述外部flash存储器、所述外部SDRAM存储器和所述通信接口相连;
所述方法至少包括:
所述第一FPGA自加载所述外部flash存储器中的所述第一FPGA的配置文件;
所述第一FPGA从所述外部flash存储器加载所述至少一第二FPGA的配置文件,对所述至少一第二FPGA进行配置;
所述第一FPGA实时监测所述通信接口是否接收到控制字命令,若否,则所述多FPGA整机系统运行默认配置;若是,则执行相应的操作:远程调试、远程功能切换或远程系统升级。
与现有技术相比,上述技术方案至少具有以下有益效果:
本发明实施例通过设置第一FPGA、至少一第二FPGA、外部flash存储器、外部SDRAM存储器及通信接口,且第一FPGA分别与至少一第二FPGA、外部flash存储器、外部SDRAM存储器和通信接口相连,并进行如下配置:第一FPGA用于更新所述外部flash存储器中的至少一第二FPGA的配置文件,以及对至少一第二FPGA进行配置;外部flash存储器用于存储第一FPGA和至少一第二FPGA的配置文件;外部SDRAM存储器用于暂存至少一第二FPGA更新的配置文件;通信接口用于接收远程上位机发送来的控制字命令以及至少一第二FPGA的配置文件。从而实现了结构简单、使用物理资源少、灵活多变、便于远程操作、满足多种试验需求、整机系统升级方便快捷的技术效果。
附图说明
图1为根据一示例性实施例示出的用于多FPGA整机系统的远程动态更新系统的结构示意图;
图2为根据一示例性实施例示出的第一FPGA的结构示意图;
图3为根据一示例性实施例示出的多FPGA整机系统运行默认配置的流程示意图;
图4为根据一示例性实施例示出的远程调试的流程示意图;
图5为根据一示例性实施例示出的远程功能切换的流程示意图;
图6为根据一示例性实施例示出的远程升级的流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。需要说明的是,在下面的描述中,为了方便理解,给出了许多具体细节。但是很明显,本发明的实现可以没有这些具体细节。需要说明的是,在没有明确限定或不冲突的情况下,本发明中的各个实施例及其中的技术特征可以相互组合而形成技术方案。
本发明实施例提供一种用于多FPGA整机系统的远程动态更新系统,其中,多FPGA整机系统与远程上位机通信连接;如图1所示,该系统10至少包括:第一FPGA11、至少一第二FPGA12、外部flash存储器13、外部SDRAM存储器15及通信接口14;其中,第一FPGA11分别与至少一第二FPGA12、外部flash存储器13、外部SDRAM存储器15和通信接口14相连;第一FPGA11用于更新外部flash存储器中的至少一第二FPGA的配置文件,以及对至少一第二FPGA进行配置。外部flash存储器13用于存储第一FPGA和至少一第二FPGA的配置文件。外部SDRAM存储器15用于暂存至少一第二FPGA更新的配置文件。通信接口14用于接收远程上位机发送来的控制字命令以及至少一第二FPGA的所述配置文件。
在上述实施例中,第一FPGA11用于系统配置。第一FPGA11要实现的功能是基本确定的,其配置文件存储在外部flash存储器13的固定存储空间上,上电后可自加载其配置文件。在实际应用中,可用FPGA厂商自带的工具将各单板上第一FPGA11的配置文件烧写到外部flash存储器13的指定空间。当多FPGA整机系统上电以后,第一FPGA11自加载外部flash存储器指定空间上的配置文件。待第一FPGA11配置完成,即可实现各功能。
第二FPGA12的功能是会根据实际应用需求变化的,对应配置文件的需求是可动态更新的。第二FPGA12根据实际应用可以有多片(FPGA1、FPGA2、……、FPGAn)。第二FPGA12用于计算,也可称为计算用FPGA。
外部flash存储器13中预先存储第二FPGA的几个常用版本的配置文件。这样方便多FPGA整机系统一上电就能进行快速配置,使得多FPGA整机系统快速进入工作状态。外部flash存储器13优选为非易失性存储器。
通信接口14可以采用以太网、USB或串口等方式与上位机进行连接。
如图2所示,在上述实施例的基础上,上述第一FPGA20具体可以包括:通信接口模块21、管理模块22、外部flash存储器更新模块23、第二FPGA配置文件加载模块24和外部SDRAM存储器暂存模块25。其中,通信接口模块21用于与通信接口相连。管理模块22用于根据通信接口模块接收的控制字命令,确定相应的操作。外部SDRAM存储器暂存模块25与外部SDRAM存储器相连,用于暂存至少一第二FPGA的配置文件。外部flash存储器更新模块23与外部flash存储器相连,用于根据管理模块确定的相应操作,来对外部flash存储器中的至少一第二FPGA的配置文件进行更新。第二FPGA配置文件加载模块24用于对至少一第二FPGA进行配置。
在实际应用中,多FPGA整机系统上电后可以运行默认配置。只要第一FPGA自加载配置完成以后,第二FPGA配置文件加载模块就会读取外部flash存储器中的第二FPGA默认配置文件,对第二FPGA进行配置。同时,第一FPGA上连接的通信接口已经初始化成功。
通信接口模块对接收到的包进行解析。若没有接收到控制字命令,则多FPGA整机系统继续运行上电加载的默认配置。若接收到的包为控制命令字,则将接收到的数据发给管理模块;若接收到的包为FPGA配置文件,则将接收到的数据发给外部SDRAM存储器暂存模块。
在上述实施例的基础上,若通信接口模块接收到的控制字命令为远程调试,则通信接口模块将远程调试控制字命令发送给管理模块,并将至少一第二FPGA的配置文件暂存至外部SDRAM存储器暂存模块。外部SDRAM存储器暂存模块将至少一第二FPGA的配置文件暂存到外部SDRAM存储器中。管理模块根据远程调试控制字命令调用第二FPGA配置文件加载模块从外部SDRAM存储器中加载配置文件。
在实际实施过程中,远程调试适用于第二FPGA功能不完全确定的调试阶段。通信接口模块将接收到的FPGA配置文件暂存到外部SDRAM存储器中,第二FPGA配置文件加载模块直接从外部SDRAM存储器中读取配置文件,并对第二FPGA进行配置,不对外部flash存储器中第二FPGA配置文件进行更新,这样能够提高外部flash存储器的寿命。
在上述实施例的基础上,若通信接口模块接收到的控制字命令为远程功能切换,则通信接口模块将远程功能切换控制字命令发送给管理模块。管理模块根据远程功能切换控制字命令,调用第二FPGA配置文件加载模块从外部flash存储器中加载与至少一第二FPGA对应的配置文件。
在实际实施过程中,远程功能切换适用于同一套多FPGA整机系统分时段实现不同功能的场景。外部flash存储器中存储了第二FPGA的多个版本的配置文件。管理模块根据通信接口接收到的控制字命令,调用第二FPGA配置文件加载模块从外部flash存储器中加载与至少一第二FPGA对应的配置文件,并对第二FPGA进行配置。
在上述实施例的基础上,若通信接口模块接收到的控制字命令为远程升级,则,通信接口模块将远程升级控制字命令发送给管理模块,并将所接收的至少一第二FPGA的配置文件暂存至外部SDRAM存储器暂存模块。外部SDRAM存储器暂存模块将至少一第二FPGA的配置文件暂存至外部SDRAM存储器中。管理模块根据远程升级控制字命令调用外部flash存储器更新模块,以根据外部SDRAM存储器中的配置文件进行更新。第二FPGA配置文件加载模块加载外部flash存储器更新模块更新后的配置文件。
在实际实施过程中,远程升级适用于多FPGA整机系统的功能升级。通信接口模块将接收到的第二FPGA的配置文件暂存到外部SDRAM存储器中。然后,管理模块根据以通信接口接收到的控制字命令,通知外部flash存储器更新模块对相应存储空间的FPGA配置文件进行更新。待更新完毕以后,第二FPGA配置文件加载模块读取更新后的FPGA配置文件对第二FPGA进行配置。
下面以一优选实施例来对本发明进行详细的说明。
第一FPGA用于系统配置,可称之为系统配置用FPGA。第二FPGA用于计算,可称之为计算用FPGA。本实施例采用两片计算用FPGA,即FPGA1和FPGA2。其中,将系统配置用FPGA配置为具有:通信接口模块、管理模块、外部SDRAM存储器暂存模块、外部flash存储器更新模块以及FPGA1和FPGA2配置文件加载模块。通信接口模块与通信接口相连。
本实施例使用FPGA厂商自带的工具将系统配置用FPGA的配置文件烧写到外部flash存储器的指定空间中,并采用本更新系统将FPGA1和FPGA2几个常用版本的配置文件烧写到外部flash存储器器中。
多FPGA整机系统进行上电。之后,系统配置用FPGA自加载外部flash存储器指定空间上的配置文件。当系统配置用FPGA自加载完成之后,FPGA1和FPGA2配置文件加载模块就会读取外部flash存储器中的FPGA1和FPGA2的默认配置文件,并对FPGA1和FPGA2进行配置。同时,系统配置用FPGA上连接的通信接口已经初始化成功,通信接口模块对接收到的包进行解析。若通信接口模块没有接收到控制字命令,则多FPGA系统继续运行上电加载的默认配置。
若通信接口模块接收到的包为控制字命令且控制字命令为远程调试,则通信接口模块将接收到的FPGA1或者FPGA2的配置文件写入到外部SDRAM存储器中。待完整的配置文件接收完毕,管理模块通知FPGA1和FPGA2配置文件加载模块去读取外部SDRAM存储器中的配置文件,并对FPGA1或者FPGA2进行重新配置。
若通信接口模块接收到的包为控制字命令且控制字命令为远程功能切换,则管理模块通知FPGA1和FPGA2配置文件加载模块去读取外部flash存储器中对应版本的配置文件,并对FPGA1或者FPGA2进行重新配置。
若通信接口模块接收到的包为控制字命令且控制字命令为远程升级,则通信接口模块将接收到的FPGA1或者FPGA2的配置文件写入到外部SDRAM存储器中。待完整的配置文件接收完毕,管理模块通知外部flash存储器更新模块去读取外部SDRAM存储器中的配置文件,将其更新到外部flash存储器对应存储空间上。待外部flash存储器对应存储空间上的配置文件更新完毕,管理模块通知FPGA1和FPGA2配置文件加载模块去读取外部flash存储器中更新后的配置文件,并对FPGA1或者FPGA2进行重新配置。
此外,本发明实施例还提供一种用于多FPGA整机系统的远程动态更新方法。该方法可由上述系统执行。该方法至少包括:
S31:第一FPGA自加载外部flash存储器中的第一FPGA的配置文件。
S32:第一FPGA从外部flash存储器加载至少一第二FPGA的配置文件,对至少一第二FPGA进行配置。
S33:第一FPGA实时监测通信接口是否接收到控制字命令,若否,则多FPGA整机系统运行默认配置。
图3示例性地示出了多FPGA整机系统运行默认配置的流程图,如图3所示。其中,FPGA0为第一FPGA。FPGA1和FPGA2为第二FPGA。
系统上电后,FPGA0自加载,FPGA0加载FPGA1和FPGA2的默认配置文件配置FPGA1和FPGA2,然后,实时监测通信接口是否接收到控制字命令,若未收到控制字命令,则FPGA系统继续运行默认配置。
在步骤S33中,若接收到控制字命令,则执行相应的操作,如远程调试、远程功能切换、远程系统升级。即,还会有以下情况:
(1)在通信接口接收到控制字命令且控制字命令为远程调试的情况下,将至少一第二FPGA的配置文件暂存到外部SDRAM存储器中;然后,从外部SDRAM存储器中读取配置文件,对至少一第二FPGA进行配置。
以图3所示实施例为基础,下面结合图4详细说明远程调试的流程,如图4所示。
S40:系统上电。
S41:FPGA0自加载。
S42:FPGA0加载FPGA1和FPGA2的默认配置文件配置FPGA1和FPGA2。
S43:实时监测通信接口是否接收到控制字命令,若接收到的控制字命令为远程调试。
S44:将通信接口接收到的FPGA1或者FPGA2的配置文件写入外部SDRAM存储器。
S45:读取外部SDRAM存储器中FPGA1或者FPGA2的配置文件重新配置FPGA1或者FPGA2。
S46:FPGA1、FPGA2配置完成,正常工作。
(2)在通信接口接收到控制字命令且控制字命令为远程功能切换的情况下,从外部flash存储器中读取与至少一第二FPGA对应的配置文件,并对至少一第二FPGA进行配置。
以图3所示实施例为基础,下面结合图5详细说明远程功能切换的流程,如图5所示。
S50:系统上电。
S51:FPGA0自加载。
S52:FPGA0加载FPGA1和FPGA2的默认配置文件配置FPGA1和FPGA2。
S53:实时监测通信接口是否接收到控制字命令,若接收到的控制字命令为远程功能切换。
S54:读取外部flash存储器中指定版本的FPGA1或者FPGA2的配置文件重新配置FPGA1或者FPGA2。
S55:FPGA1、FPGA2配置完成,正常工作。
(3)在通信接口接收到控制字命令且控制字命令为远程升级的情况下,将至少一第二FPGA的配置文件写入至外部SDRAM存储器中;读取外部SDRAM存储器中至少一第二FPGA的配置文件,并将其更新至外部flash存储器;读取外部flash存储器中更新后的配置文件,对至少一第二FPGA进行配置。
以图3所示实施例为基础,下面结合图6详细说明远程升级的流程,如图6所示。
S60:系统上电。
S61:FPGA0自加载。
S62:FPGA0加载FPGA1和FPGA2的默认配置文件配置FPGA1和FPGA2。
S63:实时监测通信接口是否接收到控制字命令,若接收到的控制字命令为远程升级。
S64:将通信接口接收到的FPGA1或者FPGA2的配置文件写入外部SDRAM存储器中。
S65:读取外部SDRAM存储器中FPGA1或者FPGA2的配置文件,更新到外部flash存储器对应的存储空间上。
S66:读取外部flash存储器中更新后的FPGA1或者FPGA2的配置文件,重新配置FPGA1或者FPGA2。
S67:FPGA1、FPGA2处理器配置完成,正常工作。
本实施例中虽然将各个步骤按照上述先后次序的方式进行了描述,但是本领域技术人员可以理解,为了实现本实施例的效果,不同的步骤之间不必按照这样的次序执行,其可以同时(并行)执行或以颠倒的次序执行,这些简单的变化都在本发明的保护范围之内。
如本文中所使用的,术语“模块”可以指代在计算系统上执行的软件对象或例程。可以将本文中所描述的不同模块实现为在计算系统上执行的对象或过程(例如,作为独立的线程)。
虽然本文说明了大量的具体细节。但是,应该能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实施例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
本发明并不限于上述实施方式,在不背离本发明实质内容的情况下,本领域普通技术人员可以想到的任何变形、改进或替换均落入本发明的保护范围。

Claims (8)

1.一种用于多FPGA整机系统的远程动态更新系统,其中,所述多FPGA整机系统与远程上位机通信连接;其特征在于,所述系统至少包括:第一FPGA、两个或多个第二FPGA、外部flash存储器、外部SDRAM存储器及通信接口;其中,所述第一FPGA分别与所述两个或多个第二FPGA、所述外部flash存储器、所述外部SDRAM存储器和所述通信接口相连;
所述第一FPGA,用于更新所述外部flash存储器中的所述两个或多个第二FPGA的配置文件,以及对所述两个或多个第二FPGA进行配置;
所述外部flash存储器,用于存储所述第一FPGA和所述两个或多个第二FPGA的所述配置文件;
所述外部SDRAM存储器,用于暂存所述两个或多个第二FPGA更新的配置文件;
所述通信接口,用于接收远程上位机发送来的控制字命令以及所述两个或多个第二FPGA的所述配置文件;
所述第一FPGA具体包括:
通信接口模块,用于与所述通信接口相连,并将所述控制字命令发送至管理模块以及将所述两个或多个第二FPGA的所述配置文件发送至所述外部SDRAM存储器暂存模块;
所述管理模块,用于根据所述通信接口模块接收的所述控制字命令,确定相应的操作;
外部SDRAM存储器暂存模块,与所述外部SDRAM存储器相连,用于暂存所述两个或多个第二FPGA的所述配置文件;
外部flash存储器更新模块,与所述外部flash存储器相连,用于根据所述管理模块确定的相应操作以及所述外部SDRAM存储器中暂存的所述两个或多个第二FPGA的所述配置文件,来对所述外部flash存储器中的所述两个或多个第二FPGA的配置文件进行更新;
第二FPGA配置文件加载模块,用于根据所述管理模块确定的相应操作,加载所述外部SDRAM存储器中暂存的所述两个或多个第二FPGA的所述配置文件或者所述外部flash存储器中存储的所述两个或多个第二FPGA的所述配置文件,以对所述两个或多个第二FPGA进行配置。
2.根据权利要求1所述的系统,其特征在于,
所述通信接口模块,还用于在接收到的所述控制字命令为远程调试的情况下,将所述两个或多个第二FPGA的所述配置文件暂存至所述外部SDRAM存储器暂存模块;
所述外部SDRAM存储器暂存模块,用于将所述两个或多个第二FPGA的所述配置文件暂存到所述外部SDRAM存储器中;
所述管理模块,还用于调用所述第二FPGA配置文件加载模块从所述外部SDRAM存储器中加载所述配置文件。
3.根据权利要求1所述的系统,其特征在于,
所述通信接口模块,还用于在接收到的所述控制字命令为远程功能切换的情况下通知所述管理模块;
所述管理模块,还用于调用所述第二FPGA配置文件加载模块从所述外部flash存储器中加载与所述两个或多个第二FPGA对应的配置文件。
4.根据权利要求1所述的系统,其特征在于,
所述通信接口模块,还用于在接收到的所述控制字命令为远程升级的情况下,将所接收的所述两个或多个第二FPGA的所述配置文件暂存至所述外部SDRAM存储器暂存模块;
所述外部SDRAM存储器暂存模块,用于将所述两个或多个第二FPGA的所述配置文件暂存至所述外部SDRAM存储器中;
所述管理模块,还用于调用所述外部flash存储器更新模块,以根据所述外部SDRAM存储器中的所述配置文件进行更新;
所述第二FPGA配置文件加载模块,还用于加载所述外部flash存储器更新模块更新后的配置文件。
5.一种用于多FPGA整机系统的远程动态更新方法,其中,所述多FPGA整机系统包括第一FPGA、两个或多个第二FPGA、外部flash存储器、外部SDRAM存储器及通信接口;其中,所述第一FPGA分别与所述两个或多个第二FPGA、所述外部flash存储器、所述外部SDRAM存储器和所述通信接口相连;
其特征在于,所述方法至少包括:
所述第一FPGA自加载所述外部flash存储器中的所述第一FPGA的配置文件;
所述第一FPGA从所述外部flash存储器加载所述两个或多个第二FPGA的配置文件,对所述两个或多个第二FPGA进行配置;
所述第一FPGA实时监测所述通信接口是否接收到控制字命令,若否,则所述多FPGA整机系统运行默认配置;
所述第一FPGA具体包括:
通信接口模块,用于与所述通信接口相连,并将所述控制字命令发送至管理模块以及将所述两个或多个第二FPGA的所述配置文件发送至所述外部SDRAM存储器暂存模块;
所述管理模块,用于根据所述通信接口模块接收的所述控制字命令,确定相应的操作;
外部SDRAM存储器暂存模块,与所述外部SDRAM存储器相连,用于暂存所述两个或多个第二FPGA的所述配置文件;
外部flash存储器更新模块,与所述外部flash存储器相连,用于根据所述管理模块确定的相应操作以及所述外部SDRAM存储器中暂存的所述两个或多个第二FPGA的所述配置文件,来对所述外部flash存储器中的所述两个或多个第二FPGA的配置文件进行更新;
第二FPGA配置文件加载模块,用于根据所述管理模块确定的相应操作,加载所述外部SDRAM存储器中暂存的所述两个或多个第二FPGA的所述配置文件或者所述外部flash存储器中存储的所述两个或多个第二FPGA的所述配置文件,以对所述两个或多个第二FPGA进行配置。
6.根据权利要求5所述的方法,其特征在于,在所述通信接口接收到所述控制字命令且所述控制字命令为远程调试的情况下,则:
将所述两个或多个第二FPGA的所述配置文件暂存到所述外部SDRAM存储器中;
从所述外部SDRAM存储器中读取所述配置文件,对所述两个或多个第二FPGA进行配置。
7.根据权利要求5所述的方法,其特征在于,在所述通信接口接收到所述控制字命令且所述控制字命令为远程功能切换的情况下,则:
从所述外部flash存储器中读取与所述两个或多个第二FPGA对应的配置文件,并对所述两个或多个第二FPGA进行配置。
8.根据权利要求5所述的方法,其特征在于,在所述通信接口接收到所述控制字命令且所述控制字命令为远程升级的情况下,则:
将所述两个或多个第二FPGA的所述配置文件写入至所述外部SDRAM存储器中;
读取所述外部SDRAM存储器中所述两个或多个第二FPGA的所述配置文件,并将其更新至所述外部flash存储器;
读取所述外部flash存储器中更新后的配置文件,对所述两个或多个第二FPGA进行配置。
CN201610118505.7A 2016-03-02 2016-03-02 用于多fpga整机系统的远程动态更新系统和方法 Active CN105808290B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610118505.7A CN105808290B (zh) 2016-03-02 2016-03-02 用于多fpga整机系统的远程动态更新系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610118505.7A CN105808290B (zh) 2016-03-02 2016-03-02 用于多fpga整机系统的远程动态更新系统和方法

Publications (2)

Publication Number Publication Date
CN105808290A CN105808290A (zh) 2016-07-27
CN105808290B true CN105808290B (zh) 2020-02-07

Family

ID=56466323

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610118505.7A Active CN105808290B (zh) 2016-03-02 2016-03-02 用于多fpga整机系统的远程动态更新系统和方法

Country Status (1)

Country Link
CN (1) CN105808290B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106569858B (zh) * 2016-10-31 2019-08-20 锐捷网络股份有限公司 一种配置文件的更新方法以及电路板
CN106682296A (zh) * 2016-12-19 2017-05-17 西安微电子技术研究所 一种面向fpga的多路通用化配置加载控制系统及方法
CN106919734A (zh) * 2017-01-10 2017-07-04 北京中科睿芯科技有限公司 一种多fpga上电自动配置方法
CN106843955A (zh) * 2017-01-17 2017-06-13 西安电子科技大学 基于文件压缩及非接触式的fpga动态配置方法
CN106843959A (zh) * 2017-01-18 2017-06-13 株洲变流技术国家工程研究中心有限公司 一种fpga远程更新装置及方法
CN109062622A (zh) * 2018-08-21 2018-12-21 北京无线电测量研究所 一种基于远程fpga加载系统和方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102087606B (zh) * 2011-02-16 2014-02-05 电子科技大学 一种fpga配置文件更新装置
CN102184158B (zh) * 2011-03-31 2014-04-23 杭州海康威视数字技术股份有限公司 带两级fpga芯片的子板及两级fpga芯片的配置方法
US8891405B2 (en) * 2012-07-18 2014-11-18 International Business Machines Corporation Integrated device management over Ethernet network
CN103530164A (zh) * 2013-10-30 2014-01-22 广东威创视讯科技股份有限公司 一种fpga配置文件远程更新的方法及装置
CN103970565A (zh) * 2014-04-24 2014-08-06 浪潮电子信息产业股份有限公司 一种服务器系统中fpga多途径下载配置实现方法

Also Published As

Publication number Publication date
CN105808290A (zh) 2016-07-27

Similar Documents

Publication Publication Date Title
US10389813B2 (en) Reconfigurable cloud computing
Wang et al. A simulation approach to evaluating design decisions in mapreduce setups
US7793035B2 (en) Memory system and controller
US7216223B2 (en) Configuring multi-thread status
CN103207797B (zh) 基于通用可扩展固件接口固件系统的胶囊式定制更新方法
US7200845B2 (en) System and method for high availability firmware load
US10216509B2 (en) Continuous and automatic application development and deployment
US7032103B2 (en) System and method for executing hybridized code on a dynamically configurable hardware environment
KR20120090805A (ko) Sas 제어기 장치, phy 구성 방법 및 phy 재구성 방법
KR20070034239A (ko) 소프트웨어 업데이트 방법 및 시스템과 그 방법을 기록한컴퓨터 판독 가능한 기록매체
CN101882085B (zh) 系统启动方法以及嵌入式设备
US6981135B1 (en) System and method of configuring system components
JP2018508053A (ja) ポートコントローラの、それ自体の外部ポートを介したポートコントローラの再プログラミング
US6816927B2 (en) Method and system for automatic updating an access path to the system disk of a hardware perimeter of computer
CN103559053B (zh) 一种板卡系统及通信接口卡fpga在线升级方法
US7228544B2 (en) Job processing method, job processing unit, and storage managing system
KR20060047766A (ko) 가상 기계 환경에서 에뮬레이트된 장치들을 개발하기 위한시스템 및 방법
KR20140125777A (ko) 분산 시스템에서의 자체 업데이트 기능
CN101901156B (zh) 一种处理器应用程序动态加载方法及其系统
US20050223186A1 (en) Device-level address translation within a programmable non-volatile memory device
US9652252B1 (en) System and method for power based selection of boot images
MX2012005934A (es) SOLID STATE DISK (SSD) MULTI-INTERFACE, PROCESSING METHOD AND SYSTEM OF THE SAME.
US9652410B1 (en) Automated modification of configuration settings of an integrated circuit
JP6453971B2 (ja) マルチプロセッサ組込みシステム上でのアプリケーションの動的再構成
CN1333358C (zh) 具有配置初始化功能的内电路配置结构

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20171129

Address after: 102412 Beijing City, Fangshan District Yan Village Yan Fu Road No. 1 No. 11 building 4 layer 402

Applicant after: Beijing Si Lang science and Technology Co., Ltd.

Address before: 100080 Zhongguancun East Road, Beijing, No. 95, No.

Applicant before: Institute of Automation, Chinese Academy of Sciences

Effective date of registration: 20171129

Address after: 102412 Beijing City, Fangshan District Yan Village Yan Fu Road No. 1 No. 11 building 4 layer 402

Applicant after: Beijing Si Lang science and Technology Co., Ltd.

Address before: 100080 Zhongguancun East Road, Beijing, No. 95, No.

Applicant before: Institute of Automation, Chinese Academy of Sciences

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20171208

Address after: 100190 Zhongguancun East Road, Beijing, No. 95, No.

Applicant after: Institute of Automation, Chinese Academy of Sciences

Address before: 102412 Beijing City, Fangshan District Yan Village Yan Fu Road No. 1 No. 11 building 4 layer 402

Applicant before: Beijing Si Lang science and Technology Co., Ltd.

Effective date of registration: 20171208

Address after: 100190 Zhongguancun East Road, Beijing, No. 95, No.

Applicant after: Institute of Automation, Chinese Academy of Sciences

Address before: 102412 Beijing City, Fangshan District Yan Village Yan Fu Road No. 1 No. 11 building 4 layer 402

Applicant before: Beijing Si Lang science and Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant