Simulation hang

In reply to ghosh:


task scoreboard::compare_data();
 
     logic [47:0] exp_data[4];
     logic [47:0] act_data[4];
  
     for(int j=0;j<4;j++) begin
     automatic int i = j;
        fork
        forever begin
            wait(ref_data_q[i].size() >= 1 && dut_data_q[i].size() >= 1);
            exp_data[i] = ref_data_q[i].pop_front();
            act_data[i] = dut_data_q[i].pop_front();
            if(exp_data[i] !== act_data[i])
               `uvm_fatal("SB",$sformatf("Data mismatch !!! Match count so far %0d,              Exp_data=%0h::Act_data=%0h",match_count[i],exp_data[i],act_data[i]))
            else
                `uvm_info("SB",$sformatf("Data Correct !!! Match count so far %0d,              Exp_data=%0h::Act_data=%0h",match_count[i],exp_data[i],act_data[i]),UVM_DEBUG)
            match_count[i]++;
        end
        join_none 
     end

endtask //compare_data