SlideShare una empresa de Scribd logo
1 de 61
FPGA
(Field Programmable Gate Array)
FPGA’s
- Es un dispositivo semiconductor conformado por bloques
de lógica, cuya interconexión y funcionalidad puede ser
configurada luego de su fabricación
Qué es una FPGA?
Sistemas Digitales - FIUBA
FPGA’s
- 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
Qué es una FPGA?
Sistemas Digitales - FIUBA
FPGA’s
- PLA (Programmable Logic Array)
- PAL (Programmable Array Logic)
- GAL (Gate Array Logic)
- CPLD (Complex Programmable Logic Device)
- FPGA (Field Programmable Gate Array)
Antecesores de las FPGAs
Sistemas Digitales - FIUBA
FPGA’s
- 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
Ventajas de las FPGAs
Sistemas Digitales - FIUBA
FPGA’s
- 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)
Aplicaciones de las FPGAs
Sistemas Digitales - FIUBA
FPGA’s
Clasificación por tecnología de implementación
Sistemas Digitales - FIUBA
- 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.
FPGA’s
Clasificación por tecnología de implementación
Sistemas Digitales - FIUBA
Tecnología
Característica SRAM Antifuse Flash
Reprogramable Si No Si
Memoria externa Si No No
Velocidad Más lenta Mejor Más lenta
Potencia Peor Segunda mejor Mejor
Densidad Mejor Segunda mejor Media
Tolerancia a la
radiación
Peor Mejor Media
FPGA’s
Clasificación por tecnología de implementación
Sistemas Digitales - FIUBA
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
FPGA’s
Clasificación por tecnología de implementación
Sistemas Digitales - FIUBA
Ejemplos de las distintas tecnologías
SRAM con flash interna: la familia Spartan-3AN de Xilinx, y
la familia LatticeXP de Lattice
FPGA’s
Clasificación por tecnología de implementación
Sistemas Digitales - FIUBA
Ejemplos de las distintas tecnologías
Flash: Igloo y ProASIC3 de la empresa Actel (Microsemi)
FPGA’s
Clasificación por tecnología de implementación
Sistemas Digitales - FIUBA
Antifuse: Axcelerator de la empresa Actel (Microsemi)
Ejemplos de las distintas tecnologías
FPGA’s
Empresas fabricantes de FPGAs
Sistemas Digitales - FIUBA
FPGA’s
Empresas fabricantes de FPGAs
Sistemas Digitales - FIUBA
USD 15.08 B
USD 11.41 B
USD 3.23 B
USD 502.25 M
USD 79.79 M
FPGA’s
Sistemas Digitales - FIUBA
Diferentes familias de FPGAs
ALTERA
XILINX
FPGA’s
- 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
Generación Spartan-3
Sistemas Digitales - FIUBA
FPGA’s
Características de la generación Spartan-3
Sistemas Digitales - FIUBA
Spartan-3: Arquitectura
FPGA’s
Sistemas Digitales - FIUBA
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
CLBs
FPGA’s
Sistemas Digitales - FIUBA
Spartan-3: CLB
FPGA’s
Sistemas Digitales - FIUBA
Spartan-3: Diagrama simplificado de un Slice
FPGA’s
Sistemas Digitales - FIUBA
flip-flops
LUTs
lógica de carry
Spartan-3: Slices dentro del CLB
FPGA’s
Sistemas Digitales - FIUBA
FPGA’s
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
FPGA’s
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)
FPGA’s
Sistemas Digitales - FIUBA
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
FPGA’s
Sistemas Digitales - FIUBA
Lógica combinacional dentro de una FPGA
Función a implementar Tabla de verdad LUT programada
FPGA’s
Sistemas Digitales - FIUBA
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
FPGA’s
Sistemas Digitales - FIUBA
¿Cómo se implementaría una
función de 5 variables?
X4
X3
X2
X1
X0 Y
0 0 0 0 0 0
0 0 0 0 1 1
0 0 0 1 0 1
0 0 0 1 1 1
… … … … …
0 1 1 1 0 0
0 1 1 1 1 1
1 0 0 0 0 1
1 0 0 0 1 1
1 0 0 1 0 0
1 0 0 1 1 0
… … … … …
1 1 1 1 0 0
1 1 1 1 1 1
LUT
LUT
MUX
FPGA’s
Sistemas Digitales - FIUBA
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
FPGA’s
Sistemas Digitales - FIUBA
Bloque de entrada / salida (IOB) (Spartan-3)
FPGA’s
Sistemas Digitales - FIUBA
IOB (Spartan-3)
FPGA’s
Sistemas Digitales - FIUBA
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
FPGA’s
Sistemas Digitales - FIUBA
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
FPGA’s
Sistemas Digitales - FIUBA
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
Configuración
• Cada punto de interconexión
está formado por 6 transistores
• Son interruptores programables
FPGA’s
Sistemas Digitales - FIUBA
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
FPGA’s
Sistemas Digitales - FIUBA
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
FPGA’s
Sistemas Digitales - FIUBA
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.
Spartan-3: Ubicación de la Block RAM
FPGA’s
Sistemas Digitales - FIUBA
Spartan-3: Block RAM (config. de cada bloque)
FPGA’s
Sistemas Digitales - FIUBA
Tabla extraída de “Spartan-3 Generation FPGA User Guide”
Spartan-3: Block RAM total
FPGA’s
Sistemas Digitales - FIUBA
Tabla extraída de “Spartan-3 Generation FPGA User Guide”
Spartan-3: Block RAM
FPGA’s
Sistemas Digitales - FIUBA
Imagen extraída de “Spartan-3 Generation FPGA User Guide”
Spartan-3: Block RAM
FPGA’s
Sistemas Digitales - FIUBA
Primitivas
Spartan-3: Multiplicador
FPGA’s
Sistemas Digitales - FIUBA
• Cuenta con 20 multiplicadores embebidos de 18 bits de
operando y 36 bits de salida.
• Se encuentran al lado de los bloques de memoria
Spartan-3: Multiplicador
FPGA’s
Sistemas Digitales - FIUBA
FPGA’s
Sistemas Digitales - FIUBA
DCM (Digital Clock Manager) (Spartan-3)
• 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
Función
FPGA’s
Sistemas Digitales - FIUBA
DCM (Digital Clock Manager) (Spartan-3)
FPGA’s
Sistemas Digitales - FIUBA
DCM (Digital Clock Manager) (Spartan-3)
FPGA’s
Sistemas Digitales - FIUBA
DCM (Digital Clock Manager) (Spartan-3)
FPGA’s
Sistemas Digitales - FIUBA
DCM (Digital Clock Manager) (Spartan-3)
Spartan-3E: Recursos
FPGA’s
Cuadro extraído de “Spartan-3 Generation FPGA User Guide”
La siguiente tabla muestra los diferentes recursos disponibles en una
fpga Spartan-3E
Sistemas Digitales - FIUBA
Spartan-3E: Pines de Entrada / Salida
FPGA’s
Nota: Los valores entre paréntesis indican la cantidad de pines de sólo lectura
Cuadro extraído de “Spartan-3 Generation FPGA User Guide”
Sistemas Digitales - FIUBA
FPGA’s
Sistemas Digitales - FIUBA
Evolución de la tecnología FPGA
Xilinx
FPGA’s
Sistemas Digitales - FIUBA
Evolución de la tecnología FPGA
Altera
FPGA’s
Sistemas Digitales - FIUBA
Evolución de la tecnología FPGA
Altera
FPGA’s
Sistemas Digitales - FIUBA
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
FPGA’s
Sistemas Digitales - FIUBA
Flujo de diseño
Diseño Codificación Simulación Síntesis
Mapeo,
ruteo y
ubicación
Simulación
Generación
del bitstream
Configuración
de la FPGA
Diseño del circuito a
implementar en la
FPGA
Codificación
en HDL
Simulación del
código HDL
Transformación de la
descripción en un
circuito en base a
primitivas
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
Se configura la
FPGA o una
memoria auxiliar
Generación del
archivo de
configuración (.bit)
FPGA’s
Sistemas Digitales - FIUBA
Visualización de un proyecto en la
herramienta de Xilinx
FPGA’s
Sistemas Digitales - FIUBA
Mapeo de pines
FPGA’s
Sistemas Digitales - FIUBA
Kit FPGA: Nexys 2
FPGA’s
Sistemas Digitales - FIUBA
Kit FPGA: Nexys 2
FIN
FPGA’s
Sistemas Digitales - FIUBA

