Necesitamos entender la definición básica de FPGA primero.
Una matriz de compuerta programable en campo ( FPGA ) es un circuito integrado (IC) que se puede programar en el campo después de la fabricación. Los FPGA son similares en principio a, pero tienen una aplicación potencial mucho más amplia que los chips de memoria de solo lectura programable (PROM).
Esto es lo que dice Wikipedia sobre un FPGA. Pero en términos más simples, un FPGA es como una gran pieza de tela. Puedes usarlo para hacer una camisa, un pantalón o un pañuelo. Curiosamente, siempre puede recuperar su tela una vez que haya terminado de usarla para una aplicación en particular. Además, esta tela se puede usar una y otra vez, también para diferentes y / o múltiples aplicaciones al mismo tiempo.
- ¿Qué tan relevante es C # en el mundo de los sistemas integrados?
- ¿Los dispositivos militares usan los mismos microcontroladores que nosotros estamos usando, como los microcontroladores AVR, PIC y ARM?
- ¿Qué es la programación básica en sistemas embebidos?
- ¿De qué maneras se puede agregar conectividad a Internet a los microcontroladores Atmega?
- Cómo escribir un programa C incrustado para visualización de 7 segmentos para contar de 00 a 99 en el microcontrolador 8051
Entonces ves que un FPGA no tiene un microcontrolador dentro. Pero eso no significa que no pueda comportarse como tal.
Presentando MicroBlaze
MicroBlaze es un núcleo de microprocesador suave diseñado para FPGA Xilinx de Xilinx. Como procesador de núcleo blando, MicroBlaze se implementa completamente en el tejido de memoria y lógica de uso general de los FPGA Xilinx. Eso significa que el FPGA puede comportarse como un microprocesador. El microcontrolador tiene una CPU (microprocesador), además de una cantidad fija de RAM, ROM y otros periféricos, todos integrados en un solo chip. Ahora, la mayoría de los FPGA tienen suficientes recursos (en términos de bloques lógicos, RAM de bloque, interconexiones, matrices de conmutación, etc.) para implementar más de un procesador MicroBlaze junto con todos los periféricos necesarios para que funcionen como microcontroladores.
Por lo tanto, podemos ver que, aunque en realidad no, pero prácticamente un microcontrolador puede estar presente en un FPGA.
Pero incluso esto es una verdad parcial. Con los avances en la tecnología VLSI podemos empacar más y más transistores en un solo chip. Esto nos ha llevado a la era de System-on-Chip (SOC) . El concepto ha existido por un tiempo; la implicación es que se puede usar un solo chip de silicio para implementar la funcionalidad de un sistema completo, en lugar de que se requieran varios chips físicos diferentes.
Luego viene la obra maestra de Xilinx: Zynq-7000 All-Programmable SOC
La familia de Socs Zynq-7000 aborda aplicaciones de sistemas embebidos de alta gama, como videovigilancia, asistencia para conductores de automóviles, tecnología inalámbrica de próxima generación y automatización de fábrica. Zynq-7000 integra un sistema completo de 28 nm basado en el procesador Cortex-A9. La arquitectura Zynq difiere de los matrimonios anteriores de lógica programable y procesadores integrados al pasar de una plataforma centrada en FPGA a un modelo centrado en procesador.
Para los desarrolladores de software, Zynq-7000 parece lo mismo que un sistema en chip (SOC) basado en un procesador ARM estándar, con todas las funciones, que se inicia inmediatamente al encenderse y capaz de ejecutar una variedad de sistemas operativos independientemente de la lógica programable.
En 2013, Xilinx presentó el Zynq-7100, que integra el procesamiento de señal digital (DSP) para cumplir con los requisitos emergentes de integración de sistemas programables de aplicaciones inalámbricas, de transmisión, médicas y militares.
Zynq proporciona una plataforma aún más ideal para implementar SoC flexibles: Xilinx comercializa el dispositivo como un ‘SoC totalmente programable’ (APSoC), que captura perfectamente sus capacidades. Tenga en cuenta que Zynq consta de dos partes principales: un Sistema de Procesamiento (PS) formado alrededor de un procesador ARM Cortex-A9 de doble núcleo y la Lógica Programable (PL), que es equivalente a la de un FPGA. También presenta memoria integrada, una variedad de periféricos e interfaces de comunicaciones de alta velocidad.
La sección PL es ideal para implementar subsistemas de flujo de datos, lógica y aritmética de alta velocidad, mientras que la PS admite rutinas de software y / o sistemas operativos, lo que significa que la funcionalidad general de cualquier sistema diseñado se puede dividir adecuadamente entre hardware y software. Los enlaces entre el PL y el PS se realizan utilizando conexiones de interfaz extensible avanzada (AXI) estándar de la industria.