1回答

2收藏

mif文件生成方法总结

FPGA/DSP FPGA/DSP 4300 人阅读 | 1 人回复 | 2017-07-27

方法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;
  DATA_RADIX = HEX;
  CONTENT
  BEGIN
  0000 : 0000;
  0001 : 0000;
  0002 : 0000;
  ……(此处省略一千字*.*)
  00FA : 00FF;
  00FB : 00FF;
  00FC : 00FF;
  00FD : 00FF;
  00FE : 00FF;
  00FF : 00FF;
  END;
方法3: 高级语言 生成  C语言

  1. #include <stdio.h>
  2. #include <math.h>

  3. #define PI 3.141592
  4. #define DEPTH 128     /*数据深度,即存储单元的个数*/
  5. #define WIDTH 8       /*存储单元的宽度*/

  6. int main(void)
  7. {
  8.     int i,temp;
  9.     float s;

  10.     FILE *fp;
  11.     fp = fopen("TestMif.mif","w");   /*文件名随意,但扩展名必须为.mif*/
  12.     if(NULL==fp)
  13.         printf("Can not creat file!\r\n");
  14.     else
  15.     {
  16.         printf("File created successfully!\n");
  17.         /*
  18.         *    生成文件头:注意不要忘了“;”
  19.         */
  20.         fprintf(fp,"DEPTH = %d;\n",DEPTH);
  21.         fprintf(fp,"WIDTH = %d;\n",WIDTH);
  22.         fprintf(fp,"ADDRESS_RADIX = HEX;\n");
  23.         fprintf(fp,"DATA_RADIX = HEX;\n");
  24.         fprintf(fp,"CONTENT\n");
  25.         fprintf(fp,"BEGIN\n");

  26.         /*
  27.         * 以十六进制输出地址和数据
  28.         */
  29.         for(i=0;i<DEPTH;i++)
  30.         {
  31.              /*周期为128个点的正弦波*/
  32.             s = sin(PI*i/64);   
  33.             /*将-1~1之间的正弦波的值扩展到0-255之间*/
  34.             temp = (int)((s+1)*255/2);
  35.             /*以十六进制输出地址和数据*/
  36.             fprintf(fp,"%x\t:\t%x;\n",i,temp);
  37.         }//end for
  38.         
  39.         fprintf(fp,"END;\n");
  40.         fclose(fp);
  41.     }
  42. }
复制代码
关注下面的标签,发现更多相似文章
分享到:
回复

使用道具 举报

回答|共 1 个

倒序浏览

沙发

peterzng

发表于 2018-1-9 10:32:51 | 只看该作者

总结得很棒,谢谢
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条