Una matriz de puertas programables en campo (FPGA) es un chip lógico de computadora que no está cableado por el fabricante. Esto significa que se puede programar después de la compra. Hay miles de opciones de personalización disponibles en una FPGA típica. Estas entidades programables son las puertas, también conocidas como bloques lógicos o archivos de tabla de búsqueda (LUT).
Como el número de bloques lógicos en un FPGA es demasiado elevado para crearlos manualmente, se generan mediante un programa de software. Los programadores pueden elegir entre una variedad de categorías para personalizarlas para un sistema en particular. Pueden usar sus propios programas para interactuar con el programa en el chip FPGA y realizar los cambios.
Al programar una FPGA, se pueden usar varios elementos interconectados para configurar bloques lógicos según sea necesario. El contenido de las LUT varía según la forma en que se hayan programado. Algunos realizan funciones únicas, mientras que otros son capaces de una gama de tareas más compleja. Algunas FPGA también pueden contener elementos analógicos y digitales. Estos chips a menudo también tienen la capacidad de permitir que estos elementos funcionen juntos.
Las LUT están conectadas por una red de cables. Dependiendo de la función requerida, los cables pueden pasar por los archivos en línea recta o en una red más compleja de conexiones diagonales. Una LUT se puede conectar a varios otros archivos a través de múltiples conexiones de cables. Los archivos también pueden estar conectados mediante una serie de cables denominados acarreos o cadenas de enrutamiento dedicadas que ayudan a mover solo ciertos tipos de información para que pueda procesarse más rápidamente.
Para programar una función lógica con un FPGA, primero debe describirse en archivos de texto o visuales. Luego, la información se descarga en el software que viene con la FPGA. Una vez que se completa ese proceso, la función suele estar operativa.
Aunque un FPGA es más caro que un chip lógico cableado, puede ayudar a ahorrar recursos ya que los usuarios pueden programar para adaptarse a sus requisitos específicos. Esto puede reducir la necesidad de trabajo adicional y el tiempo adicional necesario para acomodar un chip que no está hecho a medida. Un chip programable también puede ser más fácil de usar, ya que sus funciones de usuario, como los menús, se pueden personalizar.
Los circuitos de matriz de puertas programables en campo son una alternativa al circuito integrado específico de la aplicación (ASIC). Estos circuitos están cableados antes de salir de fábrica. Son componentes de nivel de placa, a diferencia de los elementos de nivel de puerta programables en campo.