Miguel de Cervantes y Saavedra - Don Quijote de la Mancha - Ebook:
HTML+ZIP- TXT - TXT+ZIP

Wikipedia for Schools (ES) - Static Wikipedia (ES) 2006
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
FPGA - Wikipedia, la enciclopedia libre

FPGA

De Wikipedia, la enciclopedia libre

Un FPGA Altera con 20,000 celdas.
Aumentar
Un FPGA Altera con 20,000 celdas.

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 mas 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 manufacturación 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 ingles), 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, mas baratas y menos flexibles, las cuales no pueden ser modificadas después que el diseño ha 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.

Tabla de contenidos

[editar] Historia

Ross Freman, co-fundador de Xilinx, invento el arreglo matricial de compuertas. La raíz histórica de las FPGA son los dispositivos de lógica programable compleja (CPLD) de a 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 mas flexibles (en termino del rango de diseños prácticos para los cuales pueden ser usadas) pero también es posible irse un poco mas lejos en cuanto al diseño. Otra notable diferencia entre CPLDs y FPGAs es la presencia de funciones mas 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 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 si mismos para cumplir con la tarea actual. Sin embargo no todas las FPGA actuales soportan esta metodología.

[editar] 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.

[editar] 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 (numero 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.

Bloque Logico
Bloque Logico

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 son mostrados abajo.

Localizacion de los pines en el Bloque Logico
Localizacion de los pines en el Bloque Logico

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 el. Similarmente, un conector de Entrada/Salida puede conectarse a cualquier segmento de cable en el canal de comunicación adyacente a el. 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 mas largas. Para interconexiones más rápidas, algunas arquitecturas de FPGA usan líneas de conexiones mas 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.

Más abajo se muestra lo descrito:

Caja de Interruptores
Caja de Interruptores

[editar] 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 dos grandes líderes 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.
  • 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).

[editar] 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 o Hardware Description Language (lenguajes de descripción de hardware):

[editar] 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:

En internet hay disponible código fuente de sistemas como microprocesadores, microcontroladores, filtros, módulos de comunicaciones, memorias, etc. Estos códigos se llaman cores.

[editar] Véase también

[editar] Enlaces externos

  • Clase particular de FPGA Incluye la información sobre Lo'gica-bloquean, encaminando, los tipos, flujo del diseño y programabilidad.
  • Grupos de Trabajo con FPGA Lista de grupos de discusión FPGA, administrados por el MC Luis Orantes graduado de la Universidad de Pittsburgh en EUA.

[editar] Vendedores

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com