Más contenido relacionado

La actualidad más candente

Programación de autómatas PLC OMRON CJ/CP1
Programación de  autómatas PLC OMRON CJ/CP1Programación de  autómatas PLC OMRON CJ/CP1
Programación de autómatas PLC OMRON CJ/CP1
SANTIAGO PABLO ALBERTO
 
Evolucion de los microprocesadores familia Intel
Evolucion de los microprocesadores familia IntelEvolucion de los microprocesadores familia Intel
Evolucion de los microprocesadores familia Intel
franklin marin
 
Seaparat elect pote
Seaparat elect poteSeaparat elect pote
Seaparat elect pote
Luis Sanchez
 
Armado de un cable para red RJ45
Armado de un cable para red RJ45Armado de un cable para red RJ45
Armado de un cable para red RJ45
DjGiovaMix
 
Controladores lógicos programables por Frank D. Petruzella.pdf
Controladores lógicos programables por Frank D. Petruzella.pdfControladores lógicos programables por Frank D. Petruzella.pdf
Controladores lógicos programables por Frank D. Petruzella.pdf
SANTIAGO PABLO ALBERTO
 

La actualidad más candente (20)

El PIC16F84
El PIC16F84El PIC16F84
El PIC16F84
 
135127015 microcontroladores-1-1-ppt
135127015 microcontroladores-1-1-ppt135127015 microcontroladores-1-1-ppt
135127015 microcontroladores-1-1-ppt
 
