In reply to chr_sue:
In reply to alexd555:
The run_phase of your driver is not a clocked process, i.e. it does not progress in time and stays always at time 0.
After get_next_item there should be a statement like this:
@(posedge dut_ifc1.clk);
Why not clk under block ? begin…end