CN110287141A - 一种基于多种接口的fpga重构方法和*** - Google Patents

一种基于多种接口的fpga重构方法和*** Download PDF

Info

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
Application number
CN201910564666.2A
Other languages
English (en)
Other versions
CN110287141B (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.)
Tianjin Jinhang Computing Technology Research Institute
Original Assignee
Tianjin Jinhang Computing Technology Research Institute
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 Tianjin Jinhang Computing Technology Research Institute filed Critical Tianjin Jinhang Computing Technology Research Institute
Priority to CN201910564666.2A priority Critical patent/CN110287141B/zh
Publication of CN110287141A publication Critical patent/CN110287141A/zh
Application granted granted Critical
Publication of CN110287141B publication Critical patent/CN110287141B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 OR 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/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI 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的专用引脚进行程序下载,动态重构方式用专用下载器连接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位并行数据传递给切换器。
CN201910564666.2A 2019-06-27 2019-06-27 一种基于多种接口的fpga重构方法和*** Active CN110287141B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
DANIEL ZIENER 等: "FPGA-Based Dynamically Reconfigurable SQL Query Processing", 《ACM TRANSACTIONS ON RECONFIGURABLE TECHNOLOGY AND SYSTEMS》 *
李丽斯 等: "基于FPGA的PCIe总线DMA控制器的设计与验证", 《计算机测量与控制》 *
马宁: "基于FPGA的可重构计算硬件平台设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
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