Closed losepatience closed 2 months ago
Hi. I synthesized the following code with vitis2024.1, and the synthesis report is beyond my comprehension. The "latency" seems too big. Is this a bug of 2024.1? It's OK in 2022.02.
void crop(hls::stream<ap_axiu<192, 1, 1, 1> >& src, hls::stream<ap_axiu<192, 1, 1, 1> >& dst, int rows, int cols) { // clang-format off #pragma HLS INTERFACE axis port=src #pragma HLS INTERFACE axis port=dst #pragma HLS INTERFACE s_axilite port=rows #pragma HLS INTERFACE s_axilite port=cols #pragma HLS INTERFACE s_axilite port=return // clang-format on xf::cv::Mat<XF_8UC3, ROWS, COLS, XF_NPPC8, 3> src_mat(rows, cols); //xf::cv::Mat<XF_8UC3, ROWS, COLS, XF_NPPC8> dst_mat(rows, cols); // clang-format off #pragma HLS dataflow // clang-format on xf::cv::AXIvideo2xfMat<192,XF_8UC3, ROWS, COLS, XF_NPPC8, 3>(src, src_mat); xf::cv::xfMat2AXIvideo<192,XF_8UC3, ROWS, COLS, XF_NPPC8, 3>(src_mat, dst); return; }
PS: '+' for module; 'o' for loop; '*' for dataflow +----------------------------------------------------------------------+------+------+--------------+-----------+-----------+--------------+-----------+----------+---------+----+------------+-----------+-----+ | Modules | Issue| | Latency | Latency | Iteration | | Trip | | | | | | | | & Loops | Type | Slack| (cycles) | (ns) | Latency | Interval | Count | Pipelined| BRAM | DSP| FF | LUT | URAM| +----------------------------------------------------------------------+------+------+--------------+-----------+-----------+--------------+-----------+----------+---------+----+------------+-----------+-----+ |+ crop* | -| 0.00| 322122559208| 1.611e+12| -| 322122559208| -| dataflow| 11 (4%)| -| 1374 (~0%)| 1502 (1%)| -| | + Block_entry_split_proc | -| 3.65| 0| 0.000| -| 0| -| no| -| -| 66 (~0%)| 29 (~0%)| -| | + AXIvideo2xfMat_192_16_1200_1920_8_192_s | -| 0.00| 322122559207| 1.611e+12| -| 322122559207| -| no| -| -| 488 (~0%)| 544 (~0%)| -| | + AXIvideo2xfMat_192_16_1200_1920_8_192_Pipeline_loop_start_hunt | -| 2.54| 3| 15.000| -| 3| -| no| -| -| 4 (~0%)| 38 (~0%)| -| | o loop_start_hunt | -| 3.65| 1| 5.000| 1| 1| 1| yes| -| -| -| -| -| | o loop_row_axi2mat | -| 3.65| 322122559200| 1.611e+12| 268435466| -| 1200| no| -| -| -| -| -| | + AXIvideo2xfMat_192_16_1200_1920_8_192_Pipeline_loop_col_zxi2mat | -| 1.37| 268435457| 1.342e+09| -| 268435457| -| no| -| -| 226 (~0%)| 193 (~0%)| -| | o loop_col_zxi2mat | -| 3.65| 268435455| 1.342e+09| 2| 1| 268435455| yes| -| -| -| -| -| | + AXIvideo2xfMat_192_16_1200_1920_8_192_Pipeline_loop_last_hunt | -| 2.54| 3| 15.000| -| 3| -| no| -| -| 4 (~0%)| 52 (~0%)| -| | o loop_last_hunt | -| 3.65| 1| 5.000| 1| 1| 1| yes| -| -| -| -| -| | + xfMat2AXIvideo_192_16_1200_1920_8_192_s | -| 0.66| 322122552002| 1.611e+12| -| 322122552002| -| no| -| -| 146 (~0%)| 399 (~0%)| -| | o loop_row_mat2axi | -| 3.65| 322122552000| 1.611e+12| 268435460| -| 1200| no| -| -| -| -| -| | + xfMat2AXIvideo_192_16_1200_1920_8_192_Pipeline_loop_col_mat2axi | -| 0.93| 268435458| 1.342e+09| -| 268435458| -| no| -| -| 35 (~0%)| 183 (~0%)| -| | o loop_col_mat2axi | -| 3.65| 268435456| 1.342e+09| 2| 1| 268435455| yes| -| -| -| -| -| +----------------------------------------------------------------------+------+------+--------------+-----------+-----------+--------------+-----------+----------+---------+----+------------+-----------+-----+
if (cols > COLS) cols = COLS; if (rows > ROWS) rows = COLS;
Hi. I synthesized the following code with vitis2024.1, and the synthesis report is beyond my comprehension. The "latency" seems too big. Is this a bug of 2024.1? It's OK in 2022.02.