0

我有一个 MachXO3 芯片。系列数据表可在此处获得:http ://www.latticesemi.com/~/media/LatticeSemi/Documents/DataSheets/MachXO23/DS1047-MachXO3-Family-Data-Sheet.pdf?document_id=50121

数据表在第 2-10 页上说 EBR 由 9-kbit 组成。但是第 1-2 页上的表 1-1 列出了根本不能被 9 整除的数字……

另外,我有以下代码:

reg [7:0] lineB0[1:0][127:0];
reg [7:0] lineB1[1:0][127:0];

报告说需要 4 EBR。这听起来完全没有优化。这是为什么?如何制作我的 2*(2*128) 字节 = 512 字节 = 4096 位 = 4kbit 的表,它应该保存在 1 个 EBR 中?

4

1 回答 1

1

自动推理算法似乎并不总是超级高效。如果资源使用存在问题,我通常会建议使用 IPexpress 创建 RAM 或 ROM。该工具报告 512*8 双流水线内存 (RAM_DP) 的资源使用量为 1 EBR。根据您的 RAM 的组织/应用程序,在您希望始终读取 lineB0 和 lineB1 的相同索引的假设下,128*(8+8) 布局可能是一个不错的选择。

友情提醒:过早优化是所有(或至少许多)邪恶的根源。因此,如果 EBR 的内存使用量现在实际上没有限制,那么将您的时间投入到其他主题上可能更值得。

于 2019-04-29T08:06:11.220 回答