Un circuito integrado de lógica programable ( FPGA , en inglés programmable l ógic d evice , PLD ) es un componente electrónico ( circuito integrado ) utilizado para crear circuitos electrónicos digitales configurables . A diferencia de los circuitos digitales convencionales , la lógica de la FPGA no se determina durante la fabricación, sino que se establece a través de la programación ( diseño ). El programador y el IDE se utilizan para programar(entorno de depuración) que le permiten especificar la estructura deseada de un dispositivo digital en forma de un diagrama de circuito o un programa en lenguajes especiales de descripción de hardware ( Verilog , VHDL , AHDL , y otros). Una alternativa a los FPGA son:
Algunos fabricantes ofrecen procesadores de software para sus FPGA que pueden modificarse para una tarea específica y luego integrarse en la FPGA. De este modo:
FPGA se usa ampliamente para construir dispositivos digitales de diversa complejidad y capacidades , por ejemplo:
En 1970, Texas Instruments (en lo sucesivo, "TI") desarrolló circuitos integrados enmascarados (es decir, programables mediante una máscara, en inglés mask-programmable ) (en lo sucesivo, IC) basados en la ROM asociativa (ROAM) de IBM . Este chip se llamó TMS2000 y se programó alternando capas de metal durante el proceso de fabricación del circuito integrado . El TMS2000 tenía hasta 17 entradas y 18 salidas con 8 flip-flops JK como memoria. Para estos dispositivos, TI acuñó el término PLA . matriz lógica programable - matriz lógica programable.
PAL ( lógica de matriz programable ) es una matriz programable (matriz) de lógica. En la URSS, PLA y PLM no diferían y fueron designados como PLA ( matriz lógica programable ) . La diferencia entre PLA y PLM es la accesibilidad de programar la estructura interna (matrices).
Las GAL ( general array logic ) son FPGA que tienen una matriz AND programable y una matriz OR fija.
Los CPLD ( ing. dispositivo lógico programable complejo - dispositivos lógicos programables complejos) contienen bloques lógicos programables relativamente grandes - macroceldas conectadas a salidas externas y buses internos. La funcionalidad CPLD está codificada en memoria no volátil , por lo que no es necesario reprogramarlos cuando se encienden. Se puede usar para la expansión de E/S junto a chips grandes o para el preprocesamiento de señales (por ejemplo , controlador de puerto COM , USB , VGA ).
Los FPGA ( matriz de puertas programables en campo ) contienen bloques de suma y multiplicación, que se utilizan ampliamente en el procesamiento de señales (DSP, procesamiento de señales digitales ing . ), así como elementos lógicos (generalmente basados en tablas de conversión - tablas de verdad) y sus bloques de conmutación. . Los FPGA se utilizan normalmente para el procesamiento de señales, tienen más puertas lógicas y tienen una arquitectura más flexible que los CPLD. El programa para el FPGA se almacena en la memoria distribuida, que se puede ejecutar tanto sobre la base de celdas RAM estáticas volátiles (tales microcircuitos son producidos, por ejemplo, por Xilinx y Altera ); en este caso, el programa no se guarda cuando el se pierde el suministro de energía al microcircuito, y en base a celdas de memoria flash no volátiles o puentes antifusibles (dichos microcircuitos son fabricados por Actel y Lattice Semiconductor ) - en estos casos, el programa se guarda cuando se corta la energía. Si el programa se almacena en la memoria volátil , cada vez que se enciende el microcircuito, se debe reconfigurar utilizando el cargador de arranque, que también se puede integrar en la propia FPGA. Una alternativa a las FPGA Las FPGA son los procesadores de señales digitales más lentos. Los FPGA también se utilizan como aceleradores de procesadores universales en supercomputadoras (por ejemplo, la computadora Cray XD1 de Cray , el proyecto RASC de Silicon Graphics ("SGI")).
Tecnologías de procesadores digitales | |||||||||
---|---|---|---|---|---|---|---|---|---|
Arquitectura | |||||||||
Set de instrucciones arquitectura | |||||||||
palabra maquina | |||||||||
Paralelismo |
| ||||||||
Implementaciones | |||||||||
Componentes | |||||||||
Administración de energía |