La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

(Field Programmable Gate Array)

Presentaciones similares


Presentación del tema: "(Field Programmable Gate Array)"— Transcripción de la presentación:

1 (Field Programmable Gate Array)
FPGA (Field Programmable Gate Array)

2 FPGA’s Qué es una FPGA? Es un dispositivo semiconductor conformado por bloques de lógica, cuya interconexión y funcionalidad puede ser configurada luego de su fabricación Sistemas Digitales - FIUBA

3 Qué es una FPGA? Ross Freeman y Bernard Vonderschmitt, co-fundadores
FPGA’s Qué es una FPGA? Ross Freeman y Bernard Vonderschmitt, co-fundadores de Xilinx, fueron quienes crearon este dispositivo en 1985, un año después de fundar la empresa Sistemas Digitales - FIUBA

4 Antecesores de las FPGAs
PLA (Programmable Logic Array) PAL (Programmable Array Logic) GAL (Gate Array Logic) CPLD (Complex Programmable Logic Device) FPGA (Field Programmable Gate Array) Sistemas Digitales - FIUBA

5 Ventajas de las FPGAs Prototipado rápido Time to market corto
Costo más bajo asociado a NRE (ingeniería no recurrente) Capacidad para reconfiguración en campo Ciclo de vida largo (reduce el riesgo de obsolescencia) Flexibilidad Posibilidad de reconfiguración del hardware sin necesidad de cambio en la placa madre del diseño que la contiene Procesamiento en paralelo Sistemas Digitales - FIUBA

6 Aplicaciones de las FPGAs
Comunicaciones Industria aeroespacial Procesamiento de imagen/video de alta resolución Procesamiento digital de señales Prototipado de ASICs Switches y Routers Amplificadores Lock-in Equipos médicos (Resonadores magnéticos) Sistemas Digitales - FIUBA

7 Clasificación por tecnología de implementación
FPGA’s Clasificación por tecnología de implementación SRAM: La configuración de las celdas lógicas se almacena una memoria estática. Volátil. SRAM con flash interna: Similar a la anterior, salvo que contiene una memoria flash interna. Elimina la necesidad de una flash externa Flash: Usa tecnología flash para el almacenamiento de la configuración. No volatil. Antifuse: Inicialmente no conducen corriente. Al configurarla se cierran los contactos. Sólo pueden configurarse una vez. Sistemas Digitales - FIUBA

8 Tolerancia a la radiación
FPGA’s Clasificación por tecnología de implementación Tecnología Característica SRAM Antifuse Flash Reprogramable Si No Memoria externa Velocidad Más lenta Mejor Potencia Peor Segunda mejor Densidad Media Tolerancia a la radiación Sistemas Digitales - FIUBA

9 Clasificación por tecnología de implementación
FPGA’s Clasificación por tecnología de implementación Ejemplos de las distintas tecnologías SRAM: la mayoría de los chips de las familias Virtex y Spartan de la empresa Xilinx, y las Stratix y Cyclone de Altera Sistemas Digitales - FIUBA

10 Clasificación por tecnología de implementación
FPGA’s Clasificación por tecnología de implementación Ejemplos de las distintas tecnologías SRAM con flash interna: la familia Spartan-3AN de Xilinx, y la familia LatticeXP de Lattice Sistemas Digitales - FIUBA

11 Clasificación por tecnología de implementación
FPGA’s Clasificación por tecnología de implementación Ejemplos de las distintas tecnologías Flash: Igloo y ProASIC3 de la empresa Actel (Microsemi) Sistemas Digitales - FIUBA

12 Clasificación por tecnología de implementación
FPGA’s Clasificación por tecnología de implementación Ejemplos de las distintas tecnologías Antifuse: Axcelerator de la empresa Actel (Microsemi) Sistemas Digitales - FIUBA

13 Empresas fabricantes de FPGAs
Sistemas Digitales - FIUBA

14 Empresas fabricantes de FPGAs
USD B USD B USD 3.23 B USD M USD M Sistemas Digitales - FIUBA

15 Diferentes familias de FPGAs
ALTERA XILINX Sistemas Digitales - FIUBA

16 FPGA’s Generación Spartan-3 - Incluye las familias Spartan-3, Spartan-3E y Spartan-3A (Spartan-3A, Spartan-3AN, Spartan-3A DSP) - Dispositivos de la empresa Xilinx - Esta generación de FPGAs está orientada a necesidades de alto volumen, sensibles a la variable costo Sistemas Digitales - FIUBA

