/*设计一个rom控制器,该控制器输出0-255递增的地址数据,将此地址总线连接到rom地址的输入端,查看rom输出的状态是否正确
/*rom是只读存储器,不能对其内部写数据,需要创建一个rom的数据初始化文件,先手动生成一个mif文件*/
module rom_ctrl(
input clk,
input rst_n,
output reg [7:0]addr
);
reg [7:0] addr1;
always@(posedge clk or negedge rst_n)
if(!rst_n)begin
addr<=0;
end
else if(addr<255)
addr<=addr+1;
else
addr<=0;
endmodule
`timescale 1ns/1ns
module rom_tb;
reg clk;
reg rst_n;
wire [7:0]q;
initial begin
clk=0;
rst_n=0;
#200.1;
rst_n=1;
end
always #10 clk=~clk;
rom rom(
. clk(clk),
. rst_n(rst_n),
. q(q)
);