原创 【转帖】利用excel生成“.MIF”文件的办法

2009-1-19 14:27 5360 9 10 分类: FPGA/CPLD

注:本文转帖自网友ql_smbj的博客:http://blog.ednchina.com/ql_smbj


在FGPA的设计中,经常会对ROM进行初始化操作,如果内存数据不是很大(比如几十个),完全可以在quartus II 中逐个输入,但如果输入的数据较多,且数据的位数较大,如果依然采用逐个手工输入的方法的话,会遇到两个问题,一是工作量激增,二是容易出错。

      通常情况下,需要初始化的数据都已知,可以在TXT文本中,把所有的数据排成一列,再借助excel就可以很轻松的得到“.MIF”文件。 

        首先仔细研究下 MIF 文件的格式,例如下面的这个.MIF文件(引自quartus help 文档):
DEPTH = 32; -- The size of data in bits
WIDTH = 8; -- The size of memory in words
ADDRESS_RADIX = HEX; -- The radix for address values
DATA_RADIX = BIN; -- The radix for data values CONTENT -- start of (address : data pairs)


00 : 00000000; -- memory address :


01 : 00000001;
02 : 00000010;


03 : 00000011;
04 : 00000100;
05 : 00000101;
06 : 00000110;
07 : 00000111; 
08 : 00001000;
09 : 00001001; 
0A : 00001010;
0B : 00001011;
0C : 00001100;


      我们可以看到MIF文件分两部分,一部分是格式说明部分 DEPTH 就是地址深度, WIDTH 就是字宽, 而ADDRESS_RADIX 和 DATA_RADIX 通常用 UNS;而另一部分则是 begin与end中间的"00 : 00000000; " 是一一对应的地址与数据。 

        因此,要得到MIF文件,只需要把begin与end中间的这段换成所需要的即可,具体步骤如下: 
        1. 打开TXT文本文件,打开excel软件; 

        2. 将TXT文件中一列数据全部复制到 excel 表格的第二列; 

        3. 在excel的第一列第二行输入“0 :”,(注意:此处是0,是因为地址总是从0开始),在第一列第二行输入“1 :”,把这两个单元格选中,鼠标往下拉到与数据行对齐的地方即可,这是利用了excel软件的序号自动增加的特性; 

        4. 将得到的excel文件另存为“Unicode文本(*.txt)”文件,此时会有一些提示出现,一律确定,不影响使用; 


        5. 打开quartus,新建一个TXT文件(file-new-other file-txt文件),将MIF文件的格式说明拷贝过来,再将第4步得到的TXT文本文件中的数据全部复制到begin与end中间,另存为“.mif”,即可! 

文章评论1条评论)

登录后参与讨论

用户1238217 2009-1-19 15:32

自己实验了一下,生成的mif文件居然在quartus中大步开来,称有语法错误-_-!
相关推荐阅读
用户1238217 2009-08-28 22:02
关于quartus hdl综合的一个疑问
今天用quartus写了一个带clock enable的d触发器:library ieee;use ieee.std_logic_1164.all;entity test is    port(d, ...
用户1238217 2009-02-23 14:24
[zz]关于TI DSP的EDMA
几天调下来,总感觉TI的文档语焉不详。不过想想也对,250页的文档是谁都要写到郁闷的。而且一个懂了的人给初学者讲东西总会自然的略过一些看似当然的关键。     这几天遇到的问题就是EDMA可以工作,却...
用户1238217 2009-01-21 11:45
Synplify DSP安装、设置指南
Installing the Software on a Windows PlatformWindows平台安装指南(摘自Synplify? DSP Installation and License ...
用户1238217 2009-01-20 09:36
mif文件的格式定义(From Altera)
Memory Initialization File (.mif) DefinitionAn ASCII text file (with the extension .mif) that specif...
用户1238217 2009-01-19 17:38
用matlab生成mif文件
网上有一位网友提供了如何使用matlab生成mif文件的方法。但经过试验,在Quartus中无法打开生成的mif文件,提示有语法错误。以下是hustzq的一个小程序,生成了[0,pi/2]区间的正弦表...
我要评论
1
9
关闭 站长推荐上一条 /2 下一条