Xilinx XDMA IP学习

Xilinx XDMA IP学习

DMA Interface
在XDMA IP核中,DMA接口设置部分有两个选项,一个就是 AXI Memory Mapped,而另外一个就是AXI Stream。

在这里插入图片描述
提到上述两个选项,看到的时候也是很莫名,这两个选项究竟有何区别,让我们通过AXI总线协议来说明他们的相同与不同。

AXI4.0总线协议,主要是AXI4.0(AXI4.0-full),AXI4.0-lite,AXI4.0-stream三种协议。

AXI4.0-lite是AXI4.0-full的简化版。用于简单、低吞吐量的内存映射通信。
由于没有突发传输相关的信号线,所以不能进行突发传输,因此每次传输只能传输一个数据(数据的宽度取决于带宽)。比如对于32位宽度的总线,那么一次就能传输4个字节。
AXI4.0-full用于高性能内存映射需求。
包含突发控制信号,所以可以进行突发传输,在指定一次地址后,可以一次传输多达256个数据(数据的宽度取决于带宽)。
AXI_stream用于高速流数据。由于没有地址总线,所以用于数据流传送,允许无限制的数据突发传输规模。

应用场景
AXI4.0-lite主要用于内核和外设寄存器之间的通信。AXI4.0-lite就特别合适。
AXI4.0-full主要用于往DDR或者OCM中写入大量数据时使用。
AXI_stream主要用于往FIFO等没有地址的数据缓冲区传送大量数据时使用

根据上述对AXI总线协议的介绍,需要根据使用环境来选择协议类型,通过DDR进行大量数据读写时,会使用AXI-full总线模式,也就是在IP核设置中的AXI Memory Mapped选项。AXI Stream协议是不包含地址线的,所以在读写FIFO等没有地址的数据缓存区时,可以使用AXI Stream协议,也就是AXI Stream选项。上位机通常会通过PCIE接口向下位机发送各种控制或者配置指令,此时就需要使用添加AXI-Lite选项,可以勾选下图中所示选项进行添加,AXI-lite可以说是简化版的AXI-full。在使用WDK进行读写时,有BAR0和BAR1两个空间,一个就是勾选的PCIe to AXI Lite Master Interface接口,用于设置寄存器。另一个就是默认勾选的PCIe to DMA Interface接口,用于数据的读写。
在这里插入图片描述

PCIe to AXI Lite Master Interface

在BARs页面中,会有PCIe to AXI Lite Master Interface一栏,众所周知主机访问地址与下位机实际控制地址是不一样的,所以PCIe to AXI Lite Master Interface这个接口就是将上位机地址与下位机地址进行一个映射,将两部分联系起来,比如在这一栏中设置0x80000000,那么实际的意义就是bar的0地址对应的是外设的0x80000000地址,当上位机对0地址进行操作的时候实际是对下位机的0x80000000地址进行操作。

握手过程
每个通道进行数据的交互时,需要进行双向握手操作即VALID和READY信号均为高时,写入的数据才会有效。在握手过程中可能会出现,1.VALID先有效,然后READY再有效,在两者均有效的时候写入数据有效。2.READY先有效,然后VALID再有效,在两者均有效的时候写入数据有效。3.恰好READY有效,VALID也有效,在两者均有效的时候写入数据有效。
就好像有两个人做工作,彼此的工作是相关的,A对B说,我已经弄完了,等你弄完告诉我一声,我们联合测试。基本就是这个道理。
可以通过下图来看到三种握手协议。

在这里插入图片描述

  • 17
    点赞
  • 100
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
xdma stream是一种用于数据传输的技术,主要应用于FPGA(现场可编程门阵列)平台上。xdma stream基于片内总线,使得数据在不同模块之间能够快速且高效地传输。 xdma stream技术通过定义数据流的方式将传输数据的逻辑切分为多个模块,每个模块分别负责数据的输入、计算或处理以及输出。这种数据流管道的设计使得数据传输能够以流水线的方式进行,提高了数据的吞吐量和处理效率。 xdma stream的应用非常广泛,常见的应用包括数字信号处理、嵌入式系统、通信领域等等。例如,在数字信号处理领域,xdma stream可以用于音视频信号的采集、处理和输出,通过模块化的设计提高系统的性能和灵活性。在嵌入式系统,xdma stream可以用于高速数据传输,例如图像处理、控制信号的传输等。在通信领域,xdma stream可以应用于数据的接收和发送,提高数据的传输速率和减少延迟。 除了在FPGA平台上,xdma stream还可以与其他技术结合使用,例如PCIe(外部总线接口),实现与计算机主机的数据交互。通过xdma stream技术,可以实现高速的数据传输和处理,提高系统的性能和效率。 总结来说,xdma stream是一种用于数据传输的技术,通过切分数据传输的逻辑为多个模块,使得数据能够以流水线的方式进行传输和处理。它在FPGA平台上有广泛的应用,并且可以与其他技术结合使用,提高数据传输的速率和系统的性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值