新聞中心

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          方法2:利用軟件來生成

          無論使用什么編輯器,必須保證mif文件的格式如下:冒號左邊是地址,右邊是數(shù)據(jù);分號結(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: 高級語言 生成 C語言

          #include

          #include

          #define PI 3.141592

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

          #define WIDTH 8 /*存儲單元的寬度*/

          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個點(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

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 通榆县| 扶余县| 壤塘县| 静安区| 兴安县| 黄浦区| 独山县| 扎鲁特旗| 闸北区| 舞阳县| 高台县| 太和县| 大新县| 息烽县| 乐都县| 伊金霍洛旗| 深州市| 拉孜县| 紫阳县| 合阳县| 筠连县| 灵山县| 信宜市| 望谟县| 确山县| 太仆寺旗| 龙井市| 花莲市| 道孚县| 全南县| 嫩江县| 新乐市| 正阳县| 门源| 天门市| 北京市| 东台市| 泽州县| 东方市| 鄂托克前旗| 台北市|