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 memAW-1:0;

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

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

从资源当中也可以看到:

换一个同步复位的写法:

打开电路图:

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

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

相关推荐
智感子5 小时前
测控链路:从传感器到上位机
人工智能·嵌入式硬件·fpga开发
szxinmai主板定制专家18 小时前
基于Zynq的高精度多通道数据采集卡完整解决方案(工业振动/高速采集/边缘传输)
fpga开发·zynq·数据采集卡
szxinmai主板定制专家20 小时前
基于TI AM62x+FPGA的24bit高精度数据采集卡设计(振动/风电/发动机监测)
人工智能·fpga开发·arm+fpga·rk3588+fpga
szxinmai主板定制专家1 天前
基于 ARM+FPGA 雕刻机控制系统的设计
arm开发·人工智能·fpga开发·rk3576·半导体设备
吉他英雄一里2 天前
zynq入门教程
fpga开发·zynq
XMAIPC_Robot2 天前
RK3576/RK3588+FPGA+AI数据采集系统:实时性与边缘AI算力兼顾
人工智能·fpga开发·机器人·数据采集·rk3588+fpga·rk3576+fpga
156082072193 天前
JFMRFVU3P5G的bit正常,但烧录mcs程序后加载异常
fpga开发
狂奔蜗牛(bradley)3 天前
把 EtherCAT 初始化从 FPGA 搬到 ARM:命令通道的接口设计与11个坑
arm开发·人工智能·fpga开发·架构
女神下凡4 天前
芯参谋(37):EEPROM_电路设计指南
arm开发·单片机·嵌入式硬件·fpga开发·设计规范
szxinmai主板定制专家5 天前
工业视觉新思路:FPGA图像预处理+RK NPU推理,实现高速缺陷检测
人工智能·嵌入式硬件·fpga开发·rk3576+codesys