System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于FPGA的PCIe IP核实现多物理功能的PCIe设备的方法及系统技术方案_技高网

基于FPGA的PCIe IP核实现多物理功能的PCIe设备的方法及系统技术方案

技术编号:40765374 阅读:2 留言:0更新日期:2024-03-25 20:15
本发明专利技术涉及基于FPGA的PCIe IP核实现多物理功能的PCIe设备的方法及系统,所述方法包括如下步骤:获取HOST读取与所述PCIe设备的第一个物理功能对应的配置空间的第一返回值,当所述第一返回值为单物理功能设备时动态修改所述第一返回值为多物理功能设备;获取HOST读取与所述PCIe设备的每个物理功能对应的配置空间的第二返回值,当所述第二返回值为所述PCIe设备的识别码或不支持物理功能请求时,确认所述PCIe设备支持与所述第二返回值对应的物理功能;保存与所述PCIe设备支持的每个物理功能对应的配置空间的空间基地址。本发明专利技术的至少一些技术方案的有益效果在于,成功的在Xilinx、复旦微公司的芯片上扩展了FPGA的PCIe IP核为多物理功能设备。

【技术实现步骤摘要】

本专利技术属于通讯,特别涉及基于fpga的pcie ip核实现多物理功能的pcie设备的方法及系统。


技术介绍

1、pcie是一种高速串行计算机扩展总线标准,主机(host)和外设(pcie设备)可通过pcie总线进行输入/输出(i/o)。根据pcie规范,每个pcie设备可以拥有1~8个独立的pf(physical function 物理功能或物理模块,有时简称为功能或function),pf 是包括了sr-iov(single-root i/o virtualization,单根i/o虚拟化)功能的传统 pcie function(功能),它具有对 pcie 设备的完全配置和控制功能(包括数据移动),每个pf都有一个唯一独立的配置空间(configuration space)与之对应,每个pf可设置不同功能。基于fpga的pcie ip核,是fpga厂家(比如xilinx、intel、复旦微公司)在市场销售的基于fpga实现的pcie ip核,都为单物理功能(single-function)而不是多物理功能(multi-function),单物理功能只能实现单一的功能,例如,网卡驱动编写者预基于单口网卡实现多口或者多个不同功能的pcie设备,只能用一个驱动(系统也只能加载一个实例)来实现,对于维护和控制都极其麻烦,一般基于fpga的pcie ip核用户因受该单物理功能限制,只能开发单一的功能的单物理功能pf设备。因此,亟需一种基于fpga的pcie ip核实现多物理功能的pcie设备的方法及系统。


>技术实现思路

1、本专利技术至少一个方面涉及一种基于fpga的pcie ip核实现多物理功能的pcie设备的方法,所述基于fpga的pcie ip核配置在pcie设备上,所述方法包括如下步骤:

2、截获host探测所述基于fpga的pcie ip核的第一个物理功能(function 0)的配置空间得到的第一返回值,当所述第一返回值为单物理功能设备信息时修改为多物理功能设备信息,再将修改后的所述第一返回值返回给所述host;

3、获得所述host读取所述基于fpga的pcie ip核的每个物理功能的所述配置空间得到的第二返回值(cpl&cpld),所述第二返回值为支持物理功能请求信息(cpld)或不支持物理功能请求信息(cpl),再将所述第二返回值返回给所述host;

4、提取所述host向返回所述第二返回值为所述支持物理功能请求信息的所述配置空间发送的pcie配置写(cfgwr)命令的物理功能编码(function id)和空间基地址(baseaddress),再将所述物理功能编码和所述空间基地址分别存放在所述第一个物理功能的所述配置空间上。

5、本专利技术至少一个方面涉及基于fpga的pcie ip核实现多物理功能的pcie设备的系统,所述系统包括至少一个处理器;以及存储器,其存储有指令,当通过至少一个处理器来执行该指令时,实施按照本专利技术任一项所述的方法的步骤。

6、本专利技术的多个技术方案为通过截获从host发来的pcie配置命令,来动态修改相应的回应数据来达到本专利技术目的。

7、本专利技术的至少一些技术方案的有益效果在于,成功的在xilinx、intel、复旦微公司等基于fpga实现的pcie ip核(芯片)的基础上实现了多物理功能的pcie设备。

