(Field Programmable Gate Array)

Slides:



Advertisements
Presentaciones similares
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
Advertisements

Microprocesadores Componentes básicos..
Lección 9 INTRODUCCIÓN A LOS DISPOSITIVOS LÓGICOS PROGRAMABLES
FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.
IMPLEMENTACIÓN DE FUNCIONES
Introducción a los Procesadores Digitales de Señal (DSP)
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
El nivel de la Microprogramación
Electromedicina e Instrumentación Biomédica
Su objetivo es conseguir el rendimiento de una memoria de gran velocidad al costo de una memoria de baja velocidad Los puntos básicos relacionados con.
CURSO: UNIDAD 4: LENGUAJES HDL
Arquitectura del Computador
Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Implementaciones Aritméticas en Dispositivos de Hardware Reconfigurable.
MICRO Y MACRO ARQUITECTURA
Memoria Memoria es el concepto utilizado para identificar aquellos componentes que se usan para guardar datos, instrucciones e información a ser utilizada.
Memorias – Introducción
Alumno: Israel Espinosa Jiménez Matricula: Licenciatura: TIC Asignatura: Arquitectura de Computadoras Cuatrimestre: 4 Página 1 de 9.
BUSES.
1.2 ESTRUCTURA Y FUNCIONAMIENTO DE LA COMPUTADORA
REGISTROS DE DESPLAZAMIENTO
Tipos de memoria RAM.
INTRODUCCIÓN AL DISEÑO SECUENCIAL: CONTADORES Y REGISTROS
Estructura y Tecnología de Ordenadores Noviembre 2004.
EXAMEN CORTO SOBRE FLIP-FLOPS
Ing. Elizabeth Morales COMPUTADOR. Nuevas Tecnologías de la Información y Comunicación EMPLEO DE NTIC´s.
JERARQUIA DE LA MEMORIA
Instalación de Computadoras 1 I
Memorias RAM Características: Son de lectura escritura
 La cuestión de la cantidad es simple, cuanto más memoria haya disponible, más podrá utilizarse. La velocidad óptima para la memoria es la velocidad.
XILINX SPARTAN 3.
Ing. Diego Barragán Guerrero
Diseño de la Unidad de Control Multiciclo: Microprogramación
Introducción Electrónica Digital
Unidad aritmético-lógica
¿Qué unidades conforman el procesador?
Chips Controladores Pequeño circuito electrónico utilizado para realizar una función electrónica especifica. El chips es el que hace posible que la placa.
Lógica Programable Electrónica Digital
“Organización y Arquitectura de Computadores” William Stallings
Sámec Verott; Diego de la Rosa. ¿QUE ES UN CPLD? Es un dispositivo electrónico correspondiente al grupo de dispositivos de lógica programada. Lógica programada..?
INTRODUCCION A LOS PLD’s Departamanto de posgrado ESCOM-IPN Av
Ing. Gabriel Sánchez Suárez
Página 1 09/01/2005 Materia: Tecnología de la Información Curso: Profesora Ariana Rosenthal Tecnología de la Información Profesora Ariana Rosenthal Hardware.
(Field Programmable Gate Array)
1 © UPM-ETSISI Tema 7.-Tecnología de las Estructuras y Subsistemas Lógicos Combinacionales © UPM-ETSISI Tema 7 Tecnología de las Estructuras y Subsistemas.
Tema: Componentes físicos de una computadora
COMPONENTES ELECTRÓNICOS
Tendencias Generales Dotación física Software lógica Más pequeño
Organización del Computador 1
Edición del código Podemos usar casi cualquier cosa Bloc de notas de Windows GNU Emacs VIM Set Edit...
Tema 10 Subsistema de memoria de un computador.
Elaboración de algoritmos usando lógica de programación
COMPONENTES DEL PC LEONARDO OLIVARES VILLA MATEO CARDONA ARENAS.
Contenido Los puntos 9.7 y 9.8 no se dan 9.1. Revisión del concepto de máquina secuencial. Taxonomía Temporización en los circuitos lógicos síncronos.
Mónica Quintana Pineda
ELEMENTOS DE UN COMPUTADOR
     Jerarquía de memoria.
PICOBLAZE RESUMEN.
RESUMEN: Softmicro de 8 bits Xilinx
Alumno: Gerardo Mario Valdés Ortega
Hardware: Evolución de los ordenadores
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
D ICCIONARIO VIRTUAL Daniela Sánchez 8vo grado sección “E”
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
SISTEMAS DE INFORMACIÓN TECNOLOGÍAS DE LOS SISTEMAS DE INFORMACIÓN Y SOPORTES LÓGICOS DE INFORMACIÓN Ing. Rodolfo Spagnuolo.
Gestión de Memoria – Parte 2
 Software  Humanware  Hardware Conformado por.
INFORMÁTICA BÁSICA Está compuesto por periféricos de entrada/salida, almacenamiento y usuarios interrelacionados con el propósito de satisfacer.
Diseño de CIs I Capítulo 4 Estilos de diseño y costes asociados.
Tecnologías y Arquitecturas de SE
Organización del Computador 1 Lógica Digital 2 Circuitos y memorias.
Transcripción de la presentación:

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

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

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

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

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

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

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

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

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

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

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

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

Empresas fabricantes de FPGAs Sistemas Digitales - FIUBA

Empresas fabricantes de FPGAs USD 15.08 B USD 11.41 B USD 3.23 B USD 502.25 M USD 79.79 M Sistemas Digitales - FIUBA

Diferentes familias de FPGAs ALTERA XILINX Sistemas Digitales - FIUBA

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

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

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

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

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

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

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

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

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

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

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

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

¿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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

FPGA’s Mapeo de pines Sistemas Digitales - FIUBA

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

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

FPGA’s FIN Sistemas Digitales - FIUBA