17 Características de la generación Spartan-3
FPGA’s Características de la generación Spartan-3 Sistemas Digitales - FIUBA

18 Spartan-3: Arquitectura
FPGA’s 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) Sistemas Digitales - FIUBA

19 Spartan-3: Arquitectura
FPGA’s Spartan-3: Arquitectura CLBs Sistemas Digitales - FIUBA

20 FPGA’s Spartan-3: CLB Sistemas Digitales - FIUBA

21 Spartan-3: Diagrama simplificado de un Slice
FPGA’s Spartan-3: Diagrama simplificado de un Slice lógica de carry LUTs flip-flops Sistemas Digitales - FIUBA

22 Spartan-3: Slices dentro del CLB
FPGA’s Spartan-3: Slices dentro del CLB Sistemas Digitales - FIUBA

23 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 Sistemas Digitales - FIUBA

24 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 16x1 bit Un registro de deplazamiento (16 bits) Sistemas Digitales - FIUBA

25 Lógica combinacional dentro de una FPGA
FPGA’s 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 Sistemas Digitales - FIUBA

26 Lógica combinacional dentro de una FPGA
FPGA’s Lógica combinacional dentro de una FPGA Función a implementar Tabla de verdad LUT programada Sistemas Digitales - FIUBA

27 FPGA’s 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 Sistemas Digitales - FIUBA

28 ¿Cómo se implementaría una
FPGA’s ¿Cómo se implementaría una función de 5 variables? X4 X3 X2 X1 X0 Y 1 LUT MUX LUT Sistemas Digitales - FIUBA

29 Bloque de entrada / salida (IOB)
FPGA’s 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 Sistemas Digitales - FIUBA

30 Bloque de entrada / salida (IOB) (Spartan-3)
FPGA’s Bloque de entrada / salida (IOB) (Spartan-3) Sistemas Digitales - FIUBA

31 FPGA’s IOB (Spartan-3) Sistemas Digitales - FIUBA

32 Conexiones programables (Spartan-3)
FPGA’s Conexiones programables (Spartan-3) Tipos de líneas de interconexión: Líneas de propósito general Líneas largas Líneas directas Proporcionan distintas opciones para la interconexión de los distintos elementos de manera flexible y eficiente Sistemas Digitales - FIUBA

33 Conexiones programables (Spartan-3)
FPGA’s Conexiones programables (Spartan-3) Líneas de propósito general Son un conjunto de líneas horizontales y verticales conectadas a una matriz de interconexión (switch matrix) Sistemas Digitales - FIUBA

34 Conexiones programables (Spartan-3)
FPGA’s Conexiones programables (Spartan-3) Matriz de interconexión Son un conjunto de líneas horizontales y verticales conectadas a una matriz de interconexión (switch matrix) Configuración Cada punto de interconexión está formado por 6 transistores Son interruptores programables Sistemas Digitales - FIUBA

35 Conexiones programables (Spartan-3)
FPGA’s Conexiones programables (Spartan-3) Líneas largas 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. Sistemas Digitales - FIUBA

36 Conexiones programables (Spartan-3)
FPGA’s Conexiones programables (Spartan-3) Líneas directas 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 Sistemas Digitales - FIUBA

37 FPGA’s 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. Sistemas Digitales - FIUBA

38 Spartan-3: Ubicación de la Block RAM
FPGA’s Spartan-3: Ubicación de la Block RAM Sistemas Digitales - FIUBA

39 Spartan-3: Block RAM (config. de cada bloque)
FPGA’s Spartan-3: Block RAM (config. de cada bloque) Tabla extraída de “Spartan-3 Generation FPGA User Guide” Sistemas Digitales - FIUBA

40 Spartan-3: Block RAM total
FPGA’s Spartan-3: Block RAM total Tabla extraída de “Spartan-3 Generation FPGA User Guide” Sistemas Digitales - FIUBA

41 Spartan-3: Block RAM FPGA’s
Imagen extraída de “Spartan-3 Generation FPGA User Guide” Sistemas Digitales - FIUBA

42 FPGA’s Spartan-3: Block RAM Primitivas Sistemas Digitales - FIUBA

