QuartusII使用.mif文件初始化FPGA片内ram后,mif文件被修改的解决办法

   Quartus发布的版本比较多,在项目的开发和升级过程中很肯能使用了不同版本,可能有此带来不同的问题。QuartusII8.1中使用.mif文件初始化FPGA片内ram后,mif文件被QuartusII自动的修改。

   最近在Quartus8.1中使用了片内的双口RAM,但在用mif文件初始化的时候遇到了很大的问题,我放在工程文件下的mif文件经编译后总是会被Quartus修改,且最高几位都被修改成FFFF,很是郁闷。   所建工程如下,即以双口RAM和一产生读地址的计数器,双口RAM初始化中选择image8.mif文件进行初始化:        



         在双口RAM初始化中的mif文件内容如下所示:

WIDTH=8;

DEPTH=8192;

ADDRESS_RADIX=HEX;

DATA_RADIX=HEX;

CONTENT BEGIN

0:0;

1:1;

2:2;

3:3;

4:4;

5:5;

6:6;

7:7;

8:8;

9:9;

A:A;

B:B;

C:C;

D:D;

E:E;

F:F;

10:10;

11:11;

12:12;

13:13;

14:14;

15:15;

16:16;

17:17;

END;

      但经Quartus编译后了,mif文件内容变为:

-- Clearbox generated Memory Initialization File (.mif)

WIDTH=8;

DEPTH=8192;

ADDRESS_RADIX=HEX;

DATA_RADIX=HEX;

CONTENT BEGIN

    0000  :   F0;

    0001  :   F1;

    0002  :   F2;

    0003  :   F3;

    0004  :   F4;

    0005  :   F5;

    0006  :   F6;

    0007  :   F7;

    0008  :   F8;

    0009  :   F9;

    000a  :   FA;

    000b  :   FB;

    000c  :   FC;

    000d  :   FD;

这样编译后初始化RAM的波形肯定不对。这个问题困恼了我数日,最后将初始化数据存贮的mif文件属性改为只读

    这样编译后的mif文件的内容就不在变化,最后仿真的波形图如下图所示:

  这样这个问题才得以解决。

原文地址:https://www.cnblogs.com/just4fun/p/1848699.html