Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xilinx、Zynq、AXI4互连。配置寄存器片和数据fifo选项的性能影响是什么?_Xilinx_Vivado_Zynq_Axi4 - Fatal编程技术网

Xilinx、Zynq、AXI4互连。配置寄存器片和数据fifo选项的性能影响是什么?

Xilinx、Zynq、AXI4互连。配置寄存器片和数据fifo选项的性能影响是什么?,xilinx,vivado,zynq,axi4,Xilinx,Vivado,Zynq,Axi4,考虑PL(FPGA)端的AXI4互连 当我双击查看可用选项时,在从属界面中有一个选项卡。包含以下选项 启用寄存器片的目的是什么?外部是否指二级缓存?汽车是什么意思 启用数据FIFO的目的是什么?对于突发事务?DMA控制器没有自己的FIFO吗 寄存器片 启用寄存器片()基本上会在AXI主连接和从连接之间创建一条管道,以中断关键的定时路径。它似乎与二级缓存没有任何关系。可用选项为您提供以下内容(第113页): 如果未选择任何(0),则不插入寄存器片 如果选择了外部(1),则在SI耦合器单元层次

考虑PL(FPGA)端的AXI4互连

当我双击查看可用选项时,在从属界面中有一个选项卡。包含以下选项

启用寄存器片的目的是什么?外部是否指二级缓存?汽车是什么意思

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

寄存器片 启用寄存器片()基本上会在AXI主连接和从连接之间创建一条管道,以中断关键的定时路径。它似乎与二级缓存没有任何关系。可用选项为您提供以下内容(第113页):

  • 如果未选择任何(0),则不插入寄存器片
  • 如果选择了外部(1),则在SI耦合器单元层次结构的SI侧插入一个寄存器片
  • 如果选择Auto(2),则如果检测到具有公共时序路径的SI耦合器单元,则会在SI耦合器单元层次结构中自动插入寄存器片
  • 如果选择了外部和自动(3),则在SI耦合器单元层次结构的SI侧插入一个寄存器片,如果检测到具有公共时序路径的SI耦合器单元,则可以插入一个额外的寄存器片
第91页提供了AXI系统优化指南。例如,它指出:“大型复杂IP块(如处理器、DDR3内存控制器和PCIe网桥)很适合启用寄存器片。寄存器片打破了时序路径,并允许更多的位置和路由自由度(PAR)将大型IP块从互连核心和其他IP逻辑的拥塞中移开的工具”。尽管如此,我还是建议阅读整个章节,因为过度使用寄存器片可能会适得其反。”这实际上取决于您的系统设计

数据先进先出 启用数据FIFO的目的是提供数据缓冲并实现更高的吞吐量。 32 deep mode选项提供基于32 deep LUT-RAM的FIFO(仅数据通道),而512 deep(数据包模式)< /强>提供了一个512深块RAM的数据包FIFO。包FIFO模式提供了一个额外的32个深度FIFO,在地址地址通道上,以避免突发中的满/空档。这基本上增加了读/写操作的延迟来避免摊位。阅读下面的页面以获得更深入的信息。。选项提供以下内容:

  • 如果参数值为0,则不插入数据FIFO
  • 如果参数值为1,则插入32深的数据FIFO
  • 如果参数值为2,则插入512深度的数据FIFO,并启用其数据包模式功能
最后,我不知道Xilinx的DMA实现的精确性,但我相信,如果接收模块的速度不如DMA快,那么包含缓冲区的意图是存在的。也就是说,DMA可以提供比模块可以读取的数据更多的数据,因此缓冲其输出可以提高通信速度(在某些情况下,还可以更快地释放DMA)