MIF文件生成说明
2016-10-28 14:27
211 查看
mif文件就是存储器初始化文件,即memory initialization file,用来配置RAM或ROM中的数据。生成QuartusII11.0可用的mif文件,有如下几种方式:
方法1:利用Quartus自带的mif编辑器
优点:对于小容量RAM可以快速方便的完成mif文件的编辑工作,不需要第三方软件的编辑;
缺点:一旦数据量过大,一个一个的输入会使人崩溃;
使用方法:在quartus中,【file】/【new】,选择Memory Initialization file,弹出如下窗口:
Number of words:可寻址的存储单元数,对于8bit地址线,此处选择256;
words size:存储单元宽度,8bit;
然后点击“OK”.
在表格中输入初始化数据;
右键单击左侧地址值,可以修改地址和数据的显示格式;
表中任一数据的地址=列值+行值,如图中蓝色单元的地址=24+4=28;
对每个单元填写初始值之后,将文件保存即可。
方法2:利用mif软件来生成
无论使用什么编辑器,必须保证mif文件的格式如下:冒号左边是地址,右边是数据;分号结尾;
以下为必要信息:
DEPTH = 256; //数据深度
WIDTH = 8; //数据宽度
ADDRESS_RADIX = HEX; //地址类型:HEX-16进制,UNS-无符号整型,DEC-一种数据类型
DATA_RADIX = HEX; //数据类型:HEX-16进制,UNS-无符号整型,DEC-一种数据类型
CONTENT //必须
BEGIN //必须
0000 : 0000; //地址:数据
0001 : 0000;
0002 : 0000;
……(此处省略一千字*.*)
00FA : 00FF;
00FB : 00FF;
00FC : 00FF;
00FD : 00FF;
00FE : 00FF;
00FF : 00FF;
END; //必须
这里推荐一款mif生成器:Mif_Maker2010.exe,可以百度下载;软件使用方法见《Mif Maker2010的使用方法》。
方法3:使用高级语言
用C语言或者matlab语言等来生成,C语言生成代码如下:本代码生成一个正弦波的数据波形,保存在TestMif.mif中。
方法4,使用MATLAB生成mif文件!!
以下是mif文件的必要部分!
WIDTH=8; //数据位宽为8位
DEPTH=256; //存储深度为256
ADDRESS_RADIX=UNS; //地址类型为无符号整型
DATA_RADIX=UNS; //数据类型为无符号整型
CONTENT BEGIN
0:1; //地址0的存储器内容为1
1:3; //地址为1的存储器内容的3
[2:255]:0;//地址为2~255的存储器内容为0
END;
这样,即可利用matlab构造类似的文件存储方式。利用matlab将上述的图像数据转换成.mif。代码如下所示:
方法1:利用Quartus自带的mif编辑器
优点:对于小容量RAM可以快速方便的完成mif文件的编辑工作,不需要第三方软件的编辑;
缺点:一旦数据量过大,一个一个的输入会使人崩溃;
使用方法:在quartus中,【file】/【new】,选择Memory Initialization file,弹出如下窗口:
Number of words:可寻址的存储单元数,对于8bit地址线,此处选择256;
words size:存储单元宽度,8bit;
然后点击“OK”.
在表格中输入初始化数据;
右键单击左侧地址值,可以修改地址和数据的显示格式;
表中任一数据的地址=列值+行值,如图中蓝色单元的地址=24+4=28;
对每个单元填写初始值之后,将文件保存即可。
方法2:利用mif软件来生成
无论使用什么编辑器,必须保证mif文件的格式如下:冒号左边是地址,右边是数据;分号结尾;
以下为必要信息:
DEPTH = 256; //数据深度
WIDTH = 8; //数据宽度
ADDRESS_RADIX = HEX; //地址类型:HEX-16进制,UNS-无符号整型,DEC-一种数据类型
DATA_RADIX = HEX; //数据类型:HEX-16进制,UNS-无符号整型,DEC-一种数据类型
CONTENT //必须
BEGIN //必须
0000 : 0000; //地址:数据
0001 : 0000;
0002 : 0000;
……(此处省略一千字*.*)
00FA : 00FF;
00FB : 00FF;
00FC : 00FF;
00FD : 00FF;
00FE : 00FF;
00FF : 00FF;
END; //必须
这里推荐一款mif生成器:Mif_Maker2010.exe,可以百度下载;软件使用方法见《Mif Maker2010的使用方法》。
方法3:使用高级语言
用C语言或者matlab语言等来生成,C语言生成代码如下:本代码生成一个正弦波的数据波形,保存在TestMif.mif中。
#include <stdio.h> #include <math.h> #define PI 3.141592 #define DEPTH 128 /*数据深度,即存储单元的个数*/ #define WIDTH 8 /*存储单元的宽度*/ int main(void) { int i,temp; float s; FILE *fp; fp = fopen("TestMif.mif","w"); /*文件名随意,但扩展名必须为.mif*/ if(NULL==fp) printf("Can not creat file!\r\n"); else { printf("File created successfully!\n"); /* * 生成文件头:注意不要忘了“;” */ fprintf(fp,"DEPTH = %d;\n",DEPTH); fprintf(fp,"WIDTH = %d;\n",WIDTH); fprintf(fp,"ADDRESS_RADIX = HEX;\n"); fprintf(fp,"DATA_RADIX = HEX;\n"); fprintf(fp,"CONTENT\n"); fprintf(fp,"BEGIN\n"); /* * 以十六进制输出地址和数据 */ for(i=0;i<DEPTH;i++) { /*周期为128个点的正弦波*/ s = sin(PI*i/64); /*将-1~1之间的正弦波的值扩展到0-255之间*/ temp = (int)((s+1)*255/2); /*以十六进制输出地址和数据*/ fprintf(fp,"%x\t:\t%x;\n",i,temp); }//end for fprintf(fp,"END;\n"); fclose(fp); } }
方法4,使用MATLAB生成mif文件!!
以下是mif文件的必要部分!
WIDTH=8; //数据位宽为8位
DEPTH=256; //存储深度为256
ADDRESS_RADIX=UNS; //地址类型为无符号整型
DATA_RADIX=UNS; //数据类型为无符号整型
CONTENT BEGIN
0:1; //地址0的存储器内容为1
1:3; //地址为1的存储器内容的3
[2:255]:0;//地址为2~255的存储器内容为0
END;
这样,即可利用matlab构造类似的文件存储方式。利用matlab将上述的图像数据转换成.mif。代码如下所示:
1 clear; 2 clc; 3 close all; 4 fid=fopen('data_8bits.txt');%打开待转换数据的.txt文件 5 temp=fscanf(fid,'%x');%扫描文件 6 n=1024; 7 fid=fopen('convert_data.mif','w');%打开待写入的.mif文件 8 fprintf(fid,'WIDTH=8;\n');%写入存储位宽8位 9 fprintf(fid,'DEPTH=1024;\n');%写入存储深度1024 10 fprintf(fid,'ADDRESS_RADIX=UNS;\n');%写入地址类型为无符号整型 11 fprintf(fid,'DATA_RADIX=HEX;');%写入数据类型为16进制 12 fprintf(fid,'CONTENT BEGIN\n');%起始内容 13 for i=0:n-1 14 fprintf(fid,'\t%d:%x;\n',i,temp(i+1)); 15 16 end 17 fprintf(fid,'END;\n'); 18 fclose(fid);%关闭文件
相关文章推荐
- PowerDesigner XML 文件直接生成 VB 实体(包含属性说明)、ibatisNet 代码
- Symbian 中如何用svg文件生成mif 文件
- myEclipse 生成hibernate hbm文件参数说明
- JXL 生成EXCEL文件格式说明
- 在Eclipse中用javadoc给android工程库文件生成API说明文档
- 关于双通输入法管理里面要导入的文件以及生成文件的格式说明
- MapInfo TAB & MIF 文件说明
- 由MATLAB的.m文件生成动态链接库的方法说明
- xx实体.hbm.xml 配置文件的主键生成机制说明
- vc生成MIF文件,ROM使用
- qmake生成的pro文件中QT变量的说明
- PB生成的wince镜像文件说明
- [转载].MIF文件生成工具
- qmake生成的pro文件中QT变量的说明
- [转}世界上最神奇的mif文件生成方案
- matlab生成quartus中可用的.mif文件
- 世界上最神奇的mif文件生成方案
- S60第三版FP1 SDK在生成.mif文件时会导致编译失败(转)
- 用MATLAB生成mif文件
- slice2java编译Printer.ice生成文件说明