//----------------------------------------------------- // Design Name : dual_port_ram_tb // File Name : memory_wrapper_tb.v // Function : Dual port RAM 64x2048 // Coder : Aurelien //----------------------------------------------------- `timescale 1 ns/1 ps module dpram_tb (); reg clk; reg wen; reg ren; reg[0:9] waddr; reg[0:9] raddr; reg[0:31] d_in; wire[0:31] d_out; integer count; integer lim_max = 1023; dpram memory_0 ( .clk (clk), .wen (wen), .waddr (waddr), .d_in (d_in), .ren (ren), .raddr (raddr), .d_out (d_out) ); initial begin clk <= 1'b0; ren <= 1'b0; wen <= 1'b0; raddr <= 10'h000; waddr <= 10'h000; d_in <= 32'h00000000; for(count = 0; count < lim_max; count = count +1) begin #5 wen <= 1'b1; clk <= !clk; if(clk) begin waddr <= waddr + 1; end end wen <= 1'b0; for(count = 0; count < lim_max; count = count +1) begin #5 ren <= 1'b1; clk <= !clk; if(clk) begin raddr <= raddr + 1; end end $finish; end always@(negedge clk) begin d_in <= $random; end endmodule