DDR 存储器资源分布在平台的超级逻辑区域 (SLR) 上。由于可用于跨 SLR 的连接数量有限,因此一般准则是:任一内核都应与连接最多的 DDR 存储器资源布局在同一个 SLR 内。这样即可减少跨 SLR 的连接竞争,并避免消耗与跨 SLR 关联的额外逻辑资源。
如上图所示,当内核具有仅映射单个存储体 (memory bank) 的单一 AXI 接口时,platforminfo 实用工具 中所描述的 platforminfo
实用工具会列出与该内核的存储体关联的 SLR,因此,最好将该内核布局在此 SLR 中。在此情况下,设计工具可能会自动将内核布局在该 SLR 中,而无需额外输入;但是,在以下条件下您可能需要为某些内核提供显式 SLR 分配:
- 设计包含大量访问同一存储体的内核。
- 内核需要一些专用逻辑资源,而这些资源在存储体所在的 SLR 中不可用。
当一个内核有多个 AXI 接口并且该内核的所有接口都访问同一个存储体时,处理方式与具有单一 AXI 接口的内核处理方式非常类似,并且该内核应与其 AXI 接口正在映射的存储体驻留在相同 SLR 中。
当内核具有多个 AXI 接口并访问位于不同 SLR 内的多个存储体时,建议将该内核布局在包含其访问的大部分存储体的 SLR 中(如上图所示)。这样可以最大程度减少此内核需要跨 SLR 的次数,从而可保留更多 SLR 交汇资源,以供设计中的其它内核用于访问存储体。
当内核在映射来自不同 SLR 的存储体时,请显式指定 SLR 分配,如 内核 SLR 和 DDR 存储器分配 中所述。
如上图所示,当平台包含 2 个以上的 SLR 时,内核可能会将位于非相邻 SLR 中的存储体映射到其最常用的存储器映射存储体。出现这种情况时,对远处存储体进行的存储器访问必须跨多个 SLR 边界,从而将产生额外的 SLR 交汇资源成本。为了避免此类成本,将内核布局在中间 SLR 中可能会更好,因为在中间 SLR 中跨相邻 SLR 所需的成本更低。