Top level module containts the design and testbench instance. Top module also contains clock generator. There is no need to instantiate the top module.
Testbench and dut instances are connected using wires.
CODE: top.v module top();
//Declare clock signal
reg clock;
//Signals for Assertion and to view the class proprties in Waveform viewer
wire data_status;
wire [7:0] data_in;
wire [7:0] data_out[0:3];
wire [3:0] ready;
wire [3:0] read;
wire [7:0] mem_data;
wire [1:0] mem_add;
wire reset;
wire mem_en;
wire mem_rd_wr;