FIELD PROGRAMMABLE GATE ARRAY (FPGA)

Documentos relacionados
Dispositivos Lógicos Programables

CAPITULO 5. DISPOSITIVOS DE LOGICA RECONFIGURABLE

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

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

Introducción a FPGAs. Contenido

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

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

METODOLOGIAS DE DISEÑO PARA COMPUTACIÓN RECONFIGURABLE.

IEE 2712 Sistemas Digitales

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

Dispositivos Lógicos Programables

FPGA (CAMPO DE MATRIZ DE PUERTAS PROGRAMABLES).

DISPOSITIVOS DE LÓGICA PROGRAMABLES EN CAMPO (FPGA)

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

Alternativas de implementación: Estilos

INTRODUCCIÓN A LOS CIRCUITOS INTEGRADOS

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

Diseño de Sistemas Digitales Utilizando FPGA

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

Frecuencia Máxima de un Sistema Digital Sincrónico (Básico)

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

Síntesis arquitectónica y de alto nivel

Dispositivos Digitales. EL-611 Complemento de Diseño Lógico y. Dispositivos Digitales

Programa ALTERA destinado a Universidades

1. INTRODUCCIÓN Y OBJETIVOS

ESTRUCTURA BÁSICA DE UN ORDENADOR

INSTRUMENTACIÓN VIRTUAL APLICADA AL ESTUDIO DE SISTEMAS COMPLEJOS

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

Tema: Microprocesadores

Arquitectura de FPGAs

Laboratorio de Diseño de Sistemas Digitales

CAPÍTULO 3 MÓDULO DIGITAL PARA CONVERSIÓN DE VIDEO

INDICE 1. Operación del Computador 2. Sistemas Numéricos 3. Álgebra de Boole y Circuitos Lógicos

TRAYECTO SISTEMÁTICO DISEÑO DE SISTEMAS EMBEBIDOS

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

Los componentes de la tarjeta madre del PC. Sistemas Operativos. Febrero 2014.

TEMA 11 MEMORIAS. CIRCUITOS LÓGICOS PROGRAMABLES

Registros. Registro de Corrimiento Básico

Qué es un Microcontrolador?

DISEÑO DE UN SISTEMA DE TRANSPORTACIÓN DE ROLLOS DE TELA CONTROLADO POR UN FPGA

Palabras Clave: Vídeo en FPGA, Procesamiento en Tiempo Real RESUMEN

TARJETA DE ADQUISICIÓN DE DATOS USB TAD U B Bits

FUNCIONAMIENTO DEL ORDENADOR

CAPITULO 1 INTRODUCCION AL PROYECTO

Institución Educativa Distrital Madre Laura Tecnología e Inform ática GRADO 7

UNIDAD 5 Arquitectura FPGA

Carrera: MTF Participantes Representante de las academias de ingeniería Mecatrónica de los Institutos Tecnológicos.

Sistemas Digitales. Diseño lógico con Verilog. Sinopsis. Prólogo.

XVI. utilizarlos de la forma más eficiente posible en el diseño de sistemas digitales.

Sistemas Embebidos 1º Cuatrimestre de 2015

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos

CONTROLES ELÉCTRICOS PRÁCTICA 6: PROGRAMACIÓN DE PLC UNIDAD 5 LIRA MARTÍNEZ MANUEL ALEJANDRO DOCENTE: PACHECO HIPÓLITO JAVIER

Hoja de Datos NoMADA Advance [DAT001A NoMADA Advance 02/16]

Dispositivos de lógica programable

MEMORIAS Y LÓGICA PROGRAMABLE

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

Dispositivos Lógicos Programables

ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES Y DE TELECOMUNICACIÓN

circuitos digitales números binario.

UNIDAD 1. COMPONENTES DEL COMPUTADOR

DEPARTAMENTO DE CIENCIAS DE LA ENERGIA Y MECANICA Laboratorio de Automatización Industrial Mecánica. TEMA: Control de procesos con Arduino.

Tipos de Dispositivos Controladores

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 BASADOS EN MICROCONTROLADOR

Sistemas Combinacionales y Sistemas Secuenciales

Sistema de Gestión de Aplicaciones Implementadas en FPGAs

Chaltén XA-1 Mauro Koenig Gastón Rodriguez Martin Hidalgo

Microprocesadores y microcontroladores. - Sistemas Empotrados -

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas MARCO TEORICO. Estructura Interna

Investigación y Desarrollos en Open Hardware

Ivan Dario posso Diana K. Avella ÍNDICE ÍNDICE DE FIGURAS

MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI

Es todo lo tangible, material, o físico que se puede tocar del equipo de computo, por ejemplo: monitor, ratón, teclado, bocinas, gabinete.

