大家好,又到了每日学习的时间了,今天我们来聊一聊使用matlab和ise 创建并仿真rom ip核。本人想使用简单的中值滤波进行verilog相关算法的硬件实现,由于hdl设计软件不能直接处理图像,大部分过程都是可以将图像按照一定的顺序保存到txt文档中,经过modelsim仿真后,处理的数据再经过matlab显示图像;图像首先通过matlab或者c语言保存在txt文档中,生成测试向量文件,然后在仿真软件中进行仿真处理,把处理后的数据保存为txt格式,最后用matlab显示,观察结果。一般都是先创建mif文件,将图像中的像素信息用一个rom储存起来,然后调用rom里面的地址进行处理,相当于制作了一个rom查找表。
用quartus ii创建并仿真rom的步骤:
1.在quatus工程下生成一个rom
2.编写.mif文件,作为rom的初始化文件
3.将.mif文件拷贝到modelsim工程下
4.进行modelsim仿真
图像保存的步骤:
1.使用matlab将图像生成txt文。
2.创建mif文件(memory initialization file):使用mif生成器、c语言或者matlab语言来生成;选择直接使用matlab生成mif文件gray_image.mif;
生成的mif文件如下图所示:
3.调用mif文件生成rom(verilog文件即.v文件)
使用xilinx创建并仿真rom的步骤:
1.编写.coe文件,作为rom的初始化文件,.coe文件的格式和内容如代码所示:
2.生成的.coe文件格式如下图所示:
3.使用xilinx中的core generator完成rom的例化(生成的.coe文件的图像数据是一行行进行读取的)。打开ise,右键单击new source,如下图所示:
单击之后选择ip_core_generator,
单击next选项,选择memories&storage elements->rams&roms->,选择块式存储或者分布式存储(这里根据存储数据的大小进行选择,较小的可以选择块式存储)。
点击next,然后finish。然后就出现了下面的界面,一直点击next进行rom属性的一些设置,直至完成:
然后就要选择所需要的rom的大小:
porta 表示输出要不要时钟打拍输出,这个是在mux里实现的; 在添加初始化文件的时候,将之前matlab生成的.coe文件添加到rom ip核中去。
一直next下去,就可以得到初始化好的rom ip核,可以在./ipcore_dir目录下查看rom文件,从而可以在顶层模块中对rom进行例化。
生成的rom文件的输入输出变量如下:
在顶层模块中对rom进行例化如下:
4.使用coregenerator完成rom的例化后会生成一个.mif文件,这是modelsim进行rom仿真时需要的初始化文件,将.mif文件复制到modelsim工程下进行仿真。
5.查看rom模块中的初始化数据,双击rom模块,出现如下图的界面,点击show按钮,即可查看数据;
完
各位,加油!
CS5012S高精度运算放大器
IEEE 802.11ax站点上行链路准确性测试方案
智能门锁存在哪些问题
空气负氧离子测试仪的详细介绍
从辅助驾驶到无人驾驶发展史
FPGA学习:使用matlab和ISE 创建并仿真ROM IP核
机器人还能冲泡咖啡?还原大师手法
深信服EDS中控信息达成合作,助力城市智能交通建设
小米和oppo纷纷宣布屏下摄像头获得新进展 屏下摄像头遭哄抢
RS Components新增来自Peli Air的轻质箱, 扩展了其优质贮存产品系列
非PWM控制方式的幻彩LED控制器电路原理图
智能家居红外遥控无线接收电路设计
迈入20nm时代 半导体业整并潮加剧
全球首条第10.5代TFT-LCD生产线投产 推动了8K普及
全新卡罗拉谍照曝光 后视镜个性凸显 混合动力是必然
PI的PowiGaN技术的使用优势及应用
梦之墨T系列助力浙江大学生工程实践与创新能力大赛圆满举办
大联大友尚集团推出基于ST产品的大功率电源适配器方案
传统路灯如何转型为智慧路灯
手机扣费乱象惊人:号码未使用已被迫数次交费