`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_data[127:0];
    genvar i;
    generate for(i=0;i<128;i=i+1) 
        begin
            always@(posedge clk or negedge rst) begin
                if(!rst)
                    ram_data[i] <= 4'd0;
                else if(enb)
                    ram_data[addr] <= w_data;
            end
        end
    endgenerate
     
    assign r_data = (~enb)?ram_data[addr]:4'd0;
//*************code***********//
endmodule