SERVICIO NACIONAL DE APRENDIZAJE SENA MANUAL DE FUNCIONES COMPONENTES INTERNOS Y EXTERNOS DE UN COMPUTADOR INSTRUCTORA BLANCA NUBIA CHITIVA LEON

Cuál Arduino comprar?

TARJETA DE DESARROLLO DE SISTEMAS CON TECNOLOGÍA FPGA.

FACULTAD DE INGENIERÍAS INGENIERIA DE SISTEMAS ARQUITECTURA DEL COMPUTADOR TECNICO

NoMADA Go White Paper [REV 008A-NoMADA-08/15] Especificaciones Técnicas NoMADA Go. Diseñado por: NoMADA Go White Paper

REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD BICENTENARIA DE ARAGUA SECRETARIA DIRECCIÓN DE ADMISIÓN Y CONTROL DE ESTUDIOS

Tema I. La computación en el profesional de la Ingeniería

ARQUITECTURAS ESPECIALES

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Discusión. Modelo de una compuerta. Arquitecturas de Computadores Prof. Mauricio Solar. Temario. ...Introducción

Tema 9. SISTEMAS COMBINACIONALES PROGRAMABLES SISTEMAS COMBINACIONALES PROGRAMABLES NO UNIVERSALES

TEMA 1: Concepto de ordenador

SELECCIÓN DE COMPONENTES PARA ENSAMBLE DE EQUIPOS DE COMPUTO. Ing. Eduardo Cruz Romero

Arquitectura de Computadores II

PROGRAMA DE LA ASIGNATURA: SISTEMAS ELECTRÓNICOS DIGITALES

INDICE. XVII 0 Introducción 0.1. Historia de la computación

Unidad 2: Taller de Cómputo. Estructura y Componentes de la Computadora UNIDAD DOS: INTRODUCCIÓN

ENSAMBLE Y MANTENIMIENTO DE COMPUTADORES

Guía de uso Tarjeta Nexys 2 FPGA Spartan-3E

TECNOLOGÍA DE REDES. Temario 01/04/2008. Unidad 2. LAS WAN Y LOS ROUTERS (Segunda Parte)

Tema 7 - Registros, contadores y memorias

PUERTAS LOGICAS. Objetivo específico Conectar los circuitos integrados CI TTL Comprobar el funcionamiento lógico del AND, OR, NOT, NAND y NOR

Tracking de puntos para un sistema de control visual embebido en FPGA

Conocer, diseñar y aplicar los circuitos digitales para el control de los diferentes sistemas mecatrónicos.

1.1. Modelos de arquitecturas de cómputo: clásicas, segmentadas, de multiprocesamiento.

INDICE Capitulo 1. Álgebra de variables lógicas Capitulo 2. Funciones lógicas

Filtrado de imágenes usando hardware dedicado

Transcripción:

FIELD PROGRAMMABLE GATE ARRAY 21 FIELD PROGRAMMABLE GATE ARRAY (FPGA) 2.1. QUÉ ES UN FPGA? Un FPGA (field programmable gate array) es un dispositivo semiconductor que contiene componentes lógicos programables e interconexiones programables entre ellos. Los componentes lógicos programables pueden ser programados para duplicar la funcionalidad de puertas lógicas básicas tales como AND, OR, XOR, NOT o funciones combinacionales más complejas tales como decodificadores o simples funciones matemáticas. En muchos FPGA, estos componentes lógicos programables (o bloques lógicos, según el lenguaje comúnmente usado) también incluyen elementos de memoria, los cuales pueden ser simples flip-flops o bloques de memoria más complejos.

FIELD PROGRAMMABLE GATE ARRAY 22 Una jerarquía de interconexiones programables permite a los bloques lógicos de un FPGA, ser interconectados según la necesidad del diseñador del sistema, algo parecido a un breadboard programable. Estos bloques lógicos e interconexiones pueden ser programados después del proceso de manufactura por el usuario/diseñador, así que el FPGA puede desempeñar cualquier función lógica necesaria. Las FPGA son generalmente más lentas que sus contrapartes, los circuitos integrados de aplicaciones específicas (ASIC por sus siglas en inglés), no pueden soportar diseños muy complejos, y consumen más energía. Sin embargo, ellas tienen muchas ventajas tales como la reducción del tiempo para la salida al mercado de productos, la habilidad para ser reprogramadas después de haber salido al mercado a fin de corregir posibles errores, y reduce los costos de ingeniería tales como investigación, diseño y prueba de un nuevo producto. Los vendedores pueden proporcionar versiones de FPGA, más baratas y menos flexibles, las cuales no pueden ser modificadas después de que el diseño haya sido hecho. El desarrollo de estos diseños es hecho en FPGAs regulares y entonces se migra hacia una versión mejorada que es más parecida a un ASIC Dispositivos de lógica programable compleja, como los CPLD, son otra alternativa.

