gpt4 book ai didi

Xilinx、Zynq、AXI4 互连。配置寄存器片和数据 fifo 选项对性能有何影响?

转载 作者:行者123 更新时间:2023-12-01 15:28:18 36 4
gpt4 key购买 nike

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

AXI Interconnect Block

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

enter image description here

启用寄存器片的目的是什么? outer指的是二级缓存吗? Auto 是什么意思?

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

最佳答案

注册切片

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

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

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

数据先进先出

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

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

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

关于Xilinx、Zynq、AXI4 互连。配置寄存器片和数据 fifo 选项对性能有何影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53931806/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com