块 RAM 的性能/功耗利弊取舍 - 2023.2 简体中文

适用于 FPGA 和 SoC 的 UltraFast 设计方法指南 (UG949)

Document ID
UG949
Release Date
2023-11-29
Version
2023.2 简体中文

有多种方法可用于细分存储器配置以满足具体要求。特定器件的要求可包括时钟频率、功耗或两者混合。

以下示例着重演示了为满足您的要求而可生成的各种不同结构。综合可使用 CASCADE_HEIGHT 属性来限制块 RAM 级联以实现时钟频率与功耗之间的利弊取舍。如需了解该属性的用法和实参,请参阅 Vivado Design Suite 用户指南:综合(UG901)

下图显示了为实现更高时钟频率(时序)的 4Kx32 存储器配置的示例。

注释: 此示例仅适用于 UltraScaleUltraScale+ 器件。
图 1. 使用 4Kx8 和 CASCADE_HEIGHT=1 实现 4Kx32 的 RTL 表达形式

在此实现中,所有块 RAM 都始终处于启用状态(针对每次读取或写入)并耗用更多功耗。

下图显示了级联所有块 RAM 以降低功耗的示例。

图 2. 使用 1Kx32 和 CASCADE_HEIGHT=4 实现 4Kx32 的 RTL 表达形式

在此实现中,由于每次仅选中 1 个块 RAM(从每个单元中),因此动态功耗贡献几乎减半。块 RAM 具有专用级联 MUX 和布线结构,支持构建宽而深的存储器,此类存储器需要在功耗效率极高的配置中构建多个块 RAM 原语。

下图显示了如何限制级联并同时保障功耗和时钟频率(通常无需牺牲性能)的示例。

注释: 此示例仅适用于 UltraScaleUltraScale+ 器件。
图 3. 使用 2Kx16 和 CASCADE_HEIGHT=2 实现 4Kx32 的 RTL 表达形式

在此实现中,由于每次仅选中 2 个块 RAM,因此动态功耗贡献比高时钟频率结构更好,但不及低功耗结构。此结构相比于低功耗结构的优势在于它在级联路径中仅使用 2 个块 RAM,而相比于低功耗结构的关键路径中的 4 个块 RAM,这将影响目标频率。