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

当块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代码。

请登录后发表评论

    没有回复内容