FPGAs : An Overview
FPGAs : An OverviewFPGAs : An Overview
FPGAs : An Overview
 
Programación de autómatas PLC OMRON CJ/CP1
Programación de  autómatas PLC OMRON CJ/CP1Programación de  autómatas PLC OMRON CJ/CP1
Programación de autómatas PLC OMRON CJ/CP1
 
Evolucion de los microprocesadores familia Intel
Evolucion de los microprocesadores familia IntelEvolucion de los microprocesadores familia Intel
Evolucion de los microprocesadores familia Intel
 
Programación PIC16F84A
Programación PIC16F84AProgramación PIC16F84A
Programación PIC16F84A
 
Diseño de un contador sincrónico con flip-Flop JK, haciendo uso de mapas de k...
Diseño de un contador sincrónico con flip-Flop JK, haciendo uso de mapas de k...Diseño de un contador sincrónico con flip-Flop JK, haciendo uso de mapas de k...
Diseño de un contador sincrónico con flip-Flop JK, haciendo uso de mapas de k...
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
 
FPGA Introduction
FPGA IntroductionFPGA Introduction
FPGA Introduction
 
TTL-CMOS
TTL-CMOSTTL-CMOS
TTL-CMOS
 
Control por PLC
Control por PLCControl por PLC
Control por PLC
 
Sumadores,codificadores, decodificadores,multiplexores y demultiplexores
Sumadores,codificadores, decodificadores,multiplexores y demultiplexoresSumadores,codificadores, decodificadores,multiplexores y demultiplexores
Sumadores,codificadores, decodificadores,multiplexores y demultiplexores
 
Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...
Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...
Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...
 
Comunicación I2C y SPI
Comunicación I2C y SPIComunicación I2C y SPI
Comunicación I2C y SPI
 
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...
 
Seaparat elect pote
Seaparat elect poteSeaparat elect pote
Seaparat elect pote
 
Armado de un cable para red RJ45
Armado de un cable para red RJ45Armado de un cable para red RJ45
Armado de un cable para red RJ45
 
Session 2,3 FPGAs
Session 2,3 FPGAsSession 2,3 FPGAs
Session 2,3 FPGAs
 
Controladores lógicos programables por Frank D. Petruzella.pdf
Controladores lógicos programables por Frank D. Petruzella.pdfControladores lógicos programables por Frank D. Petruzella.pdf
Controladores lógicos programables por Frank D. Petruzella.pdf
 
Field programable gate array
Field programable gate arrayField programable gate array
Field programable gate array
 

Similar a Fpga

presentación de Power POint de Introducción a las FPGA
presentación de Power POint de Introducción a las FPGApresentación de Power POint de Introducción a las FPGA
presentación de Power POint de Introducción a las FPGA
PedroLandaeta7
 
diapositiva de ofimatica.pptx
diapositiva de ofimatica.pptxdiapositiva de ofimatica.pptx
diapositiva de ofimatica.pptx
engerpilla
 
Dispositivos de interconexión de
Dispositivos de interconexión deDispositivos de interconexión de
Dispositivos de interconexión de
Martin Zuñiga
 
