仅对英特尔可见 — GUID: kzp1508549429833
Ixiasoft
7. 存储器架构最佳实践
通过使该架构适应组件中的存储器访问码型, Intel® High Level Synthesis Compiler可推断出组件中有效的存储器架构(如,存储器宽度,bank和端口的数量)。查看存储器架构最佳实践从而了解如何从编译器中获得组件的最佳存储器架构。
大多数情况下,可通过修改访问码型来优化存储器架构。但同时, Intel® HLS Compiler Pro Edition也提供一些对存储器架构的控制。
演示存储器架构最佳实践的教程
随 Intel® HLS Compiler Pro Edition提供的教程可说明重要的 Intel® HLS Compiler概念并演示良好的编码实践。
查阅这些教程了解适用于您设计的存储器架构最佳实践:
教程 | 描述 |
---|---|
可在您 Quartus® Prime系统的如下位置找到这些教程:<quartus_installdir>/hls/examples/tutorials/component_memories |
|
attributes_on_mm_agent_arg | 演示如何将存储器属性应用于 Avalon® Memory Mapped (MM) agent自变量。 |
exceptions | 演示如何在常量和struct members结构体上使用存储器属性。 |
memory_bank_configuration | 演示如何控制每个存储器bank的加载/储存端口的数量,并通过使用如下存储器的一个或多个属性优化组件面积使用,吞吐量,或两者同时优化:
|
memory_geometry | 演示如何控制每个存储器bank的加载和储存端口的数量,并通过使用如下存储器的一个或多个属性优化组件面积使用,吞吐量,或两者同时优化:
|
memory_implementation | 演示如何使用以下存储器属性实现寄存器,MLAB或RAM中的变量和数组(array):
|
memory_merging | 演示如何通过hls_merge存储器属性将两个逻辑存储器从深度和广度上合并成单个物理存储器,从而提高资源利用率。 |
non_trivial_initialization | 演示如何使用C++关键字constexpr实现只读变量的有效初始化。 |
non_power_of_two_memory | 演示如何使用force_pow2_depth存储器属性控制非二次幂深度的存储器填充,以及其如何影响FPGA存储器资源的使用。 |
static_var_init | 演示如何控制使用hls_init_on_reset或hls_init_on_powerup存储器属性的组件中静态变量的初始化行为。 |