FPGA中ROM IP与RAM IP核配置与调用

目录

一、ROM IP核

1.简介

2.创建立初始化文件

3.配置

4.调用

4.1 整体设计

 4.2 编写rtl代码:

4.3 仿真验证

 二、RAM IP核 

1.简介

2.配置

3.调用

3.1 整体设计

3.2 rtl代码

3.3  仿真验证

前言:

本人使用的是野火家Xilinx Spartan6系列开发板及配套教程,写博客记录自己的学习。

开发软件:ise14.7     仿真:modelsim 10.5 

一、ROM IP核

1.简介

      ROM 是只读存储器(Read-Only Memory)的简称,是一种只能读出预先锁存数据的固态半导体存储器。其特性是一旦储存资料就无法再改变或删除,且资料不会因为电源关闭而消失。       

       ROM IP核是在 FPGA 中通过 IP 核生成的,调用的都是 FPGA 内部的 RAM 资源,掉电内容都会丢失(因为FPGA 芯片内部没有掉电非易失存储器单元)。所以要让 ROM 模块像个掉电非易失存储器要提前添加了数据文件(.coe 格式),让其上电就可以初始化。需注意不同的FPGA生产厂商后缀名是不一样的,Xilinx系列开发板是 .coe而Altera是 .mif。

      Xilinx 推出的 ROM IP 核分为两种类型:单端口 ROM(Single-Port Rom)和双端口ROM(Dual-Port ROM),常用的是单端口。单端口 ROM 提供一个读地址端口和一个读数据端口,只能进行读操作;双端口 ROM 与单端口 ROM 类似,区别是其提供两个读地址端口和两个读数据端口,可看做两个单口 RAM 拼接而成。在使用ADDDRA与CLKA并使能ENA的情况下,ROM模块可以工作。

2.创建立初始化文件

        第一行MEMORY_INITIALIZATION_RADIX=10; 是定义数据的格式,其中 10表示数据格式为 10进制,也可将数据格式定义为二、八、十六进制。 后面 MEMORY_INITIALIZATION_VECTOR= 是ROM 的初始化数据。

       将文本格式(.txt)改为.coe就完成了初始化文件的创建。

3.配置

由于我已经配置完了,方便大家看我把教程提供的配置过程贴出来。

1.新建工程后,添加ROM IP核

 2.选择我们需要生成的 IP 核

 3.对前面过程 IP 核存储空间等信息的确认

 4.    其中1 显示的是配置的 IP 核的输入输出接口框图; 2 框中是配置接口类型选择“本地”即可;3 框的“Datasheet”是下载 Xilinx 的官方 ROM & RAM 核数据手册,这个感兴趣可以看看。

 5.  其中1选择 IP 核类型,选择“Single Port Rom”单端口 ROM。

      在2中选择用于实现内存的算法,其中 Minimum Area 为最小面积算法; Low Power 为低功耗算法; Fixed Primitives 为固定单元算法;这里按默认选择Minimum Area 即可。

 6.    1框中可设置存储数据的位宽和深度, “Read Width”是设置数据位宽,设置为 8 位; Read Depth 是设置数据深度,设置为 256;这样我们设置的 ROM ip核最大能存储的数据即为 256 x 8bit。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小源8

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值