Verilog implementation of a 2 way, 4 set associative cache with the testbench behaving as a processor