FIELD PROGRAMMABLE GATE ARRAY 23 2.2. HISTORIA DE LAS FPGA S Ross Freman, co-fundador de Xilinx, inventó el arreglo matricial de compuertas. La raíz histórica de las FPGA son los dispositivos de lógica programable compleja (CPLD) de mediados de los 1980. CPLD y FPGA incluyen un relativo gran número de elementos lógicos programables. El rango de densidad de los CPLD va desde miles a decenas de miles de compuertas lógicas, mientras que el de las FPGA va típicamente desde decenas de miles hasta muchos millones. La diferencia primaria entre CPLDs y FPGAs son sus arquitecturas. Un CPLD tiene una estructura un poco restringida, consistiendo la unión de uno o más arreglos lógicos que alimentan a un número pequeño de registros con entrada de reloj (clock). El resultado de estos es menos flexibilidad, con la ventaja de una mejor predicción de los tiempos de retraso. La arquitectura de las FPGAs, por otro lado, son dominadas por las interconexiones. Esto las hace más flexibles (en términos del rango de diseños prácticos para los cuales pueden ser usadas) pero también es posible irse un poco más lejos en cuanto al diseño. Otra notable diferencia entre CPLDs y FPGAs es la presencia de funciones de más alto nivel (tales como sumadores y multiplicadores) dentro de las FPGAs, además de memorias. Una diferencia importante es que muchas FPGAs modernas, soportan una total o parcial re-configuración del sistema, permitiendo que una parte del diseño sea re-programada mientras las otras partes siguen funcionando. Una tendencia reciente ha sido llevar la arquitectura un paso más lejos, combinado los bloques lógicos e interconexiones de las tradicionales FPGAs, con microprocesadores y con periféricos relacionados para formar

FIELD PROGRAMMABLE GATE ARRAY 24 un completo Sistema programable en un chip. Ejemplo de tales tecnologías hibridas pueden ser encontradas en los Xilinx Virtex-II PRO y dispositivos Virtex-4, los cuales incluyen uno o mas procesadores PowerPC incrustados junto con la lógica FPGA. El Atmel FPSLIC es otro dispositivo como tal, el cual usa un procesador AVR en combinación con la arquitectura lógica programable de Atmel. Otra alternativa es hacer uso de núcleos de procesadores, los cuales son implementados junto con la lógica FPGA. Esos núcleos incluyen el Xilinx MicroBlaze y PicoBlaze, el Altera Nios y procesador Nios II, y los de open source LatticeMicro32 y LatticeMicro8. Como previamente se dijo, muchas FPGA modernas, tienen la habilidad de ser reprogramadas en Tiempo de funcionamiento, y este es el principio de la idea de computación re-configurable o sistemas re-configurables, lo cual permite que estos sistemas se reconfiguren a sí mismos para cumplir con la tarea actual. Sin embargo no todas las FPGA actuales soportan esta metodología. 2.3. APLICACIONES Las aplicaciones de las FPGA incluyen a los DSP (Digital Signal Processor), radio definido por software, sistemas aeroespaciales y de defensa, prototipos de los ASIC, sistemas de imágenes para medicina, sistemas de visión para computadoras, reconocimiento de voz, bioinformática, emulación de hardware de computadora, y tienen un crecimiento de aplicaciones en otras áreas. Las FPGA encuentran aplicaciones en muchas áreas donde se requiera del paralelismo ofrecido por su arquitectura.

FIELD PROGRAMMABLE GATE ARRAY 25 2.4. ARQUITECTURA La arquitectura básica consiste en un arreglo de bloques lógicos programables (CLB) y canales de comunicación. Múltiples conectores de entrada/salida pueden caber en el tamaño largo de una fila o el ancho de una columna. Generalmente, todos los canales de comunicación tienen el mismo ancho (número de cables). Cualquier circuito de aplicación puede ser hecho dentro de la FPGA, siempre y cuando esta disponga de los recursos necesarios. Un bloque lógico típico de FPGA consiste en 4 entradas a una tabla de funciones lógicas (LookUp Table), y un flip-flop como se muestra en la siguiente grafica. figura 10: Bloque lógico Hay solamente una salida, la cual puede ser ambas, la salida registrada o no registrada por el flip-flop, proveniente de la salida de la tabla de funciones lógicas. El bloque lógico tiene entonces 4 entradas para la tabla y una entrada de reloj para el flip-flop. Las señales de reloj y otras más, son manejadas por separado en FPGAs comerciales.

