`timescale 1ns/1ns module rom # (parameter DEPTH = 8)( input clk, input rst_n, input [7:0]addr, output [3:0] data ); integer i; reg [3:0] rom [7:0]; always @ (posedge clk or negedge rst_n) begin if (! rst_n) begin for (i=0; i<DEPTH-1;i++) begin rom[i] <= i*2; end end end assign data = rom[addr]; endmodule