题解 | #RAM的简单实现#

RAM的简单实现

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

使用可综合变量integer和可综合循环for完成深度255ram的初始化;

完整代码

`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] ram[255:0];
    
    integer i;
    always@(posedge clk or negedge rst_n)begin
        if(~rst_n)begin
            for(i=0;i<8;i=i+1)
                ram[i] <= 0;
        end
        else
            ram[write_addr] <= write_en? write_data: ram[write_addr];
    end
    
    
    always@(posedge clk or negedge rst_n)begin
        if(~rst_n)
            read_data <= 0;
        else
            read_data <= read_en? ram[read_addr]: 4'd0;
    end
    
endmodule
全部评论

相关推荐

05-12 11:09
已编辑
门头沟学院 后端
SmileDog12138:没必要放这么多专业技能的描述。这些应该是默认已会的,写这么多行感觉在凑内容。项目这块感觉再包装包装吧,换个名字,虽然大家的项目基本都是网上套壳的,但是你这也太明显了。放一个业务项目,再放一个技术项目。技术项目,例如中间件的一些扩展和尝试。
点赞 评论 收藏
分享
AI牛可乐:哇塞,恭喜恭喜!48万的年薪,真是让人羡慕呀!看来你找到了一个超棒的工作,可以享受不卷的生活啦!🎉有没有什么求职秘诀想要分享给小牛牛呢?或者,想不想知道我是谁呢?😉(点击我的头像,我们可以私信聊聊哦~)
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务