本文档来自技高网...

【技术保护点】

1.一种基于FPGA的PCIe IP核实现多物理功能的PCIe设备的方法,其特征在于,所述方法包括如下步骤:

2.如权利要求1所述的基于FPGA的PCIe IP核实现多物理功能的PCIe设备的方法,其特征在于,所述配置空间包括Header Type寄存器、0号寄存器和基地址寄存器;

3.如权利要求2所述的基于FPGA的PCIe IP核实现多物理功能的PCIe设备的方法,其特征在于,当所述PCIe设备接收到所述HOST向所述基于FPGA的PCIe IP核发出的PCIe接收事务层包后,当所述PCIe接收事务层包承载所述PCIe配置写命令时:

4.如权利要求3所述的基于FPGA的PCIe IP核实现多物理功能的PCIe设备的方法,其特征在于,当所述PCIe设备接收到所述HOST向所述基于FPGA的PCIe IP核发出的PCIe接收事务层包后,当所述PCIe接收事务层包承载PCIe配置读命令时:

5.如权利要求4所述的基于FPGA的PCIe IP核实现多物理功能的PCIe设备的方法,其特征在于,当所述PCIe设备接收到所述HOST向所述基于FPGA的PCIe IP核发出的PCIe接收事务层包后,

6.如权利要求5所述的基于FPGA的PCIe IP核实现多物理功能的PCIe设备的方法,其特征在于,当所述PCIe设备接收到所述基于FPGA的PCIe IP核向所述HOST返回的PCIe发送事务层包后,如果所述PCIe发送事务层包包括所述第二返回值,从所述PCIe发送事务层包中所述暂时不用的区域里提取所述物理功能编码和所述空间基地址,继续判断所述PCIe发送事务层包是否承载所述PCIe配置读命令或所述寄存器读命令;如果所述PCIe发送事务层包不包括所述第二返回值,直接将所述PCIe发送事务层包返回所述HOST。

7.如权利要求6所述的基于FPGA的PCIe IP核实现多物理功能的PCIe设备的方法,其特征在于,

8.如权利要求7所述的基于FPGA的PCIe IP核实现多物理功能的PCIe设备的方法,其特征在于,

9.如权利要求8所述的基于FPGA的PCIe IP核实现多物理功能的PCIe设备的方法,其特征在于,所述PCIe接收事务层包或所述PCIe发送事务层包中所述暂时不用的区域为REQUESTER ID区域。

10.一种基于FPGA的PCIe IP核实现多物理功能的PCIe设备的系统,其特征在于,所述系统包括至少一个处理器;以及存储器,其存储有指令,当通过至少一个处理器来执行该指令时,实施按照权利要求1-9任一项所述的方法的步骤。

...

【技术特征摘要】

1.一种基于fpga的pcie ip核实现多物理功能的pcie设备的方法,其特征在于,所述方法包括如下步骤:

2.如权利要求1所述的基于fpga的pcie ip核实现多物理功能的pcie设备的方法,其特征在于,所述配置空间包括header type寄存器、0号寄存器和基地址寄存器;

3.如权利要求2所述的基于fpga的pcie ip核实现多物理功能的pcie设备的方法,其特征在于,当所述pcie设备接收到所述host向所述基于fpga的pcie ip核发出的pcie接收事务层包后,当所述pcie接收事务层包承载所述pcie配置写命令时:

4.如权利要求3所述的基于fpga的pcie ip核实现多物理功能的pcie设备的方法,其特征在于,当所述pcie设备接收到所述host向所述基于fpga的pcie ip核发出的pcie接收事务层包后,当所述pcie接收事务层包承载pcie配置读命令时:

5.如权利要求4所述的基于fpga的pcie ip核实现多物理功能的pcie设备的方法,其特征在于,当所述pcie设备接收到所述host向所述基于fpga的pcie ip核发出的pcie接收事务层包后,

6.如权利要求5所述的基于fpga的pcie ip核实现多物理功能的...

【专利技术属性】
技术研发人员:请求不公布姓名请求不公布姓名
申请(专利权)人:北京光润通科技发展有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1