题解 | #单端口RAM#

单端口RAM

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

  1. testbench在当前周期检测读数据输出,因此要采用电平触发或者连续赋值语句;
  2. 使用可综合变量integer和可综合循环for完成深度128ram的初始化;

完整代码

`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***********//
    reg[3:0] ram [127:0];

    integer i;
    always@(posedge clk or negedge rst)begin
        if(~rst)
            for(i=0;i<128;i=i+1)
                ram[i] <= 0;
        else
            ram[addr] <= enb? w_data: ram[addr];
    end
    
    assign r_data=enb? 4'd0: ram[addr];

//*************code***********//
endmodule
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 17:58
点赞 评论 收藏
分享
06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
06-12 17:46
门头沟学院 Java
运营你豪哥:来说重点: ​1.项目前置,时间倒序。​​ 2.​项目描述强化结果与量化效果(STAR原则里的R)。​​ ​3.个人技能精炼,明确掌握程度,突出核心。​​ ​4.增加强有力开头的个人总结部分。​​ 5.​优化教育背景(成绩排名)、合并奖项与活动。​​
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
评论
5
收藏
分享

创作者周榜

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