AN 886: Intel® Agilex™ SoC器件设计指南

ID 683634
日期 1/22/2021
Public
文档目录

5.1.8.2.3. MPU与FPGA共享数据

可选择以正确的方式在HPS和FPGA之间共享数据,达到优化数据吞吐量的目的。本部分假定HPS SDRAM是数据源,而FPGA需要对其进行访问。对FPGA而言,访问源自HPS SDRAM的数据有两种主要方法:

  • FPGA使用针对SDRAM的FPGA-to-SoC桥接直接访问非高速缓存数据。
  • FPGA使用针对CCU的FPGA-to-SoC桥接访问高速缓存数据。

如果SDRAM中的数据是最新的副本(有软件管理的一致性),则实现访问数据的最大吞吐量的方法是让FPGA中的主控通过FPGA-to-SoC桥接直接访问数据。

如果SDRAM中的数据可能不是该数据的最新副本,那么软件就不会更新MPU高速缓存,从而确保维持系统范围的一致性,然而FPGA主控应该对FPGA-to-SoC桥接执行高速缓存事务以确保访问最新数据。

指南:避免使用HPS3 DMA控制器移动FPGA和HPS之间的数据。而是使用FPGA架构中的软DMA控制器取代。仅对保留在HPS中存储器副本或外设数据活动使用HPS DMA控制器。

不建议使用HPS DMA将数据移动至FPGA,因为进入HPS SDRAM的DMA带宽受限。HPS DMA旨在代表MPU移动缓冲区,或用于外设和存储器之间的传输。这样,无论何时FPGA需要访问HPS存储器中的缓冲区,或者如果HPS需要访问FPGA中储存的数据,都建议使用FPGA中的主控来执行这些传输,而不是由HPS将他们启动。