3

考虑 PL (FPGA) 端的 AXI4 互连。

AXI 互连模块

当我双击查看可用选项时,从接口中有一个选项卡。包含以下选项。

在此处输入图像描述

启用寄存器切片的目的是什么?外部是指二级缓存吗?自动是什么意思?

启用数据 FIFO 的目的是什么?对于突发交易?DMA控制器没有自己的FIFO吗?

4

1 回答 1

2

注册切片

启用寄存器切片( AXI Interconnect v2.1 - pg. 93 ) 基本上会在 AXI 主从连接之间创建一条管道,以中断关键时序路径。它似乎没有与 L2 缓存相关的任何内容。可用选项为您提供以下内容(第 113 页):

  • 如果选择无 (0),则不插入任何寄存器片。
  • 如果选择外部 (1),则在 SI 耦合器单元层次结构的 SI 侧插入一个寄存器片。
  • 如果选择 Auto (2),则在检测到具有公共时序路径的 SI 耦合器单元时,将在 SI 耦合器单元层次结构中自动插入一个寄存器片。
  • 如果选择外部和自动 (3),则在 SI 耦合器单元层次结构的 SI 侧插入一个寄存器片,如果检测到具有公共时序路径的 SI 耦合器单元,则可以插入一个额外的寄存器片。

AXI 参考指南在第 91 页提供了 AXI 系统优化指南。例如,它指出:“大型和复杂的 IP 块,如处理器、DDR3 内存控制器和 PCIe 桥接器是启用寄存器片的良好候选者。寄存器片打破时序路径并允许布局布线 (PAR) 工具更自由地移动大型 IP 块,使其远离互连内核和其他 IP 逻辑的拥塞”。尽管如此,我还是建议阅读整个部分,因为过度使用寄存器片可能会适得其反。”这实际上取决于您的系统设计。

数据先进先出

启用Data FIFO的目的是提供数据缓冲并实现更高的吞吐量。32 深度模式选项提供基于32 深度 LUT-RAM 的 FIFO(仅限数据通道),而512 深度(数据包模式)提供基于 512 深度块 RAM 的数据包 FIFO。Packet FIFO 模式在相应的地址通道上提供了一个额外的 32 深 FIFO,以避免在突发中间出现满/空停顿。这基本上增加了读/写操作的延迟以避免停顿。阅读以下页面以获得更深入的信息。(AXI 互连 v2.1 - 第 94 页)。这些选项提供以下内容:

  • 如果参数值为 0,则不插入数据 FIFO。
  • 如果参数值为 1,则插入 32 深的数据 FIFO。
  • 如果参数值为 2,则插入深度为 512 的数据 FIFO 并启用其数据包模式功能。

最后,我不知道 Xilinx 的 DMA 实现的确切内容,但我相信如果您的接收模块不如您的 DMA 快,那么包含缓冲区的意图就会存在。也就是说,DMA 可以提供比您的模块可以读取的更多的数据,因此缓冲其输出可以提高通信速度(并且在某些情况下更快地释放您的 DMA )。

于 2019-01-14T20:28:09.390 回答