• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > FPGA學習筆記之mif文件生成方法總結

    FPGA學習筆記之mif文件生成方法總結

    作者: 時間:2017-04-05 來源:網絡 收藏

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

    本文引用地址:http://www.czjhyjcfj.com/article/201704/346203.htm

      優點:對于小容量RAM可以快速方便的完成文件的編輯工作,不需要第三方軟件的編輯;

      缺點:一旦數據量過大,一個一個的輸入會使人崩潰;

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

      Number of words:可尋址的存儲單元數,對于8bit地址線,此處選擇256;

      words size:存儲單元寬度,8bit;

      然后點擊“OK”.

      ? 在表格中輸入初始化數據;

      ? 右鍵單擊左側地址值,可以修改地址和數據的顯示格式;

      ? 表中任一數據的地址=列值+行值,如圖中藍色單元的地址=24+4=28;

      對每個單元填寫初始值之后,將文件保存即可。

      方法2:利用軟件來生成

      無論使用什么編輯器,必須保證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!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");

      /*

      * 以十六進制輸出地址和數據

      */

      for(i=0;i

      {

      /*周期為128個點的正弦波*/

      s = sin(PI*i/64);

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

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

      /*以十六進制輸出地址和數據*/

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

      }//end for

      fprintf(fp,"END;n");

      fclose(fp);

      }

      }





    關鍵詞: FPGA mif

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 葫芦岛市| 云林县| 禹城市| 花莲市| 贡觉县| 铜梁县| 慈溪市| 佛山市| 宁安市| 新绛县| 宁化县| 横峰县| 旬阳县| 庄河市| 黄浦区| 同心县| 江孜县| 黑龙江省| 阜南县| 西宁市| 新密市| 青铜峡市| 桑日县| 洪泽县| 汪清县| 宜兴市| 忻州市| 吴川市| 汶上县| 大连市| 蓬溪县| 张家川| 中宁县| 黄山市| 武功县| 海淀区| 江源县| 集贤县| 临沭县| 栖霞市| 太和县|