In reply to mani20794:
You should use code tags to make your code readible.
A few remarks:
(1) Your error message should point you to a specific line of code. Please show this line.
(2) I do not understand these lines of code:
if(!dp.resetn) begin
dp1.outp <= 0;
dp1.valid_out <= 0;
end
Looks like dependency from the virtual interface. Commonly you do not have to consider the reset on the transaction level.
(3) A seq_item will not be constructed during the build_phase. It has to be constructed somewhere in the run_phase, because the seq_item does not belong to the testbench hierarchy.