43 Spartan-3: Multiplicador
FPGA’s Spartan-3: Multiplicador Cuenta con 20 multiplicadores embebidos de 18 bits de operando y 36 bits de salida. Se encuentran al lado de los bloques de memoria Sistemas Digitales - FIUBA

44 Spartan-3: Multiplicador
FPGA’s Spartan-3: Multiplicador Sistemas Digitales - FIUBA

45 DCM (Digital Clock Manager) (Spartan-3)
FPGA’s DCM (Digital Clock Manager) (Spartan-3) Función Eliminación del desfasaje que se genera en el reloj por retardos en el ruteo (skew). Asegura que el flanco (ascendente o descendente) llega al mismo tiempo a todas las entradas de reloj de flip-flops Síntesis de frecuencias. A partir de la señal de reloj de entrada puede generar diferentes relojes, multiplicando por M y dividiendo por N (siendo M = 2 a 32 y N = 1 a 32) Corrimiento de fase. Puede implementar desfasajes controlados de la señal de reloj Sistemas Digitales - FIUBA

46 DCM (Digital Clock Manager) (Spartan-3)
FPGA’s DCM (Digital Clock Manager) (Spartan-3) Sistemas Digitales - FIUBA

47 DCM (Digital Clock Manager) (Spartan-3)
FPGA’s DCM (Digital Clock Manager) (Spartan-3) Sistemas Digitales - FIUBA

48 DCM (Digital Clock Manager) (Spartan-3)
FPGA’s DCM (Digital Clock Manager) (Spartan-3) Sistemas Digitales - FIUBA

49 DCM (Digital Clock Manager) (Spartan-3)
FPGA’s DCM (Digital Clock Manager) (Spartan-3) Sistemas Digitales - FIUBA

50 FPGA’s Spartan-3E: Recursos La siguiente tabla muestra los diferentes recursos disponibles en una fpga Spartan-3E Cuadro extraído de “Spartan-3 Generation FPGA User Guide” Sistemas Digitales - FIUBA

51 Spartan-3E: Pines de Entrada / Salida
FPGA’s Spartan-3E: Pines de Entrada / Salida Cuadro extraído de “Spartan-3 Generation FPGA User Guide” Nota: Los valores entre paréntesis indican la cantidad de pines de sólo lectura Sistemas Digitales - FIUBA

52 Evolución de la tecnología FPGA
FPGA’s Evolución de la tecnología FPGA Xilinx Sistemas Digitales - FIUBA

53 Evolución de la tecnología FPGA
FPGA’s Evolución de la tecnología FPGA Altera Sistemas Digitales - FIUBA

54 Evolución de la tecnología FPGA
FPGA’s Evolución de la tecnología FPGA Altera Sistemas Digitales - FIUBA

55 FPGA’s Tendencias Arquitecturas mixtas, orientadas a aplicaciones de características diversas (lógica, procesadores soft/hard, DSP) Enlaces serie de alta velocidad (28 Gb/s) LUTs con mayor cantidad de entradas (6) Reconfiguración dinámica (on the fly) Dispositivos muy potentes que soportan entradas analógicas Aumento en la escala de integración Sistemas Digitales - FIUBA

56 Flujo de diseño FPGA’s Diseño Codificación Simulación Síntesis
Transformación de la descripción en un circuito en base a primitivas Diseño del circuito a implementar en la FPGA Codificación en HDL Simulación del código HDL Diseño Codificación Simulación Síntesis Mapeo, ruteo y ubicación Simulación Generación del bitstream Configuración de la FPGA Asignación de cada primitiva a un lugar físico y utilización de los recursos de interconexión para conectar los componentes entre sí Simulación luego del PAR Generación del archivo de configuración (.bit) Se configura la FPGA o una memoria auxiliar Sistemas Digitales - FIUBA

57 Visualización de un proyecto en la
FPGA’s Visualización de un proyecto en la herramienta de Xilinx Sistemas Digitales - FIUBA

58 FPGA’s Mapeo de pines Sistemas Digitales - FIUBA

59 FPGA’s Kit FPGA: Nexys 2 Sistemas Digitales - FIUBA

60 FPGA’s Kit FPGA: Nexys 2 Sistemas Digitales - FIUBA

61 FPGA’s FIN Sistemas Digitales - FIUBA


Descargar ppt "(Field Programmable Gate Array)"

Presentaciones similares


Anuncios Google