verilog将像素数据写入txt_FPGA仿真必备(1)——Matlab生成.mif文件/.txt文件
1. mif 文件
MIF(Memory Initialization File),内存初始化文件,用于 Altera / Intel 的 FPGA 器件的 RAM 或 ROM 配置。
例如:
(1)图像处理中,使用 ROM 存储图片或字体信息,进行图像的先关处理或者VGA显示的字模、固定图片等;
(2)数字信号处理中,使用 ROM 存储 FIR 滤波器等所需的滤波系数;
(3)DDS 信号发生器中,部分实现方式采用 ROM 存储一个周期的采样波形,通过以不同间隔的读取方式输出不同频率的波形;
mif 文件
WIDTH=8;%指定位宽为8位
DEPTH=4;%指定数据深度为4,即有4个数据
ADDRESS_RADIX=UNS;%指定描述地址的数据类型为无符号数
DATA_RADIX=UNS;%指定描述存储数据的数据类型为无符号数
CONTENT BEGIN
0:245;%地址0存储245
1:245;
2:0;
3:6;
END;
2. matlab 制作 mif 文件
以 . jpg 图片为例,转成 .mif 文件。
首先是读取 .jpg 图片并进行灰度化(sobel算法处理需要),此时 image_1 数组中保存的是 0~255 之间的数据,可以用无符号的 8 位二进制数据表示,此后按照格式写入数据。
对于其他的数据,也是按照这种方法,只是将 image_1 中的数据换成你要写入的数据。
clear all
close all
image_1 = imread('T2.jpg'); % 读取图片
image_1 = rgb2gray(image_1); % 转成灰度图(Sobel算子是针对灰度图像提取边缘)
figure;
imshow(image_1); % 显示图片
fid=fopen('T2.mif','W' ); % 打开T1.mif文件向里面写数据,如果还没有建立这个文件,会自动建立之后打开
fprintf(fid,'WIDTH=8;\n'); % 数据宽度为8位(灰度值是0-255,8位的数据)
fprintf(fid,'DEPTH=32400;\n\n'); % 数据的深度(180*180的图片,32400个数据)
fprintf(fid,'ADDRESS_RADIX=UNS;\n');% 地址数据为无符号数(unsigned)
fprintf(fid,'DATA_RADIX=UNS;\n\n'); % 像素数据也是无符号数
fprintf(fid,'CONTENT BEGIN\n');
for x = 1:32400 % 32400个数据
fprintf(fid,'%d:%d;\n',x-1,image_1(x)); % 写入数据
end
fprintf(fid,'END;'); % 文件结束
fclose(fid); % 关闭文件
3. matlab 制作 txt 文件
txt文件广泛应用于matlab与FPGA联合仿真中,特别是在 TestBench中,经常需要先使用 Matlab 将待仿真的输入数据制作成 .txt 文件,然后在 TestBench 中读取该 txt 文件作为输入数据,并将模块的输出数据写入新的 txt 文件,可以使用 Matlab 读取输出数据并进行绘图、数据比对等性能分析等。
%将数据以十进制格式写入txt文件
data = ...;%数据数组
fid =fopen('s1.txt','w');
fprintf(fid,'%8d\r\n',data);
fprintf(fid,';');
fclose(fid);
4. matlab 读取 txt 文件
%从文本文件中读取数据
%读取的数据放在 data 变量中
fid=fopen('E:\FPGA\s2.txt','r');
[data, count] = fscanf(fid,'%lg',inf);
fclose(fid);
verilog将像素数据写入txt_FPGA仿真必备(1)——Matlab生成.mif文件/.txt文件相关推荐
- python Pandas_TEXT实验(读取以下4位同学的成绩并用一个数据框变量pd保存,其中成绩保存在一个TXT文件中...)
目录 1.(1)读取以下4位同学的成绩并用一个数据框变量pd保存,其中成绩保存在一个TXT文件中,如图所示. (2)对数据框变量pd进行切片操作,分别获得小红.张明.小江.小李的各科成绩,它们是4个数 ...
- 目标跟踪CLE绘图 OTB数据跟踪绘图 mat文件txt文件 相互转换
跟踪 OTB数据集 绘图 文章主要3个内容 1.txt文件数据-->转换 mat文件 (在matlab上画图) 2.mat文件-->txt文件 画CLE图 3.CLE画图代码 跟踪目标 ...
- MATLAB中批量从txt文件中读取指定行的数据保存为txt文件
经常遇到,我们想要读取的数据,不是从头开始读取的,我们往往要求从固定的行开始读取,MATLAB代码如下: function readData() %从指定行开始读取数据 readFilePath='C ...
- 通过导入txt数据画出python turtle图形_【Python】txt文件读取绘画
import turtle as t #绘画库 t.title('自动轨迹绘制') #标题 t.setup(800,600,0,0) t.pencolor('red') t.pensize(5) #数 ...
- matlab仿真分形树,MATLAB生成分形树
<MATLAB生成分形树>由会员分享,可在线阅读,更多相关<MATLAB生成分形树(17页珍藏版)>请在人人文库网上搜索. 1.分形图形的生成元生成,由生成元产生的分形是一种规 ...
- 将列表(含字典)数据写入Excel
将Excel数据写入字典 cmd小测试 打开cmd 转入Excel所在文件夹下再打开python,步骤如下: F:进入F盘 cd 打开F盘下子目录 导入所需要的库pandas df = pd.read ...
- Stream流、FiLe和IO流、IO流(字节流-拷贝文件_和_字符流-读取文本中的数据写入文本文件中)9-10-11
package com.streamdemo; import java.util.ArrayList; import java.util.List; /*** 体验Stream流** 创建一个集合,存 ...
- 五行代码python 创建Excel(xls)文件以及数据写入
五行代码python 创建Excel(xls)文件以及数据写入 今天我们采用xlwt来快速创建Excel的文件,一起来看一下代码. import xlwt new_workbook=xlwt.Work ...
- matlab中读取txt数据文件(txt文本文档)
根据txt文档不同种类介绍不同的读取数据方法 一.纯数据文件(没有字母和中文,纯数字) 对于这种txt文档,从matalb中读取就简单多了 例如test.txt文件,内容为 17.901 -1.111 ...
最新文章
- Ocelot(一)- .Net Core开源网关
- 笔记本多硬盘win7下U盘安装Cnetos7引导问题!
- 使用QT的一些小Tipster
- 2021 整理的最全学习资源,送给每一个努力着的人
- 数据结构和算法分析英语生词整理
- java 容器 List
- Flutter进阶第7篇: 调用原生硬件Api实现照相机拍照和相册选择 以及拍照上传到服务器
- 推荐几个字节跳动、微众银行、蚂蚁金服技术大佬的公号
- 解决使用PowerShell执行命令出现“因为在此系统上禁止运行脚本”的问题
- 无线通信原理之OFDM技术
- C++(21)——反向输出一个三位数
- 【博弈论-完全信息动态博弈】 扩展式博弈
- AE光效效果插件:Trapcode Shine
- linux自动升级关闭,Ubuntu关闭内核自动更新
- 外部h5网页跳转微信指定页面
- 【Python 爬虫教程】代理ip网站有哪些?
- SRAM、PSRAM、SPI FLASH初步认识
- Apktool重打包Apk
- R 语言绘制带组的圆形条形图
- html 5 触摸屏事件
热门文章
- Week04《Java程序设计》第四周学习总结
- 2016年5月26日晚上(妙味课堂js基础-2笔记二(DOM))
- BZOJ4278 : [ONTAK2015]Tasowanie
- 十大经典排序算法6(Python版本)
- 一个事务中 可以查询自己未提交的数据吗_数据库事务
- OJ系统原理与实现:Python自动化测试另一个Python程序功能是否正确
- Python实现视频语音和字幕自动审查功能
- Python+django网页设计入门(5):自定义用户注册与登录功能
- Python使用更相减损术计算两个整数的最大公约数
- java自动类型转换与强制类型转换