题解 | #单端口RAM#

单端口RAM

https://www.nowcoder.com/practice/a1b0c13edba14a2984e7369d232d9793

//深度是128 ram【127:0】 adder【$clog(depth)]
//有一个复位时候,必须吧ram每一位都置0
integer i;
	always@(posedge clk or negedge rst)
	begin
	if(!rst)
    begin
    for(i=0;i<128;i=i+1)
    begin
	num[i]<=0;
    end
`timescale 1ns/1ns

module RAM_1port(
    input clk,
    input rst,
    input enb,
    input [6:0]addr,
    input [3:0]w_data,
    output wire [3:0]r_data
);
//*************code***********//
parameter depth=128,width=4;
    reg [3:0]num[0:127];
    reg [3:0]data;
    integer i;
    
	always@(posedge clk or negedge rst)
	begin
	if(!rst)
    begin
    for(i=0;i<128;i=i+1)
    begin
	num[i]<=0;
    end
    end
	else if(enb)
	num[addr]<=w_data;
	end

   assign r_data=enb?0:num[addr];


//*************code***********//
endmodule

全部评论

相关推荐

10-06 12:46
门头沟学院 Java
跨考小白:定时任务启动
点赞 评论 收藏
分享
10-05 23:02
东北大学 Java
我说句实话啊:那时候看三个月培训班视频,随便做个项目背点八股,都能说3 40w是侮辱价
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务