多通道PCIe DMA引擎IP
在主机端PCIe驱动的控制和调度下,数据采集与回放IP Core可以同时完成对多个通道数据的采集以及回放驱动工作,既可采用行缓存机制(无需帧缓存,无需DDR),也可采用帧缓存机制(需要DDR),使用PCIe接口和主机进行数据的传输,设备端内嵌多通道DMA引擎完成多个通道数据的H2C(Host to Card)和C2H(Card to Host)传输,支持MSI中断机制,完全释放主机/CPU/GPU采集&回放的密集任务量,特别适用于高速AD/DA采集和回放、多通道视频采集和显示等的应用。
内核特性:
- 多种PCIe驱动:
a) 兼容视频设备内核驱动V4L2,支持MMAP,USERPTR和DMABUF
b) Xilinx XDMA驱动,Windows和Linux版本
c) 自研DMA-Queue驱动,Windows和Linux版本 - 每个通道的采集和回放DMA地址队列深度大于32
- 多通道DMA引擎,支持连续式DMA(CDMA)和链式DMA(SGDMA)
- 支持MSI中断机制,寄存器读写
- 支持H2C(Host to Card)和C2H(Card to Host)的全双工数据传输
- 自适应PCIe链路速率:PCIe 1.0,PCIe 2.0,PCIe 3.0和PCIe 4.0
- 自适应PCIe链路宽度:PCIe x1,PCIe x2,PCIe x4,PCIe x8和PCIe x16
- 支持Xilinx器件:Spartan-6,Virtex-5,Virtex-6,Artix-7,Kintex-7,Virtex-7,Ultrascale,Ultrascale+
对外接口:
- 数据总线:标准的FIFO接口或AXI4-Stream接口
- 配置总线:标准的AXI4-Lite Master接口
- 中断总线:16个用户中断输入
- 辅助总线:软复位输出、预定义用户寄存器输入输出
性能指标:
- PCIe 2.0 x4:DMA Read(C2H)速率大于1750MB/s,DMA Write(H2C)速率大于1710MB/s
- PCIe 2.0 x8:DMA Read(C2H)速率大于3590MB/s,DMA Write(H2C)速率大于3500MB/s
- PCIe 3.0 x8:DMA Read(C2H)速率大于7050MB/s,DMA Write(H2C)速率大于7000MB/s
- PCIe 3.0 x16:DMA Read(C2H)速率大于13300MB/s,DMA Write(H2C)速率大于13800MB/s
- 支持8路1080p视频的采集和显示
- 支持8路4K视频的采集和显示
- 支持8路8K视频的采集和显示
资源使用:
1通道CDMA资源使用(XC7K325为例,PCIe 2.0 x8):
- LUTs:9343,FFs:14043,BRAM:10,PCIe:1
1通道CDMA资源使用(XCKU060为例,PCIe 3.0 x8):
- LUTs:11265,FFs:19089,BRAM:48,PCIe:1
8通道CDMA资源使用(XC7K325为例,PCIe 2.0 x4):
- LUTs:14803,FFs:20712,BRAM:75,PCIe:1
8通道SGDMA资源使用(XC7K325为例,PCIe 2.0 x4):
- LUTs:19055,FFs:27529,BRAM:94,PCIe:1
8通道CDMA资源使用(XC7K325为例,PCIe 2.0 x8):
- LUTs:20235,FFs:29327,BRAM:55,PCIe:1
8通道SGDMA资源使用(XC7K325为例,PCIe 2.0 x8):
- LUTs:26432,FFs:38087,BRAM:55,PCIe:1
8通道CDMA资源使用(XCKU060为例,PCIe 3.0 x8):
- LUTs:18747,FFs:36805,BRAM:78,PCIe:1
8通道SGDMA资源使用(XCKU060为例,PCIe 3.0 x8):
- LUTs:25886,FFs:51406,BRAM:78,PCIe:1
8通道CDMA资源使用(XCVU9P为例,PCIe 3.0 x16):
- LUTs:34531,FFs:75161,BRAM:150,PCIe:1
8通道SGDMA资源使用(XCVU9P为例,PCIe 3.0 x16):
- LUTs:46256,FFs:101538,BRAM:150,PCIe:1
可交付资料:
- 详细的用户手册
- Design File:Post-synthesis EDIF netlist or RTL Source
- Timing and layout constraints,Test or Design Example Project
- 技术支持:邮件,电话,现场,培训服务
联系方式:
Email:neteasy163z@163.com
数据采集与回放IP Block Diagram
数据采集与回放系统结构框图
系统结构描述:
数据源模块产生采集数据,以FIFO接口输出到S2MM模块
S2MM模块负责把采集到的数据传输到DMA模块。
DMA模块负责把采集数据搬移到用户的采集缓冲区,或把用户回放缓冲区的数据搬移到MM2S模块。
MM2S模块负责数据回放输出。
数据校验模块接收MM2S输出的数据,进行回放数据的接收和校验。
Register Files模块用来配置以及控制S2MM和M2SS模块,并且返回这些模块的状态。
S2MM和M2SS的中断请求发送到Interrupt模块,发出MSI中断。
PCIe Gen3 Integrated Endpoint Block实现PCIe协议规范,支持Gen 3,8-lane endpoint配置
PCIe驱动采用WDF框架来开发,支持win7/win10操作系统,或者Linux操作系统。用户应用程序访问采集缓冲区可以获得采集数据,或者把回放数据传输到回放缓冲区进行回放。