mif文件就是存储器初始化文件,即memory initialization file,用来配置RAM或ROM中的数据。生成QuartusII11.0可用的mif文件,有以下几种方式:html

方法1:利用Quartus自带的mif编辑器编辑器

优势:对于小容量RAM能够快速方便的完成mif文件的编辑工做,不须要第三方软件的编辑;spa

缺点:一旦数据量过大,一个一个的输入会令人崩溃;code

使用方法:在quartus中,【file】/【new】,选择Memory  Initialization file,弹出以下窗口:htm

Number of words:可寻址的存储单元数,对于8bit地址线,此处选择256;blog

words size:存储单元宽度,8bit;get

而后点击“OK”.it

在表格中输入初始化数据;

右键单击左侧地址值,能够修改地址和数据的显示格式;

表中任一数据的地址=列值+行值,如图中蓝色单元的地址=24+4=28;

对每一个单元填写初始值以后,将文件保存便可。io

方法2:利用mif软件来生成class

不管使用什么编辑器,必须保证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;

这里推荐一款mif生成器:Mif_Maker2010.exe,能够百度下载;软件使用方法见《Mif Maker2010的使用方法》。

方法3:使用高级语言

用C语言或者matlab语言等来生成,C语言生成代码以下:本代码生成一个正弦波的数据波形,保存在TestMif.mif中。

1 #include

2 #include

3

4 #define PI 3.141592

5 #define DEPTH 128 /*数据深度,即存储单元的个数*/

6 #define WIDTH 8 /*存储单元的宽度*/

7

8 int main(void)9 {10 inti,temp;11 floats;12

13 FILE *fp;14 fp = fopen("TestMif.mif","w"); /*文件名随意,但扩展名必须为.mif*/

15 if(NULL==fp)16 printf("Can not creat file!\r\n");17 else

18 {19 printf("File created successfully!\n");20 /*

21 * 生成文件头:注意不要忘了“;”22 */

23 fprintf(fp,"DEPTH = %d;\n",DEPTH);24 fprintf(fp,"WIDTH = %d;\n",WIDTH);25 fprintf(fp,"ADDRESS_RADIX = HEX;\n");26 fprintf(fp,"DATA_RADIX = HEX;\n");27 fprintf(fp,"CONTENT\n");28 fprintf(fp,"BEGIN\n");29

30 /*

31 * 以十六进制输出地址和数据32 */

33 for(i=0;i

36 s = sin(PI*i/64);37 /*将-1~1之间的正弦波的值扩展到0-255之间*/

38 temp = (int)((s+1)*255/2);39 /*以十六进制输出地址和数据*/

40 fprintf(fp,"%x\t:\t%x;\n",i,temp);41 }//end for

42

43 fprintf(fp,"END;\n");44 fclose(fp);45 }46 }

验证生成的数据是否正确:用记事本打开生成的mif文件,同时用Quartus打开mif文件,内容以下:

能成功导入,且数据一致,说明生成正确。

【注】:为尊重版权,特标注引用的地址:http://www.cnblogs.com/BitArt/archive/2012/12/11/2813503.html

