Fundamentalmente, los FPGA tienen muchos y muchos registros. Y muchos bloques de memoria RAM pequeños que también pueden ser útiles para algunas tuberías.
Si puede dividir su algoritmo en muchos pasos pequeños con un registro al final de cada paso, puede ingresar un nuevo valor de datos en cada tic del reloj. Durante cada ciclo de reloj, se realiza el algoritmo completo, pero cada parte se realiza en una "pieza" diferente de los datos de entrada. Después de que el reloj haya marcado el tiempo suficiente para cubrir el número de etapas de registro en su canalización, se obtiene la respuesta para los datos que ingresaron hace tantas marcas.
Agregar etapas de registro para ejecutar varios subprocesos también se denomina c-slowing .