FIELD PROGRAMMABLE GATE ARRAY 26 Para esta arquitectura, la localización de los pines de los bloques lógicos de la FPGA son mostrados abajo. Figura 11: Localización de los pines en el bloque lógico Cada entrada es accesible desde un lado del bloque lógico, mientras que el pin de salida puede conectarse a cables de comunicación en ambos canales, el de la derecha y el canal debajo del bloque lógico. Cada pin de salida del bloque lógico puede conectarse a cualquier segmento de cable en el canal de comunicación adyacente a él. Similarmente, un conector de Entrada/Salida puede conectarse a cualquier segmento de cable en el canal de comunicación adyacente a él. Generalmente, cada segmento de conexión atraviesa solamente por un bloque lógico, antes de que este termine en una de las cajas de interruptores. Mediante la selección de conexiones a través de los interruptores programables que están dentro de las cajas de conexiones, se pueden hacer líneas de conexión más largas. Para interconexiones más rápidas, algunas arquitecturas de FPGA usan líneas de conexiones más largas que atraviesan múltiples bloques lógicos. En cada punto donde se intersecan, un canal de conexión vertical y un canal horizontal, hay una

FIELD PROGRAMMABLE GATE ARRAY 27 caja de interruptores que permite conectar una línea, a otras tres posibles líneas adyacentes dentro del segmento del canal. Una línea solo puede conectarse con otra de las tres posibles anteriormente mencionadas, no puede conectarse directamente con líneas de otras intersecciones. Más abajo se muestra lo descrito: Figura 12: caja de interruptores

FIELD PROGRAMMABLE GATE ARRAY 28 2.5. FABRICANTES DE ALGUNAS FPGA Y SUS ESPECIALIDADES A finales del 2005, el mercado de las FPGA se ha colocado en un estado donde hay dos productores de FPGA de propósito general que están a la cabeza del mismo, y un conjunto de otros competidores quienes se diferencian por ofrecer FPGAs de capacidades únicas. *Xilinx es uno de los grandes lideres de FPGA *Altera es el otro gran líder de FPGA. *Lattice Semiconductor es un fabricante de FPGA que lanzo FPGAs con tecnología de 90nm. En adición, Lattice es un proveedor líder en tecnología no volátil, FPGAs basadas en tecnología Flash, con productos de 90nm y 130nm. *Actel tiene FPGAs basadas en tecnología Flash reprogrammable. También ofrece FPGA que incluyen mezcladores de señales basados en Flash. *QuickLogic tiene productos basados en fusibles (programable una sola vez). *Atmel es uno de los fabricantes que sus productos son re-configurables (el Xilinx XC62xx fue uno de estos, pero no están siendo fabricados actualmente). Ellos se enfocaron en proveer microcontroladores AVR con FPGAs, todo en el mismo encapsulado.

FIELD PROGRAMMABLE GATE ARRAY 29 *Achronix Semiconductor tienen en desarrollo FPGAs muy veloces. Ellos planean sacar a comienzos de 2007 FPGAs con velocidades cercanas a los 2GHz. *MathStar, Inc. ofrecen FPGA que ellos llaman FPOA (Arreglo de objetos de matriz programable). 2.6. PROGRAMACIÓN La tarea del programador es definir la función lógica que realizará cada uno de los '''CLB''', seleccionar el modo de trabajo de cada '''IOB''' e interconectarlos todos. El diseñador cuenta con la ayuda de herramientas de programación. Cada fabricante suele tener las suyas, aunque usan unos Lenguajes de programación comunes. Estos lenguajes son los HDL ''Hardware Description Language'' (lenguajes de descripción de hardware): *VHDL *Verilog *ABEL

FIELD PROGRAMMABLE GATE ARRAY 30 2.7. APLICACIONES TÍPICAS Las características de las FPGA son su flexibilidad, capacidad de procesado en paralelo y velocidad. Esto les convierte en dispositivos idóneos para: *Simulación y depuración en el diseño de microprocesadores. *Simulación y depuración en el diseño de ASICs. *Procesamiento de señal digital, por ejemplo vídeo. *Sistemas aeronáuticos y militares.

FIELD PROGRAMMABLE GATE ARRAY 31 2.8. LA FPGA DE NUESTRO DISEÑO: FPGA VIRTEX-II XC2V8000-FF1152 DE XILINX La FPGA que hemos usado para realizar el proyecto es la FPGA Virtex-II perteneciente a la familia XC2V8000 con el encapsulado FF1152 que tiene 1152 footprint. Esta FPGA está integrada en una tarjeta de prueba fabricada en la Universidad de Sevilla. La foto de la tarjeta que contiene a la FPGA es la siguiente: Figura 13: Tarjeta ftunshade

FIELD PROGRAMMABLE GATE ARRAY 32 adjunto. Las características y datasheet de dicha FPGA se adjunta en el CD