1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
module urom #( parameter UROM = "<no file specified>" , parameter ADDR_BITS = 15 , parameter DATA_BITS = 8 ) ( input bit [ADDR_BITS-1:0] addr , output bit [DATA_BITS-1:0] data ); bit [DATA_BITS-1:0] storage [0:(1<<ADDR_BITS)-1]; initial begin automatic int fh; fh = $fopen(UROM, "rb"); $fread(storage, fh); end assign data = storage[addr]; endmodule