vivado生成BRAM ROM表


在vivado下使用bram的文章很多,这里我想用的bram作为ROM使用。在zc702开发板上实现。

首先在vivado的block design中添加IP,选择axi bram进行搜索,选择“AXI BRAM Controller”,如下图所示

image

然后输入blk,进行搜索,选择“Block Memory Generator”

image

然后使用推荐的连接自动化“Run Connection Automation”,进行连接。

image

在“AXI BRAM Controller”的设置中,设置BRAM接口为1个,如下图所示

vivado生成BRAM ROM表_第1张图片

然后双击“blk mem”模块,进行属性编辑,在“Basic”标签下设置为single port ROM模式

vivado生成BRAM ROM表_第2张图片

然后在“Other Options”标签下,选择“Load Init File”,如下图所示

vivado生成BRAM ROM表_第3张图片

xilinx支持的ROM初始化文件格式为.coe文件。

coe文件的格式如下,第一行为设置数据的进制,如下图为10进制,然后是数据,以逗号分隔,以分号结尾。

vivado生成BRAM ROM表_第4张图片

在“Other Options”标签下的“Edit”可以对coe文件的有效性(格式)进行验证,验证成功后,再“generate output products”,生成bit文件。需要说明一下,最终起作用的是.mif文件;

vivado生成BRAM ROM表_第5张图片

在vivado的“Address Editor”中查看一下bram对应的ROM的地址,便于在sdk中通过代码读取数据。

vivado生成BRAM ROM表_第6张图片

将生成的bit文件导入SDK,新建sdk工程,由于以前建立的基于ucos的工程,所以在hello world的工程模板中,增加了读取ROM的代码,如下

vivado生成BRAM ROM表_第7张图片

sdk中调试运行结果如下

vivado生成BRAM ROM表_第8张图片

你可能感兴趣的:(vivado生成BRAM ROM表)