Intel®高层次综合编译器专业版: 最佳实践指南

ID 683152
日期 6/22/2020
Public

本文档可提供新的版本。客户应 单击此处 前往查看最新版本。

文档目录

6. 存储器体系结构最佳实践

通过使该体系结构适应组件中的存储器访问码型, Intel® High Level Synthesis Compiler可推断出组件中有效的存储器体系结构(如,存储器宽度,bank和端口的数量)。查看存储器体系结构最佳实践从而了解如何从编译器中获得组件的最佳存储器体系结构。.

大多数情况下,可通过修改访问码型来优化存储器体系结构。但同时, Intel® HLS Compiler Pro Edition也提供一些对存储器体系结构的控制。

演示存储器体系结构最佳实践的教程

Intel® HLS Compiler Pro Edition提供的教程可说明重要的 Intel® HLS Compiler概念并演示良好的编码实践。

查阅这些教程了解适用于您设计的存储器体系结构最佳实践:
表 7.   Intel® HLS Compiler Pro Edition提供的教程
教程 说明
可在您 Intel® Quartus® Prime系统的如下位置找到这些教程:
<quartus_installdir>/hls/examples/tutorials/component_memories
attributes_on_mm_slave_arg 演示如何将存储器属性应用于 Avalon® Memory Mapped (MM) 从自变量。
exceptions 演示如何在常量和struct members上使用存储器属性。
memory_bank_configuration 演示如何控制每个存储器bank的加载和储存端口的数量,并通过使用如下存储器的一个或多个属性优化组件面积使用,吞吐量,或两者同时优化:
  • hls_max_replicates
  • hls_singlepump
  • hls_doublepump
  • hls_simple_dual_port_memory
memory_geometry 演示如何控制每个存储器bank的加载和储存端口的数量,并通过使用如下存储器的一个或多个属性优化组件面积使用,吞吐量,或两者同时优化:
  • hls_bankwidth
  • hls_numbanks
  • hls_bankbits
memory_implementation 演示如何使用以下存储器属性实现寄存器,MLAB或RAM中的变量和数组:
  • hls_register
  • hls_memory
  • hls_memory_impl
memory_merging 演示如何通过hls_merge存储器属性将两个逻辑存储器从深度和广度上合并成单个物理存储器,从而提高资源利用率。
non_trivial_initialization 演示如何使用C++关键字constexpr实现只读变量的有效初始化。
non_power_of_two_memory 演示如何使用force_pow2_depth存储器属性控制非二次幂深度的存储器填充,以及其如何影响FPGA存储器资源的使用。
static_var_init 演示如何控制使用hls_init_on_resethls_init_on_powerup存储器属性的组件中静态变量的初始化行为。