(Field Programmable Gate Array)

Slides:



Advertisements
Presentaciones similares
FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.
Advertisements

Autor: Sergio García López Director: Francesc Josep Sánchez i Robert
CURSO: UNIDAD 4: LENGUAJES HDL
Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Implementaciones Aritméticas en Dispositivos de Hardware Reconfigurable.
Memorias RAM Características: Son de lectura escritura
Ing. Diego Barragán Guerrero
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..?
(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.
Alumno: Gerardo Mario Valdés Ortega
(Field Programmable Gate Array)
PICOBLAZE (Microcontrolador Embebido de 8 bits). Picoblaze Es un microcontrolador de 8 bits, muy simple, orientado inicialmente para FPGAs de la familia.
Organización del Computador 1 Lógica Digital 2 Circuitos y memorias.
EL-4005 Principios de Comunicaciones: Introducción a las Radios Definidas por Software (SDR) Javier Rojas Catalán Cesar Azurdia.
UART Universal Asynchronous Receiver/Transmitter.
Programmable System-on-Chip 3. Familia PSoC3 Evolución de la familia PSoC1 incluye internamente un procesador de 8 bits M3 de rendimiento optimizado.
CONTROLADORES LOGICOS PROGRAMABLES (PLC) Estructura de un automatismo.
BOARD O TARJETA MADRE. EXPOSICION DE INFORMATICA TEMA 1: BOARD TIPOS DE PROCESADOR BUS PUERTOS MEMORIA NUEVAS TECNOLOGIAS.
Capitulo I Introducción
ARQUITECTURA BÁSICA DE UN ORDENADOR
Multiplexación y encriptación
Componentes electrónicos análogos y digitales
IDENTIFICACIÓN Y CARACTERÍSTICAS DE MEMORIA RAM Y ROM
CAPITULO I: CIRCUITOS DE CORRIENTE SIMPLE ING. JORGE V. OCHOA PAREJA.
Red Digital De Servicios Integrados.
ARQUITECTURA DE COMPUTADORES
Módulo 9 Automatización industrial Unidad 1 Introducción a los autómatas programables. Clase 03: Software de un Relé programable.. Nivel: IV medio Especialidad:
Capitulo I Introducción
EQUIPO No 3.
Si hayas un camino sin obstáculos, quizás no te lleve a ninguna parte
Titulación: Grado en Ingeniería de Computadores
COMPUTADORA Una computadora es una colección de circuitos integrados  y otros componentes relacionados que puede ejecutar con exactitud, rapidez y de.
HARDWARE POR: JOEL CASTAÑEDA 1ºA.
Direccionamiento de puerto E/S mapeado en memoria
Organización del Computador
☺HARDWAR.
JAVIER ANDRES MARTÀ MARTINEZ CODIGO 37772
PICOBLAZE RESUMEN.
Tema 2. Sistemas Secuenciales básicos
Hardware: Evolución de los ordenadores
PLDs Dispositivos lógicos programables
TECNOLOGÍA DE EQUIPOS INFORMÁTICOS
FLIP - FLOPS.
CIRCUITOS SECUENCIALES
REGISTROS.
Tema 5: Reconfiguración en FPGAs SRAM.
Diseño de Circuitos Integrados
Introducción a las Ciencias de la Computación
Laboratorio de Circuitos y Sistemas Electrónicos (LCSE) Curso
1 Introducción Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.
Introducción a los Sistemas Digitales Tema 1 1. ¿Qué sabrás al final del tema? n Diferencia entre analógico y digital n Cómo se usan niveles de tensión.
 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.
ELECTROTECNIA INDUSTRIAL.
Modelación y simulación Ingeniería de Sistemas Mauricio Hincapié PH.D – David Alberto García Msc.
COMPONENTES FISICOS INTERNOS DEL CPU
PICOBLAZE RESUMEN.
Empecemos por el principio
FUNDAMENTOS DE PROGRAMACIÓN. INTRODUCCIÓN  Conceptos: Informática, Ordenador, Programa, Dato, Bit, Byte, Hardware, Software, Lenguaje de Programación,
Capitulo I Introducción
Sistemas Secuenciales Electrónica Digital Electrónica Básica José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC.
Hardware 1 Software 23 Partes Sistema Computacional 4 Sistema Computacional.
PRACTICAS DE LABORATORIO CON LA ESTACION DE INGENIERIA NI ELVIS III.
Arquitectura de Computadores de Computadores. Organización y Arquitectura La Arquitectura: se refiere a los atributos que tienen un impacto directo en.
Memoria Principal. Memoria primaria (MP), memoria principal, memoria central o memoria interna es la memoria de la computadora donde se almacenan temporalmente.
RESPUESTA EN FRECUENCIA DE LOS FILTROS ACTIVOS FERNÁNDEZ PIZARRO AARON SMITH SANDOVAL ANCCO LUIS ENRIQUE VILCA VILLANUEVA JOEL.
MEMORIA  Es un conjunto de celdas de almacenamiento junto a circuitos asociados que tienen como fin leer y/o almacenar información digital  La memoria.
Sistemas Secuenciales Electrónica Digital. Combinacional: las salidas dependen de las entradas Secuencial: las salidas dependen de las entradas y de valores.
Características del Fieldbus H1 H2 HSC. FF se diferencia de cualquier otro protocolo de comunicaciones, porque en vez de estar pensado simplemente como.
ARQUITECTURA DE UN MICROPROCESADOR. ESTRUCTURA BÁSICA DE UN SISTEMA MICROPROGRAMABLE A. Hardware CPU (chip microprocesador): es un circuito integrado.
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