mif文件就是存储器初始化文件,即memory initialization file,用来配置RAM或ROM中的数据。常见生成方法:

  1. Quartus自带的mif编辑器生成
  2. mif软件生成
  3. 高级编程语言生成

前两种方法都有一定的缺陷,主要介绍第三种方法,按照mif文件格式,使用高级编程语言(Matlab、C)编写生成。

注意: mif文件都是ASCⅡ码,负数应该是用补码处理,否则负数在mif文件中会变成0。

Matlab参考代码如下:

  1. clc;clear;close all;
  2. width = 10;
  3. depth = 2^width;
  4. t = linspace(0,6.28,depth);
  5. sin_val = sin(t);
  6. %cos_val = cos(t);
  7. sin_val = fix(sin_val*(2^width-1)/2 + 0.5); %四舍五入
  8. %cos_val = fix(cos_val*(2^width-1)/2 + 0.5);
  9. sin_val(find(sin_val<0))=sin_val(find(sin_val<0)) + 2^width; %求补码
  10. addr = [0:depth - 1];
  11. file = fopen('sin.mif','wt');
  12. fprintf(file,'WIDTH=%d;\n',width); %该格式对应于mif格式,最后不要变
  13. fprintf(file,'DEPTH=%d;\n',depth);
  14. fprintf(file,'\n');
  15. fprintf(file,'ADDRESS_RADIX=UNS;\n');
  16. fprintf(file,'DATA_RADIX=HEX;\n');
  17. fprintf(file,'\n');
  18. fprintf(file,'CONTENT BEGIN\n');
  19. for i=1:depth
  20. fprintf(file,' %d : %X;\n',addr(i), sin_val(i));
  21. end
  22. fprintf(file,'\n');
  23. fprintf(file,'END;\n');
  24. fclose(file);

mif文件生成方法的更多相关文章

  1. MIF文件生成说明

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

  2. fpga rom 初始化mif文件生成

    mif文件的格式 width= depth= address_radix= data_radix= content begin 00:    ; 01:   ; 02:   ; .... end; 关 ...

  3. Android 中.aar文件生成方法与用法

    https://i.cnblogs.com/EditPosts.aspx?opt=1 无论是用Eclipse还是用Android Studio做android开发,都会接触到jar包,全称应该是:Ja ...

  4. 用matlab生成mif文件

    在FPGA中,rom模块的初始化文件分为两种,一种是hex文件,另外一种是mif文件,这两种文件都可以通过Quartus进行手工创建,进行手工输入数据,也可以借助于专用的文件编辑器完成编辑. 在此介绍 ...

  5. 如何生成各种mif文件,绝对经典!!!

    mif文件生成模板,只需要5步,很简单!!!!! 先说明如何操作,1-2-3-4-5步,后面附上模板!!! 下面以汉字去模演示过程: 1.取模软件设置:注意这里是设置的输出数据的格式!!!!!!!!! ...

  6. 使用MATLAB一键制作mif文件

    本文档主要讲解实现一个16384(2^14)点的14位正弦波数据mif格式文件的生成,使用此文件,我们便可以在FPGA上基于直接数字合成(DDS)原理生成标准的正弦波,即实现信号发生器的功能.关于DD ...

  7. mif文件C语言生成

    1:正弦波 用函数 sin (x * π/180°) /************************************************** 正弦波 mif 生成 ********** ...

  8. 生成mif文件的几种方法总结

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

  9. Visual Studio 不生成.vshost.exe和.pdb文件的方法【转】

    Visual Studio 不生成.vshost.exe和.pdb文件的方法[转] 使用Visual Studio编译工程时,默认设置下,即使选择了「Release」时也会生成扩展名为「.vshost ...

随机推荐

  1. Note: EnclaveDB: A Secure Database using SGX

    EnclaveDB uses SGX security properties to secure database operations. Why The cloud database is cont ...

  2. 图片 响应式图像 Images Figures

    响应式图像 Bootstrap中的图像响应 .img-fluid <img class="img-fluid" src="http://lorempixel.com ...

  3. sass使用参考文档

    内容提要 变量 嵌套 占位符选择器 % @mixin 运算 @if @for @each @extend @import 正文 1.变量 //定义变量:声明变量以$开 $baseColor:#ff90 ...

  4. hdu 2147 kiki's game(巴什博弈)

    kiki's game HDU - 2147 题意:一个n*m的表格,起始位置为右上角,目标位置为左下角,甲先开始走,走的规则是可以向左,向下或者向左下(对顶的)走一格.谁先走到目标位置谁就胜利.在甲 ...

  5. 3、kubernetes应用快速入门190625

    一.kubernetes应用入门 1.kubectl命令 Basic Commands create Create a resource from a file or from stdin. expo ...

  6. AddDemo教学演示

  7. 安居客scrapy房产信息爬取到数据可视化(上)-scrapy爬虫

    出发点 想做一个地图热力图,发现安居客房产数据有我要的特性.emmm,那就尝试一次好了~ 老规矩,从爬虫,从拿到数据开始... scrapy的配置 创建一个项目(在命令行下敲~): scrapy st ...

  8. javascript数组常用的遍历方法

    本篇文章给大家带来的内容是关于javascript数组常用的遍历方法(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 前言 本文主要介绍数组常见遍历方法:forEach.m ...

  9. Codeforces 1161B(判断旋转对称)

    要点 外层暴力枚举转的"角度",会发现肯定是n的约数 对于m条线段想判定当前的"角度"是否ok,每个线段只要管它自己的下一个即可,不必画个圈遍历一遍 之后将本来 ...

  10. Chinese Zodiac (水题)

    The Chinese Zodiac, known as Sheng Xiao, is based on a twelve-year cycle, each year in the cycle rel ...