zoukankan      html  css  js  c++  java
  • mif文件生成方法

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

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

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

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

    Matlab参考代码如下:

    clc;clear;close all;
    width = 10;
    depth = 2^width;
    t = linspace(0,6.28,depth);
    sin_val = sin(t);
    %cos_val = cos(t);
    sin_val = fix(sin_val*(2^width-1)/2 + 0.5);  %四舍五入
    %cos_val = fix(cos_val*(2^width-1)/2 + 0.5);
    sin_val(find(sin_val<0))=sin_val(find(sin_val<0)) + 2^width; %求补码 
    addr = [0:depth - 1];
    file = fopen('sin.mif','wt');
    fprintf(file,'WIDTH=%d;
    ',width);      %该格式对应于mif格式,最后不要变
    fprintf(file,'DEPTH=%d;
    ',depth);
    fprintf(file,'
    ');
    fprintf(file,'ADDRESS_RADIX=UNS;
    ');
    fprintf(file,'DATA_RADIX=HEX;
    ');
    fprintf(file,'
    ');
    fprintf(file,'CONTENT BEGIN
    ');
    for i=1:depth
        fprintf(file,'    %d  :  %X;
    ',addr(i), sin_val(i));
    end
    fprintf(file,'
    ');
    fprintf(file,'END;
    ');
    fclose(file);
    
  • 相关阅读:
    C++ 中复杂的声明
    指向成员的指针
    指针与引用的操作符
    char指针
    软件测试
    网络应用层协议
    BOOL,int,float,指针变量与零值比较的if语句
    有关单向链表的题目
    main方法执行之前,做什么事
    C++复制控制
  • 原文地址:https://www.cnblogs.com/yfwblog/p/4783723.html
Copyright © 2011-2022 走看看