`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 2025/05/30 20:50:37 // Design Name: // Module Name: RAM // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module RAM ( input wire clk, input wire MemWrEn, input wire [31:0] addr, input wire [31:0] data_in, output wire [31:0] data_out ); reg [31:0] memory_array [2^32-1:0]; always @(posedge clk) begin if (MemWrEn) begin memory_array[addr] <= data_in; end end assign data_out = memory_array[addr]; endmodule