Arquitectura de FPGAs

Documentos relacionados
Arquitectura de FPGAs

Electrónica Digital. Tema 2. Dispositivos Lógicos Programables (PLD)

Dispositivos Lógicos Programables

FPGA FIELD PROGRAMMABLE GATE ARRAY

Dispositivos lógicos programables (PLDs(

Alternativas de implementación: Estilos

MEMORIAS Y LÓGICA PROGRAMABLE

Introducción a los dispositivos de lógica programable en campo (FPGA) Laboratorio de diseño digital

Lógica Programable - Dispositivos - Introducción n a los Sistemas Lógicos y Digitales 2008

Introducción a VHDL. Sistemas digitales UTM-2006 JJVS

FPGAs. Susana Borromeo Área de Tecnología Electrónica. Diseño de Sistemas Electrónicos. 2014/2015. Metodología de Diseño. Características generales

Introducción a los Dispositivos Lógicos Programables (FPGAs) Guillermo Güichal

Lógica Programable: Dispositivos

Lógica Programable -Introducción - Introducción n a los Sistemas Lógicos y Digitales 2008

UNIDAD 1. INTRODUCCIÓN A LOS DISPOSITIVOS LÓGICOS PROGRAMABLES (PLDs)

1. INTRODUCCIÓN A LOS CIRCUITOS DIGITALES PROGRAMABLES

Introducción a los Dispositivos Lógicos Programables (FPGAs) Guillermo Güichal

INTRODUCCIÓN A LOS CIRCUITOS INTEGRADOS

4.1. Circuitos Digitales Configurables

Microelectrónica Digital. Leopoldo García a Franquelo

FIELD PROGRAMMABLE GATE ARRAY (FPGA)

3. CPLD S Y FPGA S UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA. Instituto de Electrónica y Mecatrónica S I S T E M A S D I G I T A L E S

Objetivos. Instituto Tecnológico de Costa Rica Escuela de Ingeniería Electrónica I SEMESTRE Contenido del Curso EL FLUJO DE DISEÑO O DIGITAL

LÓGICA PROGRAMABLE. Sergio Noriega

LÓGICA PROGRAMABLE. Introducción Simple PLDs Complex PLDs FPGAs. Dpto. Ingeniería Electrónica y Comunicaciones

Técnicas de Programación Hardware: CAD para FPGAs y CPLDs

METODOLOGIAS DE DISEÑO PARA COMPUTACIÓN RECONFIGURABLE.

Sistemas Embebidos 1º Cuatrimestre de 2015

BLOQUE 2 (PARTE 2) DISPOSITIVOS LÓGICOS PROGRAMABLES

Diseño de Sistemas Electrónicos

Tema VI: Memorias y Dispositivos de Lógica Programable (PLDs)

1.1. Tecnologías de diseño de circuitos integrados

Electrónica Digital II. Arquitecturas de las Celdas Lógicas. Octubre de 2014

TEMA I Introducción a los Sistemas de Procesamiento Digital de Señales

Contenido. Memorias en sistemas digitales Tecnologías. Características avanzadas. Memorias no volátiles (ROM) Memorias volátiles (RAM)

El tamaño, estructura, número de bloques y la cantidad y conectividad de las conexiones varian en las distintas arquitecturas.

Diseño con dispositivos lógicos programables. Electrónica Digital Grado en Ing. de Telecomunicación Universidad de Sevilla

DISPOSITIVOS DE LÓGICA PROGRAMABLES EN CAMPO (FPGA)

Programa ALTERA destinado a Universidades

CONTROL DIGITAL PARA CONVERTIDOR MULTINIVEL ALIMENTADO CON ENERGÍA SOLAR. Anexo A: FPGA. Introducción

TECNOLOGIA. R = (Vcc Vd) / I (Vd: caida en el LED) INTENSIDAD LUMINICA: SE MIDE EN CANDELA (Cd)

TARJETA DE DESARROLLO DE SISTEMAS CON TECNOLOGÍA FPGA.

TEMA 1 FUNDAMENTOS DEL DISEÑO DEL HARDWARE DIGITAL

TOTAL DE HORAS: Semanas de clase: 5 Teóricas: 3 Prácticas: 2. SERIACIÓN OBLIGATORIA ANTECEDENTE: Ninguna SERIACIÓN OBLIGATORIA SUBSECUENTE: Ninguna

Dispositivos Lógicos Programables (FPGAs) Guillermo Güichal Emtech

Dispositivos de lógica programable

Memoria y Entrada/Salida Tecnología Organización - Expansión

Diseño de Sistemas Digitales Utilizando FPGA

placas de prototipado (i) Material docente en los laboratorios de la Facultad de Informática Diseño Automático de Sistemas

BLOQUE 2. (PARTE 3: Tema 1) CONJUNTO CONFIGURABLE DE PUERTAS FPGA (Field Programmable Gate Array) Clasificación y descripción

Introducción a los Sistemas Digitales. Tema 1

Universidad Carlos III de Madrid Electrónica Digital Ejercicios

Memorias y dispositivos programables. Departamento de Tecnología Electrónica Universidad de Sevilla

5. Metodologías de diseño de un ASIC

CAPITULO 5. DISPOSITIVOS DE LOGICA RECONFIGURABLE

Principios del FPGA y aplicaciones en el control de procesos industriales.

Arreglos de compuertas programables en campo, FPGA's. (compendio)

Dispositivos de lógica programable

AUTOTEST. 1. Una magnitud que toma valores continuos es: (a) una magnitud digital (c) un número binario 2. El término bit significa:

FPGA (CAMPO DE MATRIZ DE PUERTAS PROGRAMABLES).

Síntesis arquitectónica y de alto nivel

Electrónica Digital II

TEMA 11 MEMORIAS. CIRCUITOS LÓGICOS PROGRAMABLES

Introducción a las FPGA

Introducción a FPGAs. Contenido

INTRODUCCIÓN A SIMULINK/SYSTEM GENERATOR (XILINX FPGA) C7 Technology 1

ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA UNIDAD CULHUACAN CARRERA DE INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN

Diseño de Circuitos Integrados de Alta Escala Curso Académico 2009/2010

DISEÑO DE ALGORITMOS ARITMÉTICOS SOBRE UNA FPGA

DISEÑO DE ALGORITMOS ARITMÉTICOS SOBRE UNA FPGA

SIDI-R2O10 - Sistemas Digitales

Diseño Lógico en el Mundo Real. Tema V. ABEL (Advanced Boolean Equation Language) Lenguajes de programación de PLD

Curso: Programación de FPGAs con VHDL (teórico-práctico)

UD.-5. Circuitos secuenciales: análisis y diseño de registros y de contadores.

FABRICACIÓN Y ENCAPSULADO DE CIRCUITOS INTEGRADOS

Diseño de un generador de funciones Capítulo II Antecedentes

Curso: Programación de FPGAs con VHDL (teórico-práctico)

Sistemas digitales Octubre '09- Febrero '10

Introducción al Diseño Digital con FPGAs.

Laboratorio 4: Uso de una FPGA

Planificaciones Sistemas Digitales. Docente responsable: ALVAREZ NICOLAS. 1 de 5

Introducción a los FPGAs y el Cómputo Reconfigurable Miguel Morales Sandoval INAOE, 2006

Procesador Concepto Tipos Velocidad de proceso Características funciones aritmético- lógicas y de control

METODOLOGIA DE DISEÑO DE CIRCUITOS INTEGRADOS DIGITALES

Diseño de Sistemas Embebidos en FPGA Curso de Posgrado Facultad de Ciencias Exactas y Tecnología UNT.

Programa ALTERA destinado a Universidades

Implementación de DSP en FPGAs

Capítulo 9. Implementación en VHDL y síntesis en FPGA

o Nos vamos a centrar en la memoria del sistema, esta memoria es conocida como RAM (random-access memory, memoria de acceso aleatorio).

4º Jornadas ITE Facultad de Ingeniería - UNLP PLATAFORMA DE CÁLCULO BASADA EN TECNOLOGIA RECONFIGURABLE

Laboratorio de Diseño de Sistemas Digitales

Introducción TEMA 1 TECNOLOGÍA DE LOS CI. ME Tema 1 Aspectos generales sobre diseño microelectrónico 1

ARQUITECTURA DE COMPUTADORES DESCRIPCIÓN BUS PCI (Tema 1: Conexión Externa de Procesadores. Buses)

Dispositivos Lógicos Programables

Conceptos preliminares Familias lógicas Topologías Compuertas Flip Flops Osciladores. Introducción a la Electrónica

Conceptos preliminares Familias lógicas Topologías Compuertas Flip Flops Osciladores. Introducción a la Electrónica

Dispositivos Lógicos Programables. Sistemas Digitales II / Electronica Digital II

Microprocesadores, microcontroladores, memorias

ESTRUCTURA BÁSICA DE UN ORDENADOR

6.2. Módulos para caminos de datos

Transcripción:

Arquitectura de FPGAs Diseño Lógico 2-2017 Instituto de Ingeniería Eléctrica Facultad de Ingeniería Universidad de la República

PLD / FPGA - Mid 80's: 8 a 16 funciones lógicas - En el lab: 15000 funciones lógicas + memoria + multiplicadores

Lo básico Lógica combinatoria Memoria

Funciones combinatorias a b c f(a, b, c) 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 0

Lógica Suma de productos ROM PLA (Programmable Logic Array): AND programable - OR programable. PAL (Programmable Array Logic): AND programable - OR fijo

Lógica ROM Rom con: m bits de direcciones y n bits de ancho de palabra = n funciones de m bits

Lógica Suma de productos (PLA)

Lógica Plano OR fijo (PAL)

Lógica LUT b0 H0(a) G0(a, b) b1 H1(a) b2 b3 G(a, b, c) b4 H2(a) b5 b6 G1(a, b) H3(a) b7 a b c

CPLD o FPGA? PLD: Programmable Logic Device CPLD: Complex PLD FPGA: Field Programmable Gate Array Es una cuestión de nombres. En general se utiliza FPGA para dispositivos de configuración volátil con celdas de arquitectura Look-up Table y PLD (o CPLD = Complex PLD) para dispositivos de configuración no volátil y celdas del tipo de suma de productos.

Memoria

Elemento Lógico

Logic Element ALTERA Cyclone III

Programmabe Logic Block Lattice ice40

Interconexiones

Jerarquía de conexiones Conexiones configurables Dentro de cada celda para determinar la función lógica Entre celdas vecinas Jerarquía en varios niveles de grupos de celdas y bloques Conexiones disponibles Abundantes entre celdas vecinas Escasas entre celdas lejanas

LAB - Cyclone III

Manejo de señales de reloj Entradas y bloques dedicados para minimizar jitter, skew, y distorsión del ciclo de trabajo. PLLs y Digital Clock Managers Multiplicar o dividir frecuencia Fase y retardo programables para ajustarse a la temporización de señales de entrada Conmutar entre diferentes fuentes de reloj

Más Bloques Multiplicadores y DSP Bloques de memoria Procesadores Interfaces comunicación serie de alta velocidad (serializadores/deserializadores, 8B/10B) Bloques de I/O (adaptación impedancias, niveles de tensión, registros, control de slew-rate, etc.) Facilidades para TEST (BIST)

Estructura interna Altera Fuente: http://www.altera.com/products/devices/stratix2/st2-index.jsp

Estructura interna Xilinx Fuente: Virtex-II Pro and Virtex-II Pro X Data Sheet

Estructura interna Lattice Fuente: Virtex-II Pro and Virtex-II Pro X Data Sheet

Ejemplo Chip Cyclone III de Altera en placa DE0. EP3C16F484

Packaging EP3C16F484

Cyclone III Arquitectura Lookup Table y configuración volátil Jerarquía de bloques lógicos y conexiones Logic Elements (LE) Logic Cells (LC) o Macrocell en otras familias Varios LEs forman un Logic Array Block (LAB) Configurable Logic Block (CLB) en Xilinx en Cyclone III 1 LAB = 16 LE

Otros bloques Cyclone III Memory Blocks (M9K) Bloques de 8 Kbits + paridad Organización configurable Ancho de palabra (1 a 36) ROM o RAM Fifo Uno o dos puertos Multiplicadores Punto fijo con o sin signo. Un mult. 18 x 18 o dos 9 x 9 Conexión en cascada

Recapitulando Bloques Lógicos Función combinatoria (Suma de productos o LUT) FF Multiplexores Jerarquía de Buses de interconexión de bloques de distribución de señales de control (clk, clr, enable) Memorias Bloques de E/S (buffers, voltaje de salida) Manejo de relojes, multiplicadores,...

Familias Intel (ex Altera) Non-volatile: MAX Low Cost +Performance: Cyclone Balance costo, power, perf.: Arria High-End: Stratix

U$ 26+ (2013) U$ 58+ (2015) U$ 141+ U$ 280+ U$2K+ Fuente de precios: buyaltera.com

Ventajas Reducción en la cantidad de componentes Menor área de circuito impreso Menor costo de montaje Mayor confiabilidad Reprogramabilidad Cambios de diseño sin modificar impreso Diseño temprano para estándares no maduros Stock más reducido

Dominios de aplicación Glue Logic Circuitos digitales rápidos Aceleradores de Cálculo Procesamiento de señales Prototipado de otros ASICs System on a Chip (SoC)

400MB/s LVDS sin gastar USD 25K Fuente: Hacking the Xbox. An Introduction to Reverse Engineering Andrew "bunnie" Huang

Fuente: Hacking the Xbox. An Introduction to Reverse Engineering Andrew "bunnie" Huang

100MB/s

ASICs Full Custom Standard Cells Gate Arrays Circuitos Programables (PLD, FPGA) Orden decreciente de costos fijos (NRE) y tiempo de desarrollo

ASIC vs FPGA Oferta de prototipado en FPGAs y fabricación en chips "más duros" (menor costo, menor consumo) Fuente: http://www.xilinx.com/

Xilinx EasyPath Flexibility to make ECO changes Support for Dual Bitstreams

Algunos productos que utilizan FPGAs Interfaces EXTRON Adquisidores NI Procesadores Mark Levinson Touch Panels AMX

Lectura adicional Maxfield, Clive; FPGAs, Ed. Newnes, 2008, Chapter 2: FPGA Architectures. Huang, A. Hacking the Xbox. An Introduction to Reverse Engineering http://bunniefoo.com/nostarch/hackingth exbox_free.pdf

Precauciones usando la placa Mesa limpia, estática, etc. Precauciones habituales: EP3C16: Conexiones con entradas ya soldadas: Hay que evitar que el chip las maneje como salidas. Aunque no se utilicen, definirlas como entradas o verificar que por defecto las asigne tri-state con weak pull-up