CN107273621A - 一种fpga应用电路的可移植方法 - Google Patents

一种fpga应用电路的可移植方法 Download PDF

Info

Publication number
CN107273621A
CN107273621A CN201710475563.XA CN201710475563A CN107273621A CN 107273621 A CN107273621 A CN 107273621A CN 201710475563 A CN201710475563 A CN 201710475563A CN 107273621 A CN107273621 A CN 107273621A
Authority
CN
China
Prior art keywords
interface
fpga
circuit
adaptation layer
application
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
CN201710475563.XA
Other languages
English (en)
Other versions
CN107273621B (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.)
Suzhou Yanou Technology Co ltd
Original Assignee
Shanghai Research Gull Mdt Infotech Ltd
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 Shanghai Research Gull Mdt Infotech Ltd filed Critical Shanghai Research Gull Mdt Infotech Ltd
Priority to CN201710475563.XA priority Critical patent/CN107273621B/zh
Publication of CN107273621A publication Critical patent/CN107273621A/zh
Application granted granted Critical
Publication of CN107273621B publication Critical patent/CN107273621B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/08HW-SW co-design, e.g. HW-SW partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种FPGA应用电路的可移植方法,包括:开发可在不同FPGA平台上提供统一应用电路接口的接口适配层库,接口适配层库中包含有多种接口适配层电路,每种接口适配层电路用以将对应FPGA平台的特定应用电路接口转换为统一的应用电路接口;在接口适配层库中选取与FPGA开发平台所对应的接口适配层电路进行应用电路开发;在接口适配层库中选取与FPGA部署平台对应的接口适配层电路进行应用电路部署;将开发完成的应用电路、FPGA部署平台对应的接口适配层电路和FPGA部署平台的基础功能电路进行组合编译,生成对应FPGA硬件电路的配置文件;其效果是:实现了应用电路的可重用性和可移植性,一次开发即可反复、跨FPGA平台部署,提高了其开发效率,降低了其部署难度。

Description

一种FPGA应用电路的可移植方法
技术领域
本发明属于计算机技术领域,具体涉及到一种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硬件电路的配置文件。
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总线接口、与内存的连接接口、与存储器的连接接口、高速串口、以太网接口、传感器接口以及其他平台自定义接口。
CN201710475563.XA 2017-06-21 2017-06-21 一种fpga应用电路的可移植方法 Active CN107273621B (zh)

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 true CN107273621A (zh) 2017-10-20
CN107273621B 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144722A (zh) * 2018-07-20 2019-01-04 上海研鸥信息科技有限公司 一种多应用高效共用fpga资源的管理系统及方法
CN110826712A (zh) * 2017-12-14 2020-02-21 中科寒武纪科技股份有限公司 神经网络处理器板卡及相关产品
CN112541310A (zh) * 2020-12-18 2021-03-23 广东高云半导体科技股份有限公司 逻辑综合控制方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
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的多功能高清视频压缩编码电路装置

Patent Citations (5)

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

* Cited by examiner, † Cited by third party
Title
夏高峰等: ""基于MATLAB_Modelsim-ISE/Quartus的FPGA联合开发设计"", 《航空电子技术》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110826712A (zh) * 2017-12-14 2020-02-21 中科寒武纪科技股份有限公司 神经网络处理器板卡及相关产品
CN110826712B (zh) * 2017-12-14 2024-01-09 中科寒武纪科技股份有限公司 神经网络处理器板卡及相关产品
CN109144722A (zh) * 2018-07-20 2019-01-04 上海研鸥信息科技有限公司 一种多应用高效共用fpga资源的管理系统及方法
CN109144722B (zh) * 2018-07-20 2020-11-24 上海研鸥信息科技有限公司 一种多应用高效共用fpga资源的管理系统及方法
CN112541310A (zh) * 2020-12-18 2021-03-23 广东高云半导体科技股份有限公司 逻辑综合控制方法及装置
CN112541310B (zh) * 2020-12-18 2021-10-29 广东高云半导体科技股份有限公司 逻辑综合控制方法及装置

Also Published As

Publication number Publication date
CN107273621B (zh) 2020-10-09

Similar Documents

Publication Publication Date Title
US7017140B2 (en) Common components in interface framework for developing field programmable based applications independent of target circuit board
Mehta ASIC/SoC functional design verification
CN107273621A (zh) 一种fpga应用电路的可移植方法
US7212961B2 (en) Interface for rapid prototyping system
Mikhaylov et al. Extensible modular wireless sensor and actuator network and IoT platform with Plug&Play module connection
US10621299B1 (en) Dynamic platform support in programmable integrated circuits
Schaumont et al. Hardware reuse at the behavioral level
Nicolescu et al. Validation in a component-based design flow for multicore SoCs
Leibson Designing SOCs with configured cores: unleashing the Tensilica Xtensa and diamond cores
Mintz et al. Hardware Verification with System Verilog: An Object-Oriented Framework
Amory et al. A heterogeneous and distributed co-simulation environment [hardware/software]
Chang Design and applications of a reconfigurable computing system for high performance digital signal processing
Sen et al. Dataflow-based mapping of computer vision algorithms onto FPGAs
Wingard Socket-based design using decoupled interconnects
Wirthlin et al. OpenFPGA CoreLib core library interoperability effort
Herrholz et al. The ANDRES project: analysis and design of run-time reconfigurable, heterogeneous systems
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
CN102662811B (zh) 一种实现对51软核在线应用代码调试的方法
Patterson et al. Slotless module-based reconfiguration of embedded FPGAs
Park et al. Reusable component IP design using refinement-based design environment
Abid et al. Opencores based Embedded System on Chip for Network Applications
Taylor et al. ALCHA: An Alternative Programming Model for FPGA Firmware
Abid et al. Towards an open embedded system on chip for network applications
Boutekkouk Towards an ontology-driven intellectual properties reuse for systems on chip design

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.