Diseño De Sistemas Digitales: Historia De La Fpga

  • Uploaded by: Jorge Eliecer Fontalvo bonett
  • 0
  • 0
  • February 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Diseño De Sistemas Digitales: Historia De La Fpga as PDF for free.

More details

  • Words: 2,483
  • Pages: 11
Loading documents preview...
Diseño de Sistemas Digitales Historia de la FPGA

Docente: Eyberth Rojas Martínez

Integrantes:

Keyner Giussepe Olivo Gaona (2017219044)

Gustavo José Perea Palacio (2017219050)

Ramón Eduardo Calderón Bayona (2018119008)

Fecha: 07/09/2019

¿QUE ES LA FGPA?

Una 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, 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. 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 FPGA´S 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.

CARACTERISTICAS Una jerarquía de interconexiones programables permite a los bloques lógicos de una FPGA ser interconectados según la necesidad del diseñador del sistema, algo parecido a una placa de inserción (es una placa de uso genérico reutilizable o semipermanente) programable. Estos bloques lógicos e interconexiones pueden ser

programados después del proceso de manufactura por el usuario o diseñador, así que la FPGA puede desempeñar cualquier función lógica necesaria. Una tendencia reciente ha sido combinar los bloques lógicos e interconexiones de las FPGA´s con microprocesadores y periféricos relacionados para formar un sistema programable en un chip. Ejemplo de tales tecnologías híbridas pueden ser encontradas en los dispositivos Virtex-II PRO y Virtex-4 de Xilinx, los cuales incluyen uno o más procesadores PowerPC embebidos junto con la lógica de la FPGA. El FPSLIC de Atmel es otro dispositivo similar, 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 implementados haciendo uso de la lógica de la FPGA. Esos núcleos incluyen los procesadores MicroBlaze y PicoBlaze de Xlinx, Nios y Nios II de Altera, y los procesadores de código abierto LatticeMicro32 y LatticeMicro8. Muchas FPGA modernos soportan la reconfiguración parcial del sistema, permitiendo que una parte del diseño sea reprogramada, mientras las demás partes siguen funcionando. Este es el principio de la idea de la computación reconfigurable, o los sistemas reconfigurables.

HISTORIA DE LAS FPGA´S Las FPGA (Field Programmable Gate Array), introducidas por Xilinx en 1985, son el dispositivo programable por el usuario de más general espectro. También se denominan LCA (Logic Cell Array). Consisten en una matriz bidimensional de bloques configurables que se pueden conectar mediante recursos generales de interconexión. Estos recursos incluyen segmentos de pista de diferentes longitudes, más unos conmutadores programables para enlazar bloques a pistas o pistas entre sí. En realidad, lo que se programa en una FPGA son los conmutadores que sirven para realizar las conexiones entre los diferentes bloques, más la configuración de los bloques.

Ross Freman, cofundador 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 CPLD´S y FPGA´S 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 CPLD´S y FPGA´S 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 reconfiguración del sistema, permitiendo que una parte del diseño sea reprogramada 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 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 más procesadores Power PC 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 reconfigurable o sistemas reconfigurables, 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.

APLICACIONES DE LA FPGA´S 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.

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 flipflop como se muestra en la siguiente grafica.

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. Para esta arquitectura, la localización de los pines de los bloques lógicos de la FPGA es mostrados abajo.

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 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. Todo lo dicho se mostrará en la siguiente figura:

COMPUERTAS LÓGICAS • • • •

1982: 8192 puertas, Burroughs Advanced Systems Group. 1987: 9 000 puertas, Xilinx. 1992: 600 000, Naval Surface Warfare Department. Principios de los 2000: millones.

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 líderes en la fabricación de FPGA.



Altera: es el otro gran gigante. Anunció un acuerdo con Intel en 2015 para desarrollar una plataforma de supercomputación con CPUs con FPGA integradas. Lattice Semiconductor: sacó al mercado FPGA con tecnología de 90nm. Es el líder en tecnología no volátil como FPGA basadas en tecnología Flash y con productos de 90nm y 130 nm. En 2014, Lattice semiconductor comenzó a ofrecer dispositivos programables basados en RAM combinados con memoria no volátil no reprogramable. Actel: (actualmente Microsemi) tiene FPGA basadas en tecnología Flash reprogramable. QuickLogic: dispone de productos basados en anti fusibles, programables una sola vez. Atmel: es uno de los fabricantes que produce dispositivos reconfigurables. Se enfocó en microcontroladores AVR con FPGA juntos en un mismo encapsulado. Achronix: Semiconductor desarrollan FPGA muy rápidas. MathStar Inc.: ofrece FPGA que ellos denominan FPOA (Field Programmable Object Arrays por sus siglas en inglés). Tabula: anunció en marzo de 2010 una nueva tecnología FPGA que utiliza la lógica de tiempo multiplexado y la interconexión de mayor potencial de ahorro para aplicaciones de alta densidad.



