FPGA19 应用只读存储器ROM

1 创建一个mif文件

ROM上电后需要进行初始化,支持HEX或MIF格式的文件初始化。所以在使用ROM之前要先设置ROM的初始化文件。
这里使用了一个三角波的产生表:0 ~ 127 127 ~ 0
在这里插入图片描述

2 启动IP核

加粗样式

3 获取ROM的端口列表

module iprom (
	address,
	clock,
	q);

	input	[7:0]  address;
	input	  clock;
	output	[7:0]  q;

4 testbench

`timescale 1ns/1ns

module rom_tb;

	reg		[7:0]  address;
	reg	   		   clock;
	wire	[7:0]  q;

	iprom f1(
	.address(address),
	.clock(clock),
	.q(q)
	);

initial clock = 1'b1;
always #10 clock = ~clock;
integer i;
initial begin
		address = 8'b0;
		#21;
		for(i=0;i<255;i=i+1)
		begin
		#20;
		address = address + 1;
		end
		
		#(20*50);
		$stop;
		

end

endmodule 

5 前仿真

在这里插入图片描述
可以发现数据输出变化相比地址变化差不多延迟了两个时钟周期
在这里插入图片描述

6 查看模拟波形

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/helloworld573/article/details/105314519