v_sosi.data:=RESIZE_DP_DATA(v_sosi.data(g_in_dat_w-1DOWNTO0));-- wrap when >= 2**g_in_dat_w
proc_common_wait_some_cycles(clk,100);-- latency from stimuli to verify depends on the flow control, so wait sufficiently long for last packet to have passed through
FORIIN0TOc_nof_streams-1LOOP
ASSERTSIGNED(v_sosi.channel)=SIGNED(out_ref_sosi_arr(I).channel)REPORT"Unexpected channel from dut_ref output."SEVERITYERROR;
ASSERTSIGNED(v_sosi.channel)=SIGNED(out_pipe_sosi_arr(I).channel)REPORT"Unexpected channel from dut_pipe output."SEVERITYERROR;
ASSERTSIGNED(v_sosi.err)=SIGNED(out_ref_sosi_arr(I).err)REPORT"Unexpected err from dut_ref output."SEVERITYERROR;
ASSERTSIGNED(v_sosi.err)=SIGNED(out_pipe_sosi_arr(I).err)REPORT"Unexpected err from dut_pipe output."SEVERITYERROR;
ASSERTSIGNED(v_sosi.bsn)=SIGNED(out_ref_sosi_arr(I).bsn)REPORT"Unexpected bsn from dut_ref output."SEVERITYERROR;
ASSERTSIGNED(v_sosi.bsn)=SIGNED(out_pipe_sosi_arr(I).bsn)REPORT"Unexpected bsn from dut_pipe output."SEVERITYERROR;
ASSERTSIGNED(v_sosi.data)=SIGNED(out_ref_sosi_arr(I).data)REPORT"Unexpected data from dut_ref output."SEVERITYERROR;
ASSERTSIGNED(v_sosi.data)+c_pipe_data_offset=SIGNED(out_pipe_sosi_arr(I).data)REPORT"Unexpected data from dut_pipe output."SEVERITYERROR;
ENDLOOP;
-- Signal end of stimuli
proc_common_wait_some_cycles(clk,50);
tb_end<='1';
WAIT;
ENDPROCESS;
stimuli_src_in<=c_dp_siso_rdy;
gen_connect:FORIIN0TOc_nof_streams-1generate
in_sosi_arr(i)<=stimuli_src_out;
ref_sosi_arr(i)<=stimuli_src_out;
ENDGENERATE;
stimuli_src_in<=c_dp_siso_rdy;
-- Add 1000 to pipe_sosi_arr data to differentiate it from ref_sosi_arr
p_pipe_sosi:PROCESS(in_sosi_arr)
-- Add offset to pipe_sosi_arr data to differentiate it from ref_sosi_arr