zoukankan      html  css  js  c++  java
  • 使用matlab生成sine波mif文件

    使用matlab生成sine波mif文件

    作者:lee神

    在使用altera FPGA中的rom过程中常常会使用到.mif文件或.hex文件。对于初学者,无论mif还是hex都是很令人疑惑的东西,这里就对mif文件的格式及其创建做一点简单的说明。

    Mifmemory initialization file 的缩写,中文意思就是存储器初始化文件。直接说就是给rom赋值的文件。下面使用一个简单的.mif文件举例:

    width=14;          %存储器的位宽 横向宽度

    depth =1024;       %存储器的深度 总共有多少个数据

    address_radix=uns;  %设置地址基值(实际就是地址用什么进制的数表示)   可以设为BIN(二进制),OCT(八进制),DEC(十进制)HEX(十六进制

    data_radix=dec;     %同上

    content begin       %开始数据区

    0:0;               %地址:数据

    1:29;

    2:57;

    3:86;

    ...

    ...

    ...

    1023:16008;

    end;              %结束

    Matlab源码:

    clear all

    close all

    clc

    t = [0:0.1:360];%输入范围0-90度,步长0.1

    x =pi*t/180;

    sin_val = sin(x);

    fid=fopen('E:matlab_projectsinsine.mif','wt');

    fprintf(fid,'width=14; ');

    fprintf(fid,'depth =1024; ');

    fprintf(fid,'address_radix=uns; ');

    fprintf(fid,'data_radix=dec; ');

    fprintf(fid,'content begin ');

    for j=1:1024

        i=j-1;

        k=round(sin_val(j)*16384);

        if(k==16384)

            k=16383;

        end

        fprintf(fid,'%d:%d; ',i,k);

    end

    fprintf(fid,'end; ');

    fclose(fid);

    plot(sin_val);

    结果:

     

    欢迎大家关注我的FPGA微信公众号FPGA开源工作室以及QQ资料群

  • 相关阅读:
    Divide Two Integers
    LRU Cache
    Max Points on a Line
    Recover Binary Search Tree
    Copy List with Random Pointer
    IEE修改最大连接数
    SQL Tuning 基础概述02
    RHEL 本地yum源配置
    Linux演示 dd测试IO
    Linux平台oracle 11g单实例 安装部署配置 快速参考
  • 原文地址:https://www.cnblogs.com/leegod/p/8472210.html
Copyright © 2011-2022 走看看