您当前的位置: 首页 > 

耐心的小黑

暂无认证

  • 0浏览

    0关注

    323博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Vivado ROM IP核的使用

耐心的小黑 发布时间:2020-10-22 17:14:09 ,浏览量:0

一、ROM IP核配置

ROM 要比之前说的RAM简单的多,因为它只有读数据的端口,没有写数据的端口。不过还是可以配置成单端口或者双端口,这里的双端口指的都是读数据的端口。因为比较简单,这里就不做过多介绍,下面是我本次实验的ROM IP核的配置情况:

1、查找 ROM IP核

可以看到,其实和之前的RAM是一样的。

在这里插入图片描述 2、选择单口ROM

在这里插入图片描述 3、设置数据位宽和深度

在这里插入图片描述 4、初始化ROM

这里使用的是coe文件,文件内容如下:

MEMORY_INITIALIZATION_RADIX=16;        //表示ROM内容的数据格式是16进制
MEMORY_INITIALIZATION_VECTOR= 
11,
22,
33,
44,
55,
66,
77,
88,
99,
aa,
bb,
cc,
dd,
ee,
ff,
00,
a1,
a2,
a3,
a4,
a5,
a6,
a7,
a8,
b1,
b2,
b3,
b4,
b5,
b6,
b7,
b8;       //每个数据后面用逗号或者空格或者换行符隔开,最后一个数据后面加分号

在这里插入图片描述

二、实例

在该实例中,我们就简单的依次读取ROM中的数据,其中读数据地址递增。

1、RTL代码

`timescale 1ns / 1ps

module rom_test(
	input sys_clk,	//50MHz时钟
	input rst_n		//复位,低电平有效
    );

wire [7:0] rom_data;	  //ROM读出数据
reg	 [4:0] rom_addr;      //ROM输入地址 

//产生ROM地址读取数据
always @ (posedge sys_clk or negedge rst_n)
begin
    if(!rst_n)
        rom_addr             
关注
打赏
1640088279
查看更多评论
0.0367s