FPGA初学(2)调用存储器IP


FPGA如何调用存储器IP

1、建立好工程后,点击左侧红色箭头:

在这里插入图片描述

2、然后右侧弹出的窗口,搜索block,选择蓝色箭头所指:

在这里插入图片描述
然后在弹出的如下窗口:
在这里插入图片描述
红色箭头:选择native,这个接口比较少,简单一点。
蓝色箭头:single port rom,只能读取存储器的内容,不能写入。(此次只学读取)

最上面是所用存储器的名称,这里我没改,默认blk_mem_gen_0。

可以在左下角看到这个存储器,有一个使能端ena、一个时钟输入clka、一个地址输入addra、一个数据输出douta。

由于这次设计的简约CPU是32位,所以下面数据宽度设置为32,深度1024:
在这里插入图片描述

3、接下来按下图设置,添加coe文件

(个人理解coe文件里存储了memory里的数据,以及格式等,若是学校做实验,老师应该会提供coe文件的,若没有,可关注微信公众号: 数字自修 ,后台回复 coe 即可。)
在这里插入图片描述
然后点ok,弹出下面窗口,里面这些设置具体什么意思不太清楚,我也没管,实际上也不需要管,直接点Generate:
在这里插入图片描述
然后在source窗口就出现了这个memory:
在这里插入图片描述

4、那么怎么调用呢?看如下操作:

在这里插入图片描述
依次点击红色、蓝色箭头所指地方,然后双击绿色箭头的veo文件,打开:
在这里插入图片描述
可发现上面这块代码,这是例化存储器的模板,直接复制到你的顶层文件就可以调用了。
之后,用拨码开关给存储器模块的addra地址端送10bits的地址,在douta端就可以输出对应地址内存放的数了。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值