Synchronous parameters are consumed once per kernel invocation (similar to HLS behavior). Asynchronous parameters persist across invocations, enabling multiple runs from one scalar value.