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;
verify_sosi<=v_sosi;
-- Signal end of stimuli
proc_common_wait_some_cycles(clk,50);
proc_common_wait_some_cycles(clk,100);
tb_end<='1';
WAIT;
ENDPROCESS;
p_verify:PROCESS
BEGIN
proc_common_wait_some_cycles(clk,g_nof_repeat*(g_pkt_gap+g_pkt_len));-- Wait until end of simulation.
proc_common_wait_some_cycles(clk,50);-- 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(verify_sosi.channel)=SIGNED(out_ref_sosi_arr(I).channel)REPORT"Unexpected channel from dut_ref output."SEVERITYERROR;
ASSERTSIGNED(verify_sosi.channel)=SIGNED(out_pipe_sosi_arr(I).channel)REPORT"Unexpected channel from dut_pipe output."SEVERITYERROR;
ASSERTSIGNED(verify_sosi.err)=SIGNED(out_ref_sosi_arr(I).err)REPORT"Unexpected err from dut_ref output."SEVERITYERROR;
ASSERTSIGNED(verify_sosi.err)=SIGNED(out_pipe_sosi_arr(I).err)REPORT"Unexpected err from dut_pipe output."SEVERITYERROR;
ASSERTSIGNED(verify_sosi.bsn)=SIGNED(out_ref_sosi_arr(I).bsn)REPORT"Unexpected bsn from dut_ref output."SEVERITYERROR;
ASSERTSIGNED(verify_sosi.bsn)=SIGNED(out_pipe_sosi_arr(I).bsn)REPORT"Unexpected bsn from dut_pipe output."SEVERITYERROR;
ASSERTSIGNED(verify_sosi.data)=SIGNED(out_ref_sosi_arr(I).data)REPORT"Unexpected data from dut_ref output."SEVERITYERROR;
ASSERTSIGNED(verify_sosi.data)+c_pipe_data_offset=SIGNED(out_pipe_sosi_arr(I).data)REPORT"Unexpected data from dut_pipe output."SEVERITYERROR;