481|1

36

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

Multi-Channel PCIe QDMA Subsystem [复制链接]

可交付资料:

  1. 详细的用户手册
  2. Design File:Post-synthesis EDIF netlist or RTL Source
  3. Timing and layout constraints,Test or Design Example Project
  4. 技术支持:邮件,电话,现场,培训服务

 

 

联系方式:

Emailneteasy163z@163.com

 

  1. 下载附件  保存到相册

    2021-10-30 22:43 上传

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

    1. 下载附件  保存到相册

      2021-10-30 22:44 上传

      2 Multi-Channel PCIe QDMA Subsystem概述

        1. 特性概要

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

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

      • AXI-Lite Master配置接口:这个接口是一个固定的32-bit端口,用于对性能要求不高的用户配置和状态寄存器的访问
      • User Register:这个接口是多个32-bit向量信号和1-bit信号,这些信号来自对应DMA通道数据搬移过程中产生的控制或状态信号
      1. 产品规格

      结合Integrated Block for PCI Express IPMulti-Channel PCIe QDMA SubsystemPCIe提供了一个高性能的DMA解决方案。

        1. 性能

      Endpoint配置参数:Max Payload Size=256-byteMax Read Request Size=512-byte

      8-Channel PCIe-SGQDMA SubsystemDMA Transfer Length = 4MB

      1 PCIe 3.0 x16 C2H DMA速率

       

      DMA0

      DMA1

      DMA2

      DMA3

      DMA4

      DMA5

      DMA6

      DMA7

      速率

      1660MB/s

      1660MB/s

      1660MB/s

      1660MB/s

      1660MB/s

      1660MB/s

      1660MB/s

      1660MB/s

      2 PCIe 3.0 x16 H2C DMA速率

       

      DMA0

      DMA1

      DMA2

      DMA3

      DMA4

      DMA5

      DMA6

      DMA7

      速率

      1670MB/s

      1670MB/s

      1670MB/s

      1670MB/s

      1670MB/s

      1670MB/s

      1670MB/s

      1670MB/s

      3 PCIe 3.0 x8 C2H DMA速率

       

      DMA0

      DMA1

      DMA2

      DMA3

      DMA4

      DMA5

      DMA6

      DMA7

      速率

      880MB/s

      880MB/s

      880MB/s

      880MB/s

      880MB/s

      880MB/s

      880MB/s

      880MB/s

      4 PCIe 3.0 x8 H2C DMA速率

       

      DMA0

      DMA1

      DMA2

      DMA3

      DMA4

      DMA5

      DMA6

      DMA7

      速率

      890MB/s

      890MB/s

      890MB/s

      890MB/s

      890MB/s

      890MB/s

      890MB/s

      890MB/s

      5 PCIe 2.0 x8 C2H DMA速率

       

      DMA0

      DMA1

      DMA2

      DMA3

      DMA4

      DMA5

      DMA6

      DMA7

      速率

      450MB/s

      450MB/s

      450MB/s

      450MB/s

      450MB/s

      450MB/s

      450MB/s

      450MB/s

      6 PCIe 2.0 x8 H2C DMA速率

       

      DMA0

      DMA1

      DMA2

      DMA3

      DMA4

      DMA5

      DMA6

      DMA7

      速率

      455MB/s

      455MB/s

      455MB/s

      455MB/s

      455MB/s

      455MB/s

      455MB/s

      455MB/s

       

        1. 资源

      8-Channel PCIe-SGQDMA Subsystem

      7 PCIe 3.0 x16 DMA Subsystem资源

       

      LUTs

      FFs

      BRAMs

      PCIe

      资源

      46985

      101938

      150

      1

      8 PCIe 3.0 x8 DMA Subsystem资源

       

      LUTs

      FFs

      BRAMs

      PCIe

      资源

      26388

      51935

      78

      1

      9 PCIe 2.0 x8 DMA Subsystem资源

       

      LUTs

      FFs

      BRAMs

      PCIe

      资源

      26945

      38687

      55

      1

       

      8-Channel PCIe-CQDMA Subsystem

      10 PCIe 3.0 x16 DMA Subsystem资源

       

      LUTs

      FFs

      BRAMs

      PCIe

      资源

      34976

      75994

      150

      1

      11 PCIe 3.0 x8 DMA Subsystem资源

       

      LUTs

      FFs

      BRAMs

      PCIe

      资源

      19364

      37487

      78

      1

      12 PCIe 2.0 x8 DMA Subsystem资源

       

      LUTs

      FFs

      BRAMs

      PCIe

      资源

      20973

      29963

      55

      1

       

        1. 内核Component

      内核内部实现多达32个独立的物理DMA引擎(多达16C2H16H2C)。这些DMA引擎被映射到各自的AXI4-Stream用户应用接口。AXI4-Stream接口只传递数据。

      通道的类型配置决定了在哪个总线上进行事务传输。

      • Host-to-CardH2C)通道向PCIe产生读请求,然后给用户应用提供数据
      • 同样,Card-to-HostC2H)通道等待用户侧的数据,然后向PCIe产生写请求(包含接收到的数据)

      Host通过AXI4-Lite Master接口访问用户逻辑的配置和状态寄存器。这些请求是32-bit的读或写。

          1. Target Bridge

      Target bridgeHost接收请求。基于BARs,这些请求通过AXI4-Lite Master接口传递到内部的目标用户。下行用户逻辑返回non-post请求的数据后,target bridge产生一个读返回TLP,然后通过CC总线发送给PCIe IP

      PCIe BARs配置如下表所示。

      13 32-bit BARs

      BAR0(32-bit)

      BAR1(32-bit)

      DMA

      PCIe to AXI4-Lite Master

          1. H2C通道

      H2C通道处理host-to-cardDMA传输。根据最大读请求大小和可用的内部资源,H2C通道负责拆分这些读请求。读取请求的每个拆分(如果有)都会消耗一条额外的读取请求条目。DMA通道向PCIe RQ模块发出读请求后,直到按顺序接收到用户接口的写完成确认,这个读请求才算完成。在数据传输完成后,DMA通道向Host发出一个中断。

      H2C通道会根据配置的最大读请求大小和数据FIFO可用空间来拆分Host读接口上的数据传输。从PCIe RC模块输出的读请求返回完成数据包会存储到已分配的数据FIFO中。为了减少数据传输延时,一旦接收到任何一个完成数据包,H2C通道就开始把读取的数据输出到AXI4-Stream Write接口。

          1. C2H通道

      C2H通道处理card-to-hostDMA传输。在AXI4-Stream Read接口接收数据之前,C2H通道首先接收DMA描述符,建立DMA传输的环境,然后在准备好请求ID和启用C2H通道后,通道的AXI4-Stream接口可以接收数据并对主机执行DMA。在数据传输完成后,DMA通道向Host发出一个中断。

          1. AXI4-Lite Master

      Host使用这个接口向用户逻辑发出32-bit读和32-bit写请求。通过PCIe总线接收读或者写请求,路由到AXI-Lite Master BAR中,target bridge通过PCIe IP CC总线返回读取的完成数据。

          1. IRQ Module

      IRQ module接收来自用户逻辑中断请求和每个DMA通道的独立中断线。这个模块通过PCIeHost产生MSI中断。

          1. DMA操作

      DMA的原理出发,PCIe DMA引擎通常在Host内存和驻留在FPGA中的内存之间搬移数据,FPGA的内存通常(但不总是)位于add-in板卡。当数据从Host内存搬移到FPGA内存时,称为Host to CardH2C)传输。相反,当数据从FPGA内存搬移到Host内存,称为Card to HostC2H)传输。

      在通常的操作中,Host中的应用程序必须在FPGAHost内存之间搬移数据。为了完成此次传输,Host在系统内存中设置缓冲区空间,并创建DMA引擎用于搬移数据的描述符。

      Multi-Channel PCIe QDMA Subsystem使用连续的描述符链表,单个描述符指定了地址和DMA传输长度。Host驱动创建描述符链表,并存储在Host内存。Host驱动只需要少量控制寄存器就可以初始化DMA通道,接着该DMA通道就开始去获取描述符链表并执行DMA操作。

      描述符描述了Multi-Channel PCIe QDMA Subsystem执行的内存传输。每个DMA通道有自己的描述符链表。Host驱动通过硬件寄存器初始化每个DMA通道描述符链表的起始地址。在启动DMA通道后,该DMA通道开始从起始地址获取描述符。

      EOP控制比特显示描述符链表的终止。当DMA通道检测到某个描述符的EOP控制比特后,会停止获取该描述符链表。EOP控制比特只能在描述符链表的最后一个描述符中被设置。

      描述符格式如下表所示。

      14 描述符格式

      Offset

      Fields

      0x0

      Bit 31EOP

      Bit 30~16:保留

      Bit 15~0Magic,常数16’hAD4B

      0x4

      DMA Transfer Length

      0x8

      Address[31:0]

      0xC

      Address[63:32]

      Address64-bitDestination address for C2HSource address for H2C

      EOP1-bitEnd of packet for stream data

      DMA Transfer Length32-bitLength of data in bytes

        1. 端口描述

      Multi-Channel PCIe QDMA Subsystem直接和integrated block for PCIe连接。和PCIe integrated block IP数据路径接口的宽度是64128256512-bit,时钟频率最高可达250MHz。除了AXI4-Lite Master接口,数据路径宽度适用于所有数据接口。AXI4-Lite Master接口的宽度固定为32-bit

      以下列表描述了这个IP的端口(默认数据路径接口宽度是512-bitPCIe接口是x16)。

      15 参数定义

      参数名称

      描述

      默认值

      CNUM

      H2CC2H的通道数量

      8

      C2H_BUF_BRAM_CASCADE_DEPTH

      C2H数据缓冲区的BRAM级联深度

      0BRAM深度=29=512

      1BRAM深度=29+1=1024

      ……

      NBRAM深度=29+N

      0

      C2H_BUF_USE_URAM

      C2H数据缓冲区是否使用URAM

      0:不使用URAM

      1:使用URAM

      0

      C2H_BUF_URAM_CASCADE_DEPTH

      H2C数据缓冲区的URAM级联深度

      0URAM深度=212=4096

      1URAM深度=212+1=8192

      ……

      NURAM深度=212+N

      0

      H2C_BUF_BRAM_CASCADE_DEPTH

      H2C数据缓冲区的BRAM级联深度

      0BRAM深度=29=512

      1BRAM深度=29+1=1024

      ……

      NBRAM深度=29+N

      0

      H2C_BUF_USE_URAM

      H2C数据缓冲区是否使用URAM

      0:不使用URAM

      1:使用URAM

      0

      H2C_BUF_URAM_CASCADE_DEPTH

      C2H数据缓冲区的URAM级联深度

      0URAM深度=212=4096

      1URAM深度=212+1=8192

      ……

      NURAM深度=212+N

      0

       

      16 顶层接口信号

      信号名称

      输入输出

      描述

      pcie_trn_clk

      输出

      PCI Express Transaction接口时钟

      pcie_trn_reset_n

      输出

      PCI Express Transaction复位,低有效

      trn_lnk_up

      输出

      PCI Express Transaction Link Up信号,高有效

       

      17 PCIe接口信号

      信号名称

      输入输出

      描述

      pcie_refclk_p

      输入

      PCI Express 接口参考时钟+

      pcie_refclk_n

      输入

      PCI Express 接口参考时钟-

      pcie_perst_n

      输入

      PCI Express接口基本复位,低有效

      pci_exp_txp[15:0]

      输出

      PCI Express串行差分输出+16通道

      pci_exp_txn[15:0]

      输出

      PCI Express串行差分输出-16通道

      pci_exp_rxp[15:0]

      输入

      PCI Express串行差分输入+16通道

      pci_exp_rxn[15:0]

      输入

      PCI Express串行差分输入-16通道

       

      18 H2C通道0-CNUM-1 FIFOFWFT)接口信号

      信号名称

      输入输出

      描述

      fifo_rdclk_disp

      [CNUM-1:0]

      输入

      FIFO读时钟

      Bit i,表示H2C通道i的读时钟

      fifo_rdreq_disp

      [CNUM-1:0]

      输入

      FIFO读使能,高有效

      Bit i,表示H2C通道i的读使能

      fifo_q_disp

      [512*CNUM-1:0]

      输出

      FIFO读数据

      Bit 512*(i+1)-1~512*i,表示H2C通道i的读数据

      fifo_empty_disp

      [CNUM-1:0]

      输出

      FIFO空,高有效

      Bit i,表示H2C通道i的缓存空信号

      fifo_prog_empty_disp

      [CNUM-1:0]

      输出

      FIFO可编程空(阈值等于16),高有效

      Bit i,表示H2C通道i的缓存可编程空信号

       

      19 C2H通道0-CNUM-1 FIFO接口信号

      信号名称

      输入输出

      描述

      fifo_wrclk_acq

      [CNUM-1:0]

      输入

      FIFO写时钟

      Bit i,表示C2H通道i的写时钟

      fifo_wrreq_acq

      [CNUM-1:0]

      输入

      FIFO写使能,高有效

      Bit i,表示C2H通道i的写使能

      fifo_data_acq

      [512*CNUM-1:0]

      输入

      FIFO写数据

      Bit 512*(i+1)-1~512*i,表示C2H通道i的写数据

      fifo_prog_full_acq

      [CNUM-1:0]

      输出

      FIFO可编程满(阈值等于深度-16),高有效

      Bit i,表示C2H通道i的缓存可编程满信号

       

      20 Config AXI4-Lite Master接口信号

      信号名称

      输入输出

      描述

      m_axil_awaddr

      输出

      write address

      m_axil_awprot[2:0]

      输出

      write protection type

      m_axil_awvalid

      输出

      write address valid

      m_axil_awready

      输入

      write address ready

      m_axil_wdata[31:0]

      输出

      write data

      m_axil_wstrb[3:0]

      输入

      write strobes

      m_axil_wvalid

      输出

      write valid

      m_axil_wready

      输入

      write ready

      m_axil_bresp[1:0]

      输入

      write response

      m_axil_bvalid

      输入

      write response valid

      m_axil_bready

      输出

      response ready

      m_axil_araddr[31:0]

      输出

      read address

      m_axil_arprot[2:0]

      输出

      read protection type

      m_axil_arvalid

      输出

      read address valid

      m_axil_arready

      输入

      read address ready

      m_axil_rdata[31:0]

      输入

      read data

      m_axil_rresp[1:0]

      输入

      read response

      m_axil_rvalid

      输入

      read valid

      m_axil_rready

      输出

      read ready

       

      21 中断接口信号

      信号名称

      输入输出

      描述

      usr_intr_pos[15:0]

      输入

      用户中断输入。

      Bit i:用户中断#i输入,上升沿有效。

       

      22 软复位接口信号

      信号名称

      输入输出

      描述

      sw_srst_n

      输出

      软复位输出,低有效。

       

      23 用户寄存器接口信号

      信号名称

      输入输出

      描述

      acquisition_res

      [32*CNUM-1:0]

      输出

      CNUMC2H通道的分辨率设置

      Bit 32*(i+1)-1~32*i,表示C2H通道i的分辨率

      display_res

      [32*CNUM-1:0]

      输出

      CNUMH2C通道的分辨率设置

      Bit 32*(i+1)-1~32*i,表示H2C通道i的分辨率

      acquisition_fps

      [32*CNUM-1:0]

      输出

      CNUMC2H通道的帧率设置

      Bit 32*(i+1)-1~32*i,表示C2H通道i的帧率

      display_fps

      [32*CNUM-1:0]

      输出

      CNUMH2C通道的帧率设置

      Bit 32*(i+1)-1~32*i,表示H2C通道i的帧率

      acquisition_enable

      [CNUM-1:0]

      输出

      CNUMC2H通道的采集使能,高有效

      Bit i = 1,表示使能C2H通道i采集

      display_enable

      [CNUM-1:0]

      输出

      CNUMH2C通道的显示使能,高有效

      Bit i = 1,表示使能H2C通道i显示

      acquisition_stat

      [32*CNUM-1:0]

      输入

      CNUMC2H通道的状态

      Bit 32*(i+1)-1~32*i,表示C2H通道i的状态

      display_stat

      [32*CNUM-1:0]

      输入

      CNUMH2C通道的状态

      Bit 32*(i+1)-1~32*i,表示H2C通道i的状态

      usr_ctrl[31:0]

      输出

      控制信号输出

      usr_stat[31:0]

      输入

      状态信号输入

此帖出自信息发布论坛
点赞 关注
 
 

回复
举报

36

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

8通道PCIe-SGDMA,PCIe-QDMA,PCIe-RDMA,PCIe-CDMA控制器,V4L2驱动,视频采集显示,高性能低延时

Multi-Channel PCIe QDMA&RDMA Subsystem User Guide

 

基于PCIe的多路视频采集与显示子系统.pdf (288.9 KB, 下载次数: 0)

Multi-Channel PCIe QDMA&RDMA Subsystem User Guide.pdf (607.01 KB, 下载次数: 0)

Multi-Channel PCIe QDMA&RDMA IP.pdf (277.8 KB, 下载次数: 0)

 
此帖出自信息发布论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表