五级流水CPU IM模块——quartus创建ip rom核

IPROM核介绍

IPROM核,即ROM(只读存储器)IP核,是FPGA开发中不可或缺的组成部分。这种固态半导体存储器专门用于存储和检索数据,其独特之处在于它仅允许访问预先存储的信息。一旦数据被编程进入ROM,就无法进行修改或删除,而且这些数据即使在电源关闭后也能保持不丢失。
在FPGA的应用中,通过IP核生成的ROM或RAM实际上都是利用FPGA内部的BRAM(块存储器)资源。值得注意的是,这些存储器的内容在断电后将会丢失。ROM IP核在出厂时由制造商进行一次性编程,之后用户只能读取其中的信息,不能进行写入操作。

使用方法

1.点击tool-->MegaWizard Plug-In Manager

2.点击creat new(如果建立好后需要修改IP核,则点击Edit)

3.根据自身需要选择ram核或者rom核;并且选择端口数量,名字任起。

4根据所设计CPU的指令地址,q表示每条指令的字长,address表示IM中最大能存储的指令条数。

5.对关于时钟的部分进行配置,一般情况按下图配置即可。

6.将设计好的汇编指令对应的mif文件导入IP核。

注:导入ROM核的文件既可以是.hex文件,也可以是.mif文件;mif文件格式相对于hex文件内容更为清晰。

(生成mif文件的方式在网上可以查找到)

//.mif
/*
在MIF文件中,每一行直接指定了内存地址及其对应的数据内容。可以看到地址、数据和注释都清晰易读。
*/
-- 32-bit wide memory initialization file example for a block of 16 words
-- Starting at address 0x00000000

WIDTH = 32;
DEPTH = 16;

ADDRESS_RADIX = HEX;
DATA_RADIX = HEX;

CONTENT
BEGIN
00000000 : 01234567 89ABCDEF ; Comment: This is the first word.
00000004 : FEDCBA98 76543210 ; Second word.
...
00000020 : 00000000 00000000 ; Sixteenth word.
END;


//.hex
:10000000 01234567 89ABCDEF 00000000 00000000 
:10000010 FEDCBA98 76543210 00000000 00000000 
...
:10000020 00000000 00000000 00000000 00000000 
:00000001 FF              ; End Of File record
/*HEX 文件中的每一行(称为记录)包含多个字段,从左到右分别是:
- 记录长度(10表示该行有16字节数据)
- 起始地址(00000000)
- 数据类型(默认是数据记录)
- 数据区(十六进制形式的数据,每两个字符一组)
- 校验和(用于验证数据正确性)*/

7.在生成的IP核文件中进行端口的连接,便可成功使用,IM模块构建成功。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值