El hardware
El hardwareEl hardware
El hardware
yers10
 

Similar a Fpga (20)

Introducción a los fpgas
Introducción a los fpgasIntroducción a los fpgas
Introducción a los fpgas
 
presentación de Power POint de Introducción a las FPGA
presentación de Power POint de Introducción a las FPGApresentación de Power POint de Introducción a las FPGA
presentación de Power POint de Introducción a las FPGA
 
Proyecto u2 rout-ev2
Proyecto u2 rout-ev2Proyecto u2 rout-ev2
Proyecto u2 rout-ev2
 
Ejemplo de paper
Ejemplo de paperEjemplo de paper
Ejemplo de paper
 
10. Dispositivos Programables Logicos.pptx
10. Dispositivos Programables Logicos.pptx10. Dispositivos Programables Logicos.pptx
10. Dispositivos Programables Logicos.pptx
 
Introduccion a la microelectronica
Introduccion a la microelectronicaIntroduccion a la microelectronica
Introduccion a la microelectronica
 
diapositiva de ofimatica.pptx
diapositiva de ofimatica.pptxdiapositiva de ofimatica.pptx
diapositiva de ofimatica.pptx
 
diapositiva de ofimatica.pptx
diapositiva de ofimatica.pptxdiapositiva de ofimatica.pptx
diapositiva de ofimatica.pptx
 
LA MOTHERBOARD O PLACA BASE
LA MOTHERBOARD O PLACA BASELA MOTHERBOARD O PLACA BASE
LA MOTHERBOARD O PLACA BASE
 
La Mother Board
La Mother BoardLa Mother Board
La Mother Board
 
Ejercicio 2
Ejercicio 2Ejercicio 2
Ejercicio 2
 
Aplicación de los fpga’s en radares de vigilancia aérea desde tierra y radare...
Aplicación de los fpga’s en radares de vigilancia aérea desde tierra y radare...Aplicación de los fpga’s en radares de vigilancia aérea desde tierra y radare...
Aplicación de los fpga’s en radares de vigilancia aérea desde tierra y radare...
 
Maindboar
MaindboarMaindboar
Maindboar
 
Dispositivos de interconexión de
Dispositivos de interconexión deDispositivos de interconexión de
Dispositivos de interconexión de
 
Arquitectura de pc
Arquitectura de pcArquitectura de pc
Arquitectura de pc
 
El mainboard
El mainboardEl mainboard
El mainboard
 
El mainboard
El mainboardEl mainboard
El mainboard
 
El hardware
El hardwareEl hardware
El hardware
 
partes internas de una computadora
partes internas de una computadorapartes internas de una computadora
partes internas de una computadora
 
Charla routers jmcruz2012
Charla routers jmcruz2012Charla routers jmcruz2012
Charla routers jmcruz2012
 

Último

Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
andersonsubero28
 

Último (20)

Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
 
1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
metodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasmetodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantas
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de Gestión
 
Instrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdfInstrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdf
 
TAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientosTAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientos
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptx
 
3er Informe Laboratorio Quimica General (2) (1).pdf
3er Informe Laboratorio Quimica General  (2) (1).pdf3er Informe Laboratorio Quimica General  (2) (1).pdf
3er Informe Laboratorio Quimica General (2) (1).pdf
 
5. MATERIALES petreos para concreto.pdf.
5. MATERIALES petreos para concreto.pdf.5. MATERIALES petreos para concreto.pdf.
5. MATERIALES petreos para concreto.pdf.
 
Mantenimiento-de-Transformadores-Monofasicos[1].pptx
Mantenimiento-de-Transformadores-Monofasicos[1].pptxMantenimiento-de-Transformadores-Monofasicos[1].pptx
Mantenimiento-de-Transformadores-Monofasicos[1].pptx
 
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
 
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfTrabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
 
TECNOLOGIA DE CONCRETO 2024 estudiante.pdf
TECNOLOGIA DE CONCRETO 2024 estudiante.pdfTECNOLOGIA DE CONCRETO 2024 estudiante.pdf
TECNOLOGIA DE CONCRETO 2024 estudiante.pdf
 
Mecatronica Automotriz .pdf
Mecatronica Automotriz              .pdfMecatronica Automotriz              .pdf
Mecatronica Automotriz .pdf
 
