考虑 PL (FPGA) 端的 AXI4 互连。
当我双击查看可用选项时,从接口中有一个选项卡。包含以下选项。
启用寄存器切片的目的是什么?外部是指二级缓存吗?自动是什么意思?
启用数据 FIFO 的目的是什么?对于突发交易?DMA控制器没有自己的FIFO吗?
启用寄存器切片( AXI Interconnect v2.1 - pg. 93 ) 基本上会在 AXI 主从连接之间创建一条管道,以中断关键时序路径。它似乎没有与 L2 缓存相关的任何内容。可用选项为您提供以下内容(第 113 页):
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 页)。这些选项提供以下内容:
最后,我不知道 Xilinx 的 DMA 实现的确切内容,但我相信如果您的接收模块不如您的 DMA 快,那么包含缓冲区的意图就会存在。也就是说,DMA 可以提供比您的模块可以读取的更多的数据,因此缓冲其输出可以提高通信速度(并且在某些情况下更快地释放您的 DMA )。