用MATLAB生成*.mif(QUARTUS II)内存初始化文件
来源:互联网 发布:ubuntu vim 命令 编辑:程序博客网 时间:2024/05/17 08:39
【转载地址】http://blog.sina.com.cn/s/blog_58942aff01009grm.html
做FPGA设计时经常要调用芯片内存。特别对于ROM,内存的初始化就显得比较重要。当然你完全可以手工在QUARTUS II打开mif文件的表格里或是在EXCEL中逐个输入,几十项(字)或是近百项(字)你还可以接受,如果上千项或是更多呢?估计能累的人吐血!
一般内存的初始化数据都是有规律的,符合一定的函数,我们完全可以用MATLAB来完成(如果没规律只能逐项手工输入了)。
首先,我们应该知道*.mif文件的格式。它是文本格式。随便打开一个mif文件,你会发现它具有如下的格式:-- Copyright (C) 1991-2007 Altera Corporation
-- Your use of Altera Corporation's design tools, logic functions
-- and other software and tools, and its AMPP partner logic
-- functions, and any output files from any of the foregoing
-- (including device programming or simulation files), and any
-- associated documentation or information are expressly subject
-- to the terms and conditions of the Altera Program ******
-- Subscription Agreement, Altera MegaCore Function ******
-- Agreement, or other applicable ****** agreement, including,
-- without limitation, that your use is for the sole purpose of
-- programming logic devices manufactured by Altera and sold by
-- Altera or its authorized distributors. Please refer to the
-- applicable agreement for further details.
-- Quartus II generated Memory Initialization File (.mif)
WIDTH=8;
DEPTH=256;
ADDRESS_RADIX=UNS;
DATA_RADIX=UNS;
CONTENT BEGIN
0:127;
1:126;
2:126;
……
……
253:126;
254:126;
255:127;
END;
格式很简单吧。首先根据需要设置每个字的位宽WIDTH和总字数DEPTH。然后设置地址和数据的进制基数ADDRESS_RADIX、DATA_RADIX,建议大家不要修改,就使用无符号数(UNS)。然后用MATLAB生成需要的数据(按上边的格式,注意中间“:”,最后“;”),往CONTENT BEGIN和END中间一贴就行了。
下边举例说明MATLAB程序的写法,希望对大家有用。
%the walue of cosine
function data=makedata
index = linspace(0,2*pi,2^8);
cos_value = cos(index);
cos_value = cos_value * (2^7 -1 );
cos_value = fix(cos_value);
cos_value =abs(cos_value);
for i=65:192
cos_value(i)=cos_value(i)+128;
end
%///////////////////////////////////////上边的用来生成数据,下边的用于控制格式输出(对大家有用的)
number=[0:255];
for i=1:256
comer(i)=':';
end
for i=1:256
semi(i)=';';
end
data=[number; comer; cos_value; semi];
fid=fopen('d:\data.txt','w');
fprintf(fid, '%d%c%d%c\n', data);
fclose(fid);
在D盘下找到data.txt文件,用写字板打开mif文件,将data.txt中的内容贴到CONTENT BEGIN和END中间,然后保存就可以了。
0 0
- 用MATLAB生成*.mif(QUARTUS II)内存初始化文件
- 用MATLAB生成Quartus II下ROM初始化文件(MIF,HEX)
- matlab生成quartus中可用的.mif文件
- 用MATLAB生成mif文件
- 用MATLAB生成MIF文件
- 利用matlab进行ROM初始化mif文件方法(转)
- 用MATLAB产生mif文件
- 内存初始化文件 ISE/Quartus
- matlab输出mif文件
- Altera RAM/ROM 初始化文件MIF生成详解
- 如何生成mif文件
- 如何生成mif文件
- mif文件生成方法
- 生成mif文件
- mif文件的生成
- 快速生成mif文件
- Quartus ii generated Memory Initialization File (.mif) 编写方法
- 在quartus和modelsim中使用mif和hex文件
- MFC中App,Doc,MainFrame,View各指针的互相获取
- django系列3:视图和路由
- 期末总结
- 数据结构期末总结
- linux centos 简单安装多实例tomcat
- 用MATLAB生成*.mif(QUARTUS II)内存初始化文件
- 13、自定义Analyzer实现字长过滤
- iFunk众筹开启,新基准心动向
- 谈谈程序员英语学习
- IdeaVim插件
- 第十六周项目归并排序
- cpp 9.7
- objectUtils.js
- 电脑系统安装下载方法介绍