新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > FPGA學(xué)習(xí)筆記之mif文件生成方法總結(jié)

FPGA學(xué)習(xí)筆記之mif文件生成方法總結(jié)

作者: 時(shí)間:2017-04-05 來源:網(wǎng)絡(luò) 收藏

  方法1:利用Quartus自帶的編輯器

本文引用地址:http://butianyuan.cn/article/201704/346203.htm

  優(yōu)點(diǎn):對(duì)于小容量RAM可以快速方便的完成文件的編輯工作,不需要第三方軟件的編輯;

  缺點(diǎn):一旦數(shù)據(jù)量過大,一個(gè)一個(gè)的輸入會(huì)使人崩潰;

  使用方法:在quartus中,【file】/【new】,選擇Memory Initialization file,彈出如下窗口:

  Number of words:可尋址的存儲(chǔ)單元數(shù),對(duì)于8bit地址線,此處選擇256;

  words size:存儲(chǔ)單元寬度,8bit;

  然后點(diǎn)擊“OK”.

  ? 在表格中輸入初始化數(shù)據(jù);

  ? 右鍵單擊左側(cè)地址值,可以修改地址和數(shù)據(jù)的顯示格式;

  ? 表中任一數(shù)據(jù)的地址=列值+行值,如圖中藍(lán)色單元的地址=24+4=28;

  對(duì)每個(gè)單元填寫初始值之后,將文件保存即可。

  方法2:利用軟件來生成

  無論使用什么編輯器,必須保證mif文件的格式如下:冒號(hào)左邊是地址,右邊是數(shù)據(jù);分號(hào)結(jié)尾;

  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: 高級(jí)語言 生成 C語言

  #include

  #include

  #define PI 3.141592

  #define DEPTH 128 /*數(shù)據(jù)深度,即存儲(chǔ)單元的個(gè)數(shù)*/

  #define WIDTH 8 /*存儲(chǔ)單元的寬度*/

  int main(void)

  {

  int i,temp;

  float s;

  FILE *fp;

  fp = fopen("TestMif.mif","w"); /*文件名隨意,但擴(kuò)展名必須為.mif*/

  if(NULL==fp)

  printf("Can not creat file!rn");

  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,"CONTENTn");

  fprintf(fp,"BEGINn");

  /*

  * 以十六進(jìn)制輸出地址和數(shù)據(jù)

  */

  for(i=0;i

  {

  /*周期為128個(gè)點(diǎn)的正弦波*/

  s = sin(PI*i/64);

  /*將-1~1之間的正弦波的值擴(kuò)展到0-255之間*/

  temp = (int)((s+1)*255/2);

  /*以十六進(jìn)制輸出地址和數(shù)據(jù)*/

  fprintf(fp,"%xt:t%x;n",i,temp);

  }//end for

  fprintf(fp,"END;n");

  fclose(fp);

  }

  }





關(guān)鍵詞: FPGA mif

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