Start Propagation FIFOs
The compiler might automatically create a start FIFO to propagate the ap_start/ap_ready
handshake to an internal process.
Such FIFOs can sometimes be a bottleneck for performance, in which case you can
increase the default size (which can be incorrectly estimated by the tool) with the
syn.dataflow.start_fifo_depth
configuration command.
If an unbounded slack between producer and consumer is needed, and internal processes can run forever, fully and safely driven by their inputs or outputs (FIFOs or PIPOs), these start FIFOs can be removed locally for a given dataflow region, at your own risk, with the following pragma or directive:
#pragma HLS DATAFLOW disable_start_propagation
Scalar Propagation FIFOs
The compiler automatically propagates some scalars from C/C++ code through
scalar FIFOs between processes. Such FIFOs can sometimes be a bottleneck for
performance or cause deadlocks, in which case you can set the size with the
syn.dataflow.scalar_fifo_depth
configuration command.Tip: The default depth is set with
syn.dataflow.fifo_depth
.