XILINX_IP核_DMA

DMA:direct memory assess 直接内存访问,不在cpu干预的模式下完成数据的交互,节省cpu资源
DMACR:DMA控制寄存器
DMASR:DMA状态寄存器
在Xilinx的产品中有硬核DMA和软核DMA之分,如ZYNQ系列的板卡中包含PS模块即arm,是存在硬核DMA的,硬核DMA的传输速度不如PL端FPGA上的IP核即软核DMA

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

DMA IP使用详见PG021手册

DMA两种基础模式
1、SG disable,简单模式,由cpu配置相应寄存器即可完成传输,
优点:操作简单,消耗FPGA资源较少
缺点:确定了起始地址后,数据只能连续的读写,若想在新的区域读写则需要重新配置,开始新的传输
2、SG enable ,将传输的基本参数(起始地址、传输长度等)存储在内存中,这些参数被称为BD(Buffer Descriptor),在工作时,通过SG接口加载和更新BD中的状态
优点:操作复杂
缺点:确定了起始地址后,数据只能连续的读写,若想在新的区域读写则需要重新配置

进阶模式——cyclic dma mode
SG模式的升级应用
在这里插入图片描述

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DMA(Direct Memory Access)是一种计算机技术,它允许外部设备直接访问系统内存,而无需CPU的干预。而PCIe(Peripheral Component Interconnect Express)是一种高速串行扩展总线,用于连接计算机内部的外部设备。在FPGA中,DMA和PCIe通常结合使用,以实现高速数据传输。IP核是一种可重用的设计模块,用于在FPGA中实现特定的功能。因此,DMA+PCIe+IP核通常用于实现高速数据传输和通信。 在Xilinx FPGA芯片中,有多种DMA+PCIe+IP核可供选择,包括Xilinx官方推出的XAPP1052和XMDA IP核、以色列Xillybus FPGA PCIe DMA IP核、GitHub上的RIFFA(AReusable Integration Framework For FPGA Accelerators)IP核以及北大无线可重构体系结构课题小组的框架:EPEE(Efficient and Flexible Host-FPGA PCIe Communication Library)。 这些IP核具有不同的特性和功能,例如支持不同的PCIe链路速率和宽度、支持不同的Xilinx器件、支持不同的DMA引擎等。使用这些IP核,可以在FPGA中实现高速、灵活和可靠的DMA+PCIe通信,以满足不同应用的需求。 下面是一个使用Xilinx官方推出的XMDA IP核实现DMA+PCIe通信的示例: ```verilog // DMA+PCIe通信IP核示例 module dma_pcie_ip_core ( input clk, // 时钟信号 input rst, // 复位信号 input [31:0] dma_addr, // DMA地址 input [31:0] dma_data, // DMA数据 input dma_write, // DMA写使能信号 input dma_read, // DMA读使能信号 output [31:0] pcie_addr, // PCIe地址 output [31:0] pcie_data, // PCIe数据 output pcie_write, // PCIe写使能信号 output pcie_read // PCIe读使能信号 ); // 在此处实现DMA+PCIe通信IP核的功能 endmodule ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值