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