Vivado进阶-Fpga中的mem的综合和应用

mem在设计中一般都会用到,最终在fpga中会被综合成3种RAM,第一种是寄存器搭建成RAM,第二种是DRAM,第三种就是BRAM。这三种你是可以指定的,具体怎么指定或者什么时候生成什么ram比较好在我之前的文章Synaplify综合的常用命令(1)https://blog.csdn.net/weixin_39896700/article/details/129280066中有详细的介绍。今天要说的是一个很细节的东西,也是生成的最多的BRAM,并不是你指定了就一定会成功的。

指定格式顺带一下,指定的格式是在申明mem的前面用括号去注释(*ram_style="block")reg [DW-1:0] mem[AW-1:0];

但是要注意一点,就是要想综合成BRAM必须是同步复位,因为BRAM不支持异步复位,所以如果你用了异步复位是综合不成BRAM的。如下图我的代码是异步复位,而且我也指定了综合成BRAM:

综合完成之后,打开电路图,可以看到,全是寄存器搭建的,没有综合成BRAM。

从资源当中也可以看到:

换一个同步复位的写法:

打开电路图:

可以清楚的看到这是一个BRAM,好看多了,这是FPGA的专用资源器件,也不会占用lut。打开资源报告查看:

可以很清楚的看到综合成了BRAM。所以并不是你指定了就一定能成功的。要了解器件的底层逻辑要求。不然你就会很迷茫的找不到答案。

相关推荐
Kent Gu1 小时前
FPGA JTAG确认
fpga开发
北京青翼科技1 小时前
基于VITA57.1的2路125MSPS AD采集、2路250MSPS DA回放FMC子卡丨青翼科技100%国产采集卡
fpga开发·数据采集卡·fmc子卡·ad采集卡
小麦嵌入式12 小时前
FPGA入门(四):时序逻辑计数器原理与 LED 闪烁实现
linux·驱动开发·stm32·嵌入式硬件·fpga开发·硬件工程·dsp开发
ALINX技术博客13 小时前
【黑金云课堂】FPGA技术教程FPGA基础:呼吸灯实验+RAM/ROM IP设计与验证
网络协议·fpga开发·fpga
ALINX技术博客15 小时前
【黑金云课堂】FPGA技术教程Vitis开发:PS端IIC通信
fpga开发·fpga
第二层皮-合肥18 小时前
线阵相机坏点校正方案
fpga开发
cjie2211 天前
安路Modelsim仿真库编译
fpga开发
QYR-分析1 天前
全球及中国电源序列发生器行业市场发展现状与前景分析
fpga开发
alxraves1 天前
超声图像前端信号处理的关键技术
前端·fpga开发·信号处理
木心术12 天前
基于FPGA+RFIC的5G基站设计方案与5G专用DFE芯片的设计方案区别及优劣势分析
5g·fpga开发