有三种实例化UltraRAM的方法:采用URAM288原语,采用手工编写RTL代码结合RAM_STYLE综合属性,采用XPM_MEMORY。相比下来,采用XPM_MEMORY最为快捷高效,因此这里只介绍这种方法。
XPM_MEMORY的位置在Vivado -> FlowNavigator -> Project Manager -> Language Templates,如下图所示。
以Simple Dual Port RAM为例,选中之后可看到相应的代码,如下图所示(这里只显示了部分代码)。
XPM_MEMORY的主要参数如下图所示(图中以_A结尾的参数换成_B即为B端口对应的参数)。这些参数中MEMORY_SIZE为Memory深度与宽度的乘积。WRITE_MODE_A有三个可选值,分别为read_first,write_first和no_change。需要注意的是当把UltraRAM配置为Simple Dual Port RAM时,WRITE_MODE_A只能是read_first或write_first,且当为write_first时,READ_LATENCY_A必须大于等于3。另一个重要的参数是READ_LATENCY_A/B,它不仅决定了输出的Latency,还影响了级联寄存器是否使用,从而影响Memory的时序性能。
OREG对Fmax的影响如下图所示(VirtexUltraScale Plus)。以-2芯片为例,使用OREG时,Fmax可达600MHz,未使用时Fmax降低至400MHz。
(图片来源:ds923,table 28)
综上所述,在使用UltraRAM时,要预先评估系统对Fmax和Latency的需求,以设置合适的READ_LATENCY_A/B,以满足系统需求。
结论:
-XPM_MEMORY是实例化UltraRAM的快捷高效方法
-使用XPM_MEMORY时,要预先评估系统对Fmax和Latency的需求
上期内容:
下期内容:DSP48E2基本结构
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有