- ¿Qué es FPGA y en qué se diferencia del microcontrolador?
- Arquitectura FPGA
- Cuando se necesitan FPGA
Con la creciente popularidad de los microcontroladores, los ingenieros están utilizando más microcontroladores que FPGA. Los microcontroladores se han vuelto dominantes sobre FPGA debido a su bajo costo, buen soporte, fácil disponibilidad, gran comunidad, versatilidad, programación, etc. Pero aparte de eso, los microprocesadores tienen algunas limitaciones como el conjunto de instrucciones, ejecución secuencial de programas (procesamiento secuencial), falta de flexibilidad y reutilización, etc. Sin embargo, la FPGA puede superar estas limitaciones ya que las FPGA tienen ejecución paralela de programas y es flexible y reutilizable, lo que significa que se puede reprogramar una y otra vez para diferentes tareas.
¿Qué es FPGA y en qué se diferencia del microcontrolador?
A Field-Programmable Gate Array es un chip de circuito integrado de silicio que tiene conjunto de puertas lógicas y esta matriz se puede programar en el campo es decir, el usuario puede sobrescribir las configuraciones existentes con sus nuevas configuraciones definidas y puede crear su propio circuito digital en el campo. Los FPGA se pueden considerar como pizarra en blanco. Los FPGA no hacen nada por sí mismos, mientras que depende de los diseñadores crear un archivo de configuración a menudo llamado archivo de bits para el FPGA. La FPGA se comportará como el circuito digital una vez que se cargue con un archivo de bits.
Mientras que en los microcontroladores, este no es el caso, ya que los microcontroladores no se pueden programar ni reestructurar en el campo. El usuario no puede sobrescribir sus configuraciones existentes ni puede crear ningún circuito digital en el campo. Los microcontroladores son fáciles de programar y la comunidad también es amplia. Los microcontroladores son miniordenadores personalizados que vienen en forma de IC, mientras que los FPGA solo contienen bloques lógicos que se pueden volver a cablear eléctricamente. También en términos de microcontroladores, consume menos energía que los FPGA. Se sabe que los FPGA son costosos y requieren más costos que los microcontroladores cuando se trata de construir cualquier dispositivo. Los FPGA requieren mucho más tiempo para configurarlos, mientras que los microcontroladores están disponibles y construidos para aplicaciones específicas.
Arquitectura FPGA
Una FPGA tiene una estructura regular de celdas o módulos lógicos e interconexiones que están bajo el control total de los desarrolladores y diseñadores. La FPGA está construida principalmente con tres bloques principales, como el Bloque lógico configurable (CLB), los bloques o almohadillas de E / S y la matriz de interruptores / cables de interconexión. Cada bloque se analizará brevemente a continuación.
- CLB (Bloque lógico configurable): Son las celdas básicas de FPGA. Consta de un generador de funciones de 8 bits, dos generadores de funciones de 16 bits, dos registros (flip-flops o pestillos) y controles de enrutamiento reprogramables (multiplexores). Los CLB se aplican para implementar otras funciones y macros diseñadas. Cada CLB tiene entradas en cada lado, lo que los hace flexibles para el mapeo y la partición de la lógica.
- Bloques o almohadillas de E / S: Las almohadillas de entrada / salida se utilizan para que los periféricos externos accedan a las funciones de FPGA y, utilizando las almohadillas de E / S, también puede comunicarse con FPGA para diferentes aplicaciones utilizando diferentes periféricos.
- Switch Matrix / Interconnection Wires: Switch Matrix se utiliza en FPGA para conectar los cables de interconexión largos y cortos juntos en una combinación flexible. También contiene los transistores para encender / apagar conexiones entre diferentes líneas.
Cuando se necesitan FPGA
Como se mencionó anteriormente, los microcontroladores tienen alguna limitación y no se pueden usar para realizar tareas en paralelo, ya que el microcontrolador y los microprocesadores se ejecutan en la ejecución secuencial de programas, lo que lo hace un poco lento en algunas aplicaciones, en este escenario, los FPGA tienen una ventaja y pueden usarse de manera efectiva. Además, el microcontrolador puede realizar tareas limitadas porque vienen con instrucciones y sus circuitos. Un programador tiene que cumplir con las restricciones mientras desarrolla el código. Entonces, en este escenario también, las FPGA tienen ventaja.
Sin embargo, en el caso de los microcontroladores, el procesador cambia de un código a otro para lograr cierto nivel de paralelismo. Le resultará más fácil escribir códigos en microcontroladores que en FPGA. La capacidad de procesamiento paralelo de los FPGA le permite controlar las interrupciones de manera eficaz mediante el uso de máquinas de estado finito (FSM).
En el caso de los microcontroladores, debe tener en cuenta el tiempo que tarda ISR en resolver una interrupción. Puede volver a cablear un FPGA fácilmente con solo reprogramarlo. La configuración en un FPGA se carga en las celdas lógicas configurables cuando se enciende la energía.
No es necesario realizar ningún cambio en el hardware para reprogramar la FPGA. Los FPGA son adecuados para el procesamiento de datos en paralelo a alta velocidad y vienen con un alto grado de personalización. Sin embargo, también tienen los inconvenientes del funcionamiento del prototipo y la complejidad de la configuración. Entonces, los FPGA se pueden elegir con estas ventajas sobre los microcontroladores. Comencemos la programación FPGA y enfaticemos