FPGAs

 
 

 

 
          

Los arreglos de compuertas programables (FPGAs), son dispositivos semiconductores principalmente estructurados por celdas lógicas interconectadas mediante una matriz de switches programables, Figura 1. Típicamente, cada una de estas celdas es capaz de llevar a cabo tareas combinatorias o secuenciales, de manera que cualquier diseño puede ser implementado mediante la descripción funcional de cada celda lógica y la selección de los switches adecuados que permiten la interconexión entre los elementos involucrados.

Actualmente, los FPGAs comerciales emplean alguno de los siguientes elementos para la fabricación de las celdas lógicas:

  • Pares de transistores
  • Compuertas lógicas NAND o XOR de dos entradas
  • Multiplexores
  • Look-up tables (LUTs)

 

Existen tres tecnologías mayormente difundidas para la programación de los switches que interconectan cada celda lógica:

  • Memoria Estática de Acceso Aleatorio (SRAM), donde el proceso de conmutación lo realiza un transistor de paso, controlado por un bit de estado, almacenado en la memoria.
  • Memoria de sólo lectura borrable y programable (EPROM), donde el proceso de conmutación puede anularse al aplicar cargas eléctricas.
  • Antifusible, donde al programar el dispositivo, se forman rutas de baja resistencia.

NOTA: Cabe mencionar que, sólo será cubierta la descripción de la tecnología SRAM, debido a que el modelo propuesto en la sección de aplicaciones, está basado en un FPGA de este tipo.

 

Tecnología SRAM.

La funcionalidad de cada celda lógica de tecnología SRAM, es controlada mediante compuertas de paso que actúan como elementos de conmutación para formar rutas de señalización, Figura 2 (a). Cuando se tiene almacenado en la celda lógica un nivel de voltaje alto (valor lógico “1”), la compuerta de paso actúa como corto circuito, permitiendo la interconexión de dos segmentos independientes. La salida de cada multiplexor, es controlada mediante la interconexión de celdas lógicas y líneas de entrada del elemento en cuestión, de modo tal, que a la salida del multiplexor se tenga sólo una de las entradas del mismo, Figura 2 (b).

Aun cuando la tecnología SRAM usada en los FPGAs proporciona grandes ventajas como la reprogramación iterativa y el aprovechamiento de los recursos libres para conmutar entre aplicaciones, su mayor desventaja es el área necesaria para implementar cada celda lógica; cuando menos cinco transistores son necesarios para su funcionamiento y un transistor adicional como elemento de conmutación.

NOTA: Particularmente, el FPGA utilizado para la realización de las prácticas, pertenece a la familia Spartan3 del fabricante Xilinx, el cual cuenta con bloques lógicos configurables (CLBs) interconectados mediante recursos versátiles de enrutamiento jerarquizado, Figura 3.

Cada CLB puede ser programado para realizar una gran variedad de operaciones lógicas e incluso funcionar como elemento de almacenamiento de datos.

Los principales elementos que caracterizan a esta familia de dispositivos se describen a continuación:

  • Los bloques de entrada/salida (IOBs), son los encargados del control del flujo de datos hacia las terminales de entrada/salida.
  • Los Bloques RAM, proporcionan espacio para el almacenamiento de datos, permitiendo ciclos de lectura y escritura simultáneos bajo la modalidad de memoria de puerto dual.
  • Los Bloques Multiplicadores, aceptan como argumentos números binarios de 18 bits.
  • El Administrador de Reloj Digital (DCM), resuelve problemas comunes de retraso, desfase, multiplicación y división de la señal de reloj principal (reloj maestro).

Se recomienda al amable lector que continúe en cualquiera de las siguientes secciones:
Memorias Asociativas: Alfa-Beta y Morfológicas, Clasificadores de Patrones: Asociativos y k-NN o Redes Neuronales: Alfa-Beta y Morfológicas.

          
 

 

 

[INICIO] [INVESTIGACIÓN] [TRABAJOS] [CONTACTO] [VÍNCULOS] [MAPA DE SITIO]

 

webmaster@aldape.org.mx