用c语言写生成 mif文件的软件,生成mif文件的几种方法总结相关推荐

  1. r语言写九九乘法表并保存为txt文件

    r语言写九九乘法表并保存为txt文件 代码 for(i in 1:9){for(j in 1:i){cat(j,"x",i,"=",i*j,'\t',file= ...

  2. C语言实现不带头结点的单链表逆置的三种方法

    C语言实现不带头结点的单链表逆置的三种方法 直接循环 头插法 递归法 END! 直接循环 图片解释 ListNode* ReverseList1(ListNode *head) {if(head == ...

  3. java语言写常驻服务_让程序常驻后台运行的原理和方法

    linux中进程组织结构为session包含一个前台进程组及一个或多个后台进程组,一个进程组包含多个进程. 一个session可能会有一个session首进程,而一个session首进程可能会有一个控 ...

  4. 【C语言】详解strlen函数 | 模拟实现strlen函数的三种方法 | 写库函数的人是如何实现这个函数的

    前言: 本篇将专门为 strlen 函数进行讲解,总结了模拟实现 strlen 函数的三种方法,并对其进行详细的解析.手写库函数是非常常见的题目,希望通过本篇博客能够加深大家对 strlen 的理解. ...

  5. python解压zip文件_python-29 python解压压缩包的几种方法

    这里讨论使用Python解压例如以下五种压缩文件: .gz .tar .tgz .zip .rar 简单介绍 gz: 即gzip.通常仅仅能压缩一个文件.与tar结合起来就能够实现先打包,再压缩. t ...

  6. mysql模糊查询xml_在userMapper.xml文件中模糊查询的常用的3种方法

    在userMapper.xml文件中新建映射sql的标签 select from users name like "%"#{name}"%" and phone ...

  7. svg标签和svg文件区别_SVGO减少SVG文件大小的三种方法

    svg标签和svg文件区别 This article is part of a series created in partnership with SiteGround. Thank you for ...

  8. 嵌入式生成自定义id_实施可嵌入自定义徽章的3种方法

    嵌入式生成自定义id One great way of organically promoting your application is to provide "badges"; ...

  9. PDF文件怎么合并在一起?这三种方法快利用起来

    如何将几个PDF文件合并到一起呢?PDF文件相信大家是经常会使用到的,有时候为了工作上的需求,需要把几个PDF文件合并到一起来传输发送,最近有很多小伙伴私信来说不知道怎么把文件进行合并,今天给大家整理 ...

  10. OFD文件怎么转换成图片?这两种方法能够快速转换

    怎么将OFD文件转换成图片呢?OFD文件是我们国家自主研发的一种文件版式格式标准,大家对于这种受用面较小的文件格式见到的次数可能不多,因此也对这种格式的文件不太了解,打开它需要相关的OFD阅读软件才可 ...

最新文章

  1. 前端Vue学习之路(四)axios请求数据
  2. aspose-cells 表合并
  3. linux oracle 远程exp_linux单独安装oracle客户端及exp/imp工具配置
  4. python 批量改名
  5. 遍历 HashMap 的 5 种最佳方式,我不信你全知道!
  6. 电子书下载|2020 年云原生年货小红书来啦!
  7. qt mysql数据库连接池_qt中使用数据库连接池
  8. vue 源码学习(一) 目录结构和构建过程简介
  9. 网线重新插拔后恢复正常_生活小窍门之网线不够长怎么办,毕亚兹网线连接器轻松搞定...
  10. Hadoop—LDAP介绍和使用
  11. 对象调用方法方法及其call调用
  12. 局域网内通过代理服务器上网的详细设置
  13. golang清空切片
  14. msm8937 porting iic device
  15. 解决进入WindowsXP系统蓝屏提示“stop:0X0000007B
  16. 硬盘是计算机的 奥鹏,奥鹏计算机应用基础一教学内容.docx
  17. php做一个文章页面,wordpress主题制作教程(十):制作文章单页模板single.php
  18. disallow php,在robots.txt中Disallow: /abc和Disallow: /abc/的区别
  19. Paper:人工智能可解释性的背景/方法/伦理/教育/可解释性的基本原理/Interpretability和Explainability区别之《可解释人工智能的教育视角:基于伦理和素养的思考》解读笔记
  20. ERROR:C3848

热门文章

  1. 技嘉 X570 AORUS MASTER主板 无法进入BIOS问题
  2. 解决ConEmu中文乱码的问题
  3. windows系统中显示文件的后缀名称方法
  4. librosa能量_librosa中mfcc函数的一点小问题
  5. bui ajax,BUI 数据交互
  6. ajax传值到后台失败的问题
  7. 喜大普奔,华为在海外市场再破局,与过亿人口的孟加拉达成合作
  8. 80端口被system占用的问题
  9. JSP指令是什么?JSP包含哪些指令?
  10. 无线蓝牙耳机哪个好?耐用的无线蓝牙耳机推荐