由于英特尔® Quartus® Prime 专业版软件版本 21.1 出现问题,如果您将 RAM 标识为 2D RAM,您便会不会被推断为 2D RAM,因此使用大量的 ALM 资源并导致较长的编译时间。这是因为英特尔® Quartus® Prime 专业版软件将 2D RAM 解释为 3D RAM,并且无法生成 .mif 文件。
在 VHDL 中定义为 2D 整数阵列的 RAM 具有带有 k 位整数的 n 行和 m 列。由于整数由 k-bits 表示,这增加了 1 维度,并且合成为 VHDL 中的 2D 整数阵列生成了 3D RAM。
2D RAM 的 VHDL 代码示例,可能导致此问题:
类型 ram_t 是整数范围 0- 7 的阵列(0 到 3,0 到 3):
对此问题没有解决方法。
此问题从英特尔® Quartus® Prime Pro Edition 软件版本 21.3 开始修复。