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

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

5.1.8.1.4. 接口带宽

为确定能用于在HPS和FPGA架构之间传输数据的接口,必须了解每个接口的带宽。下图说明HPS和FPGA之间可用的峰值吞吐量,以及HPS中的内部带宽。所示实例中假设FPGA架构以400 MHz运行,MPU以1500 MHz运行,而64-bit外部SDRAM以每秒3200 Mbits运行。

图 8.  Intel® Agilex™ HPS存储器映射带宽有关缩写,请参阅HPS存储器映射接口概述中的图示。

各个HPS接口的相对时延和吞吐量

接口

事务用例

延时

吞吐量

SoC-to-FPGA

MPU访问FPGA中的存储器

SoC-to-FPGA

MPU访问FPGA中的外设

非常低

Lightweight(轻量级) SoC-to-FPGA

MPU访问FPGA中的寄存器

Lightweight SoC-to-FPGA

MPU访问FPGA中的存储器

非常低

FPGA-to-SoC

FPGA著接口访问非高速缓存一致性SDRAM

FPGA-to-SoC

FPGA主接口访问SoC片上RAM

FPGA-to-SoC

FPGA主接口访问SoC外设

FPGA-to-SoC

FPGA主接口访问coherent memory导致的cache miss(未命中)

FPGA-to-SoC

FPGA主接口访问coherent memory完成cache hit(命中)

中—高

FPGA-to-SoC

FPGA主接口直接访问SoC

高—非常高

注: 对于无配置建议的接口,请参阅相应接口部分: "SoC-to-FPGA Bridge", "Lightweight SoC-to-FPGA Bridge"和"FPGA-to-SoC Bridge"。

指南:避免使用SoC-to-FPGA桥接从MPU访问FPGA中的外设寄存器。

已针对突发流量优化了SoC-to-FPGA桥接,并且外设访问通常是仅一拍的短字大小的访问。这样,如果通过SoC-to-FPGA桥访问外设,则该事务可能会因已经在运行中的其他突发通信量而停止。

指南:避免使用轻量级SoC-to-FPGA桥接从MPU访问FPGA中的存储器。

针对非突发通信量优化轻量级SoC-to-FPGA桥接,并且通常一突发方式执行存储器访问(由于高速缓存操作,因而通常为32字节)。因此,如果通过轻量级SoC-to-FPGA桥接访问存储器,则吞吐量受到限制。

指南:使用FPGA中的软逻辑(例如,DMA控制器)在HPS和FPGA之间移动共享数据。请避免在该情况下使用MPU和HPS DMA控制器。

在HPS和FPGA之间移动数据时, Intel® 建议从FPGA进行操作,而非使用MPU或HPS DMA控制器。如果FPGA必须访问高速缓存一致数据,则其必须访问FPGA-to-SoC桥接并通过正确的ACE-Lite高速缓存扩展信令发布可高速缓存的事务。如果必须将非cache coherent数据移动到FPGA或HPS,则以FPGA逻辑实现的DMA引擎可通过FPGA-to-SoC桥接移动数据,从而达到最大吞吐量。即使HPS内部包含的DMA引擎可在HPS和FPGA之间移动数据,但是该引擎的目的是帮助不主控存储器的外设或代表MPU向存储器数据移动提供存储空间的外设。