晶格金刚石中的 EBR 块

EBR block in Lattice Diamond

我有一个 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 页的 table 1-1 列出了根本不能被 9 整除的数字...

此外,我有以下代码:

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

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

自动推理算法似乎并不总是非常高效。如果资源使用有问题,我通常会建议使用 IPexpress 创建 RAM 或 ROM。该工具报告 512*8 双管道 ram (RAM_DP) 的资源使用情况为 1 EBR。根据 RAM 的 organisation/application,假设您希望始终读取 lineB0 和 lineB1 的相同索引,128*(8+8) 布局可能是一个不错的选择。

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