// A memory initialized with an external file module memory ( input clk_i, input we_i, input [5:0] addr_i, input [31:0] data_i, output reg [31:0] data_o ); parameter MEMFILE = ""; reg [31:0] mem [0:63]; initial $readmemb(MEMFILE,mem); always @(posedge clk_i) begin if (we_i) mem[addr_i] <= data_i; data_o <= mem[addr_i]; end endmodule