Xilinx PCIE IP 支持器件分析-Xilinx-AMD社区-FPGA CPLD-ChipDebug

Xilinx PCIE IP 支持器件分析

 

1 引言

随着人工智能,大数据相关技术的发展,高速的 PCIE 设备需求与日俱增。Xilinx 公司

在其高端的 Ultrascale+,Ultrascale,Virtex7 系列 FPGA 已经很好的提供了 PCIE IP 的支

持。但是对于 PCIE3.x 以及更高端的 PCIE4.x FPGA 的支持,Xilinx 公司还处在前期的支持阶

段,并不是所有的 FPGA 系列里面的 FPGA 器件都支持。尤其对于高端的 FPGA 器件,价格

比较昂贵。本文档主要梳理 Xilinx 高端 FPGA 对 PCIE IP 相关的支持情况,供相关的设计开

发人员进行合理的器件选型。

2 IP 分析

Xilinx 的 Zynq 系列 FPGA,其 PS(program system)部分一般会集成硬核的 PCIE2.0x4 的

IP,更高端的带 HBC 功能的 FPGA 则会集成硬核 PCIE3.0x4 的 IP。这些硬核的 IP 只需要在

PS 的配置界面将其打开,并通过合理的配置就可以直接接入 ARM 处理器系统,直接就可

以供软件开发人员进行相应的开发。

98821b7e69111345

 

 

在 Zynq 的配置界面,如果需要能够更详细的配置 PCIE 硬核,尤其要将 PCIE 设备配置

为 Root Complex 模式,需要将配置界面切换到 Switch To AdvancedMode。

7d2a8abd84111335

 

对于硬核模式的 PCIE IP 核,其由于完全固化,不具有一定的灵活性。所以 Xilinx 公司

还额外提供在非 ZYNQ 模型下,相关的 IP 核产品,主要有如下几种红线标识的产品。

  •  7 Series Integrated Block 产品主要提供的是 AXI-Stream 接口的 PCIE IP,实现了PCIE 的数据链路层,物理层以及高速串行收发器相关的功能。硬件开发人员需要基于 AXI-Stream 接口开发相关的应用层逻辑。该 IP 适合于硬件开发人员定制化的开发。
  •  AXI Bridge for PCI Express Gen3 产品只支持 UltraScale 和 Virtex-7 这两个系列的FPGA 产品,可以支持到 GEN3X16 的 PCIE 速度等级。同时 IP 提供 AXI-Bridge 桥的功能,该 IP 能够很方便的接入 AXI 总线的 SOC 系统中,供软件开发人员进行开发。参考 UG194 官方文档。
  •  The DMA/Bridge Subsystem for PCI Express core 产品仅支持 UltraScale+系列的FPGA 产品,但是其功能兼容 AXI Bridge for PCI Express Gen3 产品,同样可以支持到 GEN3X16 的 PCIE 速度等级。对于 Root Complex 的配置,该 IP 只能配置为非 DMA 功能的 Bridge 设置。对于 EP 的配置,该 IP 支持 DMA 模式和 Bridge 模式,即 DMA 模式可以支持最多 4+4 的 DMA channel。该 IP 也能够很方便的接入AXI 总线的 SOC 系统中,供软件开发人员进行开发。参考 UG195 官方文档。
  •  AXI Memory Mapped for PCI Express 产品主要支持老的 FPGA 系列,其功能实现简单的 AXI 总线接口功能,仅支持到 GEN2x16 的 PCIE 速度等级。
  •  PCIe PHY IP: 没有提供 PCIE 数据链路层相关的控制管理功能,仅仅提供基于 PIPE接口的物理层高速串行收发器的功能,适用于拥有 PCIE 其它控制管理协议 IP 的硬件开发人员使用。

988991fbed111336

 

3 器件选型

对于 Xilinx 公司提供的 PCIE IP 核,相比于其它的高速串行设备,其有个显著的特点,

PCIE IP 核所包含的高速串行核是专门定制的,不能给通过配置和其它的高速串行设备共

享。所以很多用户会发现,虽然使用的 FPGA 器件支持高速串行接口 IP,但是不能够将其

扩展,变成支持的 PCIE 高速串行接口 IP。这一点在具体的器件选型的时候要特别注意,避

免不必要的损失。下面以 Zynq UltraScale+系列具体分析一下相关的器件选型。

如下图所示:为 Zynq UltraScale+ CG 系列所支持的所有的 FPGA 器件型号,我们发现有

一个 PCI Express Gen3x16 的条目,这里只有 ZU4CG/ZU5CG/ZU7CG 这三个 FPGA 具体的

型号有支持。

503bdd8ea8111343

我们通过 Vivado 工程做相关的实验,当将 FPGA 的器件选择为 XCZU9CG-FFVC900-

2-I,发现在 IP Catalog 界面,搜索 PCIE 支持的 IP,所有的 IP 都是灰色,提示器件不兼

容。即使是 AXI Memory Mapped 这种只支持 PCIE2.0 的 IP 都是不能够工作的。考虑到

FPGA 速度等级的影响,将器件换成 XCZU9CG-FFVC900-2-E,或者 XCZU9CG-FFVC900-

2LV-E 等其它 XCZU9CG 的器件,其结果也是一样的,均不支持 PCIE 相关的 IP。对于该型

号的 FPGA 产品,要支持 PCIE 功能,唯一可以使用的只能是 ZYNQ PS 内部的 PCIE2.0X4 这

个硬核。

cc9a7fc30b111338

当将器件选择为 ZU5CG-fbvb900-2LV-e 这个器件型号的时候,发现在 IP Catalog 界

面,搜索 PCIE 支持的 IP,发现支持 DMA 的 IP 以及支持单独的 PCIE 的 steam 接口的 IP 都

是高亮状态,即其除了支持 ZYNQ PS 内部的 PCIE 内核,还允许在 PL 端支持 PCIE3.0 的功

能。

6011481566111340

当将器件选择为 ZU7CG/ZU5CG,即使是 1-e 的版本都能够支持 DMA 的模式,但是

DMA 模式下,只能配置为 EP 模式。不能配置为 root 模式。如果是 AXI-Bridge 的模式,则

都支持 Root Complex 和 EP 两种情况。

如下图所示:为 Zynq UltraScale+ EG 系列所支持的所有的 FPGA 器件型号,我们发现有

一个 PCI Express Gen3x16 的条目,对于低端产品其仍然只有 ZU4EG/ZU5EG/ZU7EG 这三个

FPGA 具体的型号有支持。

 

3825950268111402

而对于 Xilinx 公司提供的 ZCU102 开发板,其提供的核心器件为 ZU9EG,而这个系列

的 FPGA 是不支持。当将器件选择为 ZU9EG-fbvb900-2LV-e 这个器件型号的时候,发现在

IP Catalog 界面,搜索 PCIE 支持的 IP,发现 PCIe PHY IP 这个 IP 是支持可配置的,其它所

有的 PCIE IP 都是不支持的。在 ZCU102 开发板上面,PL 端要进行 PCI3.0 的开发,该开发板

是不支持的。

ccd7a79672111401

请登录后发表评论

    没有回复内容