CN110287141A - 一种基于多种接口的fpga重构方法和*** - Google Patents
一种基于多种接口的fpga重构方法和*** Download PDFInfo
- Publication number
- CN110287141A CN110287141A CN201910564666.2A CN201910564666A CN110287141A CN 110287141 A CN110287141 A CN 110287141A CN 201910564666 A CN201910564666 A CN 201910564666A CN 110287141 A CN110287141 A CN 110287141A
- Authority
- CN
- China
- Prior art keywords
- data
- dynamic
- transceiver module
- module
- static
- 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
Classifications
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
-
- 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
-
- 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/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
Abstract
本发明公开了一种基于多种接口的FPGA重构方法与***,该方法包括:将FPGA划分为静态区和动态区,静态区和动态区均可以进行静态重构,动态区还可以进行动态重构;静态区包括:PCIE核、千兆网收发模块以及can总线收发模块;PCIE核、千兆网收发模块和can总线收发模块分别接收输入数据;分别提取经PCIE核和千兆网收发模块的动态配置文件,配置到动态区;分别提取经PCIE核、千兆网收发模块和can总线收发模块的全局静态配置数据,写入FLASH,静态区逐一获取全局静态配置数据;经PCIE核、千兆网收发模块和can总线收发模块的普通数据传递给动态区。本发明解决了现有重构方式中加载方式单一的问题,大大增加***重构的灵活性。
Description
技术领域
本发明涉及电子技术领域,具体涉及一种基于多种接口的FPGA重构方法和***。
背景技术
由于数字逻辑***功能复杂化的需求,单片***的芯片正朝着超大规模、高密度的方向发展。但是,***中的各个功能模块并不是时刻都在工作,而是根据***外部的整体要求,轮流或循环地被激活或工作。并且,随着数字逻辑规模的扩大,在相同速度条件下,在一定的时间区间,其功能模块的平均使用率将下降。因此,***设计应该从传统追求大规模、高密度的方向,转向如何提高资源利用率,用有限的资源实现更大规模的逻辑设计上来。而可重构计算技术能够提高硬件的利用率和提供软件的可编程性,成为未来的发展趋势。计算机通过本地总线配置FPGA称为本地重构,通过远程接口访问FPGA并完成配置称为远程重构。按照是否在线重复配置又分为静态重构和动态重构。静态重构是指目标***的逻辑功能(包括电路功能和电路逻辑)静态重载,只能在运行前配置。动态重构是指目标***的逻辑功能(包括电路功能和电路逻辑)能在运行过程中实时配置。当前的静态重构方式一般使用专用下载器连接FPGA的专用引脚进行程序下载,动态重构方式用专用下载器连接FPGA或者使用本地PCIE总线加载,此种加载方式单一,不灵活,因此寻找一种能基于多种接口的FPGA重构方法和***尤为重要。
发明内容
本发明的目的在于提供一种基于多接口的FPGA重构方法和***,用于解决现有重构方式中加载方式单一的问题。
本发明的一种基于多接口的FPGA重构方法,包括将FPGA划分为静态区和动态区,静态区和动态区均可以进行静态重构,动态区还可以进行动态重构;静态区包括:PCIE核、千兆网收发模块以及can总线收发模块;PCIE核与切换器进行数据交互,判断PCIE核传输的数据的类型,将动态配置文件传递给动态加载模块,其他数据传递给DMA控制器;PCIE核、千兆网收发模块和can总线收发模块分别接收输入数据,所述输入数据包括动态配置文件、全局静态配置数据和普通数据;分别提取经切换器和千兆网收发模块的动态配置文件,并配置到动态区;分别提取经DMA控制器、千兆网收发模块和can总线收发模块的全局静态配置数据,写入FLASH,静态区逐一获取全局静态配置数据;经DMA控制器、千兆网收发模块和can总线收发模块的普通数据传递给动态区。
根据本发明的基于多种接口的FPGA重构方法的一实施例,其中,通过PCIE核将串行数据转换为64位并行数据。
本发明的一种基于多接口的FPGA重构***,包括:PCIE核、千兆网收发模块、can总线收发模块、切换器、DMA控制器、动态加载模块、ICAP、FLASH读写模块以及用户逻辑模块;PCIE核转换上位机的传输数据,传递给切换器;千兆网收发模块对上位机的以太网UDP数据解包;can总线收发模块通过can总线协议提取上位机数据包,将全局静态配置数据发送FLASH读写模块,普通数据发送用户逻辑模块;切换器判断PCIE核传输的数据的类型,将动态配置文件传递给动态加载模块,其他数据传递给DMA控制器;DMA控制器,对收到的数据组包和解包,判断数据类型,将全局静态配置数据传递发送给FLASH读写模块,将其他数据发送到用户逻辑模块;动态加载模块与切换器和千兆网收发模块相连,提取收到的数据包中的动态配置文件,并控制ICAP,动态加载模块通过控制ICAP将动态配置文件配置到动态区完成动态重构;FLASH读写模块将全局静态配置数据写入FLASH。
根据本发明的多种接口的FPGA重构***的一实施例,其中,PCIE核将串行数据转换为64位并行数据传递给切换器。
本发明能基于多种接口实现FPGA的静态重构和动态重构,加载方式更加灵活多样。
附图说明
图1为本发明的一种多接口的FPGA重构***的框图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
图1为本发明的一种多接口的FPGA重构***的框图,如图1所示,本发明的一种多接口的FPGA重构***包括:PCIE核2,千兆网收发模块14,can总线收发模块13,切换器3,DMA控制器4,动态加载模块5,ICAP6,FLASH读写模块7,用户逻辑模块12。同时FPGA11还可划分为静态区和动态区,静态区和动态区均可以进行静态重构,动态区可以进行动态重构。静态区包括:PCIE核2、切换器3、DMA控制器4、动态加载模块5、ICAP6、FLASH读写模块7、千兆网收发模块14、can总线收发模块13;动态区包括:用户逻辑模块12。
如图1所示,可通过PCIE、千兆网、can总线三种接口灵活实现FPGA的本地或远程的静态和动态重构。该***的各组件、连接关系和功能如下:PCIE核2用于转换上位机1的传输数据,连接切换器3;千兆网收发模块完成以太网UDP数据的解包,连接动态加载模块5、FLASH读写模块7和用户逻辑模块12;can总线收发模块13完成can总线协议处理和提取数据包,连接FLASH读写模块7和用户逻辑模块12;切换器3判断数据类型,连接动态加载模块5和DMA控制器4;DMA控制器4用于PCIE接口数据的组包和解包,判断数据类型,连接FLASH读写模块7和用户逻辑模块12;动态加载模块5控制ICAP6;FLASH读写模块7将数据写入FLASH8。
如图1所示,进一步地说明本发明的一种多接口的FPGA重构***的工作过程。上位机1数据通过PCIE接口,千兆网和CAN总线分别传递给PCIE核2、千兆网收发模块14和can总线收发模块13,其中上位机输入数据包括动态配置文件、全局静态配置数据和普通数据。
PCIE核2完成PCIE物理链路的管理控制,数据转换后传递给切换器3。切换器3判断数据类型,如果是动态重构配置文件,则发送给动态加载模块5,动态加载模块5提取数据包中的动态配置文件,并传递给ICAP6,ICAP6是进行FPGA配置的IP核,动态加载模块5通过控制该IP核将动态配置文件配置到动态区10完成动态重构;如果是其他数据则传递给DMA控制器4,DMA控制器4完成PCIE接口数据的组包和解包,并判断数据是全局静态配置数据还是普通数据,如果是全局静态配置数据则传递给FLASH读写模块7写入FLASH8,静态区逐一获取FLASH8内的全局静态配置数据完成静态重构,如果是普通数据则发送给用户逻辑模块12,实现上位机1与用户逻辑模块12的通信。
在一些可选的实施方式中,PCIE核2将串行数据转换为64位并行数据。
如图1所示,千兆网收发模块14完成千兆以太网PHY芯片的管理控制和以太网UDP数据的解包,根据数据类型分为三种情况:如果是动态重构配置文件,则发送给动态加载模块5,动态加载模块5提取数据包中的动态配置文件,并传递给ICAP6模块,ICAP6模块是进行FPGA配置的IP核,动态加载模块5通过控制该IP核将动态配置文件写入动态区10完成动态重构;如果是全局静态配置数据则传递给FLASH读写模块7写入FLASH8,静态区逐一获取FLASH8内的全局静态配置数据完成静态重构;如果是普通数据则发送给用户逻辑模块12,实现上位机1与用户逻辑模块12的通信。
如图1所示,can总线收发模块13完成can总线协议处理,提取数据包,根据数据类型分为两种情况:如果是全局静态配置数据则传递给FLASH读写模块7写入FLASH8,静态区逐一获取FLASH8内的全局静态配置数据完成静态重构;如果是普通数据则发送给用户逻辑模块12,实现上位机1与用户逻辑模块12的通信。
在一些可选的实施方式中,所述PCIE核2将串行数据转换为64位并行数据。
本发明还包括一种基于多接口的FPGA重构方法,包括将FPGA划分为静态区和动态区,静态区和动态区均可以进行静态重构,动态区还可以进行动态重构;静态区包括:PCIE核、千兆网收发模块以及can总线收发模块;PCIE核与切换器进行数据交互,判断PCIE核传输的数据的类型,将动态配置文件传递给动态加载模块,其他数据传递给DMA控制器;PCIE核、千兆网收发模块和can总线收发模块分别接收输入数据,所述输入数据包括动态配置文件、全局静态配置数据和普通数据;分别提取经切换器和千兆网收发模块的动态配置文件,并配置到动态区;分别提取经DMA控制器、千兆网收发模块和can总线收发模块的全局静态配置数据,写入FLASH,静态区逐一获取全局静态配置数据;经DMA控制器、千兆网收发模块和can总线收发模块的普通数据传递给动态区。
在一些可选的实施方式中,所述PCIE核2将串行数据转换为64位并行数据。
一般的可重构***只有一种重构接口,本发明可使用PCIE、千兆网、can总线三种方式进行静态重构,同时可使用PCIE、千兆网进行动态局部重构,并且用于重构的接口可以和用户逻辑模块复用,在不过分增加资源消耗的前提下大大增加了***重构的灵活性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (4)
1.一种基于多种接口的FPGA重构方法,其特征在于,包括:
将FPGA划分为静态区和动态区,静态区和动态区均可以进行静态重构,动态区还可以进行动态重构;静态区包括:PCIE核、千兆网收发模块以及can总线收发模块;PCIE核与切换器进行数据交互,判断PCIE核传输的数据的类型,将动态配置文件传递给动态加载模块,其他数据传递给DMA控制器;
PCIE核、千兆网收发模块和can总线收发模块分别接收输入数据,所述输入数据包括动态配置文件、全局静态配置数据和普通数据;
分别提取经切换器和千兆网收发模块的动态配置文件,并配置到动态区;
分别提取经DMA控制器、千兆网收发模块和can总线收发模块的全局静态配置数据,写入FLASH,静态区逐一获取全局静态配置数据;
经DMA控制器、千兆网收发模块和can总线收发模块的普通数据传递给动态区。
2.根据权利要求1所述的基于多种接口的FPGA重构方法,其特征在于,通过PCIE核将串行数据转换为64位并行数据。
3.一种基于多种接口的FPGA重构***,其特征在于,包括:PCIE核、千兆网收发模块、can总线收发模块、切换器、DMA控制器、动态加载模块、ICAP、FLASH读写模块以及用户逻辑模块;
PCIE核转换上位机的传输数据,传递给切换器;
千兆网收发模块对上位机的以太网UDP数据解包;
can总线收发模块通过can总线协议提取上位机数据包,将全局静态配置数据发送FLASH读写模块,普通数据发送用户逻辑模块;
切换器判断PCIE核传输的数据的类型,将动态配置文件传递给动态加载模块,其他数据传递给DMA控制器;
DMA控制器,对收到的数据组包和解包,判断数据类型,将全局静态配置数据传递发送给FLASH读写模块,将其他数据发送到用户逻辑模块;
动态加载模块与切换器和千兆网收发模块相连,提取收到的数据包中的动态配置文件,并控制ICAP,动态加载模块通过控制ICAP将动态配置文件配置到动态区完成动态重构;
FLASH读写模块将全局静态配置数据写入FLASH。
4.根据权利要求3所述的基于多种接口的FPGA重构***,其特征在于,所述PCIE核将串行数据转换为64位并行数据传递给切换器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910564666.2A CN110287141B (zh) | 2019-06-27 | 2019-06-27 | 一种基于多种接口的fpga重构方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910564666.2A CN110287141B (zh) | 2019-06-27 | 2019-06-27 | 一种基于多种接口的fpga重构方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287141A true CN110287141A (zh) | 2019-09-27 |
CN110287141B CN110287141B (zh) | 2023-02-03 |
Family
ID=68007633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910564666.2A Active CN110287141B (zh) | 2019-06-27 | 2019-06-27 | 一种基于多种接口的fpga重构方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287141B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274183A (zh) * | 2020-02-21 | 2020-06-12 | 山东超越数控电子股份有限公司 | 多路高速协议接口动态可重构***及实现方法 |
CN112597096A (zh) * | 2020-12-15 | 2021-04-02 | 中国科学院计算技术研究所 | 一种低功耗的fpga部分可重构方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9509604B1 (en) * | 2013-12-31 | 2016-11-29 | Sanmina Corporation | Method of configuring a system for flow based services for flash storage and associated information structure |
CN108153705A (zh) * | 2017-12-26 | 2018-06-12 | 北京航空航天大学 | 一种面向异构多源大数据的高效并行采集方法 |
CN108255755A (zh) * | 2017-12-08 | 2018-07-06 | 天津津航计算技术研究所 | 基于fpga的pcie通用多功能通信接口模块 |
CN108319563A (zh) * | 2018-01-08 | 2018-07-24 | 华中科技大学 | 一种基于fpga的网络功能加速方法和*** |
CN108804232A (zh) * | 2018-06-26 | 2018-11-13 | 郑州云海信息技术有限公司 | 一种支持云端fpga部署的方法、主机服务器及*** |
CN109739833A (zh) * | 2018-12-18 | 2019-05-10 | 山东超越数控电子股份有限公司 | 一种基于fpga的国产平台数据库加速***及方法 |
US20190171604A1 (en) * | 2017-10-31 | 2019-06-06 | Micron Technology, Inc. | System Having a Hybrid Threading Processor, a Hybrid Threading Fabric Having Configurable Computing Elements, and a Hybrid Interconnection Network |
-
2019
- 2019-06-27 CN CN201910564666.2A patent/CN110287141B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9509604B1 (en) * | 2013-12-31 | 2016-11-29 | Sanmina Corporation | Method of configuring a system for flow based services for flash storage and associated information structure |
US20190171604A1 (en) * | 2017-10-31 | 2019-06-06 | Micron Technology, Inc. | System Having a Hybrid Threading Processor, a Hybrid Threading Fabric Having Configurable Computing Elements, and a Hybrid Interconnection Network |
CN108255755A (zh) * | 2017-12-08 | 2018-07-06 | 天津津航计算技术研究所 | 基于fpga的pcie通用多功能通信接口模块 |
CN108153705A (zh) * | 2017-12-26 | 2018-06-12 | 北京航空航天大学 | 一种面向异构多源大数据的高效并行采集方法 |
CN108319563A (zh) * | 2018-01-08 | 2018-07-24 | 华中科技大学 | 一种基于fpga的网络功能加速方法和*** |
CN108804232A (zh) * | 2018-06-26 | 2018-11-13 | 郑州云海信息技术有限公司 | 一种支持云端fpga部署的方法、主机服务器及*** |
CN109739833A (zh) * | 2018-12-18 | 2019-05-10 | 山东超越数控电子股份有限公司 | 一种基于fpga的国产平台数据库加速***及方法 |
Non-Patent Citations (3)
Title |
---|
DANIEL ZIENER 等: "FPGA-Based Dynamically Reconfigurable SQL Query Processing", 《ACM TRANSACTIONS ON RECONFIGURABLE TECHNOLOGY AND SYSTEMS》 * |
李丽斯 等: "基于FPGA的PCIe总线DMA控制器的设计与验证", 《计算机测量与控制》 * |
马宁: "基于FPGA的可重构计算硬件平台设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274183A (zh) * | 2020-02-21 | 2020-06-12 | 山东超越数控电子股份有限公司 | 多路高速协议接口动态可重构***及实现方法 |
WO2021164170A1 (zh) * | 2020-02-21 | 2021-08-26 | 山东超越数控电子股份有限公司 | 多路高速协议接口动态可重构***及实现方法 |
CN112597096A (zh) * | 2020-12-15 | 2021-04-02 | 中国科学院计算技术研究所 | 一种低功耗的fpga部分可重构方法和装置 |
CN112597096B (zh) * | 2020-12-15 | 2023-11-21 | 中国科学院计算技术研究所 | 一种低功耗的fpga部分可重构方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110287141B (zh) | 2023-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1750401B1 (en) | USB 1.1 over a high speed link | |
TWI382315B (zh) | 通用串列匯流排矩陣切換系統 | |
CN108595353A (zh) | 一种基于PCIe总线的控制数据传输的方法及装置 | |
CN202870808U (zh) | 一种spi串口模块的fpga实现装置 | |
CN102495920B (zh) | 一种FPGA用基于PCIe的集成化逻辑分析模块 | |
CN101957808B (zh) | 多cpu间的通信方法、***及cpu | |
CN100468373C (zh) | 经平台总线传送和接收网络协议顺应信号包的方法 | |
CN106155960A (zh) | 基于gpio握手和edma的uart串口通信方法 | |
CN103559152A (zh) | 基于pcie协议的cpu访问本地总线的装置及方法 | |
KR101679333B1 (ko) | 트랜잭션 계층 패킷의 싱글 엔드형 통신을 위한 방법, 장치 및 시스템 | |
CN209149287U (zh) | 大数据运算加速*** | |
CN107562672A (zh) | 一种提高矢量网络分析仪数据传输速率的***及方法 | |
CN109298839A (zh) | 基于pis的存储装置控制器、存储装置、***及方法 | |
CN110287141A (zh) | 一种基于多种接口的fpga重构方法和*** | |
CN101169770A (zh) | Cpu接口转换*** | |
CN109634901A (zh) | 一种基于uart的数据传输***及其控制方法 | |
CN107436851A (zh) | 串行外设接口四线隔离***及其控制方法 | |
CN209560543U (zh) | 大数据运算芯片 | |
CN105718396B (zh) | 一种大数据主设备传输的i2c总线装置及其通讯方法 | |
CN101122894A (zh) | 一种异步串行通讯控制器件 | |
CN112817774B (zh) | 用于片上网络中的事务广播的***和方法 | |
CN105607874A (zh) | Sata协议加速模块、主机与硬盘通信方法及固态硬盘控制器 | |
CN103678244B (zh) | 一种不使用应用处理器的智能设备 | |
JP2003050788A (ja) | 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法 | |
CN205263807U (zh) | 一种PCIe接口的双路FC电路结构 |
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 |