FPGA笔记(九)-实现ROM步骤

FPGA笔记(九)-实现ROM步骤

1、建立MIF文件(Memory Initialization File)

1、mif文件是在编译和仿真过程中作为存储器(ROM或RAM)初始化输入的文件。

2、选择好字位宽和字数


3、编辑每个地址上要存储的数

4、其实MIF文件可以直接用记事本另存为.mif文件来创建(在该工程文件夹下),当然也可以打开来修改

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

DATA_RADIX=UNS ; %设置数据基值 同上


2、QuartusII下实现ROM步骤

1、选择tools,在下拉菜单下选择MegaWizard Plug-In Manager:(老版本),图片目前用的版本15.0,这些模块的配置地方有变

2、选择好单通道的ROM的字宽(存储器的横向宽度WIDTH)和字数(存储器的纵向宽度DEPTH)

3、问哪些通道需要寄存器,默认选择q输出通道就行

4、把刚才建立的MIF文件用BROWER选作为ROM的初始化

5、

6、

7、Rom设置好后,可以看到仿真结果。

module rom_test(
					input CLK,
					input Rst,
					output [7:0] data
					);
					
			reg [4:0] addr=5'd0;	//初始化很重要
//Rom实例化		
Rom Rom_0(
			.address(addr),
			.clock(CLK),
			.q(data));
			
			always@(posedge CLK or negedge Rst)
			begin
					if(!Rst)
							addr <= 5'd0;	
					else if(addr <= 5'd31)
								 addr <= addr + 5'd1;
						  else 
								 addr <= 5'd0;
			end
			
endmodule
仿真结果如下:


可以看到从Rom里面读出的数据,正是mif文件初始化的值!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值