深度为8,位宽为8 bit的ROM

module rom(clk,addm,cs_n,dout);
	input clk,cs_n;
	input [2:0] addm;
	output [7:0] dout;
	reg [7:0] dout;
	reg [7:0] rom [7:0];


	initial begin 
		rom[0] = 8'b0000_0000;
		rom[1] = 8'b0000_0001;
		rom[2] = 8'b0000_0010;
		rom[3] = 8'b0000_0011;
		rom[4] = 8'b0000_0100;
		rom[5] = 8'b0000_0101;
		rom[6] = 8'b0000_0110;
		rom[7] = 8'b0000_0111;
	end
	always @ (posedge clk) begin 
		if(cs_n)
			dout <= 8'bzzzz_zzzz;
		else
			dout <= rom[addm];
	end
endmodule


`timescale 1ns/1ns

module rom_tb;
	reg clk,cs_n;
	reg [2:0] addm;
	wire [7:0] dout;

	rom n1 (clk,addm,cs_n,dout);
	
	initial begin
		clk = 0; addm = 0; cs_n= 0;
	end
	always begin 
		#10 clk = ~clk;
	end
	initial begin
		repeat(7)
		#20	addm = addm+1;
	end
		//#200 $finish;
endmodule

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值