1 没有dataflow没有pipeline,无法并行
- Performance & Resource Estimates:
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|
+-----------------------------------------+------+------+---------+-----------+----------+---------+------+----------+------+----+-----------+-----------+-----+
|+ kernel_core | -| 0.57| 410| 1.367e+03| -| 411| -| no| -| -| 336 (~0%)| 467 (~0%)| -|
| + kernel_core_Pipeline_VITIS_LOOP_33_1 | -| 1.33| 202| 673.266| -| 202| -| no| -| -| 93 (~0%)| 118 (~0%)| -|
| o VITIS_LOOP_33_1 | -| 2.43| 200| 666.600| 2| 1| 200| yes| -| -| -| -| -|
| + kernel_core_Pipeline_VITIS_LOOP_50_1 | -| 1.34| 202| 673.266| -| 202| -| no| -| -| 93 (~0%)| 94 (~0%)| -|
| o VITIS_LOOP_50_1 | -| 2.43| 200| 666.600| 2| 1| 200| yes| -| -| -| -| -|
+-----------------------------------------+------+------+---------+-----------+----------+---------+------+----------+------+----+-----------+-----------+-----+
2 有dataflow没有pipeline,可以并行
- Performance & Resource Estimates:
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|
+----------------------+------+------+---------+---------+----------+---------+------+----------+------+----+-----------+-----------+-----+
|+ kernel_core* | -| 0.59| 205| 683.265| -| 206| -| dataflow| -| -| 339 (~0%)| 473 (~0%)| -|
| + Block_entry1_proc | -| 0.59| 205| 683.265| -| 205| -| no| -| -| 230 (~0%)| 305 (~0%)| -|
| + send_pkt1_data | -| 1.33| 203| 676.599| -| 203| -| no| -| -| 96 (~0%)| 126 (~0%)| -|
| o VITIS_LOOP_33_1 | -| 2.43| 201| 669.933| 3| 1| 200| yes| -| -| -| -| -|
| + send_pkt2_data | -| 1.34| 203| 676.599| -| 203| -| no| -| -| 96 (~0%)| 102 (~0%)| -|
| o VITIS_LOOP_50_1 | -| 2.43| 201| 669.933| 3| 1| 200| yes| -| -| -| -| -|
+----------------------+------+------+---------+---------+----------+---------+------+----------+------+----+-----------+-----------+-----+
3 有pipeline(在循环内部,作用域循环体)没有dateflow,不能并行
- Performance & Resource Estimates:
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|
+-----------------------------------------+------+------+---------+-----------+----------+---------+------+----------+------+----+-----------+-----------+-----+
|+ kernel_core | -| 0.57| 410| 1.367e+03| -| 411| -| no| -| -| 336 (~0%)| 467 (~0%)| -|
| + kernel_core_Pipeline_VITIS_LOOP_33_1 | -| 1.33| 202| 673.266| -| 202| -| no| -| -| 93 (~0%)| 118 (~0%)| -|
| o VITIS_LOOP_33_1 | -| 2.43| 200| 666.600| 2| 1| 200| yes| -| -| -| -| -|
| + kernel_core_Pipeline_VITIS_LOOP_50_1 | -| 1.34| 202| 673.266| -| 202| -| no| -| -| 93 (~0%)| 94 (~0%)| -|
| o VITIS_LOOP_50_1 | -| 2.43| 200| 666.600| 2| 1| 200| yes| -| -| -| -| -|
+-----------------------------------------+------+------+---------+-----------+----------+---------+------+----------+------+----+-----------+-----------+-----+
4 有pipeline(在循环外部,作用域整个函数)没有dataflow,可以并行
- Performance & Resource Estimates:
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|
+-------------------+------+------+---------+---------+----------+---------+------+----------+------+----+------------+------------+-----+
|+ kernel_core | -| 0.57| 203| 676.599| -| 204| -| no| -| -| 1774 (~0%)| 13261 (1%)| -|
| + send_pkt1_data | II| 1.45| 201| 669.933| -| 200| -| yes| -| -| 745 (~0%)| 8154 (~0%)| -|
| + send_pkt2_data | II| 2.43| 201| 669.933| -| 200| -| yes| -| -| 682 (~0%)| 3770 (~0%)| -|
+-------------------+------+------+---------+---------+----------+---------+------+----------+------+----+------------+------------+-----+
基于上述验证,使用dataflow可以做到并行;对需要并行的函数使用pipeline也可以做到并行;如果两个都有肯定可以并行;如果两个都没有肯定不行