用于 PCI Express* 的 英特尔® FPGA R-tile Avalon® Streaming IP用户指南

ID 683501
日期 6/26/2023
Public
文档目录

3.2.1.2. 实现

VF配置空间以R-Tile逻辑实现,并且不需要FPGA架构资源。

访问VF PCIe信息:

由于R-Tile和FPGA架构之间的管脚数量有限,用户应用程序无法直接使用VF的PCIe配置空间。

用户应用程序可使用如下方法来检索必要信息(总线主控使能,MSI-X等等):
  • 使用Configuration Intercept Interface监控特定VF寄存器(请参阅配置拦截接口小节了解更多详细信息)。
  • 读/写特定VF寄存器使用Hard IP Reconfiguration Interface读取/写入特定VF(请参阅硬IP重配置接口小节了解更多详细信息)。

访问VF PCIe信息:

VF ID是在R-Tile内计算获得。用户应用程序具有边带信号pX_rx_st_vfnum_o[10:0]pX_rx_st_vfactive_o以及TLP来识别PF内的相关VF。

BDF约束

使能了SR-IOV,ARI capability就始终开启。

R-Tile IP for PCIe自动计算Transmit侧的completer/requester ID。

用户应用程序需要在Header中提供VF和PF信息,如下所示:

  • pX_tx_st_hdr_sn_i[127]:必须设置为0。
  • pX_tx_st_hdr_sn_i[83]: pX_tx_st_vfactive_i
  • pX_tx_st_hdr_sn_i[82:80]: pX_tx_st_pfnum_i[2:0]
  • pX_tx_st_hdr_sn_i[95:84]: pX_tx_st_vfnum_i[10:0]

如下实例中,PF1的VF3正在接收和发送请求:

对于Receive TLP:

pX_rx_st_pfnum_o = 1h表示与PF1关联的一个VF正在发出请求。

pX_rx_st_vfnum_o = 3h,并且pX_rx_st_vfactive_o = 1表示PF1的VF3为有效VF。

对于与PF1相关联的VF3的Transmit TLP:
  • pX_tx_st_hdr_sn_i[83] = 1h
  • pX_tx_st_hdr_sn_i[82:80] = 1h
  • pX_tx_st_hdr_sn_i[95:84] = 3h