ROM简介
ROM(read only memory)中的数据需要先进行初始化,即要先将数据写入到 ROM 内部的存储单元中;然后系统正常工作时,只能读出其中存储的数据。而不能写入信息。掉电不丢失。
在 FPGA 中,ROM 常 用于存放初始数据。
IP核的配置
思想与Vivado ROM IP核的配置一样。
主要有:
How wide should the ‘q’ output bus be?:用于指定输出端口的位宽,默认值为 8;
z How many 8-bit words of memory?:用于指定存储器的深度,默认值为 256;
q output port:用于选择是否寄存输出端口 q,默认值为选择。
Do you want to specify the initial content of the memory?:用于指定存储器的初始存储数据内容,我们需要为存储器提供存储器初始化文件(.mif)或者 Inter 格式的 16 进制文件(.hex)。
该 IP 核能生成的所有文件中,ROM_inst.v 是我们 ROM 初始化模板。
mif文件的创建
用记事本打开,可以看到.mif的格式
最后有个end
-
利用 Quartus II 软件自带的 mif 编辑器生成 mif 文件:对于小容量的 ROM,我们可以快速方便的完成 mif 文件的编辑工作
【File】→【new】,在弹出的对话框中,我们选择【Memory Initialization file】点击打开
-
利用 C 语言、Matlab