CN114328342A - 一种用于PCIe异构加速卡的新型程控配置方法 - Google Patents
一种用于PCIe异构加速卡的新型程控配置方法 Download PDFInfo
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种用于PCIe异构加速卡的新型程控配置方法,该方法将PCIe异构加速卡上FPGA的配置文件分割为上电配置和按需加载两部分:上电配置文件包含PCIe固核以及FPGA内部配置控制器,烧录在PCIe加速卡上的闪存中;按需加载文件包含用户固件程序,存储在计算机硬盘中。将PCIe加速卡安装并上电后,闪存中的上电配置文件将被加载并对FPGA进行初始化配置,之后计算机将按需加载文件通过PCIe链路传输至FPGA的内部配置端口,对FPGA进行进一步配置。本发明可以解决传统方式下FPGA上电配置时间长,无法满足PCIe异构加速卡上电链路训练时限要求的问题。
Description
技术领域
本发明涉及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模块进行刷写。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116893858A (zh) * | 2023-09-11 | 2023-10-17 | 西安智多晶微电子有限公司 | 一种FPGA快速启动PCIe的配置方法 |
Citations (8)
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 |
-
2020
- 2020-09-29 CN CN202011048292.8A patent/CN114328342B/zh active Active
Patent Citations (8)
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)
Title |
---|
PETER R.S. STIJNMAN: "Transceive Phase Corrected Contrast Source Inversion-Electrical Properties Tomography", 《ARXIV》 * |
童颖飞: "一种通用数字T/R组件自动测试系统", 《雷达与对抗》 * |
蒲恺: "基于IP核的PCIE总线接口逻辑的设计和实现", 《航空计算技术》 * |
Cited By (2)
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 | |
KR20070108410A (ko) | 호스트 제어기 상에서의 독립적이면서 동시적인 데이터전달을 위한 방법 및 장치 | |
CN111931442B (zh) | Fpga内嵌flash控制器及电子装置 | |
CN103092810A (zh) | 具有可编程虚拟端口的处理器 | |
CN109669729A (zh) | 一种处理器的启动引导方法 | |
US20170300348A1 (en) | Virtual device based systems | |
CN111190855A (zh) | 一种fpga多重远程配置系统及方法 | |
US11237832B2 (en) | Module with a serialization unit and improved compatibility with deserialization units of different series | |
JPWO2003009222A1 (ja) | 電子装置、情報処理装置、アダプタ装置及び情報交換システム | |
CN109783407B (zh) | 一种基于fpga实现pc与显卡桥接的装置及方法 | |
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 | |
CN109840172A (zh) | 一种基于SoC主控芯片的Nand闪存分析装置及方法 | |
US20140040382A1 (en) | Secure digital host controller virtualization | |
CN109445686B (zh) | 一种存储磁盘以及存取数据的方法 | |
US9442788B2 (en) | Bus protocol checker, system on chip including the same, bus protocol checking method | |
JP2002288002A (ja) | エミュレータ装置及びエミュレーション方法 | |
US20020004877A1 (en) | Method and system for updating user memory in emulator systems | |
EP4485175A1 (en) | Operation method, memory system, system, and readable storage medium | |
CN114880269B (zh) | 板卡id配置与识别方法、微控制器及控制系统 |
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 |