Arquitectura FPGA - ELECTRÓNICA, SOFTWARE, CONTROL Y AUTOMATIZACIÓN

Vaya al Contenido

Arquitectura FPGA

BLOG > Sistemas Embebidos
ARQUITECTURA FPGA - ELECTRÓNICA PROGRAMABLE
Las FPGAs (Field Programmable Gate Arrays) y CPLD son dispositivos semiconductores reprogramables, basados en matrices de bloques de lógica configurables (conocidos como CLBs) cuyas conexiones se pueden modificar según las necesidades del diseñador.
Esta capacidad de reprogramación, unida a un proceso de desarrollo y fabricación menos costoso y largo que el de otros dispositivos otorga a las FPGAs una posición privilegiada para una gran variedad de aplicaciones frente a otros circuitos integrados.

En la actualidad las FPGAs está implantada en muchos sectores de la industria, tales como procesamiento digital de señales, sistemas militares, prototipado de la funcionalidad de otros dispositivos electrónicos (por ejemplo un ASIC), etc.

Características de una arquitectura interna de una FPGA:

    • Una matriz de bloques de lógica configurables (CLB): bloques lógicos cuyos parámetros se pueden modificar de forma que presente diferentes funcionalidades. Cada CLB consiste, de forma genérica, en varias tablas de LUTs (look-up tables, o tablas de consulta) cuyas salidas están multiplexadas y unos parámetros de configuración de dicho CLB. El diseño de un CLB varía de un fabricante a otro. En la figura puede verse un CLB de una XC4000 de Xilinx:
    • Una matriz de rutado, encargada de conectar los CLBs entre ellos, y a su vez éstos con las celdas de entrada y salida.
    • Celdas de entrada y salida (IOB): su misión es comunicar la lógica interna de la FPGA con el exterior.




No sólo los bloques de lógica son configurables, sino que tanto la matriz de rutado como las celdas de entrada y salida son programables, otorgándole a las FPGAs de una gran flexibilidad a la hora de ajustarse a las especificaciones de cada diseño.

CIRCUITOS ELECTRÓNICOS INTEGRADOS
Existen en el mercado una gran variedad de circuitos integrados, que abarcan desde dispositivos personalizados para cada aplicación a otros que se pueden programar en función de las necesidades de cada momento. En la siguiente gráfica puede observarse un esquema básico de los diferentes tipos de circuitos integrados.





Las FPGAs son un producto intermedio entre los dispositivos de lógica programable (PLD), y los circuitos integrados de aplicación específica (ASIC).
Los PLDs surgieron por la necesidad de disponer de circuitos cuya funcionalidad no estuviera definida de forma estática, como un simple conjunto de puertas lógicas conectadas entre sí. Esta funcionalidad se modifica cuando se programa el dispositivo.
Los primeros dispositivos PLD fueron las matrices de lógica programable (PLA), que aparecieron en los años 70. Los PLAs eran chips programables que contenían una serie de puertas AND y OR conectadas por unas matrices de conmutación. Presentaban la desventaja de que podían ser programados una única vez, presentando desde el momento de su programación la misma funcionalidad.



Debido a esto aparecieron las matrices de lógica genérica (GAL), cuya principal diferencia con los PLAs es que pueden ser reprogramadas. Sin embargo, al igual que ocurre con aquellos, las GALs presentan una cantidad muy limitada de puertas lógicas.
Posteriormente aparecieron unos PLDs más complejos, con el nombre de CPLDs, cuyo número de puertas lógicas suele ascender a miles de éstas.
Finalmente, las FPGAs son dispositivos de cientos de miles, e incluso millones, de puertas lógicas. Además de la lógica, también presente en los elementos anteriormente descritos, presentan recursos especiales para implementar de forma eficiente funciones aritméticas (comparadores, sumadores, contadores, etc.), mientras que los CPLD carecen de éstos. Están basadas en memoria RAM, lo cual implica que deben ser configuradas cada vez que se van a utilizar, y necesitan lógica adicional para inicializarlas. Las FPGAs son dispositivos muy flexibles, que pueden trabajar a altas frecuencias y con capacidad de procesamiento en paralelo.
Por su parte, los ASICs son circuitos diseñados de forma particular para cada aplicación. Debido a esta personalización del dispositivo, presentan unos costes fijos mayores que una FPGA, el proceso de fabricación es más largo, etc. Son económicamente viables únicamente para producción a gran escala.
Los microcontroladores son circuitos integrados diseñados para ejecutar programas almacenados en memoria. Incluye CPU, RAM, ROM, puertos de entrada/salida, temporizadores, etc.  A diferencia de los microprocesadores, que son dispositivos de propósito general, los microcontroladores están más enfocado a realizar un tipo de tarea concreto para la cual están más optimizados. Suelen ser de baja potencia y bajo coste. Existe una amplia variedad de microcontroladores.

Contacto
Explora

© 2018 Genera Soluciones Tecnológicas, S.L.
Todos los derechos reservados.
Aviso Legal

Síguenos
Regreso al contenido