Las diferentes tareas requieren diferentes tipos de herramientas. Podría forzar la carga de trabajo de un tipo de herramienta sobre otra, pero con el tiempo tiende a convertirse en una forma ineficiente de hacer las cosas. En este caso específico, hay muchas cosas que son más fáciles de hacer en un procesador. Solo tiene que escribir el código requerido en un lenguaje relativamente cómodo como C y tener una cadena de herramientas madura que pueda compilarlo. Si desea hacer lo mismo en un FPGA, está comenzando en un nivel mucho más bajo y primero tiene que diseñar (o obtener el diseño para) un núcleo de procesador. Si el FPGA tiene que hacer la mayor parte de lo que necesita hacer, y el procesador termina haciendo muy poco, usted podría invertir el esfuerzo en extraer el procesador y colocar el núcleo en el FPGA. Del mismo modo, lo contrario es posible. Sin embargo, en la práctica, normalmente terminas dividiendo el trabajo de forma más equitativa entre los dos.
También es útil entender para qué se usaron los FPGA originalmente. Fueron (y en muchos aspectos todavía), piezas de hardware genéricas que pueden usarse para probar nuevos diseños de núcleos y circuitos especializados con la intención de convertirlos en ASIC en última instancia. La razón por la que puede formular la pregunta ahora es porque la economía ha cambiado algo en términos de precios, y hay muchas aplicaciones hoy en día que son lo suficientemente específicas como para no necesitar los altos volúmenes para garantizar la producción de un ASIC. Aún así, cuando hay un ASIC (o incluso un procesador genérico), a menudo resulta más barato, más rápido y más eficiente en términos de costo, tiempo de desarrollo y habilidades necesarias para usar una combinación de FPGA, ASIC y procesador que sería empujar todo en un FPGA.