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个,如下图所示

image

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

image

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

image

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

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

image

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

image

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

image

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

image

sdk中调试运行结果如下

image

猜你喜欢

转载自blog.csdn.net/kebu12345678/article/details/81007029
ROM