rom.v (430B)
1 // ROM 2 // 3 // Copyright 2009, Brian Swetland. Use at your own risk. 4 5 `timescale 1ns/1ns 6 7 module rom #(parameter DWIDTH=16, parameter AWIDTH=8) ( 8 input [AWIDTH-1:0] addr, 9 output [DWIDTH-1:0] data 10 ); 11 12 reg [DWIDTH-1:0] rom[0:2**AWIDTH-1]; 13 14 reg [256:0] romfile; 15 16 initial 17 if ($value$plusargs("ROM=%s",romfile)) 18 $readmemh(romfile, rom); 19 else 20 $readmemh("rom.txt", rom); 21 22 assign data = rom[addr]; 23 endmodule 24 25 26