If the function is pipelined, or if the top-level loop is pipelined with the -rewind option, an additional output port ap_ready is created to indicate when new inputs can be applied.
If inputs can be continuously streamed, ap_ready is no longer necessary and will be optimized out.
In Vivado HLS 2012.3 and later, ap_ready will always be generated except in the following conditions:
In Vivado HLS 2012.2 and before, ap_ready will be generated in the following scenarios:
Vivado HLS generates ap_ready only when it can be pipelined.
If users try to apply a pipeline directive to a non-pipelinable design, ap_ready is not generated.