CN114328342A - 一种用于PCIe异构加速卡的新型程控配置方法 - Google Patents

一种用于PCIe异构加速卡的新型程控配置方法 Download PDF

Info

Publication number
CN114328342A
CN114328342A CN202011048292.8A CN202011048292A CN114328342A CN 114328342 A CN114328342 A CN 114328342A CN 202011048292 A CN202011048292 A CN 202011048292A CN 114328342 A CN114328342 A CN 114328342A
Authority
CN
China
Prior art keywords
pcie
configuration
fpga
file
power
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
CN202011048292.8A
Other languages
English (en)
Other versions
CN114328342B (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.)
724th Research Institute of CSIC
Original Assignee
724th Research Institute of CSIC
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 724th Research Institute of CSIC filed Critical 724th Research Institute of CSIC
Priority to CN202011048292.8A priority Critical patent/CN114328342B/zh
Publication of CN114328342A publication Critical patent/CN114328342A/zh
Application granted granted Critical
Publication of CN114328342B publication Critical patent/CN114328342B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种用于PCIe异构加速卡的新型程控配置方法,该方法将PCIe异构加速卡上FPGA的配置文件分割为上电配置和按需加载两部分:上电配置文件包含PCIe固核以及FPGA内部配置控制器,烧录在PCIe加速卡上的闪存中;按需加载文件包含用户固件程序,存储在计算机硬盘中。将PCIe加速卡安装并上电后,闪存中的上电配置文件将被加载并对FPGA进行初始化配置,之后计算机将按需加载文件通过PCIe链路传输至FPGA的内部配置端口,对FPGA进行进一步配置。本发明可以解决传统方式下FPGA上电配置时间长,无法满足PCIe异构加速卡上电链路训练时限要求的问题。

Description

