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 suave 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 es posible porque la relación precio / potencia de computación para una CPU de hardware es mucho mejor. La implementación de una CPU en la estructura de FPGA requiere muchos recursos, especialmente si desea mucha potencia de cómputo. La CPU de hardware equivalente es probablemente mucho más barata.
La CPU del hardware no solo es mucho más barata, sino que también es probable que sea mucho más eficiente energéticamente. En las plataformas que funcionan con baterías, la eficiencia es crucial para una larga duración de la batería. Las puertas no utilizadas en un FPGA a veces se pueden desactivar, pero generalmente hay muchos más circuitos activos en un procesador de núcleo suave que en una CPU de hardware de diseño específico. Todo ese potencial de silicio FPGA consume energía.