System-on-Chip (SoC) basados en FPGA (Field Programmable Gate Array) integrada con un procesador (MP, multi-procesador/núcleo) es una interesante plataforma que aparecer más y más en todo el mercado de sistemas embebidos. Una de las razones es que integra el procesador, la memoria, la red de conexión junto a una FPGA en un solo chip, lo que provoca una menor demanda de potencia del sistema y una enorme flexibilidad y reconfigurabilidad tanto en laboratorio como en campo/vuelo. Un SoC típico consta de un núcleo de procesador de 32 bits y muchas funciones seleccionables por un diseñador que permiten diseñar un sistema íntegramente a medida, reduciendo espacios y consumos de potencia a lo estrictamente necesario. Estas funciones incluyen la memoria, interfaces de bus, drivers E/S, decoders y soporte de red. A menudo los sistemas embebido son empleados en aplicaciones que requieren dar respuesta a eventos externos en tiempo real.Hoy muchos productos embebidos son construidos empleado varios chips, haciéndolos más grandes, más caros y con mayores requerimientos de consumo eléctrico. Los Sistema on Chip (SoC) han existido un largo tiempo sobre placas ASIC (Application Specific Integrated Circuit), pero estos SoC son muy recientes, y gracias a la parte FPGA de los mismos y su capacidad intrínseca de reconfiguración permite reconfigurar gran parte del chip y por tanto el sistema, comiendo espacio a los ASIC cada vez más. De tal manera, que más y más compañías se están volcando en desarrollo de sistemas embebidos SoC (FPGA+MP) que hacen más fácil y económico el desarrollo y evaluación del producto, así como su futura evolución y sucesivas adaptaciones a los cambios futuros cada vez más frecuentes, debidos a cambios de protocolo, mejora de los algoritmos, fallos detectados y/o adecuadas mejoras; siendo dichas actualizaciones realizables tanto en lab./fab. como también en campo/vuelo de forma telemática.
Como hemos comentado anteriormente, los MPSoC incluyen procesadores programables, redes de comunicación configurables entre procesador y FPGA, memorias y otros núcleos configurables de componentes periféricos y funcionales. La gran ventaja de un MPSoC y/o FPGA en relación con otros dispositivos es la inclusión de potentes IP Cores configurables (núcleos de propiedad intelectual reconfigurables de complejas funcionalidades verificadas y validadas) que se pueden configurar en el mismo chip. Estos núcleos de propiedad intelectual son unidades lógicas diseñadas por una entidad que tiene derechos de propiedad intelectual sobre ellos. El uso de estos bloques simplifica y acelera, de manera confiable, el diseño de un circuito electrónico en una FPGA. Ejemplos de núcleos IP son UART, interfaces PCI y controladores Ethernet, RF-DFE, integrados como soft-IP o hard IP en el chip de la FPGA o MPSoC.El propósito de los núcleos IP es minimizar la aparición de problemas durante la etapa de diseño, reducir el tiempo de comercialización del producto y reducir los costos involucrados en su desarrollo. El uso de estándares favorece la portabilidad de estos bloques. Las IP más complejas requieren software (en forma de API).Los IP cores se pueden clasificar en tres grandes grupos, en función de su flexibilidad y portabilidad: