Xilinx FPGA高性能多通道PCIe-DMA控制器

1 介绍

基于PCI Express Integrated Block,Multi-Channel PCIe QDMA Subsystem实现了使用DMA地址队列的独立多通道、高性能Continous或Scather Gather DMA,提供FIFO/AXI4-Stream用户接口。

基于PCI Express Integrated Block,Multi-Channel PCIe RDMA Subsystem实现了使用DMA Ring缓冲的独立多通道、高性能/超低延时/超低抖动Continous Ring DMA,提供FIFO/AXI4-Stream用户接口。

联系方式:neteasy163z@163.com

1.1 特性

Ø 支持Ultrascale+,Ultrascale,7 Series的PCI Express Integrated Block

Ø 支持64,128,256,512-bit数据路径

Ø 64-bit源地址,目的地址,和描述符地址

Ø 多达8个独立的host-to-card(H2C/Read)数据通道或H2C DMA

Ø 多达8个独立的card-to-host(C2H/Write)数据通道或C2H DMA

Ø AXI4-Stream/FIFO用户接口(每个通道都有自己的AXI4-Stream/FIFO接口)

Ø 每个DMA引擎支持DMA地址队列,队列深度可达32

Ø 每个DMA引擎支持DMA Ring缓冲,Ring缓冲深度和个数可配置

Ø RDMA的超低延时和超低抖动性

Ø H2C DMA支持视频显示定时时序输入控制

Ø AXI4-Lite Master接口允许PCIe通信绕过DMA引擎

Ø Scather Gather描述符列表支持无限列表大小

Ø 每个描述符的最大传输长度为4GB

Ø MSI中断

Ø 连续描述符的块获取

Ø 中断或查询模式

1.2 应用

本内核体系结构支持广泛的计算和通信目标程序应用,强调性能、成本、可扩展性、功能可扩展性和关键任务可靠性。典型应用包括:

● 数据通信网络

● 电信网络

● 宽带有线和无线应用

● 网络接口卡

● 用于各种应用程序的服务器add-in card

典型应用如下图所示:

图 1 Multi-Channel PCIe QDMA&RDMA Subsystem典型应用:8通道视频采集和视频显示

2 概述

Multi-Channel PCIe QDMA&RDMA Subsystem作为一个高性能DMA数据搬移器,内核通过AXI4-Stream/FIFO接口直接连接RTL逻辑。使用提供的字符驱动程序,AXI4-Stream/FIFO接口可用于PCIe地址空间和AXI地址空间之间的高性能数据搬移。除了基本的DMA功能,DMA支持多达8个独立的upstream和downstream通道,每个通道支持深度为32的DMA地址队列,以及深度和个数可配置的DMA Ring缓冲,另外还允许PCIe通信绕过DMA引擎。

图 2 Multi-Channel PCIe QDMA&RDMA Subsystem概述

2.1 特性概要

基于描述符提供的信息:源地址,目的地址和传输数据长度,Multi-Channel PCIe QDMA&RDMA Subsystem实现Host存储器和PCIe DMA子系统之间的数据搬移。这些DMA可以同时是Host to Card(H2C)和Card to Host(C2H)传输。每个DMA通道对应各自的AX4-Stream/FIFO接口,DMA从Host存储器获取并解析描述符链表,基于描述符链表信息完成自己通道的数据传输,然后使用MSI中断发出描述符完成或错误的信令。内核也提供多达16个输出到Host的用户中断信号。

主机可以通过以下2个接口访问用户逻辑:

Ø AXI4-Lite Master配置接口:这个接口是一个固定的32-bit端口,用于对性能要求不高的用户配置和状态寄存器的访问

Ø User Register:这个接口是多个32-bit向量信号和1-bit信号,这些信号来自对应DMA通道数据搬移过程中产生的控制或状态信号

3 产品规格

结合Integrated Block for PCI Express IP,Multi-Channel PCIe QDMA&RDMA Subsystem为PCIe提供了一个高性能的DMA解决方案。

3.1 性能

Endpoint配置参数:

  1. Max Payload Size=256-byte
  2. Max Read Request Size=512-byte
  3. DMA Transfer Length = 4MB

C2H & H2C DMA性能:

  1. PCIe 3.0 x16,C2H DMA和H2C DMA速度大于13.5GB/s
  2. PCIe 3.0 x8,C2H DMA和H2C DMA速度大于7GB/s
  3. PCIe 2.0 x8,C2H DMA和H2C DMA速度大于3.6GB/s
  4. PCIe 2.0 x4,C2H DMA和H2C DMA速度大于1.7GB/s

3.2 资源

表1 PCIe 3.0 x16 DMA Subsystem资源(8通道)

LUTs

FFs

BRAMs

PCIe

资源

44272

99014

165.5

1

表2 PCIe 3.0 x8 DMA Subsystem资源(8通道)

LUTs

FFs

BRAMs

PCIe

资源

26356

51523

93

1

表3 PCIe 2.0 x8 DMA Subsystem资源(8通道)

LUTs

FFs

BRAMs

PCIe

资源

26614

33766

70

1

表4 PCIe 2.0 x4 DMA Subsystem资源(8通道)

LUTs

FFs

BRAMs

PCIe

资源

20466

29623

106

1

表5 PCIe 3.0 x16 DMA Subsystem资源(1通道)

LUTs

FFs

BRAMs

PCIe

资源

22353

55492

37

1

表6 PCIe 3.0 x8 DMA Subsystem资源(1通道)

LUTs

FFs

BRAMs

PCIe

资源

8113

21656

17

1

表7 PCIe 2.0 x8 DMA Subsystem资源(1通道)

LUTs

FFs

BRAMs

PCIe

资源

11074

16221

10

1

表8 PCIe 2.0 x4 DMA Subsystem资源(1通道)

LUTs

FFs

BRAMs

PCIe

资源

6270

8588

29

1

3.3  驱动程序

  1. Windows WDF (Queue or Non-Queue,Ring)
  2. Linux (Queue or Non-Queue,Ring)
  3. V4L2交付清单

4 可交付资料:

1. 详细的用户手册

2. 设计文件:源代码或网表

3. 时序约束

4. 测试或Demo工程

5. 技术支持:邮件,电话,现场,培训服务

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值