我合成了一个小设备来测试 block-ram 推理。
我收到 XST 的消息:
小 RAM 将是 在 LUT 上实施,以便 最大化性能并节省块 内存资源。如果你想强行 它在块上的实现,使用 选项/约束 ram_style.
但是,我不知道在 ISE(我的例子中为 11.1)或约束文件中哪里可以找到此选项/约束...
我不想在代码中直接使用 VHDL 属性。
在您的项目目录中,您将找到一个名为“your-design.xst”的文件。您可以在列表末尾(或“运行”之后的任何位置)添加以下内容:
-ram_style block # ( | auto | distributed )
-rom_style block # ( | auto | distributed )
这些应该确保您将获得 BRAM 映射而不是分布式 RAM(这意味着基于 LUT 的内存)。
这个选项也可以派上用场:
-auto_bram_packing yes # ( | no )
请记住,每一个都必须独占一行,并且您需要删除“#”以及后面的任何内容。
如果您使用 ISE GUI,请转至
Synthesis -> Process Properties -> HDL options
然后选择上面的选项。
run -ram_style BLOCK 可以在命令行中完成此操作。