题解 | #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
);
 //prameter
    parameter WIDTH = 4;
    parameter DEPTH = 8;

reg [WIDTH-1:0] MEM [DEPTH-1:0];

//写数据到RAM

genvar i;
generate for(i=0 ; i < DEPTH ; i=i+1)
	begin:RAM
	always@(posedge clk or rst_n)begin
		if(!rst_n)
			MEM[i]<=0;
		else if(write_en)
			MEM[write_addr]<= write_data;
	end
end
endgenerate 

//数据从RAM读出数据
always@(posedge clk or rst_n)begin
	if(!rst_n)
		read_data<=0;
	else if(read_en)
			read_data<=MEM[read_addr];
	end
endmodule

全部评论
感谢大佬的分享
点赞 回复 分享
发布于 2023-05-30 09:39 陕西
大佬这个题解很清晰啊
点赞 回复 分享
发布于 2023-05-30 09:27 陕西

相关推荐

04-29 18:07
常州大学 Java
寂静羽翼:兄弟我已经亲身经历了,双非没实习很多大厂还是会给笔试的,可是有的公司笔试做的好也不给面一直卡着,ssob基本看我没实习都拒绝我了,但是每天投满偶尔也能有一两场初创公司的面试,但是薪资基本在五六千
点赞 评论 收藏
分享
求offer的大角牛:不吃香菜
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-20 18:18
是不是意味着秋招就完蛋了
花不开柳成荫:如果你是Java,是的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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