680186431-3-Porcentaje-Presentacion-2022.pdf
680186431-3-Porcentaje-Presentacion-2022.pdf680186431-3-Porcentaje-Presentacion-2022.pdf
680186431-3-Porcentaje-Presentacion-2022.pdf
 
422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx
 
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxdokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
 
Manual deresolucion de ecuaciones por fracciones parciales.pdf
Manual deresolucion de ecuaciones por fracciones parciales.pdfManual deresolucion de ecuaciones por fracciones parciales.pdf
Manual deresolucion de ecuaciones por fracciones parciales.pdf
 
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptxG4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
 

Fpga

  • 2. FPGA’s - Es un dispositivo semiconductor conformado por bloques de lógica, cuya interconexión y funcionalidad puede ser configurada luego de su fabricación Qué es una FPGA? Sistemas Digitales - FIUBA
  • 3. FPGA’s - 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 Qué es una FPGA? Sistemas Digitales - FIUBA
  • 4. FPGA’s - PLA (Programmable Logic Array) - PAL (Programmable Array Logic) - GAL (Gate Array Logic) - CPLD (Complex Programmable Logic Device) - FPGA (Field Programmable Gate Array) Antecesores de las FPGAs Sistemas Digitales - FIUBA
  • 5. FPGA’s - 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 Ventajas de las FPGAs Sistemas Digitales - FIUBA
  • 6. FPGA’s - 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) Aplicaciones de las FPGAs Sistemas Digitales - FIUBA
  • 7. FPGA’s Clasificación por tecnología de implementación Sistemas Digitales - FIUBA - 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.
  • 8. FPGA’s Clasificación por tecnología de implementación Sistemas Digitales - FIUBA Tecnología Característica SRAM Antifuse Flash Reprogramable Si No Si Memoria externa Si No No Velocidad Más lenta Mejor Más lenta Potencia Peor Segunda mejor Mejor Densidad Mejor Segunda mejor Media Tolerancia a la radiación Peor Mejor Media
  • 9. FPGA’s Clasificación por tecnología de implementación Sistemas Digitales - FIUBA 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
  • 10. FPGA’s Clasificación por tecnología de implementación Sistemas Digitales - FIUBA Ejemplos de las distintas tecnologías SRAM con flash interna: la familia Spartan-3AN de Xilinx, y la familia LatticeXP de Lattice
  • 11. FPGA’s Clasificación por tecnología de implementación Sistemas Digitales - FIUBA Ejemplos de las distintas tecnologías Flash: Igloo y ProASIC3 de la empresa Actel (Microsemi)
  • 12. FPGA’s Clasificación por tecnología de implementación Sistemas Digitales - FIUBA Antifuse: Axcelerator de la empresa Actel (Microsemi) Ejemplos de las distintas tecnologías
  • 13. FPGA’s Empresas fabricantes de FPGAs Sistemas Digitales - FIUBA
  • 14. FPGA’s Empresas fabricantes de FPGAs Sistemas Digitales - FIUBA USD 15.08 B USD 11.41 B USD 3.23 B USD 502.25 M USD 79.79 M
  • 15. FPGA’s Sistemas Digitales - FIUBA Diferentes familias de FPGAs ALTERA XILINX
  • 16. FPGA’s - 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 Generación Spartan-3 Sistemas Digitales - FIUBA
  • 17. FPGA’s Características de la generación Spartan-3 Sistemas Digitales - FIUBA
  • 18. Spartan-3: Arquitectura FPGA’s Sistemas Digitales - FIUBA 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)
  • 21. Spartan-3: Diagrama simplificado de un Slice FPGA’s Sistemas Digitales - FIUBA flip-flops LUTs lógica de carry
  • 22. Spartan-3: Slices dentro del CLB FPGA’s Sistemas Digitales - FIUBA
  • 23. FPGA’s 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
  • 24. FPGA’s 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)
  • 25. FPGA’s Sistemas Digitales - FIUBA 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
  • 26. FPGA’s Sistemas Digitales - FIUBA Lógica combinacional dentro de una FPGA Función a implementar Tabla de verdad LUT programada
  • 27. FPGA’s Sistemas Digitales - FIUBA 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
  • 28. FPGA’s Sistemas Digitales - FIUBA ¿Cómo se implementaría una función de 5 variables? X4 X3 X2 X1 X0 Y 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 … … … … … 0 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 1 1 0 … … … … … 1 1 1 1 0 0 1 1 1 1 1 1 LUT LUT MUX
  • 29. FPGA’s Sistemas Digitales - FIUBA 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
  • 30. FPGA’s Sistemas Digitales - FIUBA Bloque de entrada / salida (IOB) (Spartan-3)
  • 31. FPGA’s Sistemas Digitales - FIUBA IOB (Spartan-3)
  • 32. FPGA’s Sistemas Digitales - FIUBA 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
  • 33. FPGA’s Sistemas Digitales - FIUBA 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
  • 34. FPGA’s Sistemas Digitales - FIUBA 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 Configuración • Cada punto de interconexión está formado por 6 transistores • Son interruptores programables
  • 35. FPGA’s Sistemas Digitales - FIUBA 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
  • 36. FPGA’s Sistemas Digitales - FIUBA 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
  • 37. FPGA’s Sistemas Digitales - FIUBA 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.
  • 38. Spartan-3: Ubicación de la Block RAM FPGA’s Sistemas Digitales - FIUBA
  • 39. Spartan-3: Block RAM (config. de cada bloque) FPGA’s Sistemas Digitales - FIUBA Tabla extraída de “Spartan-3 Generation FPGA User Guide”
  • 40. Spartan-3: Block RAM total FPGA’s Sistemas Digitales - FIUBA Tabla extraída de “Spartan-3 Generation FPGA User Guide”
  • 41. Spartan-3: Block RAM FPGA’s Sistemas Digitales - FIUBA Imagen extraída de “Spartan-3 Generation FPGA User Guide”
  • 42. Spartan-3: Block RAM FPGA’s Sistemas Digitales - FIUBA Primitivas
  • 43. Spartan-3: Multiplicador FPGA’s Sistemas Digitales - FIUBA • Cuenta con 20 multiplicadores embebidos de 18 bits de operando y 36 bits de salida. • Se encuentran al lado de los bloques de memoria
  • 45. FPGA’s Sistemas Digitales - FIUBA DCM (Digital Clock Manager) (Spartan-3) • 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 Función
  • 46. FPGA’s Sistemas Digitales - FIUBA DCM (Digital Clock Manager) (Spartan-3)
  • 47. FPGA’s Sistemas Digitales - FIUBA DCM (Digital Clock Manager) (Spartan-3)
  • 48. FPGA’s Sistemas Digitales - FIUBA DCM (Digital Clock Manager) (Spartan-3)
  • 49. FPGA’s Sistemas Digitales - FIUBA DCM (Digital Clock Manager) (Spartan-3)
  • 50. Spartan-3E: Recursos FPGA’s Cuadro extraído de “Spartan-3 Generation FPGA User Guide” La siguiente tabla muestra los diferentes recursos disponibles en una fpga Spartan-3E Sistemas Digitales - FIUBA
  • 51. Spartan-3E: Pines de Entrada / Salida FPGA’s Nota: Los valores entre paréntesis indican la cantidad de pines de sólo lectura Cuadro extraído de “Spartan-3 Generation FPGA User Guide” Sistemas Digitales - FIUBA
  • 52. FPGA’s Sistemas Digitales - FIUBA Evolución de la tecnología FPGA Xilinx
  • 53. FPGA’s Sistemas Digitales - FIUBA Evolución de la tecnología FPGA Altera
  • 54. FPGA’s Sistemas Digitales - FIUBA Evolución de la tecnología FPGA Altera
  • 55. FPGA’s Sistemas Digitales - FIUBA 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
  • 56. FPGA’s Sistemas Digitales - FIUBA Flujo de diseño Diseño Codificación Simulación Síntesis Mapeo, ruteo y ubicación Simulación Generación del bitstream Configuración de la FPGA Diseño del circuito a implementar en la FPGA Codificación en HDL Simulación del código HDL Transformación de la descripción en un circuito en base a primitivas 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 Se configura la FPGA o una memoria auxiliar Generación del archivo de configuración (.bit)
  • 57. FPGA’s Sistemas Digitales - FIUBA Visualización de un proyecto en la herramienta de Xilinx
  • 58. FPGA’s Sistemas Digitales - FIUBA Mapeo de pines
  • 59. FPGA’s Sistemas Digitales - FIUBA Kit FPGA: Nexys 2
  • 60. FPGA’s Sistemas Digitales - FIUBA Kit FPGA: Nexys 2