英特尔® Stratix®10 MX FPGAs集成了 3D 堆栈 HBM2 DRAM 内存,包括 HBM2 硬核内存控制器。因此,最大限度地提高 HBM2 内存控制器的效率非常重要。
多种因素可能会影响控制器的效率。为了获得最佳效率,您应该在设计中考虑以下因素:
• 用户界面频率与 HBM2 接口频率 - FPGA结构中的用户逻辑频率在决定 HBM2 内存效率方面起着重要作用。
• 控制器设置:
- 在控制器设置中禁用“重新排序器缓冲区”,以提高效率。(但是,如果应用程序要求以与读取请求相同的顺序提供读取数据,则最好启用重新排序缓冲区。)
- Burst length(突发长度) - 伪-BL8 模式有助于确保缩短连续 BL4 次交易之间的内存访问时序,以提高控制器效率。
• 交通模式 - 流量模式在决定控制器效率方面起着重要作用。
- 顺序地址与随机 DRAM 地址对比:顺序地址使控制器能够在打开的页面上连续发出写入请求,并有助于实现高控制器效率。随机地址需要恒定 PRECHARGE/ACTIVATE 命令,并可降低控制器效率。
- 将用户自动预充电策略设置为 FORCED,将 AXI 接口上的 awuser/aruser 信号设置为 HIGH,以启用自动预充电进行随机交易。对于顺序交易,请将 自动预充电策略设置为 提示。
- 仅读或只写交易:顺序只读或只写交易可提高效率,因为它们避免了 DRAM 双向数据总线的巴士周转时间。
• AXI Transaction ID - 使用不同的 AXI 交易 ID 可帮助 HBM2 控制器安排交易以实现高效率。使用相同的 AXI 交易 ID 可保持命令顺序,并可能导致效率降低。