Field-programmable gate array

Una matriz de puertas programables en campo (a menudo abreviada como FPGA) es un componente electrónico utilizado para construir circuitos digitales reconfigurables. Esto significa que una FPGA es diferente de una puerta lógica, porque una puerta lógica tiene una función fija. En cambio, una FPGA tiene una función indefinida en el momento de su fabricación. Antes de que la FPGA pueda ser utilizada en un circuito, debe ser programada, es decir, reconfigurada.

Los FPGA son circuitos integrados de la categoría de dispositivos lógicos programables o PLD. Los FPGA son los de mayor rendimiento, más flexibles y también los más caros de los tipos de PLD. Una desventaja de los FPGA en comparación con otros PLD es que no recuerdan su diseño cuando se les quita la alimentación. Por lo tanto, una FPGA necesita un chip de memoria de configuración independiente que mantenga el diseño de la FPGA. Cuando se devuelve la alimentación a la FPGA, una parte fija de la FPGA lee la configuración del chip de memoria de configuración. Una vez que la FPGA está configurada, podrá realizar la función que le fue asignada por el diseño.

Una FPGA es diferente de un microprocesador o un microcontrolador. Una FPGA en su forma básica no es capaz de ejecutar software. Sólo cuando la FPGA recibe una configuración que contiene una arquitectura de procesador tiene la capacidad de ejecutar software.

Los fabricantes de FPGAs proporcionan software de ingeniería para Windows y a veces también para Linux, para desarrollar diseños para FPGAs. El diseño suele escribirse en archivos informáticos legibles para el ser humano, llamados Lenguaje de Descripción de Hardware (HDL). Los más populares son VHDL y Verilog. Los lenguajes de descripción de hardware son muy comparables a los lenguajes de programación. Pero la intención de los HDL es diseñar circuitos lógicos digitales, mientras que los lenguajes de programación diseñan software.

El software de ingeniería de la FPGA tiene que traducir el código HDL abstracto en los elementos lógicos disponibles en la FPGA seleccionada. Esto se denomina síntesis lógica. A continuación, se realiza un proceso de place and route para colocar los elementos lógicos en la FPGA. El resultado es un archivo de bits que puede programarse en la FPGA o en la memoria de configuración. Esto se suele hacer con un programador USB conectado al puerto JTAG de la FPGA.

Dado que la FPGA es un circuito integrado, un fabricante de FPGA puede decidir añadir otros componentes de circuitos integrados de uso común. Estas piezas fijas se denominan núcleos. Se trata, por ejemplo, de controladores Ethernet o incluso de una arquitectura de procesador completa. Para diferentes segmentos de mercado, como defensa, medicina, comunicaciones y robótica, el fabricante de FPGA intenta añadir el conjunto más valioso de estos núcleos adicionales.

Zoom


Estructura interna

Las FPGAs se construyen generalmente sobre elementos lógicos programables e interconexiones programables. Un bloque de construcción de elementos lógicos es una tabla de consulta programable (LUT). Una LUT puede programarse para dar salida a cualquier valor dados los valores de entrada. De este modo, una LUT puede programarse para ser cualquier tipo de lógica con el mismo número de entradas y salidas. Por ejemplo, una LUT de 2 entradas y 1 salida puede programarse para emular la lógica de una AND, OR, NAND, NOR, XOR de 2 entradas, etc. La salida de esta LUT puede guardarse mediante un registro o conectarse a la entrada de otras LUTs. Utilizando un mux programable, la FPGA puede ser programada para elegir la salida registrada o no registrada. Esta combinación de una LUT, un registro y un mux es la estructura general de un elemento lógico.

Para conectar estos elementos lógicos entre sí, se utilizan transistores de paso. El transistor puede ser programado para conectar o no una señal, dando así a la FPGA la capacidad de conectar muy específicamente los elementos lógicos entre sí. Por ejemplo, si la salida de un elemento lógico va a alimentar la entrada de otro, el transistor de paso puede programarse para conectar estos dos cables entre sí y hacer coincidir la lógica especificada. Entre los elementos lógicos y los transistores de paso, un compilador puede tomar una descripción de hardware de un HDL, crear la lógica para los elementos lógicos y conectarlos entre sí utilizando los transistores de paso.

Preguntas y respuestas

P: ¿Qué es una matriz de puertas programable sobre el terreno (FPGA)?


R: Una matriz de puertas programable sobre el terreno (FPGA) es un componente electrónico utilizado para construir circuitos digitales reconfigurables. Tiene una función indefinida en el momento de su fabricación y debe programarse, o reconfigurarse, antes de que pueda utilizarse en un circuito.

P: ¿En qué se diferencia una FPGA de una puerta lógica?


R: Un FPGA se diferencia de una puerta lógica porque una puerta lógica tiene una función fija, mientras que un FPGA tiene una función indefinida en el momento de su fabricación.

P: ¿Qué tipo de circuito integrado es una FPGA?


R: Un FPGA es un circuito integrado de la categoría de los dispositivos lógicos programables o PLD.

P: ¿Cuáles son los inconvenientes de utilizar FPGA en comparación con otros PLD?


R: Uno de los inconvenientes de utilizar FPGAs en comparación con otros PLDs es que no recuerdan su diseño cuando se les quita la alimentación, por lo que necesitan un chip de memoria de configuración independiente que mantenga el diseño. También son más caros que otros tipos de PLD.

P: ¿Cómo se programa una FPGA?


R: Para programar una FPGA, los ingenieros utilizan software de ingeniería para Windows o Linux para desarrollar diseños escritos en lenguajes de descripción de hardware como VHDL y Verilog. A continuación, el software traduce este código a los elementos lógicos disponibles en las FGPA seleccionadas y los posiciona con procesos de colocar y encaminar, lo que crea un archivo de bits que puede programarse en la memoria de configuración o directamente en la propia FGPA con un programador USB conectado a su puerto JTAG.

P: ¿Los microprocesadores y los microcontroladores son similares a los FGPA?


R: No, los microprocesadores y microcontroladores son diferentes de los FGPA porque en su forma básica no pueden ejecutar software; sólo cuando se les da una configuración que contenga la arquitectura del procesador tienen esta capacidad.

AlegsaOnline.com - 2020 / 2023 - License CC3