原创 自动生成mif文件的C语言代码

2009-8-30 17:10 4321 9 14 分类: FPGA/CPLD

在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);
}


文章评论5条评论)

登录后参与讨论

用户320092 2011-6-4 16:17

不错 ,有用

用户411603 2010-8-2 22:38

你抄袭我的哈哈哈哈 或者我抄袭你的哈哈哈哈 难道极端的终点真的会相交吗 怎么你我都这样

用户124183 2009-8-22 18:50

to kong621: 这只是一个例子。

用户542605 2009-8-21 20:59

那这个代码生成的mif文件的内容也是没有什么意义的啊 只是把从0开始的地址赋值为1到256罢了

tengjingshu_112148725 2009-8-10 23:00

哈哈,真有心
相关推荐阅读
用户124183 2010-10-04 18:48
[Craftor原创]基于Verilog的I2C总线驱动设计
摘要:此版本的设计中,笔者将协议里对总线的操作细分为4个,即起始(Start)、写(Write)、读(Read)、停止(Stop),并给对应的操作编码:起始(1000)、写(0100)、读(0010)...
用户124183 2010-09-03 10:42
4/8/16/32/64位乘法器的设计
4/8/16/32/64位乘法器的设计,单个时钟周期运算出结果。思路如下:4位乘法器a,b输入,y输出。使用case语句,对于输入a,y输出是b输入的16种可能。单个周期内可以输出结果。8位乘法器a,...
用户124183 2010-09-02 15:32
除法器的设计与仿真(Verilog&VHDL)
最近在做算法,要用到除法。本来想使用除法器的IP核,但发现Xilinx的除法器IP核是流水线的,如果是批量的数做除法,自然是很快,也很方便。而我的算法中需要将前一次的结果算出来之后,再到下一次运算里做...
用户124183 2010-08-06 09:58
Modelsim中添加Xilinx仿真库
不少朋友在刚接触Xilinx的FPGA时,对仿真库的编译和使用不是很了解,而官方的说明也不是很详细,而且看起来有些费劲,这里Craftor给出在Modelsim中编译和使用Xilinx库的详细教程,P...
用户124183 2010-08-02 22:51
周末写了个51单片机软核
为了弥补这段时间的罪过,这个周末决定做宅男,写程序。其实酝酿51软核已经有好几个月时间了,之前是因为在一个地方卡住了,中间停止了。上周五上班的时候突然来了灵感,一下子想通了,呵呵代码不长,1000多行...
用户124183 2010-06-19 15:41
深入研究Modelsim之使用do文件仿真(1)
Modelsim的仿真功能非常强大,本文介绍使用do脚本仿真单个Verilog或者VHDL文件的操作过程,希望对大家有用!以带时钟和复位信号的计数器为例,代码如下:module counter (  ...
我要评论
5
9
关闭 站长推荐上一条 /2 下一条