No tengo mucha experiencia con Vivado HLS, pero para la lógica digital en general, la latencia o el retardo se refieren al tiempo que transcurre entre la configuración de las entradas de un circuito y el ajuste correcto de las salidas.
Para un circuito lógico combinacional (sin flip flops o relojes, solo computar una función booleana) la latencia es el tiempo que tarda en propagar una entrada modificada a través de toda la lógica en cascada. En este caso, generalmente solo nos preocupamos por la latencia en el peor de los casos, ya que determina qué tan rápido podemos correr el circuito y aún así obtener la respuesta correcta.
Para un circuito lógico secuencial (que probablemente es lo que genera HLS), la latencia es la cantidad de ciclos de reloj entre la entrada que se establece y la salida que está lista. Este tipo de circuitos a menudo se modelan como una máquina de estados finitos y, según los datos, el FSM podría terminar antes o después. La latencia del mejor caso / peor caso describe las ejecuciones más cortas y más largas del FSM. Principalmente nos preocupamos por la latencia del peor de los casos, pero si el peor de los casos es raro, es posible que podamos obtener un aumento de rendimiento en promedio al comenzar el siguiente cálculo de inmediato.