如果要是用二维数组来实现Ram或者Rom,可以使用命令明确告诉综合工具,我要用什么资源去实现这样一个二维数组。
注意:如果设计的是一个RAM,用ram_style;如果是ROM,则用rom_style。
ram_style & rom_style这对综合属性旨在提示Vivado综合工具如何推断存储空间。
其值可以为:
block
提示综合工具使用Block RAM来实现;
distributed
提示综合工具使用LUT资源来实现;
用法,这里只给出Verilog中的用法:
在二维数组的定义前面加上如下声明即可,例如:
(* ram_style = "block" *) reg [3:0] mem [1:0]; //提示综合工具使用Block RAM来实现;
(* ram_style = "distributed" *) reg [3:0] mem [1:0];//提示综合工具使用LUT来实现;