matlab生成的图保存不了_FPGA设计中,使用ISE和Matlab创建并仿真ROM IP核

FPGA设计中,使用ISE和Matlab创建并仿真ROM IP核

今天给大侠带来FPGA设计中使用ISE和Matlab创建并仿真ROM IP核,话不多说,上货。

本想使用简单的中值滤波进行verilog相关算法的硬件实现,由于HDL设计软件不能直接处理图像,大部分过程都是可以将图像按照一定的顺序保存到TXT文档中,经过Modelsim仿真后,处理的数据再经过matlab显示图像;图像首先通过matlab或者C语言保存在TXT文档中,生成测试向量文件,然后在仿真软件中进行仿真处理,把处理后的数据保存为TXT格式,最后用matlab显示,观察结果。一般都是先创建MIF文件,将图像中的像素信息用一个ROM储存起来,然后调用ROM里面的地址进行处理,相当于制作了一个ROM查找表。

图像保存的步骤

1. 使用matlab将图像生成txt文。

0dda3aac943672993397cd2f26a1dd31.png

2. 创建mif文件(Memory Initialization File):使用mif生成器、C语言或者matlab语言来生成;选择直接使用matlab生成mif文件gray_image.mif;

e7e56b04d587de7790e0fd853381654c.png

生成的mif文件如下图所示:

102f3f12b68a700493705d8100fb86a7.png

3. 调用mif文件生成ROM(verilog文件即.v文件)

使用Xilinx ISE创建并仿真ROM的步骤:

3.1 编写.coe文件,作为ROM的初始化文件,.coe文件的格式和内容如代码所示:

33d8f73c61f44e227be0741885d34c3a.png

3.2 生成的.coe文件格式如下图所示:

b5eb2a3d472a76d2998154571a71a2d5.png

3.3 使用Xilinx中的Core Generator完成ROM的例化(生成的.coe文件的图像数据是一行行进行读取的)。打开ISE,右键单击New Source,如下图所示:

d87197337eb651b0afd2b8f166ef1fc6.png

单击之后选择IP_Core_Generator,

fb0e18af3c465281b6da6a07870446dc.png

单击Next选项,选择Memories&Storage Elements->RAMs&ROMs->,选择块式存储或者分布式存储(这里根据存储数据的大小进行选择,较小的可以选择块式存储)。

283d04958346ba3418cdf43260cde335.png

点击Next,然后Finish。然后就出现了下面的界面,一直点击Next进行ROM属性的一些设置,直至完成:

9883b6a8233952f9e1faadb9aca86ac8.png

795efd4b4173c47838553ae3b31b270f.png

然后就要选择所需要的ROM的大小:

806f4139e67012ba79c151469c9a2b5b.png

24e6fcddc69d5b5822df66038ea30411.png

portA 表示输出要不要时钟打拍输出,这个是在mux里实现的; 在添加初始化文件的时候,将之前matlab生成的.coe文件添加到ROM IP核中去。

0bbb28765463f573e28d4e0041ecab7b.png

ffffa7e9097167bb59162831d4db98cf.png

一直next下去,就可以得到初始化好的ROM IP核,可以在./ipcore_dir目录下查看ROM文件,从而可以在顶层模块中对ROM进行例化。

7a1346433bdb255819291ffcd6c7648c.png

生成的ROM文件的输入输出变量如下:

dbef220e888d7171d15dcda34e462b2b.png

在顶层模块中对ROM进行例化如下:

e1d91c0d94b047ca502f999ad303099d.png

3.4 使用CoreGenerator完成ROM的例化后会生成一个.mif文件,这是Modelsim进行ROM仿真时需要的初始化文件,将.mif文件复制到Modelsim工程下进行仿真。

3.5 查看ROM模块中的初始化数据,双击Rom模块,出现如下图的界面,点击show按钮,即可查看数据;

1fcd73a34e8ec706009227d156f4f7fd.png

后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。

江湖偌大,继续闯荡,愿大侠一切安好,有缘再见!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值