一种用于PCIe异构加速卡的新型程控配置方法
技术领域
本发明涉及FPGA应用技术领域。
背景技术
随着数据规模的不断增长以及数据分析算法复杂度的不断提升,数据处理系统对计算性能的需求也日益凸显,CPU的处理能力受到极大的挑战。在这样的背景下,异构计算受到越来越多的关注,其中FPGA加速卡就是比较常见的一种,它通过PCIe总线与主机CPU相连,又称为PCIe异构加速卡。
PCIe异构加速卡的核心是FPGA,其PCIe端点设备功能也是利用FPGA中的PCIe固核实现的,因此对加速卡的配置就是对FPGA的配置。在PCIe异构加速卡应用过程中,也经常需要对FPGA进行加载更新配置数据。传统的FPGA配置方式一般是采用JTAG接口下载配置文件,或者将完整的配置文件烧录至PROM中令FPGA上电加载。根据PCIe基本规范要求,PCIe设备需要在系统上电启动120ms内为PCIe链路训练做好准备,进而完成PCIe设备枚举、识别;但是采用这两种传统方式配置FPGA时配置文件加载速度均比较慢,无法满足系统上电PCIe设备枚举、识别时限要求,给PCIe异构加速卡的实际应用带来困难。
发明内容
为解决传统方式下FPGA上电配置时间长,无法满足PCIe异构加速卡上电链路训练时限要求的问题,本发明提供了一种用于PCIe异构加速卡的新型程控配置方法。
为达到以上目的,本发明提出了一种用于PCIe异构加速卡的新型程控配置方法,具有以下步骤:
步骤一、生成包含PCIe固核和FPGA内部配置控制器的上电配置文件,并将其烧录至PCIe加速卡上的闪存中;
步骤二、生成具有用户自定义运算加速功能的按需加载文件,存储在计算机硬盘中;
步骤三、编译并安装对应计算机系统版本的PCIe加速卡驱动程序;
步骤四、将PCIe加速卡安装在计算机中并上电;
步骤五、PCIe加速卡上闪存中的上电配置文件将自动加载并对FPGA进行初始化配置;
步骤六、计算机将按需加载文件通过PCIe链路传输至FPGA的内部配置控制器,对FPGA进行进一步配置。
优选的,所述FPGA为Xilinx公司Artix-7、Kintex-7、Virtex-7等可以实现PCIe固核的7系列器件;所述PCIe异构加速卡为载有所述FPGA实现运算加速功能、利用所述FPGA的PCIe固核实现PCIe端点设备功能、带有PCIe边沿接插件的硬件板卡。
优选的,所述PCIe加速卡上的闪存为符合Xilinx 7系列FPGA主控配置模式标准的PROM芯片。
优选的,所述上电配置文件为.bit配置比特流文件,在通过JTAG将其烧录至所述闪存时要按照配置模式和PROM芯片型号转换格式为.mcs文件并进行数据压缩。
优选的,所述上电配置文件包含的PCIe固核能够执行PCIe链路训练、完成PCIe设备枚举以及通过PCIe链路收发数据。所述上电配置文件包含的FPGA内部配置控制器为Xilinx ICAP模块。
优选的,所述步骤二中,所述按需加载文件为具备完整运算加速功能的FPGA配置比特流文件去除PCIe固核和ICAP模块的剩余部分,在存储时要将其转换为四字节对齐的.bin文件。
具体的,在断电情况下将所述PCIe加速卡的PCIe边沿接插件插入计算机主板上的PCIe扩展插槽中进行安装固定,接着冷启动计算机。
具体的,所述初始化配置包括FPGA上电复位、PCIe固核初始化、PCIe链路训练、PCIe设备枚举以及ICAP模块初始化。
优选的,在所述步骤三中,所述驱动程序负责将PCIe固核内部存储器格式的BAR映射到系统空间,并提供设备访问接口和设备写入回调函数。
优选的,在所述步骤六中,计算机通过API访问PCIe加速卡驱动程序,将从计算机硬盘中读取出的按需加载文件通过PCIe链路传输至FPGA,ICAP模块根据按需加载文件中的信息刷写FPGA程序。
优选的,计算机在向所述PCIe加速卡传输按需加载文件时采用PIO模式,向FPGA中PCIe固核内部BAR映射的存储器执行多次的双字数据写入,并最终将数据传递至ICAP模块进行刷写。
与现有技术相比,本发明将PCIe异构加速卡上FPGA的配置文件分割为上电配置和按需加载两部分:上电配置文件包含PCIe固核以及FPGA内部配置控制器,烧录在PCIe加速卡上的闪存中;按需加载文件包含用户固件程序,存储在计算机硬盘中。将PCIe加速卡安装并上电后,闪存中的上电配置文件将被加载并对FPGA进行初始化配置,之后计算机将按需加载文件通过PCIe链路传输至FPGA的内部配置端口,对FPGA进行进一步配置。本发明通过将完整的FPGA配置文件分割为上电配置和按需加载两部分,大幅度减少PCIe异构加速卡上电时FPGA所需加载的配置文件大小,尽可能缩短FPGA的上电配置时间使其能够满足PCIe异构加速卡上电链路训练时限的要求。
附图说明
图1是本发明实施例公开的一种用于PCIe异构加速卡的新型程控配置方法流程示意图。
具体实施方式
附图1为本发明实施例,公开了一种用于PCIe异构加速卡的新型程控配置方法流程示意图,具体描述为如下步骤:
S101、生成包含PCIe固核和FPGA内部配置控制器的上电配置文件,并将其烧录至PCIe加速卡上的闪存中。
本发明实施例选用PCIe加速卡为Xilinx公司的KC705开发板,开发环境为XilinxVivado,其上搭载的FPGA器件为Kintex-7系列的XC7K325T,该FPGA中可例化的PCIe固核支持PCIe 2.0*8lane的端点设备功能,同时KC705板卡也附带8数据通路的PCIe边沿接插件。
本发明实施例PCIe加速卡上用来烧录上电配置文件的闪存就是KC705开发板搭载的128MB线性BPI闪存,其型号为Micron公司的PC28F00AP30TF,该闪存能够以主控BPI模式对FPGA进行同步配置,默认配置时钟频率为33MHz,配置接口位宽为16bit。
本发明实施例在使用Vivado生成上电配置文件时,例化的PCIe固核配置为PCIe2.0*8lane的端点设备模式,具备执行PCIe链路训练、完成PCIe设备枚举以及通过PCIe链路收发数据等功能。
本发明实施例在使用Vivado生成上电配置文件时,通过调用ICAPE2原语来例化Kintex-7系列FPGA的内部配置控制器即ICAP;ICAP模块可提供从FPGA内部逻辑访问FPGA配置功能的端口,对于本发明实施例所采用的FPGA而言这一端口的配置数据输入位宽为32bit。
本发明实施例生成的上电配置文件为.bit文件格式,先按照BPI闪存的型号(MicronPC28F00AP30TF)和加载起始地址将其转换为.mcs文件,再通过JTAG向BPI闪存进行烧录。
S102、生成具有用户自定义运算加速功能的按需加载文件,存储在计算机硬盘中。
本发明实施例使用Vivado生成的按需加载文件为.bit文件,该文件为具备完整运算加速功能的FPGA配置比特流文件去除包含有PCIe固核和ICAP模块的布局约束块Pblock后的剩余部分,在存储时要将其转换为四字节对齐(即32bit对齐,与ICAP配置数据输入位宽对应)的.bin文件。
S103、编译并安装对应计算机系统版本的PCIe加速卡驱动程序。
本发明实施例采用计算机系统版本为Windows 7x64,相应的KC705开发板其PCIe驱动程序为在WDF(Windows驱动框架)下设计、编译,该驱动程序实现的功能包括对KC705板卡在计算机中的检测识别、提供计算机对FPGA进行PIO模式读写的函数以及对PCIe固核实现的总线控制型DMA(直接存储访问)控制器进行参数配置。
S104、将PCIe加速卡安装在计算机中并上电。
本发明实施例在断电情况下将KC705开发板的PCIe边沿接插件插入计算机主板上的PCIe扩展插槽中进行安装固定,接着冷启动计算机。
S105、PCIe加速卡上闪存中的上电配置文件将自动加载并对FPGA进行初始化配置。
本发明实施例中的上电配置文件仅包含了PCIe固核和ICAP模块,相应的布局约束块Pblock占据的FPGA面积较少,因此上电配置文件相比具备完整运算加速运算功能的FPGA配置比特流文件要小得多。
以本发明实施例中采用的Kintex-7系列FPGA XC7K325T为例,完整比特流文件大小约为10.9MB,而上电配置文件大小约为2.6MB,按照16位主控BPI配置模式下配置时钟频率为33MHz计算,相应的配置时间分别约为165ms和40ms。可见系统上电时的FPGA配置时间大大缩短,采用本发明实施例能够满足PCIe异构加速卡上电链路训练的时限要求。
本发明实施例中初始化配置包括FPGA上电复位、PCIe固核初始化、PCIe链路训练、PCIe设备枚举以及ICAP模块初始化。
S106、计算机将按需加载文件通过PCIe链路传输至FPGA的内部配置控制器,对FPGA进行进一步配置。
本发明实施例中计算机通过WindowsAPI访问PCIe驱动程序,将从计算机硬盘中读取出的按需加载文件通过PCIe链路传输至FPGA,ICAP模块根据按需加载文件中的信息刷写FPGA中布局约束块boot_block以外的剩余区域。
本发明实施例中计算机在向传输按需加载文件时采用PIO模式,向FPGA中PCIe固核内部BAR映射的存储器执行多次的双字数据写入,并最终将数据传递至ICAP模块进行刷写。
综上所述,本发明将PCIe异构加速卡上FPGA的配置文件分割为上电配置和按需加载两部分:上电配置文件包含PCIe固核以及FPGA内部配置控制器,烧录在PCIe加速卡上的闪存中;按需加载文件包含用户固件程序,存储在计算机硬盘中。将PCIe加速卡安装并上电后,闪存中的上电配置文件将被加载并对FPGA进行初始化配置,之后计算机将按需加载文件通过PCIe链路传输至FPGA的内部配置端口,对FPGA进行进一步配置。本发明可以解决传统方式下FPGA上电配置时间长,无法满足PCIe异构加速卡上电链路训练时限要求的问题。

