当块RAM内存中存在两个以上时钟推断HDL代码时,为什么Vivado Synthesis会生成“ERROR:[Synth 8-2914]不支持的RAM模板”?

描述

如果块RAM存储器生成器HDL代码具有两个以上的时钟,则Vivado综合工具会生成以下错误:

错误:[Synth 8-2914]不支持的RAM模板

作为示例,块RAM存储器子模块HDL代码具有四个时钟; wr0_clk,rd0_clk,wr1_clk和rd1_clk,以及实例化该子模块的顶级模块将这四个时钟映射到相同的时钟或两个不同的时钟。 Vivado综合工具将产生上述错误,因为它认为包含四个时钟的实际Block RAM存储器子模块违反了实际的Xilinx Block RAM原语支持的端口。

Xilinx Block RAM原语不支持四个时钟,因此,Vivado综合工具会生成不支持的RAM模板错误消息。

为了避免这个问题,推荐的选择是写入符合Xilinx Block RAM原语支持端口的Block RAM HDL代码。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-31 12:57:47 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它