From 817d541fb0a79418f40d9b0d402d0ea9b07dafac Mon Sep 17 00:00:00 2001 From: Filip Leonarski Date: Fri, 27 Oct 2023 16:02:23 +0200 Subject: [PATCH] HLS: save_to_hbm.cpp send frames in proper order --- fpga/hls/save_to_hbm.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/fpga/hls/save_to_hbm.cpp b/fpga/hls/save_to_hbm.cpp index 8186ab4e..8cf6b5a4 100644 --- a/fpga/hls/save_to_hbm.cpp +++ b/fpga/hls/save_to_hbm.cpp @@ -104,10 +104,19 @@ void save_to_hbm(STREAM_512 &data_in, addr_in >> addr; } - for (ap_uint<8> m = 0; m < MAX_MODULES_FPGA * 2; m++) { -#pragma HLS PIPELINE II=16 - if (cmpl[m].packet_mask != 0) - m_axis_completion << cmpl[m]; + for (ap_uint<8> m = 0; m < MAX_MODULES_FPGA; m++) { +#pragma HLS PIPELINE II=32 + if (cmpl[2 * m].frame_number < cmpl[2 * m + 1].frame_number) { + if (cmpl[2 * m].packet_mask != 0) + m_axis_completion << cmpl[2 * m]; + if (cmpl[2 * m + 1].packet_mask != 0) + m_axis_completion << cmpl[2 * m + 1]; + } else { + if (cmpl[2 * m + 1].packet_mask != 0) + m_axis_completion << cmpl[2 * m + 1]; + if (cmpl[2 * m].packet_mask != 0) + m_axis_completion << cmpl[2 * m]; + } } data_in >> packet_in;