Claims (9)

1.一种用于PCIe异构加速卡的新型程控配置方法,其特征在于:
步骤一:生成包含PCIe固核和FPGA内部配置控制器的上电配置文件,并将其烧录至PCIe加速卡上的闪存中;
步骤二:生成具有用户自定义运算加速功能的按需加载文件,存储在计算机硬盘中;
步骤三:编译并安装对应计算机系统版本的PCIe加速卡驱动程序;
步骤四:将PCIe加速卡安装在计算机中并上电;
步骤五:PCIe加速卡上闪存中的上电配置文件将自动加载并对FPGA进行初始化配置;
步骤六:计算机将按需加载文件通过PCIe链路传输至FPGA的内部配置控制器,对FPGA进行进一步配置。
2.根据权利要求1所述的用于PCIe异构加速卡的新型程控配置方法,其特征在于:所述FPGA为Xilinx公司可实现PCIe固核的7系列器件;所述PCIe异构加速卡为载有所述FPGA实现运算加速功能、利用所述FPGA的PCIe固核实现PCIe端点设备功能、带有PCIe边沿接插件的硬件板卡。
3.根据权利要求1所述的用于PCIe异构加速卡的新型程控配置方法,其特征在于:在所述步骤一中,所述PCIe加速卡上的闪存为符合Xilinx 7系列FPGA主控配置模式标准的PROM芯片。
4.根据权利要求1所述的用于PCIe异构加速卡的新型程控配置方法,其特征在于:在所述步骤一中,所述上电配置文件为.bit配置比特流文件,在通过JTAG将其烧录至所述闪存时要按照配置模式和PROM芯片型号转换格式为.mcs文件并进行数据压缩。
5.根据权利要求1所述的用于PCIe异构加速卡的新型程控配置方法,其特征在于:在所述步骤一中,所述上电配置文件包含的PCIe固核能够执行PCIe链路训练、完成PCIe设备枚举以及通过PCIe链路收发数据;该文件包含的FPGA内部配置控制器为XilinxICAP模块。
6.根据权利要求1所述的用于PCIe异构加速卡的新型程控配置方法,其特征在于:在所述步骤二中,所述按需加载文件为具备完整运算加速功能的FPGA配置比特流文件去除PCIe固核和ICAP模块的剩余部分,在存储时要将其转换为四字节对齐的.bin文件。
7.根据权利要求1所述的用于PCIe异构加速卡的新型程控配置方法,其特征在于:在所述步骤三中,所述驱动程序负责将PCIe固核内部存储器格式的BAR映射到系统空间,并提供设备访问接口和设备写入回调函数。
8.根据权利要求1所述的用于PCIe异构加速卡的新型程控配置方法,其特征在于:在所述步骤六中,计算机通过API访问PCIe加速卡驱动程序,将从计算机硬盘中读取出的按需加载文件通过PCIe链路传输至FPGA,ICAP模块根据按需加载文件中的信息刷写FPGA程序。
9.根据权利要求7或权利要求8所述的用于PCIe异构加速卡的新型程控配置方法,其特征在于:计算机在向所述PCIe加速卡传输按需加载文件时采用PIO模式,向FPGA中PCIe固核内部BAR映射的存储器执行多次的双字数据写入,并最终将数据传递至ICAP模块进行刷写。
CN202011048292.8A 2020-09-29 2020-09-29 一种用于PCIe异构加速卡的新型程控配置方法 Active CN114328342B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011048292.8A CN114328342B (zh) 2020-09-29 2020-09-29 一种用于PCIe异构加速卡的新型程控配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011048292.8A CN114328342B (zh) 2020-09-29 2020-09-29 一种用于PCIe异构加速卡的新型程控配置方法

