题解 | #单端口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
);

reg [3:0] mem [127:0];

//单端口RAM的读写使能enb-------enb=1时,对寄存器进行写操作;enb=0时,对寄存器进行读操作;
// 数据量太多,考虑使用generate... for...语句

// 写入RAM
genvar i;
generate for(i=0;i<128;i=i+1)
    begin : ram_w
        always@(posedge clk or negedge rst) begin
            if(!rst)
                mem[i] <= 0;
            else if(enb)
                mem[addr] <= w_data ;
            else
                mem[addr] <=mem[addr];
            end
    end                  
endgenerate


//读RAM

assign r_data = (~enb)? mem[addr]:4'd0;

endmodule

全部评论

相关推荐

不亏是提前批,神仙打架,鼠鼠不配了
站队站对牛:现在92都报工艺岗了
投递韶音科技等公司10个岗位
点赞 评论 收藏
分享
05-30 12:03
山西大学 C++
offer来了我跪着...:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
07-11 11:15
中南大学 Java
好可爱的hr姐姐哈哈哈哈
黑皮白袜臭脚体育生:兄弟们貂蝉在一起,吕布开了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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