Si utiliza un microcontrolador con funcionalidad DSP, un chip DSP o un FPGA no es (al menos en teoría) tan importante como qué algoritmos y coeficientes de filtro utiliza. Entonces, una vez que da el salto al procesamiento digital, se convierte en una cuestión de si necesita el rendimiento que solo un FPGA puede proporcionarle o no. Incluso dentro de un diseño de FPGA tiene varios compromisos, por ejemplo, estamos haciendo un cálculo CORDIC y para ahorrar recursos, serializamos los cálculos para que se requieran menos multiplicadores. Puedes hacer pequeños cambios, como desenrollar bucles con microcontroladores, pero básicamente estás atascado con los procesadores en el chip y eso es todo.
No creo que sea más fácil usar los FPGA. Las partes generalmente están en paquetes necesitados (generalmente BGA), necesitan mucha energía y diferentes fuentes de alimentación, la flexibilidad conduce a una mayor variación en el rendimiento (debido a la disposición, por ejemplo) y el consumo de energía también es más variable. Tenga en cuenta que normalmente necesitará otras funciones para ingresar y salir señales y para tareas de supervisión. Los chips como el Zynq combinan un pequeño núcleo ARM de microcontrolador de 32 bits con un FPGA y deberían ser lo mejor de ambos mundos, pero hemos encontrado que la curva de aprendizaje es bastante ardua, incluso con herramientas costosas como los paquetes MATLAB de costos adicionales. Existen muchas quejas sobre las herramientas FPGA de vainilla, si miras los foros y tienden a ser caras si necesitas toda la capacidad.
En este momento, creo que la combinación de un procesador y FPGA es una buena solución para muchas tareas de procesamiento de señales, ya sean integradas o no (también existe la posibilidad de que haya procesadores "blandos" en el FPGA, pero tienden a ser una poco decepcionante en el rendimiento y el uso de muchos recursos).