Vivado synthesis可以解释各种RAM编码风格,并将它们映射到分布式RAM中或块RAM。此操作执行以下操作:
•无需手动实例化RAM基元
•节省时间
•保持HDL源代码的可移植性和可扩展性从编码示例下载编码示例文件。
在分布式RAM和专用RAM之间的选择块存储器两种类型的数据都同步写入RAM。之间的主要区别分布式RAM和专用块RAM是从RAM读取数据的方式。请参阅下表。
是使用分布式RAM还是专用块RAM取决于的特性HDL源代码中描述的RAM,块RAM资源的可用性,以及是否使用RAM_style属性强制使用了特定的实现样式。
内存推断功能
内存推断功能包括以下内容:
•支持任何大小和数据宽度。Vivado合成将内存描述映射到一个或几个RAM基元
•单端口、简单双端口、真正的双端口
•最多两个写入端口
•多个读取端口
假设只描述了一个写入端口,Vivado synthesis可以识别RAM描述具有两个或多个读取端口,用于访问不同于写入地址的RAM内容住址
•写入启用
•RAM启用(块RAM)
•数据输出复位(块RAM)
•可选输出寄存器(块RAM)
•字节写入启用(块RAM)
•每个RAM端口都可以通过其不同的时钟、端口启用、写入启用和数据进行控制输出复位
•初始内容规范
•Vivado合成可以使用奇偶校验位作为常规数据位,以适应所描述的数据宽度
注意:有关奇偶校验位的更多信息,请参阅目标设备的用户指南。
UltraRAM编码模板
UltraRAM在UltraScale体系结构内存的“第2章,UltraRAM资源”中有介绍资源用户指南(UG573)如下:
UltraRAM是AMD UltraScale+™中提供的单时钟双端口同步存储器设备。由于UltraRAM与柱状体系结构兼容,因此多个UltraRAM可以实例化并直接级联在UltraRAM列中,用于的整个高度装置单个时钟区域中的一列包含16个UltraRAM块。具有UltraRAM的设备包括分布在设备中的多个UltraRAM列。中的大多数设备UltraScale+系列包括UltraRAM块。
对于特定的UltraRAM的可用数量设备系列,请参阅UltraScale体系结构和产品产品介绍:概述(DS890)。以下文件包含在编码示例中:
Vivado工具包括UltraRAM VHDL和Verilog代码的模板。下图显示了模板文件。