Publications (2)

Publication Number Publication Date
CN114328342A true CN114328342A (zh) 2022-04-12
CN114328342B CN114328342B (zh) 2023-09-26

Family

ID=81011311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011048292.8A Active CN114328342B (zh) 2020-09-29 2020-09-29 一种用于PCIe异构加速卡的新型程控配置方法

Country Status (1)

Country Link
CN (1) CN114328342B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116893858A (zh) * 2023-09-11 2023-10-17 西安智多晶微电子有限公司 一种FPGA快速启动PCIe的配置方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105279127A (zh) * 2015-11-25 2016-01-27 哈尔滨工业大学 一种基于PCI或PCIe总线的FPGA程序下载系统及方法
CN106406936A (zh) * 2016-08-31 2017-02-15 中国船舶重工集团公司第七〇二研究所 一种fpga程序多版本管理装置及方法
CN107505592A (zh) * 2017-07-27 2017-12-22 中国船舶重工集团公司第七二四研究所 一种基于多波束雷达粗测向的通信接入方法
CN107656776A (zh) * 2017-10-31 2018-02-02 郑州云海信息技术有限公司 一种fpga加速卡的固件更新方法、装置及介质
CN108966338A (zh) * 2018-07-12 2018-12-07 中国船舶重工集团公司第七二四研究所 一种ofdm系统的时域频域联合自动增益控制方法
CN108959136A (zh) * 2018-06-26 2018-12-07 豪威科技(上海)有限公司 基于spi的数据传输加速装置、系统及数据传输方法
CN110806868A (zh) * 2018-08-06 2020-02-18 上海网梯数码科技有限公司 一种单页面搭建及加载方法
WO2020180349A1 (en) * 2019-03-05 2020-09-10 Brookhaven Science Associates, Llc High-bandwidth reconfigurable data acquisition card

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105279127A (zh) * 2015-11-25 2016-01-27 哈尔滨工业大学 一种基于PCI或PCIe总线的FPGA程序下载系统及方法
CN106406936A (zh) * 2016-08-31 2017-02-15 中国船舶重工集团公司第七〇二研究所 一种fpga程序多版本管理装置及方法
CN107505592A (zh) * 2017-07-27 2017-12-22 中国船舶重工集团公司第七二四研究所 一种基于多波束雷达粗测向的通信接入方法
CN107656776A (zh) * 2017-10-31 2018-02-02 郑州云海信息技术有限公司 一种fpga加速卡的固件更新方法、装置及介质
CN108959136A (zh) * 2018-06-26 2018-12-07 豪威科技(上海)有限公司 基于spi的数据传输加速装置、系统及数据传输方法
CN108966338A (zh) * 2018-07-12 2018-12-07 中国船舶重工集团公司第七二四研究所 一种ofdm系统的时域频域联合自动增益控制方法
CN110806868A (zh) * 2018-08-06 2020-02-18 上海网梯数码科技有限公司 一种单页面搭建及加载方法
WO2020180349A1 (en) * 2019-03-05 2020-09-10 Brookhaven Science Associates, Llc High-bandwidth reconfigurable data acquisition card

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
PETER R.S. STIJNMAN: "Transceive Phase Corrected Contrast Source Inversion-Electrical Properties Tomography", 《ARXIV》 *
童颖飞: "一种通用数字T/R组件自动测试系统", 《雷达与对抗》 *
蒲恺: "基于IP核的PCIE总线接口逻辑的设计和实现", 《航空计算技术》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116893858A (zh) * 2023-09-11 2023-10-17 西安智多晶微电子有限公司 一种FPGA快速启动PCIe的配置方法
CN116893858B (zh) * 2023-09-11 2023-12-12 西安智多晶微电子有限公司 一种FPGA快速启动PCIe的配置方法

