题解 | #RAM的简单实现#

RAM的简单实现

https://www.nowcoder.com/practice/2c17c36120d0425289cfac0855c28796

`timescale 1ns/1ns
module ram_mod(
	input clk,
	input rst_n,
	
	input write_en,
	input [7:0]write_addr,
	input [3:0]write_data,
	
	input read_en,
	input [7:0]read_addr,
	output reg [3:0]read_data
);

reg [3:0] ram1[7:0];

always @(posedge clk or negedge rst_n)begin
	if(write_en)begin
		ram1[write_addr] <= write_data;
	end
	else begin
		ram1[write_addr] <= 4'b0000;
	end
end

always @(posedge clk or negedge rst_n)begin
	if(!rst_n)begin
		read_data <= 4'b0000;
		ram1[0] <= 4'b0000;
		ram1[1] <= 4'b0000;
		ram1[2] <= 4'b0000;
		ram1[3] <= 4'b0000;
		ram1[4] <= 4'b0000;
		ram1[5] <= 4'b0000;
		ram1[6] <= 4'b0000;
		ram1[7] <= 4'b0000;
	end
	else begin
		if(read_en)begin
			read_data <= ram1[read_addr];
		end
		else begin
			read_data <= read_data;
		end
	end
end
	
endmodule

全部评论

相关推荐

在笔试的柠檬精很想去...:兄弟们,你们这个大厂,中厂,小厂怎么定义的 初来驾到,别笑话我,只要能学到本事,不管大厂小厂都可以,但是别进到黑厂就行
找实习记录
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务