Un procesador de núcleo blando es un procesador implementado utilizando el tejido FPGA.
Un procesador de núcleo duro es un procesador que en realidad se implementa físicamente como una estructura en el silicio.
Básicamente, puede agregar un procesador de núcleo blando a un sistema basado en FPGA después de que ya esté diseñado. Sin embargo, agregar un procesador de núcleo duro requiere un FPGA diferente o un chip adicional en la placa.
Se prefieren los procesadores de núcleo duro cuando sea posible porque la relación precio / potencia informática para una CPU de hardware es mucho mejor. La implementación de una CPU en el tejido FPGA requiere muchos recursos, especialmente si desea mucha potencia informática. La CPU de hardware equivalente es probablemente mucho más barata.
La CPU de hardware no solo es mucho más barata, sino que también es mucho más eficiente desde el punto de vista energético. En plataformas operadas con batería, la eficiencia es crucial para una larga vida útil de la batería. Las compuertas no utilizadas en un FPGA a veces se pueden apagar, pero generalmente hay muchos más circuitos activos en un procesador de núcleo blando que en una CPU de hardware de diseño específico. Todo ese silicio FPGA potencial consume energía.