Vivado综合属性:RAM | 您所在的位置:网站首页 › ram的属性 › Vivado综合属性:RAM |
在Xilinx FPGA中既可以采用分布式资源(查找表)也可以采用BRAM实现存储单元。对于手工编写的HDL代码所描述的RAM,在默认情况下,Vivado会通过内部算法给出最优结果。此外,也可以通过ram_style指导工具推断RAM的实现方式。该属性有4个值:block(将RAM映射为Block RAM)、distributed(将RAM映射为分布式资源)、registers(指导工具推断为寄存器而非RAM)和ultra(将RAM映射为UltraRAM,针对UltraScale Plus芯片)。 对于如下图所示的RAM,如果ram_style为distributed,则消耗267个LUT和16个FF;如果ram_style为Block,则消耗1个18Kb的Block RAM。 ![]() ![]() 相对于使用IP,手工编写HDL代码的好处在于便于移植,同时,由于可以使用ram_style,可以灵活地根据设计需求将RAM采用不同的资源实现。例如,当RAM小于10K bit时,分布式RAM在功耗和速度上更有优势;当设计中LUT利用率很高时,如果Block RAM资源利用率不高,可以把分布式RAM转换为Block RAM,从而释放出一部分LUT资源。 类似地,rom_style则是引导综合工具将ROM采用不同的资源实现。其可选值有两个:block和distributed。这是因为UltraRAM不能用做ROM。 结论 -ram_style和rom_style都可将存储单元映射为BlockRAM或分布式RAM -手工编写HDL代码的优势在于结合ram_style/rom_style可灵活地将RAM或ROM根据设计需求映射为不同的资源 -对于UltraRAM,不建议采用手工编写HDL代码的方式,最好使用XPM_MEMORY 上期内容: Vivado综合属性:USE_DSP 下期内容: 本周回顾 -- 2018/03/16 |
CopyRight 2018-2019 实验室设备网 版权所有 |