- AXI DataMover IP core 具有4 KB地址边界保护、自动burst分区,并提供了使用近乎AXI4-Stream协议的全部带宽对多个传输请求进行排队的能力
- AXI DataMover提供字节级别的数据重新对齐,允许内存读取和写入任何字节偏移量位置。根据通道的需求,可以将通道配置为基本通道或完全通道
- Indeterminate BTT mode:Optional Indeterminate Bytes to Transfer (BTT) mode in S2MM 支持不定长字节传输
- Store and Forward
Optional General Purpose Store-And-Forward in both Memory Map to Stream (MM2S) and Stream to Memory Map (S2MM) - 该命令格式允许指定从1字节到8,388,607字节的单次数据传输 (7FFFFF hex bytes ,23bits ) 。
- 加载到命令接口的命令通常被称为传输的父命令。数据传输自动将大型传输分解为符合AXI4协议要求的中间突发(子传输)。
Feature
- Maximum Memory Map Burst Length
在AXI MM2S内存映射接口上,AXI DataMover支持最大突发大小的参数化。
换句话说,此设置指定突发分区的粒度。 例如,如果突发长度设置为16,则内存映射接口上的最大突发为16个数据拍。 较小的值会降低吞吐量,但对AXI基础结构的影响较小。 较大的值可提高吞吐量,但会对AXI基础结构产生更大的影响。 支持的有效值为2、4、8、16、32、64、128和256(基于所选的数据宽度) - Unaligned Transfers
AXI DataMover内核可以选择支持数据重新排列引擎(DRE)。 启用DRE后,数据将重新对齐到Memory Map数据路径上的字节(8位)级别。 AXI4-Stream接口上提供了DRE支持,用于TDATA宽度最大为64位 - Store and Forward
- Indeterminate BTT Mode
AXI DataMover内核为S2MM通道支持可选的不确定BTT模式。 当输入S2MM流通道上要接收的字节数未知时,需要使用此方法
命令接口
命令接口是AXI4-Stream接口,因此位数应为8的整数倍。例如,如果地址空间配置为33位,则应填充命令中的地址部分以使其达到40位 。 这是为了确保符合AXI4-Stream协议。 AXI Datamover将在内部忽略填充位。
该命令格式允许指定从1字节到8,388,607字节(7FFFFF十六进制字节)的单次数据传输。 加载到命令界面中的命令通常称为传输的父命令。 DataMover自动将大型传输分解为符合AXI4协议要求的中间突发(子传输)。
- Command FIFO
- Command Stream Interface Timing
BTT:byte to transfer - Type: 突发传输类型
字段为 1 时:突发传输类型为 incr ,数据会保存在以起始地址开始递增的地址中
字段为 0 时:突发传输类型为 fixed, 数据均保存在起始地址中,覆盖旧值 - DSA:DRE Stream Alignment
- EOF:End of Frame,This bit indicates that the command is an End of Frame command.
- DRR:DRE ReAlignment Request
- SADDR:指示用于传输的内存映射端的起始地址。 如果启用了DRE,则该字段的低位地址位指示要加载到DRE的内存映射侧的起始对齐方式
TAG:此字段是用户分配给命令的任意值
Status Interface
-S2MM Status Format in Indeterminate BTT Mode (IBTT)
- MM2S Store and Forward
- S2MM Store and Forward
当启用了Enable Store Forward参数时,S2MM可以包括一个可选的存储和转发块。启用这个参数可以确保在请求的传输所需的所有数据都出现在存储中并转发FIFO之前,传输不会被发送到AXI4写地址通道 - Indeterminate BTT Mode
- AXI DataMover S2MM功能有一个特殊的操作模式,用于支持流通道中接收的数据量未知(或不确定)的情况。不确定BTT模式的另一个特性是从输入流通道吸收溢出数据。溢出定义为接收到的流数据超过相应父传输命令的BTT值,EOF位也在该命令中设置。数据吸收从到达BTT值的点开始,一直持续到下一个TLAST数据拍。
DataMover Basic
DataMover的某些应用程序不需要其提供的高性能功能。 在这些应用程序中,资源利用率比性能更重要。 DataMover可以通过Vivado IDE选择简化功能选项
定制和生成核
basic option
MM2S Channel Options
-
Maximum Burst Size
该选项在AXI MM2S存储器映射读取接口中指定突发周期的最大大小。 换句话说,此设置指定突发分区的粒度。 例如,如果突发长度设置为16,则内存映射接口上的最大突发为16个数据拍。 较小的值会减少吞吐量,但对AXI基础结构的影响较小。 较大的值可提高吞吐量,但会对AXI基础结构产生更大的影响。 根据所选的数据宽度,有效值为2、4、8、16、32、64、128和256 -
Bytes To Transfer (BTT) Bit Used 在MM2S命令的BTT数字段中指定有效位数。 有效选项是8到23
S2MM Channel Options
Advanced Options
MM2S
- Allow Unaligned Transfers
- Enable Store and Forward:此设置提供MM2S存储和转发功能的包含/省略。 此选项仅在完全模式下可用。 此外,当内存映射数据宽度与流数据宽度不同时,始终启用此选项
S2MM
此设置提供不确定的BTT(IBBT)模式。 当将传输命令发布到DataMover S2MM命令输入时,如果在输入S2MM流通道上要接收的字节数未知,则需要这样做。 启用后,“存储并转发”选项将无法使用。