在FPGA开发里经常用到查表,查表的数据一般是放在ROM里的,而ROM里的数据一般都是从mif文件里导入的(还有是从HEX文件导入的方法)。自己在分析了QuartusII软件自动生成的mif文件的内容后,发现该文件的结构还是很简单的,但是如果在QuartusII里一个一个将数据录入的话,将是很大的工作量,所以就想用C语言编个小程序用来自动生成mif文件,也算是小小的偷懒吧,呵呵!
#include <stdio.h>
#include <math.h>
int main()
{
FILE *fp;
int width="8"; //The width of the memory
int depth="256"; //The depth of the memory
int i;
if((fp=fopen("myrom.mif","w+"))==NULL)
{
printf("File Created Error!\n");
exit(1);
}
fprintf(fp,"--Design by Craftor\n");
fprintf(fp,"--For generating *.mif file(s) for QuartusII\n\n");
fprintf(fp,"WIDTH=%d;\n",width);
fprintf(fp,"DEPTH=%d;\n",depth);
fprintf(fp,"\n");
fprintf(fp,"ADDRESS_RADIX=UNS;\n");
fprintf(fp,"DATA_RADIX=UNS;\n");
fprintf(fp,"\n");
fprintf(fp,"CONTENT BEGIN \n");
for(i=0;i<depth;i++)
{
fprintf(fp,"\t%d\t:\t%d;\n",i,i+1);
}
fprintf(fp,"END;");
fclose(fp);
return (0);
}
用户320092 2011-6-4 16:17
用户411603 2010-8-2 22:38
用户124183 2009-8-22 18:50
用户542605 2009-8-21 20:59
tengjingshu_112148725 2009-8-10 23:00