??作者简介:
小瑞同学 ,主要学习FPGA、信号处理、通信等。
??个人主页:小瑞同学的博客主页
??个人信条:越努力,越幸运!
?日期:2024.1.21
??来源:自学经历
??文章内容概述:介绍了Vivado AXI DataMover IP核的参数配置和接口意义,根据手册阐述了命令接口和状态接口部分字段的含义,明确了这两个接口即明确了工作原理。
目录
- 1. AXI DataMover IP核的配置
-
- 1.1 Basic
- 1.2 Advanced
- 1.3 接口
- 2.工作原理
-
- 2.1 命令接口
- 2.2 状态接口
- 3.应用
参考文档:pg022
1. AXI DataMover IP核的配置
参考:P41~P44
1.1 Basic
Channel Type:
- Full:允许将通道配置为所有可能的组合和高级功能
- Basic:限制了一些特性并让通道仅用于32位或64位宽的数据
Width of BTT field:命令中BTT字段的宽度
Enable xCache and xUser:需要更改缓存和用户信号时使能
Enable S2MM Control Signals:使能后将暴露S2MM接口的所有控制和状态信号
Address Width:命令中SADDR字段的宽度
1.2 Advanced
Enable Asynchronous Clocks:使能命令、状态流接口和存储映射接口异步时钟
Allow Unaligned Transfers :使能DRE,允许内存映射数据通道上的数据重新排列到字节(8位)级别。如果启用了DRE,则数据写入/读出可以从任何Buffer Address偏移量开始,并且读取的数据是对齐的,以便读取的第一个字节是AXI4-Stream上输出的第一个有效字节。
Enable Indeterminate BTT Mode :当传输命令发送到DataMover S2MM命令输入时、输入S2MM流通道上接收的字节数未知时需使能,使能后存储和转发选项不可用。
Enable Store and Forward:使能后可确保在存储和转发FIFO中存在请求传输所需的所有数据之前,不会将传输发送到AXI4写地址通道。
1.3 接口
参考:P14~P18
接口 | 意义 |
---|---|
S_AXIS_S2MM | 输入的数据流接口 |
S_AXIS_S2MM_CMD | 输入的S2MM命令接口 |
M_AXIS_S2MM_STS | 输出的S2MM状态接口 |
M_AXI_S2MM | 输出的存储器映射接口数据 |
m_axis_s2mm_cmdsts_awclk | S2MM的命令和状态时钟 |
s2mm_err | S2MM错误输出 |
2.工作原理
以向存储器中写数据模式为例,原理框图如下:
2.1 命令接口
使用IP核时,要先写命令再写数据,且写完命令后要等待足够长时间,再开始写数据。
??DataMover操作由AXI从流接口控制,该接口接收来自用户逻辑的传输命令。命令接口是一个AXI4-Stream接口,因此总位数应该是8的整数倍。例如,如果地址空间配置为33位,则命令中的地址部分应该填充为40位。这是为了确保符合axis4 - stream协议。AXI Datamover将在内部忽略填充位。
??命令格式允许指定从1字节到8,388,607字节(7FFFFF十六进制字节)的单个数据传输。加载到命令接口中的命令通常被称为传输的父命令。DataMover自动将大型传输分解为符合AXI4协议要求的中间突发(子传输)。下表介绍了部分字段的含义,更多细节可参考P18~P20。
字段 | 意义 |
---|---|
xCACHE | 出现在MM2S或S2MM的AXI_stream额外标识信号 |
xUSER | 出现在MM2S或S2MM的AXI_stream额外标识信号 |
TAG | 四位标识命令,该字段是用户分配给命令的任意值 |
SADDR | 起始地址,应为8的整数倍,根据具体配置 |
EOF | 帧结束命令,最后一帧到来时输出tlast信号 |
Type | 设置AXI4访问类型,置1表示INCR模式,地址自加1,置0表示固定地址 |
BTT | 要传输的总字节数,可以从1到8388607字节,不允许为0 |
2.2 状态接口
??DataMover传输操作的状态由AXI主流接口提供,该接口将传输状态转发给用户逻辑。除了在不确定模式下启用S2MM外,状态字的宽度固定为8位。
??状态接口数据的各位表示成功或失败的原因,当状态信号的值为80(十六进制)时,代表datamover数据搬运成功;如果实际传输的数据量和指令中描述的数据量大小不匹配,状态信号的值为10,表明数据量不对;如果指令中给出的地址和后续存储器地址不匹配,状态信号的值为20,表明找不到相应地址而出错。各字段具体含义,可参考P21~P23。
3.应用
下图是手册中给出的S2MM Datamover的典型应用:
??如果觉得文章对你有所帮助的话,别忘了点个收藏和赞哦~
??更多优质内容可浏览本人主页??,期待再次与你相遇!
????????????小瑞同学的博客主页????????????