ROM 最优化 - 2023.2 简体中文

Vitis 高层次综合用户指南 (UG1399)

Document ID
UG1399
Release Date
2023-12-18
Version
2023.2 简体中文

以下显示的代码示例中,即使未以 staticconst 限定符指定阵列,Vitis HLS 仍实现为 ROM。其中演示了 Vitis HLS 分析设计和判定最优化实现的方式。限定符用于为工具提供指导,但并不支配最终 RTL。

#include "array_ROM.h"

dout_t array_ROM(din1_t inval, din2_t idx)
{
 din1_t lookup_table[256];
 dint_t i;

 for (i = 0; i < 256; i++) {
 lookup_table[i] = 256 * (i - 128);
 }

 return (dout_t)inval * (dout_t)lookup_table[idx];
}

在此示例中,该工具能够判定采用变量 lookup_table 作为最终 RTL 中的存储器元素的情况下,实现结果最佳。