1、mif文件
1)、mif文件的概念
mif文件,是FPGA中ROM的初始化文件(Memory Initialization File),用来配置RAM或者ROM。因为FPGA是基于SRAM存储的,是掉电易失性的,所以要实现ROM的功能,我们就需要在FPGA配置的过程中,把相应的存储块初始化,从而在FPGA处在用户状态时,这个存储块在用户看来就相当于一个ROM。
2)、mif文件的格式
mif文件有固定的格式。如下:
DEPTH = XXX;//存储块的深度
WIDTH = XX;//每个存储单元存储数据的宽度
ADDRESS_RADIX = HEX;
DATA_RADIX = HEX;
CONTENT
BEGIN
XX : XXX;//冒号前的数表示存储单元在存储块中的位置,后面的数据表示该存储单元中存储的数据。
END;
因为mif文件的格式是固定的,所以要想产生带有我们需要数据的mif文件很简单,只要按照mif文件的格式把BEGIN...END中的数据替换成我们需要的数据即可。
3)、Quartus II 中mif文件里数据产生的方法
①、手工录入法
当mif文件中的数据较少时,我们可以在Quartus II 中新建一个mif文件,然后直接在mif文件中编辑录入所需要的数据。编辑的方法既可以是直接在Quartus II 软件界面中直接输入,也可以打开.mif文件的文本文档直接编辑BEGIN ...END;中的数据
②高级语言生成法
如果mif文件中的数据具有一定的规律,我们可以用高级语言按照这个规律来编写程序来生成这些数据。比如mif文件中的数据是正弦曲线上的数值,那么我们就可以用高级语言编写一个正弦函数来算得这些数值。
高级语言生成,可以