Multi-Channel High Performance PCIe QDMA&RDMA IP
- 介紹
基于PCI Express Integrated Block,Multi-Channel PCIe QDMA Subsystem實現了使用DMA地址隊列的獨立多通道、高性能Continous(CDMA)或Scather Gather DMA(SGDMA),提供FIFO/AXI4-Stream用戶接口,FIFO用戶接口支持Stream(數據流方式)和Packet(數據幀方式)模式。
基于PCI Express Integrated Block,Multi-Channel PCIe RDMA Subsystem實現了使用DMA Ring緩沖的獨立多通道、高性能/超低延時/超低抖動Continous Ring DMA,提供FIFO/AXI4-Stream用戶接口,FIFO用戶接口支持Stream(數據流方式)和Packet(數據幀方式)模式。
- 特性
- 支持Ultrascale+,Ultrascale,7 Series的PCI Express Integrated Block
- 支持PCIe 2.0,3.0,4.0速度;PCIe x4,x8,x16鏈路寬度
- 支持64,128,256,512-bit數據路徑
- 64-bit源地址,目的地址,和描述符地址
- 多達8個獨立的host-to-card(H2C/Read)數據通道或H2C DMA,H2C DMA效率高達90%以上
- 多達8個獨立的card-to-host(C2H/Write)數據通道或C2H DMA,C2H DMA效率高達90%以上
- AXI4-Stream/FIFO用戶接口(每個通道都有自己的AXI4-Stream/FIFO接口)
- FIFO用戶接口支持Stream(數據流方式)和Packet(數據幀方式)模式
- 每個DMA引擎支持DMA地址隊列,隊列深度可達32
- 每個DMA引擎支持DMA Ring緩沖,Ring緩沖深度和個數可配置
- RDMA的超低延時和超低抖動性
- H2C DMA支持視頻顯示定時時序輸入控制
- AXI4-Lite Master接口允許PCIe通信繞過DMA引擎
- Scather Gather描述符列表支持無限列表大小
- 每個描述符的最大傳輸長度為4GB
- MSI中斷
- 連續描述符的塊獲取,支持描述符預取
- 中斷或查詢模式
- 應用
本內核體系結構支持廣泛的計算和通信目標程序應用,強調性能、成本、可擴展性、功能可擴展性和關鍵任務可靠性。典型應用包括:
● 數據通信網絡
● 電信網絡
● 寬帶有線和無線應用
● 網絡接口卡
● 用于各種應用程序的服務器add-in card
典型應用如下圖所示:
圖 1 Multi-Channel PCIe QDMA&RDMA Subsystem典型應用:8通道視頻采集和視頻顯示
- 概述
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概述
- 特性概要
基于描述符提供的信息:源地址,目的地址和傳輸數據長度,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的用戶中斷信號。
每個FIFO接口支持Stream(數據流方式)和Packet(數據幀方式)模式。在Stream(數據流方式)模式下,C2H和H2C的DMA長度必須是XFER_BYTE的整數倍,FIFO接口上的數據按照數據流方式進行傳輸(即無keep和last指示);在Packet(數據幀方式)模式下,C2H和H2C的DMA長度是可以任意字節,FIFO接口上的數據帶keep和last指示,按照數據幀方式進行傳輸。
主機可以通過以下2個接口訪問用戶邏輯:
- AXI4-Lite Master配置接口:這個接口是一個固定的32-bit端口,用于對性能要求不高的用戶配置和狀態寄存器的訪問
- User Register:這個接口是多個32-bit向量信號和1-bit信號,這些信號來自對應DMA通道數據搬移過程中產生的控制或狀態信號
- 產品規格
結合Integrated Block for PCI Express IP,Multi-Channel PCIe QDMA&RDMA Subsystem為PCIe提供了一個高性能的DMA解決方案。
- 性能
Endpoint配置參數:
- Max Payload Size=256-byte
- Max Read Request Size=512-byte
- DMA Transfer Length = 4MB
C2H & H2C DMA性能:
- PCIe 3.0 x16,C2H DMA和H2C DMA速度大于14GB/s
- PCIe 3.0 x8,C2H DMA和H2C DMA速度大于7GB/s
- PCIe 2.0 x8,C2H DMA和H2C DMA速度大于3.6GB/s
- PCIe 2.0 x4,C2H DMA和H2C DMA速度大于1.7GB/s
- 資源
表1 PCIe 3.0 x16 DMA Subsystem資源(8通道)
LUTs | FFs | BRAMs | PCIe | |
資源 | 66500 | 118524 | 82 | 1 |
表2 PCIe 3.0 x8 DMA Subsystem資源(8通道)
LUTs | FFs | BRAMs | PCIe | |
資源 | 31688 | 53997 | 41 | 1 |
表3 PCIe 2.0 x8 DMA Subsystem資源(8通道)
LUTs | FFs | BRAMs | PCIe | |
資源 | 29809 | 39266 | 20 | 1 |
表4 PCIe 2.0 x4 DMA Subsystem資源(8通道)
LUTs | FFs | BRAMs | PCIe | |
資源 | 26887 | 31786 | 33 | 1 |
表5 PCIe 3.0 x16 DMA Subsystem資源(1通道)
LUTs | FFs | BRAMs | PCIe | |
資源 | 31889 | 64675 | 37 | 1 |
表6 PCIe 3.0 x8 DMA Subsystem資源(1通道)
LUTs | FFs | BRAMs | PCIe | |
資源 | 8690 | 18231 | 17 | 1 |
表7 PCIe 2.0 x8 DMA Subsystem資源(1通道)
LUTs | FFs | BRAMs | PCIe | |
資源 | 8496 | 12404 | 8 | 1 |
表8 PCIe 2.0 x4 DMA Subsystem資源(1通道)
LUTs | FFs | BRAMs | PCIe | |
資源 | 6465 | 8088 | 12 | 1 |
- 驅動程序
- Windows WDF (Queue or Non-Queue,Ring)
- Linux (Queue or Non-Queue,Ring)
- V4L2
- 交付清單
可交付資料:
1. 詳細的用戶手冊
2. 設計文件:源代碼或網表
3. 時序約束
4. 測試或Demo工程
5. 技術支持:郵件,電話,現場,培訓服務