您的位置 首页 测评

FPGA学习笔记之mif文件生成办法总结

方法1:利用Quartus自带的mif编辑器优点:对于小容量RAM可以快速方便的完成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;

  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言语

  #include

  #include

  #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

  {

  /*周期为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);

  }

  }

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/203864.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部