En resumen, las FPGAs son buenas cuando se necesita realizar un poco de procesamiento en muchos datos, y las CPUs son buenas cuando se necesita realizar mucho procesamiento en pocos datos.
Un flujo de vídeo HDMI es un montón de datos. Puede ser realizado por una CPU, una GPU o un ASIC en el caso general del vídeo, pero si necesitas hacer un poco de trabajo en él (añadir una superposición, por ejemplo) podrías elegir una FPGA.
Un flujo de audio no es una gran cantidad de datos, pero si necesitas realizar un reconocimiento de voz en él, vas a preferir una CPU a una FPGA.
Aunque se puede hacer radio definida por software en una CPU, se puede tratar una porción mucho mayor del espectro con una FPGA más fácilmente que en una CPU.
Aunque se podría hacer un controlador de teclado con una FPGA, un microcontrolador será más barato, consumirá menos energía y será más fácil desarrollar un software de teclado avanzado (macros, funciones de juego, reasignación) que una FPGA.
Por supuesto que se puede hacer cualquier cosa en cualquiera de ellos, con ventajas y desventajas, pero si se dominan ambos, se podrán sopesar las ventajas y desventajas de forma más competente, y se evitará el mayor coste de las piezas o el tiempo de desarrollo en el que se incurriría al elegir la solución incorrecta para un determinado problema.
4 votos
Las principales razones son más o menos 1. Reacciones 100% deterministas, 2. enorme potencial de paralelismo. Sin embargo, muchos diseños incorporan un sort-core CPU en la FPGA, ya que es mucho más fácil programar una lógica loca para un procesador, que para el hardware.
0 votos
La distinción entre lo que es posible con cada dispositivo no es muy clara. Cada uno tiene ventajas y hay soluciones a los problemas de ambos. Habiendo tomado cursos de introducción sobre cada uno, espero que entiendas esto, así que me queda la duda de qué es exactamente lo que estás preguntando.
0 votos
Estoy buscando aplicaciones donde un microcontrolador en la mayoría de los casos no sería suficiente, o donde una FPGA sería la opción obvia.
4 votos
¿Cuál te resultó más fácil de entender, en tu curso de introducción? Entonces elige el avanzado en el otro, ya que (quizás) podrás estudiar el más fácil por ti mismo.
0 votos
stackoverflow.com/questions/7458850/