Spartan-3: Arquitectura Está constituida por los siguientes elementos:
CLBs (Configurable Logic Blocks) IOBs (Input/Output Blocks) Conjunto de conexiones programables que interconectan los bloques Diferentes bloques (Block RAM, DCM, multiplicadores, etc)
Spartan-3: Arquitectura (Gp:) CLBs
Spartan-3: CLB
Spartan-3: Diagrama simplificado de un Slice (Gp:) flip-flops
(Gp:) LUTs
(Gp:) lógica de carry
Spartan-3: Slices dentro del CLB
Celda lógica de una FPGA (Spartan-3) La celda lógica está conformada por tres elementos: LUT (Look-Up Table) de 4 entradas Multiplexor Flip-flop
Celda lógica de una FPGA (Spartan-3) La LUT se implementa con una memoria SDRAM, por lo que se puede usar como: Una LUT de 4 entradas Una memoria de 16×1 bit Un registro de deplazamiento (16 bits)
Lógica combinacional dentro de una FPGA La lógica combinacional se conforma a través de tablas (Look-Up Tables, LUTs) También son denominadas Generadores de funciones (FG: Function Generators) Su capacidad está dada por la cantidad de entradas El retardo a través de ellas es constante
Lógica combinacional dentro de una FPGA Función a implementar Tabla de verdad LUT programada
Multiplexores Son elementos dedicados a proveer interconexión entre slices y LUTs MUXF5 Combina 2 LUTs para formar cualquier función de 5 variables
MUXF6 Combina 2 slices para formar cualquier función de 6 variables
¿Cómo se implementaría una función de 5 variables? LUT LUT (Gp:) MUX
Bloque de entrada / salida (IOB) Soportan flujo bidireccional Salidas configurables como tri-state Resistencias de pull-up y pull-down programables Soportan varios estándares de señales (incluye señales diferenciales) Brinda la posibilidad de registrar tanto entradas como salidas Control Digital de Impedancia (DCI) para matchear con las líneas que llegan a la FPGA
Bloque de entrada / salida (IOB) (Spartan-3)
IOB (Spartan-3)
Conexiones programables (Spartan-3) Líneas de propósito general Líneas largas Líneas directas Tipos de líneas de interconexión: Proporcionan distintas opciones para la interconexión de los distintos elementos de manera flexible y eficiente
Conexiones programables (Spartan-3) Son un conjunto de líneas horizontales y verticales conectadas a una matriz de interconexión (switch matrix) Líneas de propósito general
Conexiones programables (Spartan-3) Son un conjunto de líneas horizontales y verticales conectadas a una matriz de interconexión (switch matrix) Matriz de interconexión (Gp:) Configuración
(Gp:) Cada punto de interconexión está formado por 6 transistores Son interruptores programables
Conexiones programables (Spartan-3) Son líneas que atraviesan la FPGA de arriba abajo y de izquierda a derecha Permiten un fan-out grande Se utilizan para que una señal acceda a un punto distante, con menos retardos que las líneas de propósito general Son un recurso escaso y son dedicadas para señales críticas tales como el reloj o señales de inicialización globales. Líneas largas
Conexiones programables (Spartan-3) Son líneas de conexión directa entre bloques Se utilizan para implementar redes entre los CLBs e IOBs adyacente, de manera eficiente Introducen retardos mínimos Líneas directas
Block RAM (Spartan-3) Esta generación de FPGAs posee bloques de memoria que mediante diferentes configuraciones permiten crear RAMs, ROMs, FIFOs, LUTS grandes, buffers circulares, y registros de desplazamiento. Se encuentran cerca de los multiplicadores para acelerar la implementación de operaciones multiply-accumulate Cuando en vez de usar Block RAMs se utilizan las LUTs se dice que se hace uso de memoria distribuida.
Página anterior | Volver al principio del trabajo | Página siguiente |