• • • • • •

Programación.

En la FPGA no se realiza programación tal cual como se realiza en otros dispositivos como DSP, CPLD o microcontroladores. La FPGA tiene celdas que se configuran con una función específica ya sea como memoria (FLIP-FLOP tipo D), como multiplexor o con una función lógica tipo AND, OR, XOR. La labor del programador es describir el hardware que tendrá la FPGA. Por consiguiente, 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.

El diseñador cuenta con la ayuda de entornos de desarrollo especializados en el diseño de sistemas a implementarse en una FPGA. Un diseño puede ser capturado ya sea como esquemático, o haciendo uso de un lenguaje de programación especial. Estos lenguajes de programación especiales son conocidos como HDL o lenguajes de descripción de hardware. Los HDL más utilizados son: • • •

VHDL Verilog ABEL

En un intento de reducir la complejidad y el tiempo de desarrollo en fases de prototipado rápido, y para validar un diseño en HDL, existen varias propuestas y niveles de abstracción del diseño. Los niveles de abstracción superior son los funcionales y los niveles de abstracción inferior son los de diseño al nivel de componentes hardware básicos. Entre otras, National Instruments LabVIEW FPGA propone un acercamiento de programación gráfica de alto nivel.

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: 1. 2. 3. 4.

*Simulación y depuración en el diseño de microprocesadores. *Simulación y depuración en el diseño de ASIC´S. *Procesamiento de señal digital, por ejemplo, vídeo. *Sistemas aeronáuticos y militares.

Evolución tecnológica de los dispositivos FPGA´S de Xilinx Para entender un poco mejor la evolución tecnológica de los diferentes dispositivos FPGAs de Xilinx y qué cambios significativos se han producido en una determinada

fecha y por qué motivos se han producido, se muestra una línea del tiempo con todas las FPGAs analizadas para este estudio. Como ya veremos en siguientes apartados, hay un importante salto evolutivo en cuanto a avance tecnológico se refiere a finales de los noventa con la fabricación por parte de Xilinx de dos nuevas familias, Spartan y Virtex. Se fabrican diseños de arquitecturas más complejas pero a la vez más funcionales.

VELOCIDAD DE SISTEMA:

La velocidad del sistema - junto con el consumo - es uno de los aspectos más importantes para los clientes de FPGAs. La velocidad depende de varios factores como hemos visto anteriormente, y Xilinx ha ido evolucionando/mejorando la arquitectura y diseño del chip consiguiendo así rendimientos 20 veces superiores a los iniciales. Xilinx salió al mercado de las FPGAs a mediados de los ochenta con dispositivos con un rendimiento de unos 50 MHz en las series XC2000, XC3000 y XC4000. No fue hasta finales de los 90, con la salida de la Spartan y Virtex, cuando empezó un crecimiento considerable en velocidad del sistema en casi todas las FPGAs que salían nuevas al mercado, llegando a los 400 MHz. En los últimos diez años ha habido un claro ascenso de esta tecnología como indica la línea de tendencia, con algunos picos, debidos a la producción de algunos modelos de FPGAs centrados en el bajo consumo, limitando así la velocidad del sistema. En varias ocasiones, Xilinx no proporciona este parámetro en las hojas de datos, ya que el rango de velocidad del sistema en algunas FPGAs puede variar significativamente dependiendo de la configuración que se le dé al chip. En las últimas series de la gama Virtex hay familias específicas para proporcionar un alto rendimiento en cuanto a la velocidad del sistema.

Conclusión Las FPGA´s son herramientas electronicas que se siguen utilizando hoy en día, se usan para programar y reprogramar circuitos mediante programación de hardward, esta función causa que su precio sea algo elevado pero es entendible debido a que se puede rectificar el circuito y analizarlo para luego programar otro circuito permanentemente.

Biblio-grafia • http://electronicamagiscopica.blogspot.com/2009/09/un-poco-dehistoria-de-los-fpgas.html?m=1 • http://recursos.normalpopayan.edu.co:8983/wikipedia_es_all_20 17-08/A/FPGA.html • http://cursos.mcielectronics.cl/2019/06/18/fpga-fieldprogrammable-gate-array/ •

Related Documents


More Documents from "Jonnathan Ceballos Rojas"

February 2021 0
January 2021 1
Climas De Panama Geografia
February 2021 1