3.2.6. Control Path
While the datapath is the path on which computations occur, the control path is the path of logic that the compiler adds to manage the flow of data through the datapath.
- Handshaking flow control
Handshaking ensures that one part of your design is ready and able to accept data from another part of your design.
- Loop control
Loop controls control the flow of data through the hardware generated for loops in your code, including any loop carried dependencies.
- Branch control
Branch controls implement conditional statements in your code. Branch control can include parallelizing parts of conditional statements to improve performance.
The control path also consumes FPGA area, and the compiler uses techniques like clustering the datapath to help reduce the control path and save area. To learn about clustering, refer to Clustering the Datapath.