lpm_rom 应用详解
lpm_rom 模块是一种逻辑宏模块存储器,广泛应用于 FPGA 设计中。下面将一步一步地详细讲解 lpm_rom 模块的应用过程。
选择模块
需要选择 lpm_rom 模块。在选择模块时,需要注意选择合适的模块类型,以满足实际的设计需求。
属性编辑
选择模块后,需要对其进行属性编辑。在属性编辑中,可以根据实际需要选择数据宽度和内存的容量,默认是 8bit,32 个字空间。 Cyclone 系列支持最大存储深度 4k。同时,也可以选择输出引脚的属性,例如 hex 文件或者 mif 文件。
数据文件生成
数据文件可以由多种形式生成,例如使用 Quartus 的 TextFile 编辑器、Matlab 等工具。下面是一个使用 Matlab 生成 mif 文件的示例程序:
```matlab
x=0:1:255;
y=round(50*sin(2*pi*x/255))+50;
a=[x;y];
fid=fopen('rom.mif','w');
fprintf(fid,'%d:%d;\n',a);
fclose(fid);
```
在数据文件开始部分需要加入以下程序:
```mif
WIDTH=8;
DEPTH=256;
ADDRESS_RADIX=DEC;
DATA_RADIX=DEC;
CONTENT BEGIN
```
在结束部分加入结束标识:
```mif
END
```
这样构成的数据文件,.mif 可以直接加入到 FPGA 中。
模块设置
设置完成后,需要将模块添加到设计中,并进行编译。注意总线形式的引脚设置方法。双击引脚标识,修改对话框中的内容,获得总线连接方式。
仿真
按照常规的方法建立仿真文件,调入引脚,设置仿真时间,设置信号属性,注意使用 tools/option,修改相应的仿真时间属性,这样才能达到理想的效果。对仿真文件的输入信号设定仿真值。
仿真结果
修改地址总线的值修改时钟周期值。在仿真结果中,每输出一次内存的内容,需要两个时钟周期。特别注意 MATLAB 生成 mif 文件的部分:其程序是生成 .mif 格式文件数据文件,但是 QUARTUSII 不能直接使用,还要进行修改。
lpm_rom 模块的应用过程需要详细地进行设计和实现,以满足实际的设计需求。同时,需要注意 MATLAB 生成 mif 文件的部分,需要进行修改以适应 QUARTUSII 的要求。