CN107273621B - 一种fpga应用电路的可移植方法 - Google Patents
一种fpga应用电路的可移植方法 Download PDFInfo
- Publication number
- CN107273621B CN107273621B CN201710475563.XA CN201710475563A CN107273621B CN 107273621 B CN107273621 B CN 107273621B CN 201710475563 A CN201710475563 A CN 201710475563A CN 107273621 B CN107273621 B CN 107273621B
- Authority
- CN
- China
- Prior art keywords
- interface
- circuit
- fpga
- application circuit
- adaptation layer
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2117/00—Details relating to the type or aim of the circuit design
- G06F2117/08—HW-SW co-design, e.g. HW-SW partitioning
Abstract
本发明公开了一种FPGA应用电路的可移植方法,包括:开发可在不同FPGA平台上提供统一应用电路接口的接口适配层库,接口适配层库中包含有多种接口适配层电路,每种接口适配层电路用以将对应FPGA平台的特定应用电路接口转换为统一的应用电路接口;在接口适配层库中选取与FPGA开发平台所对应的接口适配层电路进行应用电路开发;在接口适配层库中选取与FPGA部署平台对应的接口适配层电路进行应用电路部署;将开发完成的应用电路、FPGA部署平台对应的接口适配层电路和FPGA部署平台的基础功能电路进行组合编译,生成对应FPGA硬件电路的配置文件;其效果是:实现了应用电路的可重用性和可移植性,一次开发即可反复、跨FPGA平台部署,提高了其开发效率,降低了其部署难度。
Description
技术领域
本发明属于计算机技术领域,具体涉及到一种FPGA应用电路的可移植方法。
背景技术
随着计算机科学技术的发展和应用领域的不断拓展,需要更多具有高性能、低功耗属性的计算设备来满足日益增长的运算需求。通用处理器(CPU)经历了数十年的发展,随着摩尔定律已接近极限,能效比提升的空间已经相当有限。为了实现进一步的性能提升,为产业核心应用(人工智能、大数据处理等)定制处理器已成必要。由此,FPGA芯片技术逐渐进入大众视野,FPGA具有硬件可重构、低功耗、低延时的特性,在高性能计算和低功耗设备上都取得了广泛应用,在服务器加速领域扮演着重要角色和使命。
在现有技术中,大多服务厂商采用在传统服务器上安装FPGA加速板卡,并提供预先设计好的基础功能电路(SHELL),主要实现通信、内存控制等,为应用电路开发者提供开发和部署平台。然而,这些服务厂商使用或开发的芯片、板卡、以及基础功能电路都各自不同,应用电路开发者为了将应用电路产品投放到不同厂商的云服务,需要进行大量重复的应用电路(IP:Intellectual Property)开发工作。IP在半导体产业里,是指某一方提供的、形式为逻辑单元、芯片设计的可重用模组和功能电路,例如神经网络电路、加密电路、压缩电路等。这主要是因为FPGA硬件电路设计具有难以移植的问题:不同于软件开发,硬件设计和硬件环境密切相关,硬件环境稍有不同就可能导致产品设计不兼容的情况发生。因此,实现FPGA平台上的应用电路可移植性,让其可以低成本地在多种FPGA硬件平台上部署是非常必要的。
发明内容
为了解决上述问题,本发明提供一种FPGA应用电路的可移植方法,解决现有技术中FPGA应用电路移植性低、需要针对不同FPGA平台定向开发的缺陷。
本发明采取的技术方案为:一种FPGA应用电路的可移植方法,包括:
开发可在不同FPGA平台上提供统一应用电路接口的接口适配层库,接口适配层库中包含有多种接口适配层电路(SUBSHELL),每种接口适配层电路用以将对应FPGA平台的特定应用电路接口转换为统一的应用电路接口;
在所述接口适配层库中选取与FPGA开发平台所对应的接口适配层电路进行应用电路开发;
在所述接口适配层库中选取与FPGA部署平台对应的接口适配层电路进行应用电路部署;
将开发完成的应用电路、选取的与FPGA部署平台对应的接口适配层电路和FPGA部署平台的基础功能电路进行组合编译,生成对应FPGA硬件电路的配置文件;通过从接口适配层库中选取不同FPGA平台对应的接口适配层电路,可以为应用电路提供统一标准接口;实现了应用电路的可移植、可重用的特性,只要选择与FPGA部署平台对应的接口适配层电路,即可实现在不同FPGA平台部署应用电路,不需要对应用电路进行重新开发。
所述FPGA部署平台应用电路接口与FPGA开发平台应用电路接口相同。
所述FPGA部署平台应用电路接口与FPGA开发平台应用电路接口不同。
优选的,所述接口适配层电路包括一个双向数据访问的接口适配电路,所述接口适配电路的一端连接对应FPGA平台的特定应用电路接口,另一端提供统一标准接口连接所述应用电路。
优选的,所述接口适配层与所述应用电路之间的统一标准接口包括,内存映射型接口和数据流型接口,所述内存映射型接口采用AXI标准接口;所述数据流型接口采用AXI-Stream接口。
所述特定接口包括PCIe总线接口、AXI总线接口、与内存的连接接口、与存储器的连接接口、高速串口、以太网接口、传感器接口以及其他平台自定义接口。
采用上述技术方案,具有以下优点:通过预先开发接口适配层库,实现应用电路的可重用性和可移植性,一次开发即可反复、跨FPGA平台部署;降低了应用电路开发者在多平台移植应用电路的开发负担,提高了应用电路开发者的开发效率,从应用电路使用者的角度,利用本发明可以低成本地将应用电路部署在多种FPGA平台,降低了应用电路的部署和使用难度。
附图说明
图1为本发明的方法流程图;
图2为本发明FPGA硬件电路的内部结构图。
其中,SHELL表示FPGA平台基础功能电路、SUBSHELL表示接口适配层电路,IP(Intellectual Property)表示应用电路。
具体实施方式
为了使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述,这里的描述不意味着对应于实施例中陈述的具体实例的所有主题都在权利要求中引用了。
在本实施例中,FPGA开发平台表示开发应用电路时使用的FPGA平台,FPGA部署平台表示部署应用电路时使用的FPGA平台,SHELL表示FPGA平台基础功能电路,SUBSHELL表示接口适配层电路,IP(Intellectual Property)表示应用电路;SUBSHELL X表示从接口适配层库中选取的对应FPGA开发平台的接口适配层电路,SUBSHELL A、SUBSHELL B和SUBSHELLC分别表示从接口适配层库中选取的对应FPGA部署平台A、FPGA部署平台B和FPGA部署平台C的接口适配层电路。
参考图1、图2所示,一种FPGA应用电路的可移植方法,包括:
开发可在不同FPGA平台上提供统一应用电路接口的接口适配层库,接口适配层库中包含有多种接口适配层电路,每种接口适配层电路用以将对应FPGA平台的特定应用电路接口转换为统一的应用电路接口;
在所述接口适配层库中选取与FPGA开发平台所对应的接口适配层电路进行应用电路开发;
在所述接口适配层库中选取与FPGA部署平台对应的接口适配层电路进行应用电路部署;
将开发完成的应用电路、选取的与FPGA部署平台对应的接口适配层电路、和FPGA部署平台的基础功能电路进行组合编译,生成对应FPGA硬件电路的配置文件;
进一步地,所述FPGA部署平台应用电路接口与FPGA开发平台应用电路接口相同;
进一步地,所述FPGA部署平台应用电路接口与FPGA开发平台应用电路接口不同;
所述FPGA硬件电路均包括基础功能电路、接口适配层电路和应用电路;
参考图2所示,所述接口适配层电路包括一个双向数据访问的接口适配电路,所述接口适配电路的一端连接对应FPGA平台的特定应用电路接口,另一端提供统一标准接口连接所述应用电路。所述特定接口包括PCIe总线接口、AXI总线接口、与内存的连接接口、与存储器的连接接口、高速串口、以太网接口、传感器接口以及其他平台自定义接口;
进一步地,所述接口适配层与所述应用电路之间的统一标准接口包括,内存映射型接口和数据流型接口,所述内存映射型接口采用AXI标准接口;所述数据流型接口采用AXI-Stream接口;所述内存映射型接口也可采用与AXI标准接口类似的接口;所述数据流型接口也可采用与AXI-Stream接口类似的接口;
在具体实践中,FPGA平台基础功能电路(SHELL)、接口适配层电路(SUBSHELL)和应用电路(IP),具体都是RTL(Register Transfer Level)代码实现的电路,并且基础功能电路和接口适配层电路的接口,接口适配层电路和应用电路的接口,在RTL代码层面兼容并可直接互联,这三部分电路代码通过兼容接口互联形成的RTL代码通过编译,即可生成功能完整的FPGA硬件电路配置文件。
在具体应用中,例如,以实现数据压缩加速器(硬件电路)在多FPGA平台移植为例。数据压缩加速器使用数据流式接口,首先应用电路开发者在其FPGA开发平台所提供的基础功能电路(SHELL)上嵌套对应的AXI-Stream接口的接口适配层电路(SUBSHELL)进行开发。应用电路(IP)开发可使用硬件描述语言(Hardware Description Language)或高位综合(High Level Synthesis)等开发方式,开发的应用电路称为数据压缩IP;当数据压缩IP要在FPGA开发平台之外的FPGA平台上部署时,只需将开发完成的数据压缩IP、FPGA部署平台基础功能电路(SHELL)、以及从本发明提供的接口适配层库中检索的相应接口适配层电路(SUBSHELL)组合,即可形成新的FPGA工程,FPGA工程通过逻辑综合、布局布线,比特流(Bitstream)配置文件生成,最后将配置文件加载到FPGA中即可完成数据压缩加速器在FPGA部署平台上的部署工作。整个移植部署过程不需要对数据压缩IP进行改动,因此本发明为实例中的数据压缩IP降低了移植部署成本。
最后需要说明的是,上述描述为本发明的一般实施例,本领域的普通技术人员在本发明的启示下,在不违背本发明宗旨及权利要求的前提下,可以做出多种类似的表示,这样的变换均落入本发明的保护范围之内。
Claims (6)
1.一种FPGA应用电路的可移植方法,其特征在于:包括:
开发可在不同FPGA平台上提供统一应用电路接口的接口适配层库,所述接口适配层库中包含有多种接口适配层电路,每种接口适配层电路用以将对应FPGA平台的特定应用电路接口转换为统一的应用电路接口;
在所述接口适配层库中选取与FPGA开发平台所对应的接口适配层电路进行应用电路开发;
在所述接口适配层库中选取与FPGA部署平台对应的接口适配层电路进行应用电路部署;
将开发完成的应用电路、选取的与FPGA部署平台对应的接口适配层电路和FPGA部署平台的基础功能电路进行组合编译,生成对应FPGA硬件电路的配置文件;
FPGA平台基础功能电路、接口适配层电路和应用电路,都是RTL代码实现的电路,并且基础功能电路和接口适配层电路的接口,接口适配层电路和应用电路的接口,在RTL代码层面兼容并可直接互联。
2.根据权利要求1所述的一种FPGA应用电路的可移植方法,其特征在于:
所述FPGA部署平台应用电路接口与FPGA开发平台应用电路接口相同。
3.根据权利要求1所述的一种FPGA应用电路的可移植方法,其特征在于:
所述FPGA部署平台应用电路接口与FPGA开发平台应用电路接口不同。
4.根据权利要求1所述的一种FPGA应用电路的可移植方法,其特征在于:
所述接口适配层电路包括一个双向数据访问的接口适配电路,所述接口适配电路的一端连接对应FPGA平台的特定应用电路接口,另一端提供统一标准接口连接所述应用电路。
5.根据权利要求4所述的一种FPGA应用电路的可移植方法,其特征在于:
所述接口适配层与所述应用电路之间的统一标准接口包括,内存映射型接口和数据流型接口,所述内存映射型接口采用AXI标准接口;所述数据流型接口采用AXI-Stream接口。
6.根据权利要求4所述的一种FPGA应用电路的可移植方法,其特征在于:
所述特定接口包括PCIe总线接口、AXI总线接口、与内存的连接接口、与存储器的连接接口、高速串口、以太网接口、传感器接口以及其他平台自定义接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710475563.XA CN107273621B (zh) | 2017-06-21 | 2017-06-21 | 一种fpga应用电路的可移植方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710475563.XA CN107273621B (zh) | 2017-06-21 | 2017-06-21 | 一种fpga应用电路的可移植方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107273621A CN107273621A (zh) | 2017-10-20 |
CN107273621B true CN107273621B (zh) | 2020-10-09 |
Family
ID=60068648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710475563.XA Active CN107273621B (zh) | 2017-06-21 | 2017-06-21 | 一种fpga应用电路的可移植方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107273621B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111242294B (zh) * | 2017-12-14 | 2023-08-25 | 中科寒武纪科技股份有限公司 | 集成电路芯片装置及相关产品 |
CN109144722B (zh) * | 2018-07-20 | 2020-11-24 | 上海研鸥信息科技有限公司 | 一种多应用高效共用fpga资源的管理系统及方法 |
CN112541310B (zh) * | 2020-12-18 | 2021-10-29 | 广东高云半导体科技股份有限公司 | 逻辑综合控制方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7017140B2 (en) * | 2002-08-29 | 2006-03-21 | Bae Systems Information And Electronic Systems Integration Inc. | Common components in interface framework for developing field programmable based applications independent of target circuit board |
CN101872367A (zh) * | 2009-04-21 | 2010-10-27 | 上海威璞电子科技有限公司 | 采用高速电子开关阵列的板级电路可编程多fpga验证系统 |
CN104515947A (zh) * | 2014-12-12 | 2015-04-15 | 中国电子科技集团公司第五十八研究所 | 可编程逻辑器件在系统编程的快速配置与测试方法 |
CN104780333A (zh) * | 2014-12-03 | 2015-07-15 | 中国航天科工集团第三研究院第八三五七研究所 | 基于fpga的高带宽视频源接口适配装置 |
CN106851297A (zh) * | 2017-03-28 | 2017-06-13 | 西安电子科技大学 | 基于fmc的多功能高清视频压缩编码电路装置 |
-
2017
- 2017-06-21 CN CN201710475563.XA patent/CN107273621B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7017140B2 (en) * | 2002-08-29 | 2006-03-21 | Bae Systems Information And Electronic Systems Integration Inc. | Common components in interface framework for developing field programmable based applications independent of target circuit board |
CN101872367A (zh) * | 2009-04-21 | 2010-10-27 | 上海威璞电子科技有限公司 | 采用高速电子开关阵列的板级电路可编程多fpga验证系统 |
CN104780333A (zh) * | 2014-12-03 | 2015-07-15 | 中国航天科工集团第三研究院第八三五七研究所 | 基于fpga的高带宽视频源接口适配装置 |
CN104515947A (zh) * | 2014-12-12 | 2015-04-15 | 中国电子科技集团公司第五十八研究所 | 可编程逻辑器件在系统编程的快速配置与测试方法 |
CN106851297A (zh) * | 2017-03-28 | 2017-06-13 | 西安电子科技大学 | 基于fmc的多功能高清视频压缩编码电路装置 |
Non-Patent Citations (1)
Title |
---|
"基于MATLAB_Modelsim-ISE/Quartus的FPGA联合开发设计";夏高峰等;《航空电子技术》;20140930;第45卷(第3期);第5-11页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107273621A (zh) | 2017-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI746878B (zh) | 高頻寬記憶體系統以及邏輯裸片 | |
US7856546B2 (en) | Configurable processor module accelerator using a programmable logic device | |
US9436785B1 (en) | Hierarchical preset and rule based configuration of a system-on-chip | |
US11886930B2 (en) | Runtime execution of functions across reconfigurable processor | |
CN107273621B (zh) | 一种fpga应用电路的可移植方法 | |
US11182264B1 (en) | Intra-node buffer-based streaming for reconfigurable processor-as-a-service (RPaaS) | |
US11507493B1 (en) | Debugging dataflow computer architectures | |
CN104881105A (zh) | 电子装置 | |
US7212961B2 (en) | Interface for rapid prototyping system | |
CN114121055A (zh) | 内存互连架构系统和方法 | |
Nicolescu et al. | Validation in a component-based design flow for multicore SoCs | |
Sano et al. | ESSPER: Elastic and scalable FPGA-cluster system for high-performance reconfigurable computing with supercomputer Fugaku | |
CN103901402B (zh) | 重构fpga雷达数字信号处理组件及方法 | |
Chang | Design and applications of a reconfigurable computing system for high performance digital signal processing | |
US11789642B2 (en) | Loading data from memory during dispatch | |
Kim et al. | Hardware Acceleration. | |
CN209803659U (zh) | 一种gpu服务器中的时钟控制系统 | |
Bakiri et al. | Embedded system with Linux Kernel based on OpenRISC 1200-V3 | |
Engel | Development of a Read-Out Receiver Card for Fast Processing of Detector Data | |
CN211123939U (zh) | 一种具有海量复杂数据处理能力的amc信号处理板 | |
Russo | Adaptation of High Performance and High Capacity Reconfigurable Systems to OpenCL Programming Environments | |
Essig et al. | On-demand instantiation of co-processors on dynamically reconfigurable FPGAs | |
Kurniawan et al. | Virtual Platform for Architecture Exploration of Serial Communication in MPSoC Devices | |
Abid et al. | Towards an open embedded system on chip for network applications | |
Li et al. | A new method of evolving hardware design based on IIC bus and AT24C02 |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230811 Address after: Building 1604, Tongji Science and Technology Plaza, No. 2 Hushan Road, Changshu High tech Industrial Development Zone, Suzhou City, Jiangsu Province, 215500 Patentee after: Suzhou Yanou Technology Co.,Ltd. Address before: Room 211-651, No. 15, Lane 110, Guyuan Road, Hongkou District, Shanghai, 200000 Patentee before: SHANGHAI YANOU INFORMATION TECHNOLOGY CO.,LTD. |