CN110704365A - 一种基于fpga的重构装置 - Google Patents
一种基于fpga的重构装置 Download PDFInfo
- Publication number
- CN110704365A CN110704365A CN201910767845.6A CN201910767845A CN110704365A CN 110704365 A CN110704365 A CN 110704365A CN 201910767845 A CN201910767845 A CN 201910767845A CN 110704365 A CN110704365 A CN 110704365A
- Authority
- CN
- China
- Prior art keywords
- module
- fpga
- main control
- program
- peripheral
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 claims abstract description 89
- 230000002093 peripheral effect Effects 0.000 claims abstract description 82
- 238000004891 communication Methods 0.000 claims abstract description 31
- 238000000034 method Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 7
- 230000037430 deletion Effects 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000011111 cardboard Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种基于FPGA的重构装置。包括主控模块、FPGA模块、第一储存模块以及第二储存模块,其中第一储存模块与FPGA模块通信连接,其中第二储存模块与所述主控模块通信连接。在所述装置上电后,所述FPGA模块从所述第一储存模块中获取所述外设程序并进行加载;所述主控模块用于接收用户输入的控制指令,并根据所述控制指令从第二储存模块中获取相应的内核程序,将所述内核程序加载到所述FPGA模块中,以使所述装置正常工作。这样使得FPGA装置在实际操作过程中,更新效率以及灵活度都得到提高。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种基于FPGA的重构装置。
背景技术
FPGA(Field-Programmable Gate Array,现场可编程门阵列),它是作为专用集成电路领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA器件由于具有集成度高,内部逻辑资源丰富,体积小,功耗低,性价比高等特性,被广泛应用于各种电子产品设计,并多承担着各电子系统、模块的主控制器的任务。
随着人工智能技术的快速发展,智能分析的应用场景如流量检测、人脸及车辆识别等在公安、金融、机场、地铁等领域应用越来越多。针对多种多样的应用场,一般使用为异构计算加速系统的FPGA装置。所述FPGA装置为采用插卡式机箱结构的智能服务器,其中卡板多采用FPGA实行,用户可根据需要灵活的配置板卡数量。在实际操作中,FPGA装置根据用户输入的控制指令完成各卡板的动态重构。但是在现有技术中的FPGA装置,存在重构效率低,灵活度低的问题,不利于实际操作。
发明内容
基于此,有必要针对上述问题,提供一种基于FPGA的重构装置。
一种FPGA装置,所述装置包括:主控模块、FPGA模块、第一储存模块以及第二储存模块;
所述第一储存模块与FPGA模块通信连接,用于储存所述FPGA模块的外设程序,并且在所述装置上电后,所述FPGA模块从所述第一储存模块中获取所述外设程序并进行加载;
所述第二储存模块与所述主控模块通信连接,用于储存所述FPGA模块的多个内核程序;
所述FPGA模块与所述主控模块通信连接,所述主控模块用于接收用户输入的控制指令,并根据所述控制指令从第二储存模块中获取相应的内核程序,将所述内核程序加载到所述FPGA模块中,以使所述装置正常工作。
在其中一个实施例中,所述主控模块还用于接收用户输入的重构指令,根据所述重构指令向所述FPGA模块发送所述外设重加载指令,以使所述FPGA模块完成外设重加载,以及根据所述重构指令从第二储存模块中获取相应的内核程序,将所述内核程序加载到所述FPGA模块中。
在其中一个实施例中,所述FPGA模块还用于接收所述主控模块发送的外设重加载指令,并根据所述外设重加载指令从第一储存模块中获取所述外设程序并进行加载。
在其中一个实施例中,所述主控模块与FPGA子模块之间通过PCIe链路建立通信连接。
在其中一个实施例中,所述第二储存模块还用于储存所述主控模块的主控程序。
在其中一个实施例中,所述第一储存模块为硬盘,所述第二储存模块为闪存盘。
在其中一个实施例中,所述装置包括多个所述FPGA模块以及多个所述第一储存模块;
多个所述第一储存模块与多个FPGA模块通信一一对应的连接。
在其中一个实施例中,所述装置上电后,所述FPGA模块还用于对PCIe链路进行IP初始化,并将FPGA模块作为终端设备。
在其中一个实施例中,所述主控模块还用于:所述装置上电后,所述主控模块还用于扫描终端设备,并根据地址分配规则为终端设备分配相应的PCIe地址空间,以使终端设备与主控模块通过PCIe链路建立通信。
在其中一个实施例中,所述重构指令中包括场景信息,所述场景信息与所述第二储存模块储存的内核程序一一对应。
上述基于FPGA的重构装置,包括主控模块、FPGA模块、第一储存模块以及第二储存模块,其中第一储存模块与FPGA模块通信连接,用于储存所述FPGA模块的外设程序,并且在所述装置上电后,所述FPGA模块从所述第一储存模块中获取所述外设程序并进行加载;其中第二储存模块与所述主控模块通信连接,用于储存所述FPGA模块的多个内核程序,其中FPGA模块与所述主控模块通信连接,所述主控模块用于接收用户输入的控制指令,并根据所述控制指令从第二储存模块中获取相应的内核程序,将所述内核程序加载到所述FPGA模块中,以使所述装置正常工作。通过将FPGA模块的内核程序与外设程序分别储存在不同的储存器中,当主控模块接收到用户输入的控制指令时,由主控模块根据控制指令将第二储存模块中的内核程序加载到FPGA模块,而FPGA模块从第一储存模块中获取外设程序并进行加载,这样使得FPGA装置在实际操作过程中,更新效率以及灵活度都得到提高。
附图说明
图1为一个实施例中的FPGA的重构装置的框架示意图;
图2为一个实施例中第二储存模块中程序储存分配示意图;
图3为另一个实施例中的FPGA的重构装置的框架示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图1所示,本发明提供了一种基于FPGA的重构装置,所述基于FPGA的重构装置包括:主控模块100、FPGA模块200、第一储存模块300以及第二储存模块400。第一储存模块300与FPGA模块200通信连接,用于储存所述FPGA模块200的外设程序,并且在所述装置上电后,所述FPGA模块200从所述第一储存模块300中获取所述外设程序并进行加载。其中第二储存模块400与所述主控模块100通信连接,用于储存所述FPGA模块200的多个内核程序。FPGA模块200与所述主控模块100通信连接,所述主控模块100用于接收用户输入的控制指令,并根据所述控制指令从第二储存模块400中获取相应的内核程序,将所述内核程序加载到所述FPGA模块200中,以使所述装置正常工作。
在本实施例中,FPGA装置为采用插卡式机箱结构的异构计算加速系统,通过主控模块100接收到用户输入的指令,并根据所述指令给FPGA模块200载入内核程序,而在装置上电后,FPGA模块200会主动从储存模块中获取外设程序并进行加载。当FPGA模块200的外设程序以及内核程序都加载完成后,FPGA装置便开始正常工作。
在本实施例中,FPGA模块200正常工作需要应用到的FPGA配置文件包括:外设程序以及内核程序。并将这两个程序进行拆分后分别被储存在与FPGA模块200通信连接的第二储存模块400中,以及与主控模块100通信连接的第一储存模块300中。
具体的,所述外设程序包括FPGA模块200的接口配置信息以及部分在重构时运用到的重配相关逻辑配置,因此相比于完整的FPGA配置文件,外设程序相对于较小,这样对储存所述外设程序的第二储存模块400的容量要求较低。
具体的,所述内核程序为FPGA模块200在不同场景下需要运作的软件程序。这样在需要对FPGA模块200的进行功能删减软件问题修复的情况下,只要将跟新后的内核程序储存到第一储存模块300中,再通过主控模块100加载到FPGA模块200中,这样的方法使FPGA装置具有很高的灵活性。
在本实施例中,所述第二储存模块400还用于储存所述主控模块100的主控程序。所述主控程序用于主控模块100的正常运行。当FPGA装置上电后,主控模块100直接运行储存在第二储存模块400上的主控程序。
在本实施例中,所述第一储存模块300为硬盘,所述第二储存模块400为闪存盘。
如图2所示,在第二储存模块400内储存有用于主控模块100的主控软件,以及事先开发好的多个用于不同场景的FPGA模块200的内核程序。
在本实施例中,所述主控模块100还用于接收用户输入的重构指令,根据所述重构指令向所述FPGA模块200发送所述外设重加载指令,以使所述FPGA模块200完成外设重加载,以及根据所述重构指令从第二储存模块400中获取相应的内核程序,将所述内核程序加载到所述FPGA模块200中。所述FPGA模块200还用于接收所述主控模块100发送的外设重加载指令,并根据所述外设重加载指令从第一储存模块300中获取所述外设程序并进行加载。
在本实施例中,当FPGA装置的运用场景进行改变时,需要对FPGA模块200进行重构。用户向所述主控模块100输入重构指令,则主控模块100根据所述重构指令向所述FPGA模块200发送所述外设重加载指令,以触发FPGA模块200进行外设配置重加载。而此时,所述FPGA模块200根据接收到的外设重加载指令,从第一储存模块300中获取外设程序进行外围硬件接口的配置。然后主控模块100再根据重构指令,在第二储存模块400中获取相应的内核程序,并将所述内核程序加载到FPGA模块200中。这样当FPGA模块200中的外设程序和内核程序都加载成功后,整个FPGA装置开始与重构指令对应的场景下进行智能分析以及数据处理。
在本实施例中,所述重构指令中包括场景信息,所述场景信息与所述第二储存模块400储存的内核程序一一对应。在对FPGA进行开发时,根据不同的应用场景,开发了多个不同的内核程序。在FPGA装置根据实际应用场景的改变进行重构时,主控模块100接收到的重构指令中包含有与当下应用场景相光的场景信息。由于该场景信息是与第二储存模块400中多个内核场景中的一个内核程序是对应的,则主控模块100可根据重构指令中的当下应用场景信息从第二储存模块400中获取与该应用场景对应的内核程序,以使重新加载后的FPGA模块200在该场景下进行正常工作。
如图3所示,FPGA装置包括多个所述FPGA模块200以及多个所述第一储存模块300,多个所述第一储存模块300与多个FPGA模块200通信一一对应的连接。
在本实施例中,FPGA装置中可根据实际需求设置多个FPGA模块200,各FPGA模块200可根据应用场景实现不同的功能。并且所述第一储存模块300的数量与FPGA模块200的数量一致,每一个FPGA模块200都与一个第一储存模块300进行通信连接。在各FPGA模块200进行外设程序加载时,只需要从与各FPGA模块200通信连接的第一储存模块300获取外设程序进行加载。
在其他实施例中,各个FPGA模块200的外设接口配置保持不变,因此只需要将其中任意一个FPGA模块200的外设程序固化个各个第一储存模块300中,用于在FPGA装置上电后,FPGA模块200在需要进行加载外设程序时进行访问。
在本实施例中,在FPGA模块200中还设置有重加载逻辑。在FPGA模块200完成完整的配置加载并且FPGA装置正常运行后,通过通信接口下发配置、触发信号分别完成指定Flash地址、(通过主控模块100发送的外设重加载指令)控制FPGA模块200自带的重加载逻辑,触发FPGA模块200在不断电的情况下,清除原有外设程序,并且从第一储存模块300中读取外设程序并完成自身的加载。这样当用户需要对FPGA装置的场景进行切换时,不需要将装置的电源切断后,使FPGA模块200被动的清除原有的外设程序,在FPGA装置在重新上电后,再重新进行外设程序和内核程序的加载。本实施例中的FPGA装置在需要重构时,在不需要切断电源的情况下,由主控模块100触发FPGA模块200的重加载逻辑使FPGA模块200自动清除外设程序,并主动的读取第一储存模块300内的外设程序进行加载,主控模块100根据所述重构指令就是可以直接将FPGA模块200的内核程序加载好后,完成FPGA装置应用场景切换。
如图3所示,在主控模块100上还设置有通信接口。主控模块100通过通信接口与上位机500通信连接,用户可以通过上位机500向主控模块100发送指令。在本实施例中,上位机500可以电脑,平板设备等。
在其他实施例中,所述主控模块100还包括通信单元。用户可以直接通过主控模块100自带的通信单元向主控模块100输入控制指令以及重构指令。
在本实施例中,所述主控模块100与FPGA子模块之间通过PCIe链路建立通信连接。所述PCIe链路为PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准。PCIe属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽,主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量(QOS)等功能。
在本实施例中,所述FPGA模块200还用于所述装置上电后,完成PCIe链路的IP初始化,并将FPGA模块200作为终端设备。
在本实施例中,FPGA模块200在装置上电后,还用于将PCIe链路的物理层,发送/接收模块以及相关的的链路状态信息进行初始化,使的PCIe链路连接的主控模块100以及FPGA模块200可以进行正常的数据交换。并且在FPGA模块200中例化PCIe链路的IP,将FPGA模块200设置为PCIe链路的终端设备。
在本实施例中,主控模块100还用于:所述装置上电后,扫描所述终端设备,并根据地址分配规则为终端设备分配相应的PCIe地址空间,以使终端设备与主控模块100通过PCIe链路建立通信。
在本实施例中,PCIe链路地址具有32位数据/地址复用总线,所以其存储地址空间为2的32次方=4GB。也就是说在PCIe链路上的所有终端设备共同映射到这4GB上,每个终端设备都占用唯一的一段PCIe地址,以便于PCIe总线统一寻址。每个PCIe设备通过PCIe寄存器中的基地址寄存器来指定映射的首地址。通过地址分配规则将各终端设备分配相应的PCIe地址空间,使各终端设备都具有地址空间,使主控模块100可以通过该地址空件获取与该地址空间相应的终端设备的相关信息,以使主控模块100与终端模块建立通信,并通过过去的相关信息对重点设备进行配置。
在本实施例中,当主控模块100通过PCIe链路完成FPGA模块200的内核程序的加载过程中,通过PCIe链路操作FPGA配置空间内的寄存器,完成将内核加载程序加载到FPGA的过程。
在本实施例中,主控模块100与各个FPGA模块200之间通过PCIe链路进行通信连接,在FPGA模块200的外设接口规格不变,仅改变FPGA模块200的内核程序的实现功能,在这种情况下,拆分出来的外设程不变,无需更新存放在外挂的第一储存模块300中的外设程序。因此,采用PCIe加载模式,在设备出厂时烧写的外设程序,后续FPGA功能删减均无需更新,该方式可降低设备维护成本。并且当FPGA模块200需要进行既有功能删减、软件问题修复的情况下,只需要将生成的内核程序,通过更新存储在上位机500或者主控模块100的内核程序来实现。这样实现方式使FPGA模块200具有很高的灵活性。进一步的,由于存放在外挂第一储存模块300中的外设程序只有FPGA的接口配置、PCIe的IP配置及部分重构时需要运用到的相关逻辑配置,因此对比于的FPGA完整的配置文件,外设程序相对较小,这样对第一储存模块300容量要求较低的优点。
在FPGA装置在进行实际工作中,具体的工作步骤如下:
在FPGA装置的软件程序发开阶段:
根据不同的应用场景,开发相应的FPGA模块200的完整加载程序、主控制模块的主控程序,并完成相应的应用场景测试。将应用于多个场景的FPGA模块200的完整加载程序进行拆分,获得各应用场景下的FPGA模块200的外设程序以及内核程序,并将各个FPGA模块200的内核程序与主控模块100的主控程序共同存放在与主控制模块通信连接的的第二储存模块400内。主控程序用于主控模块100运行;而各FPGA模块200的内核程序用于系统重构时,主控模块100获取相应的场景的内核程序并通过PCIe链路加载到各个FPGA模块200上。由于FPGA模块200的接口配置保持不变,因此只需要将其中任意一个FPGA模块200外设程序固化到与各个FPGA模块200的第一储存模块300中中,用于各个FPGA模块200上电加载外设配置时访问。
在FPGA装置工作正常上电后:
步骤1:FPGA模块200将外设程序从各自的第一储存模块300内读取并进行加载,以完成FPGA模块200的外设加载。FPGA模块200还完成PCIe的IP初始化动作,并作为PCIe链路的终端设备。在此同时,主处理器运行存储在第二储存模块400上的主控程序。
步骤2:主控模块100开始扫描PCIe链路并检测到作为EP设备的FPGA,按照PCIe地址分配规则为各FPGA模块200分配相应的PCIe地址空间。
步骤3:用户通过上位机500向主控模块100发送控制指令,主控模块100通过接收到的控制模块获取当前的应用场景信息,并获取与该场景信息相对应的FPGA模块200的内核程序。
步骤4:主控模块100通过PCIe总线操作FPGA配置空间内的寄存器,将获取的内核程序加载各FPGA模块200,以完成FPGA模块200的内核程序加载。
步骤5:当FPGA模块200内核程序加载完成后,FPGA装置在该场景下开始与该场景相对应的智能分析及数据处理。
步骤6:在FPGA装置正常后,上位机500通过界面检测用户是否输入更换应用场景的重构命令,是则开始一下步骤,否则继续上述步骤5。
在FPGA装置过去重构命令后:
步骤7:上位机500通过与主控模块100连接的通信接口,向主控模块100发送重构指令。主控模块100根据重构指令给FPGA模块200发外设重加载指令以送触发FPGA模块200进行外设配置重加载。
步骤8:FPGA模块200接收到外设重加载指令后,从第一储存模块300中获取并加载外设程序,以完成FPGA模块200的外设配置。FPGA模块200还根据外设重加载指令完成PCIe链路的初始化动作。
步骤9:再跳转到步骤2。
上述基于FPGA的重构装置,通过将FPGA模块200的内核程序与外设程序分别储存在不同的储存器中,当主控模块100接收到用户输入的控制指令时,由主控模块100根据控制指令将第二储存模块400中的内核程序加载到FPGA模块200,而FPGA模块200从第一储存模块300中获取外设程序并进行加载,以使FPGA装置开始正常工作。当对FPGA装置的应用场景进行切换时,主控模块100接收到用户输入的重构指令,主控模块100根据所述重构指令向FPGA模块200发送外设重加载指令控制FPGA模块200自带的重加载逻辑,触发FPGA模块200在不断电的情况下,清除原有外设程序,并且从第一储存模块300中读取外设程序并完成自身的加载。主控模块100再根据所述重构指令从第二储存模块400中获取与该运用场景相应的内核程序加载到FPGA模块200。这样在采用该FPGA装置,无需针对多个应用场景提供相应的装置及程序,使用一套装置及程序即可满足多个应用场景,减少系统开发及部署成本。并且通过本装置采用通过PCIe链路完成FPGA模块200的内核程序加载的方式,将多个内核程序存放在主控模块100,这样减少FPGA模块200设计复杂度、并且减少FPGA模块200对第一储存模块300的的容量要求,从而提高整个系统的可靠性及可维护性。并且在各个FPGA模块200引入重配置逻辑,实现在不切断电源的情况下,实现整个FPGA装置的重构,满足智能处理的多场景应用。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于FPGA的重构装置,其特征在于,所述装置包括:主控模块、FPGA模块、第一储存模块以及第二储存模块;
所述第一储存模块与FPGA模块通信连接,用于储存所述FPGA模块的外设程序,并且在所述装置上电后,所述FPGA模块从所述第一储存模块中获取所述外设程序并进行加载;
所述第二储存模块与所述主控模块通信连接,用于储存所述FPGA模块的多个内核程序;
所述FPGA模块与所述主控模块通信连接,所述主控模块用于接收用户输入的控制指令,并根据所述控制指令从第二储存模块中获取相应的内核程序,将所述内核程序加载到所述FPGA模块中,以使所述装置正常工作。
2.根据权利要求1所述的重构装置,其特征在于,所述主控模块还用于接收用户输入的重构指令,根据所述重构指令向所述FPGA模块发送所述外设重加载指令,以使所述FPGA模块完成外设重加载,以及根据所述重构指令从第二储存模块中获取相应的内核程序,将所述内核程序加载到所述FPGA模块中。
3.根据权利要求2所述的重构装置,其特征在于,所述FPGA模块还用于接收所述主控模块发送的外设重加载指令,并根据所述外设重加载指令从第一储存模块中获取所述外设程序并进行加载。
4.根据权利要求1所述的重构装置,其特征在于,所述主控模块与FPGA子模块之间通过PCIe链路建立通信连接。
5.根据权利要求1所述的重构装置,其特征在于,所述第二储存模块还用于储存所述主控模块的主控程序。
6.根据权利要求1所述的重构装置,其特征在于,所述第一储存模块为硬盘,所述第二储存模块为闪存盘。
7.根据权利要求1所述的重构装置,其特征在于,所述装置包括多个所述FPGA模块以及多个所述第一储存模块;
多个所述第一储存模块与多个FPGA模块通信一一对应的连接。
8.根据权利要求4所述的重构装置,其特征在于,所述装置上电后,所述FPGA模块还用于对PCIe链路进行IP初始化,并将FPGA模块作为PCIe链路的终端设备。
9.根据权利要求8所述的重构装置,其特征在于,所述装置上电后,所述主控模块还用于扫描终端设备,并根据地址分配规则为终端设备分配相应的PCIe地址空间,以使终端设备与主控模块通过PCIe链路建立通信。
10.根据权利要求2所述的重构装置,其特征在于,所述重构指令中包括场景信息,所述场景信息与所述第二储存模块储存的内核程序一一对应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910767845.6A CN110704365A (zh) | 2019-08-20 | 2019-08-20 | 一种基于fpga的重构装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910767845.6A CN110704365A (zh) | 2019-08-20 | 2019-08-20 | 一种基于fpga的重构装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110704365A true CN110704365A (zh) | 2020-01-17 |
Family
ID=69193789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910767845.6A Pending CN110704365A (zh) | 2019-08-20 | 2019-08-20 | 一种基于fpga的重构装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110704365A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111857866A (zh) * | 2020-06-29 | 2020-10-30 | 浪潮电子信息产业股份有限公司 | 一种多动态核的加载方法、装置和计算机可读存储介质 |
CN112969002A (zh) * | 2021-02-04 | 2021-06-15 | 浙江大华技术股份有限公司 | 基于PCIe协议的图像传输方法和装置、存储介质 |
WO2021197182A1 (zh) * | 2020-04-01 | 2021-10-07 | 阿里巴巴集团控股有限公司 | 程序加载方法、设备、系统及存储介质 |
CN113742003A (zh) * | 2021-09-15 | 2021-12-03 | 深圳市朗强科技有限公司 | 一种基于fpga芯片的程序代码执行方法及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033767A (zh) * | 2010-12-08 | 2011-04-27 | 中兴通讯股份有限公司 | 一种单板及单板在线升级的方法 |
CN103777972A (zh) * | 2012-10-24 | 2014-05-07 | 上海联影医疗科技有限公司 | 基于现场可编程门阵列的系统、配置方法以及升级方法 |
US20150143003A1 (en) * | 2013-03-15 | 2015-05-21 | Pico Computing, Inc. | High Speed, Parallel Configuration of Multiple Field Programmable Gate Arrays |
CN104881286A (zh) * | 2015-05-28 | 2015-09-02 | 烽火通信科技股份有限公司 | 可编程器件配置系统及方法 |
WO2017063577A1 (zh) * | 2015-10-15 | 2017-04-20 | 中兴通讯股份有限公司 | 一种光模块的固件升级方法及装置 |
-
2019
- 2019-08-20 CN CN201910767845.6A patent/CN110704365A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033767A (zh) * | 2010-12-08 | 2011-04-27 | 中兴通讯股份有限公司 | 一种单板及单板在线升级的方法 |
CN103777972A (zh) * | 2012-10-24 | 2014-05-07 | 上海联影医疗科技有限公司 | 基于现场可编程门阵列的系统、配置方法以及升级方法 |
US20150143003A1 (en) * | 2013-03-15 | 2015-05-21 | Pico Computing, Inc. | High Speed, Parallel Configuration of Multiple Field Programmable Gate Arrays |
CN104881286A (zh) * | 2015-05-28 | 2015-09-02 | 烽火通信科技股份有限公司 | 可编程器件配置系统及方法 |
WO2017063577A1 (zh) * | 2015-10-15 | 2017-04-20 | 中兴通讯股份有限公司 | 一种光模块的固件升级方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021197182A1 (zh) * | 2020-04-01 | 2021-10-07 | 阿里巴巴集团控股有限公司 | 程序加载方法、设备、系统及存储介质 |
CN111857866A (zh) * | 2020-06-29 | 2020-10-30 | 浪潮电子信息产业股份有限公司 | 一种多动态核的加载方法、装置和计算机可读存储介质 |
CN111857866B (zh) * | 2020-06-29 | 2022-06-17 | 浪潮电子信息产业股份有限公司 | 一种多动态核的加载方法、装置和计算机可读存储介质 |
CN112969002A (zh) * | 2021-02-04 | 2021-06-15 | 浙江大华技术股份有限公司 | 基于PCIe协议的图像传输方法和装置、存储介质 |
CN112969002B (zh) * | 2021-02-04 | 2023-07-14 | 浙江大华技术股份有限公司 | 基于PCIe协议的图像传输方法和装置、存储介质 |
CN113742003A (zh) * | 2021-09-15 | 2021-12-03 | 深圳市朗强科技有限公司 | 一种基于fpga芯片的程序代码执行方法及设备 |
CN113742003B (zh) * | 2021-09-15 | 2023-08-22 | 深圳市朗强科技有限公司 | 一种基于fpga芯片的程序代码执行方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110704365A (zh) | 一种基于fpga的重构装置 | |
US8521929B2 (en) | Virtual serial port management system and method | |
US7305494B2 (en) | Multiplexed computer peripheral device connection switching interface | |
CN107832078B (zh) | 基于dsp的fpga程序在线更新电路 | |
US12099861B2 (en) | Switching between master and standby container systems | |
CN102184158B (zh) | 带两级fpga芯片的子板及两级fpga芯片的配置方法 | |
US11360925B2 (en) | Method and apparatus for host adaptation to a change of persona of a configurable integrated circuit die | |
CN107395710B (zh) | 一种云平台网元的配置和高可用ha实现方法和装置 | |
CN115562738B (zh) | 一种端口配置方法、组件及硬盘扩展装置 | |
CN103701707A (zh) | 一种网络设备 | |
CN116032746B (zh) | 资源池的信息处理方法及装置、存储介质及电子装置 | |
CN117785593A (zh) | 一种基于UVM的xHCI驱动的实现系统及方法 | |
CN106030554A (zh) | 减少芯片选择的装置、系统及方法 | |
CN116166434A (zh) | 处理器分配方法及系统、装置、存储介质、电子设备 | |
US6598105B1 (en) | Interrupt arbiter for a computing system | |
CN111209125B (zh) | 一种多进程的命令行实现方法 | |
CN108259895A (zh) | 机顶盒测试方法、系统及终端设备 | |
US12067380B2 (en) | System and method of offloading and migrating management controller functionalities using containerized services and application thereof | |
CN115543246A (zh) | 一种bmc和服务器 | |
CN115358331A (zh) | 设备类型识别方法及装置、计算机可读存储介质、终端 | |
CN102184721B (zh) | 带两级fpga芯片的子板及大屏控制系统 | |
CN117687703B (zh) | 服务器的启动方法、装置、系统、存储介质和电子设备 | |
US11960899B2 (en) | Dual in-line memory module map-out in an information handling system | |
CN110955629B (zh) | 计算装置 | |
CN115563039A (zh) | 多节点服务器数据的处理方法及装置 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200909 Address after: Room 1201, building a, 1181 Bin'an Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Zhejiang Xinsheng Electronic Technology Co.,Ltd. Address before: 310016 No. 1187 Bin'an Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant before: ZHEJIANG DAHUA TECHNOLOGY Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200117 |