我有一个MachXO3芯片。系列数据表可在此处找到:user identities
数据表表明,EBR由第2-10页的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中?
答案 0 :(得分:1)
自动推理算法似乎并不总是非常高效。如果资源使用问题,我通常建议使用IPexpress创建RAM或ROM。该工具报告512 * 8双管道内存(RAM_DP)占用1 EBR的资源。根据RAM的组织/应用,假设您要始终为lineB0和lineB1读取相同的索引,则128 *(8 + 8)布局可能是一个不错的选择。
友好的提醒:过早的优化是所有(或至少许多)邪恶的根源。因此,如果现在实际使用的内存EBR数量没有限制,那么将时间花在其他主题上可能会更有价值。