Xilinx AXI-memory接口 转 AXI-stream 接口(含源码)

AXI-memory接口 转 AXI-stream 接口

  • AXI-memory接口介绍
    • 具体详情可以查看源码。

AXI-memory接口介绍

Xilinx AXI-memory接口 转 AXI-stream 接口(含源码)_第1张图片
从图中我们可以看出memory接口有5个通道,分别是读地址通道,写地址通道,写响应通道,读数据通道,和写数据通道。
读写相互独立。
对于他们的时序为:master通过读地址通道,写地址通道下发写入和读取 数据 的地址 长度 和 ID号,写数据通道开始发送数据,此时应将写数据通道read信号拉高,待写入数据完毕后last信号会拉高一个时钟周期,随后我们应当通过写响应通道回复master写入数据已收到,完成此次写入数据操作。对于读取通道我们需要提取出读取命令中的长度和ID号,根据这两个信号来判断我们需要回复数据长度、ID号、以及last信号所在的位置。
这里我们应当注意的是:master端下发命令时并不是发一次命令等你执行完成后再发下一次指令,这里我们采用两种方法控制,一是单纯的使用ready信号来限制master的指令下发,但这样会导致较大的时间开销,从而会影响memory接口的传输速率;二是采用fifo来缓冲下发的指令,使用fifo的满信号来控制ready信号,这样可以平滑指令的扇出速率,降低对memory接口速率的影响。

最后就是将stream接口和memory接口中的读写数据通道进行对接完成接口转换。

具体详情可以查看源码。

axi-mm to axis.v

你可能感兴趣的:(FPGA,AXI-Memory,AXI-Stream)