module file_program_memory ( input [WIDTH - 1:0] addr, output [31:0] instruction ); parameter string FILE_NAME; parameter WIDTH = 20; parameter MEM_SIZE = 1 << (WIDTH - 2) - 1; reg [31:0] imem[0:MEM_SIZE]; initial $readmemh(FILE_NAME, imem); assign instruction = imem[addr[WIDTH - 1:2]]; endmodule;