题解 | #单端口RAM#

单端口RAM

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

`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] ram1[127:0];
reg [3:0] r_data_reg;
assign r_data = r_data_reg;

always @(negedge clk or negedge rst)begin
    if(!rst)begin
        r_data_reg <= 4'b0000;
        ram1[0] <= 4'b0000;
    end
    else begin
        if(enb)begin
            ram1[addr] <= w_data;
        end
        else begin
            r_data_reg <= ram1[addr];
        end
    end
end


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

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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