数学建模社区-数学中国

标题: 用MATLAB 生成*.mif和*.hex(QUARTUS II)文件 [打印本页]

作者: 建不了的模。    时间: 2015-1-20 13:52
标题: 用MATLAB 生成*.mif和*.hex(QUARTUS II)文件
MATLAB生成*.mif、*.hex2008-08-31 03:06做FPGA设计时经常要调用芯片内存。特别对于ROM,内存的初始化就显得比较重要。当然你完全可以手工在QUARTUS II打开mif文件的表格里或是在EXCEL中逐个输入,几十项(字)或是近百项(字)你还可以接受,如果上千项或是更多呢?估计能累的人吐血!: q# J/ I& U4 c$ O& Q
$ b& X% m& \6 b, Q
一般内存的初始化数据都是有规律的,符合一定的函数,我们完全可以用MATLAB来完成(如果没规律只能逐项手工输入了)。
9 E1 M2 x0 j0 d: {, a4 }7 {" N
5 x3 o8 D% q% v# x, o5 M, u% s首先,我们应该知道*.mif文件的格式。它是文本格式。随便打开一个mif文件,你会发现它具有如下的格式:
0 s% L4 x5 P3 M( [9 a
0 _# {2 p( D5 A4 J  X3 g' V
! u* k) T/ ?- Z5 G" h7 S2 w+ D7 y格式很简单吧。首先根据需要设置每个字的位宽WIDTH和总字数DEPTH。然后设置地址和数据的进制基数ADDRESS_RADIX、DATA_RADIX,建议大家不要修改,就使用无符号数(UNS)。然后用MATLAB生成需要的数据(按上边的格式,注意中间“:”,最后“;”),往CONTENT BEGIN和END中间一贴就行了。8 Z, Z. @/ l7 x" g

% _; E0 i- x7 o3 P8 C下边举例说明MATLAB程序的写法,希望对大家有用
. o" ?8 W6 W; n' A
. E  I* Y; q) M4 c$ ?, R在d:\下找到mif_data_matlabsky.txt'文件,用写字板打开mif文件,将data.txt中的内容贴到CONTENT BEGIN和END中间,然后保存就可以了。或者将CONTENT BEGIN和END两边的内容分别贴于data.txt文件的前后,然后保存为.mif文件。: r/ T0 i; f* M5 M5 j+ r
4 [8 |6 f- B6 Y- |
对于hex文件,更简单。大家生成mif文件后,用QUARTUS II打开,然后另存为hex
" i% U6 X) i0 f% z. g2 w/ M0 z( `0 z, F5 `0 s( R# P  ~, {4 E

0 e' Q0 f9 I) ]8 F




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5