IP核讲解DMA/Bridge Subsystem for PCI Express(一)-FPGA常见问题论坛-FPGA CPLD-ChipDebug

IP核讲解DMA/Bridge Subsystem for PCI Express(一)

一、基本介绍

赛灵思7系列的FPGA都支持PCIe(Integrated Root Port and Endpoint),Artix™-7支持Gen2x4的IP配置,Kintex™-7 和 Virtex-7T支持Gen2x8配置,Virtex-7 XT 和 HT则支持Gen3,通道数支持最大8 lanes。当然,和赛灵思合作的第三方厂商提供对Kintex-7系列和Virtex-7T系列的Gen3x8软核的支持。具体如下表:

图片[1]-IP核讲解DMA/Bridge Subsystem for PCI Express(一)-FPGA常见问题论坛-FPGA CPLD-ChipDebug

本文将基于赛灵思K7325芯片介绍IP核DMA/Bridge Subsystem for PCI Express v4.1,软件使用的是Vivado2018.3,主要介绍内容为,IP的端口功能以及如何配置IP核(各种配置选项的内涵)。

二、IP核介绍

DMA/Bridge Subsystem for PCI Express 提供内存映射接口(AXI4 Memory Mapped/AXI4 MM)和AXI4-Stream接口。

IP核概述

PCI Express®(PCIe®)的桥接子系统可以配置为高性能直接内存访问(DMA)数据移动器(Data Mover),也可以配置为PCI Express和AXI内存空间之间的桥接器。

•DMA Data Mover:作为DMA,可以使用AXI(内存映射)接口或AXI流(AXI streaming)接口配置内核,以允许直接连接到RTL逻辑。使用提供的字符驱动器时,这两个接口均可用于PCIe地址空间和AXI地址空间之间的高性能块数据移动。除了基本的DMA功能外,DMA还支持多达四个上行和下行通道。

•PCIe和AXI内存之间的桥接器:当配置为PCIe桥接器时,接收到的PCIe数据包将转换为AXI流量(AXI traffic),而接收到的AXI流量(AXI traffic)将转换为PCIe流量。桥接功能非常适合需要快速简便的方法来访问PCI Express子系统的AXI外设。网桥功能既可以用作端点(EP),也可以用作根端口(Root Port)。仅UltraScale +™设备支持PCIe Bridge功能。

基本的应用场景:

核心体系结构支持各种计算和通信应用程序,强调性能,成本,可伸缩性,功能可扩展性和关键任务可靠性。典型的应用包括:

•数据通讯网络

•电信网络

•宽带有线和无线应用

•网络接口卡

•芯片对芯片和背板接口卡

•各种应用程序的服务器附加卡

支持的事务类型:

图片[2]-IP核讲解DMA/Bridge Subsystem for PCI Express(一)-FPGA常见问题论坛-FPGA CPLD-ChipDebug

三、IP核接口

 

图片[3]-IP核讲解DMA/Bridge Subsystem for PCI Express(一)-FPGA常见问题论坛-FPGA CPLD-ChipDebug

顶层接口信号

信号 方向 功能描述
sys_clk I 7系列Gen2和Virtex-7 Gen3:PCIe参考时钟。应该从参考时钟IBUFDS_GTE2的O端口输出驱动。
sys_rst_n I pcie复位
axi_aclk O PCIe派生的用于m_axi *和s_axi *接口的时钟输出。axi_aclk是来自GT模块的TXOUTCLK引脚的派生时钟;当断言axi_aresetn时,它不应连续运行。
axi_aresetn O

AXI复位信号

与axi_aclk输出上提供的时钟同步。该复位将驱动所有相应的AXI Interconnectaresetn信号。

dma_bridge_resetn I

使用时,所有PCIe流量都必须处于静默状态。该信号断言的时间要长于“完成超时”值(通常为50 ms)。

•0:重置所有内部Bridge引擎和寄存器以及在维持PCIe链路的同时声明axi_aresetn信号。

•1:正常运行。

user_lnk_up O 高电平有效输出标识,PCI Express内核已与主机设备连接。
msi_enable O 表明msi中断有效
msi_vector_width[2:0] O 指示MSI字段的大小(分配给设备的MSI向量的数量)。
msix_enable O 表明msix中端有效

pcie接口

信号 Dir 描述
pci_exp_rxp[PL_LINK_CAP_MAX_LINK_WIDTH-1:0] I PCIe RX
pci_exp_rxn[PL_LINK_CAP_MAX_LINK_WIDTH-1:0] I PCIe RX
pci_exp_txp[PL_LINK_CAP_MAX_LINK_WIDTH-1:0] O PCIe TX
pci_exp_txn[PL_LINK_CAP_MAX_LINK_WIDTH-1:0] O PCIe TX

配置管理端口(pcie_cfg_mgmt接口)

信号 Dir Width 描述
cfg_mgmt_addr I 19

读/写地址。

配置空间双字对齐地址

cfg_mgmt_byte_enable I 4

字节使能

写入数据的字节启用,其中cfg_mgmt_byte_enable [0]对应于cfg_mgmt_write_data [7:0],依此类推

cfg_mgmt_read_data O 32

读出数据

读取数据可提供配置和管理寄存器的配置

cfg_mgmt_read I 1

读使能

声明为读操作,高电平有效

cfg_mgmt_read_write_done O 1

读/写操作完成

操作完成后断言1个周期,高电平有效

cfg_mgmt_write_data I 32

写数据

写入数据用于配置配置和管理寄存器

cfg_mgmt_write I 1

写使能

断言进行写操作,高电平有效

 

M_AXI是AXI-4接口(主)具体请参看相关手册

下一篇主要讲配置

 

请登录后发表评论