Also Published As

Publication number Publication date
CN114328342B (zh) 2023-09-26

Similar Documents

Publication Publication Date Title
US5978862A (en) PCMCIA card dynamically configured in first mode to program FPGA controlling application specific circuit and in second mode to operate as an I/O device
US7890690B2 (en) System and method for dual-ported flash memory
EP0569969B1 (en) Microcomputer having instruction memory storing instructions for reading out internal conditions
US8037228B2 (en) Bridge device with page-access based processor interface
CN101454746A (zh) 一种以多功能存储卡通讯的方法
CN111931442B (zh) Fpga内嵌flash控制器及电子装置
CN112256601A (zh) 数据存取控制方法、嵌入式存储系统及嵌入式设备
CN103092810A (zh) 具有可编程虚拟端口的处理器
KR20070108410A (ko) 호스트 제어기 상에서의 독립적이면서 동시적인 데이터전달을 위한 방법 및 장치
CN109669729A (zh) 一种处理器的启动引导方法
US20170300348A1 (en) Virtual device based systems
US11237832B2 (en) Module with a serialization unit and improved compatibility with deserialization units of different series
CN114153779A (zh) 一种i2c通信方法、系统、设备、及存储介质
CN111190855A (zh) 一种fpga多重远程配置系统及方法
CN113849433A (zh) 一种总线控制器的执行方法、装置、总线控制器、计算机设备和存储介质
JPWO2003009222A1 (ja) 電子装置、情報処理装置、アダプタ装置及び情報交換システム
US20050144436A1 (en) Multitasking system level platform for HW/SW co-verification
CN114328342B (zh) 一种用于PCIe异构加速卡的新型程控配置方法
US20030191624A1 (en) Debug function built-in type microcomputer
US20050086454A1 (en) System and methods for providing a debug function built-in type microcomputer
US20140040382A1 (en) Secure digital host controller virtualization
CN109445686B (zh) 一种存储磁盘以及存取数据的方法
US20030229727A1 (en) Method and apparatus of virtual COM port
JP2002288002A (ja) エミュレータ装置及びエミュレーション方法
US20020004877A1 (en) Method and system for updating user memory in emulator systems

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
CB02 Change of applicant information

Address after: 210003 No. 346, Zhongshan North Road, Jiangsu, Nanjing

Applicant after: 724 Research Institute of China Shipbuilding Corp.

Address before: 210003 No. 346, Zhongshan North Road, Jiangsu, Nanjing

Applicant before: 724TH RESEARCH INSTITUTE OF CHINA SHIPBUILDING INDUSTRY Corp.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant