-- snk_out.ready <= comb_snk_out.ready AND pipe_snk_out.ready -- when function maintains or increases the data valid rate
-- snk_out.ready <= '0' WHEN comb_snk_out.ready='0' ELSE pipe_snk_out.ready; -- when function increases the data valid rate (equivalent boolean condition)
--
-- Advanced flow control for maximum throughput:
-- snk_out.ready <= '1' WHEN comb_snk_out.ready='1' ELSE pipe_snk_out.ready; -- when function reduces the data valid rate
--
-- The default flow control condition is that both the local function and
-- the downstream function have to be ready. The default flow control
-- condition works in any case, but if the local function reduces the valid
-- data output rate, then the throughput can be increased by using the
-- advanced flow control condition. The local function can reduce the valid
-- data rate by packing data into larger words or by removing data.