Caracterizacin de un procesador, su arquitectura, y su de los elementos lgicos programables en las puertas lgicas
equivalentes
implementacin mediante el uso de FPGA`s.
Francisco Antonio Alamilla Torre, Manuel Jess Domnguez Alejandro, Mauricio De Jess Vzquez Rodrguez Instituto Tecnolgico Superior de Comalcalco Pancho_arcangel@hotmail.com
Tasii05@hotmail.com
Maurrokk@hotmail.com
Abstract- En este ensayo se tratar de explicar de
mejor manera lo que es un FPGA, donde se busca (nmero de puertas NAND equivalentes que podramos programar en adquirir conocimientos elementales de la un dispositivo) se podra decir que en un CPLD hallaramos del arquitectura de las FPGA actuales y se tratara de orden de decenas de miles de puertas lgicas equivalentes y en una aprender a utilizar las herramientas de FPGA del orden de cientos de miles hasta millones de las mismas. Aparte de las diferencias que hay en densidad entre estos dos tipos programacin y realizar proyectos sencillos, donde se de dispositivos, la diferencia primordial que hay entre las FPGA`s y utilicen los diferentes tipos de programacin de los CPLD`s se encuentra en la arquitectura. La arquitectura de los FPGA`s. CPLDs es mucho ms rgida y que consiste en una o ms sumas de productos programables cuyos resultados van a terminar en un I. INTRODUCCIN nmero reducido de biestables sncronos (Tambin llamados como los flip-flops). La arquitectura de las FPGAs, de otra manera, se basa En este documento explicaremos de forma exacta lo que es un en un gran nmero de pequeos bloques que son utilizados para FPGA. Se dice que FPGA (Del ingls Field Programmable Gate reproducir sencillas operaciones lgicas, que tambin cuentan de misma con los biestables sncronos. Tambin hay otra importante Array) viene siendo un dispositivo programable que contiene diferencia entre los FPGA`s y los CPLD`s, es que en la mayora de diferentes bloques de lgica la que tiene una interconexin y una las memorias FPGA`s se pueden hallar funciones de muy alto nivel funcionalidad que puede ser configurada, mediante un lenguaje de (como sumadores y multiplicadores como buen ejemplo) utilizadas en la propia matriz de sus interconexiones, as como en sus bloques descripcin especializado. Los FPGA vinieron a sustituir en mayor de memoria. parte a los CPLD. La lgica programable puede reproducir desde muchas funciones tan sencillas como las que son llevadas a cabo por una puerta lgica o un sistema combinacional, hasta los complejos sistemas en un chip.
II. DESARROLLO
Historia del FPGA vs los CPLD
Las memorias FPGA`s fueron diseadas en el ao de 1984 por
los norteamericanos Ross Freeman y Bernard Vonderschmitt, cofundadores de Xilinx y surgen como una evolucin de los CPLDs. Tanto los CPLDs como las FPGAs contienen en si un gran nmero de elementos lgicos programables. Si se mide lo que es la densidad antepasados diferentes. En los que es la computacin FIG. 1 Arquitectura del CPDL. reconfigurable, los FPGA`s son utilizados siempre en controladores, codificadores/decodificadores y en el prototipo de circuitos VLSI y microprocesadores a medida. El primer fabricante de estos dispositivos fue Xilinx y los dispositivos de Xilinx se siguen manteniendo como uno de los ms populares en Comparacin de los FPGA con los ASIC`s compaas y grupos de investigacin. Otros vendedores que se mantiene en este mercado son Atmel, Altera, AMD y Motorola. Se ha dado a conocer que los FPGA`s se utilizan en aplicaciones muy similares a los ASIC`s, pero tienen una serie de desventajas, as como tambin de ventajas respecto a estos ltimos: Desventajas:
Son ms lentas.
Consumen mayor potencia.
No pueden realizar sistemas excesivamente complejos . FIG. 2 Tarjeta FPGA.
Ventajas: Caractersticas Son reprogramables. La jerarqua de estas interconexiones programables que permite a los bloques lgicos de un FPGA poder ser interconectados Los costes de desarrollo y adquisicin son mucho segn la necesidad que tenga el diseador del sistema, algo menores. similar a un breadboard (Que es una placa de uso genrico reutilizable o semipermanente) programable. Todos estos El tiempo de diseo y manufacturacin es menor. bloques lgicos e interconexiones tambien pueden ser programados despus del proceso de manufactura que es por el Historia del FPGA usuario/diseador, as que el FPGA puede desempear cualquier tipo funcin lgica que sea necesaria. Se conoce que los FPGA son el resultado de la transformacin Una tendencia que actualmente se esta utilizando es combinar de dos diferentes tecnologas, que son los dispositivos lgicos los bloques lgicos e interconexiones de los FPGA que con programables (PLDs Programmable Logic Devices) y tambin microprocesadores y perifricos relacionados para formar un los circuitos integrados de aplicacin especfica (ASIC [Que sus Sistema programable en un chip. Un ejemplo de estas siglas en ingles son Application-Specific Integrated Circuit]). La tecnologas hbridas pueden ser halladas en los dispositivos historia de los PLDs comenz con los primeros dispositivos Virtex-II PRO y Virtex-4 de Xilinx, los cuales tienen incluidos PROM (Programmable Read-Only Memory) y se les aadi uno o ms procesadores PowerPC embebidos junto con la lgica versatilidad con los PAL (Programmable Array Logic) que a su del FPGA. El FPSLIC de Atmel es tambien otro dispositivo vez permitieron un mayor nmero de entradas y la inclusin de similar, el cual utiliza un procesador AVR en combinacin con la varios registros. Todos esos dispositivos han ido creciendo con el arquitectura lgica programable de Atmel. Tambien otra paso del tiempo y mejoras en lo que son su tamao y una mayor alternativa es utilizar los ncleos de procesadores potencia. Por otra parte, los ASIC siempre han sido unos implementados haciendo uso de la lgica del FPGA. Todos esos potentes dispositivos, pero para eso se ha requerido ncleos incluyen los procesadores MicroBlaze y PicoBlaze de tradicionalmente una grandsima inversin tanto de tiempo para Xlinx, Nios y Nios II de Altera y los procesadores de cdigo seguir sosteniendo en mayor parte su potencial, como de dinero abierto LatticeMicro32 y LatticeMicro8. Muchos tarjetas FPGA para seguir solventando sus mejoras, se sabe que para conseguir en la actualidad soportan la reconfiguracin parcial del sistema, mojaras en los dispositivos se necesita un buen sustento permitiendo que una parte del diseo pueda ser reprogramada, econmico para poder implementar las mejores tecnologas. En mientras todas las dems partes siguen funcionando igual. Este muchos intentos de poder reducir toda esta carga que han llego siendo una principal idea de la computacin provenido de la modularizacin de todos los elementos de los reconfigurable, o los sistemas reconfigurables. circuitos, como los ASIC basados en las celdas y de la estandarizacin de las mscaras, tal como Ferranti fue uno de los pioneros con la ULA (Uncommitted Logic Array). El ltimo paso era combinar estas dos estrategias con un mecanismo de interconexin que a su vez pudiera programarse utilizando fusibles, antifusibles o bien celdas RAM y celdas ROM, como los innovadores dispositivos Xilinx a mediados de los aos 80. Todos los circuitos resultantes tienen una similaridad en la capacidad y las aplicaciones a los PLDs de mayor tamao, aunque hay algunas diferencias puntuales que delatan algunos ABEL En un intento de reducir la complejidad y el tiempo de desarrollo en fases de prototipaje rpido, y para validar un diseo en HDL, existen varias propuestas y niveles de abstraccin del diseo. Los niveles de abstraccin superior son los funcionales y los niveles de abstraccin inferior son los de diseo al nivel de componentes hardware bsicos. Entre otras, National Instruments LabVIEW FPGA propone un acercamiento de programacin grfica de alto nivel.
FIG. 3 Caracteristicas de la tarjeta FPGA
Beneficios de usar el FPGA
La adopcin y utilizacion de chips FPGA en todas las industrias
ha sido impulsada por el hecho de que los FPGAs utilizan lo mejor de todos los circuitos integrados de aplicacin especfica (ASICs) y de los sistemas basados en los procesadores. Todo esto tiene muchos beneficios que incluyen entre los mas importantes se encuentran los siguientes: Tiempos ms rpidos de respuesta de E/S y funcionalidad especializada Exceder la potencia de cmputo de procesadores de seales digitales Rpida generacin de prototipos y verificacin sin el proceso de fabricacin del diseo personalizado de ASIC Implementar funcionalidad personalizada con la fiabilidad de hardware determinstico dedicado FIG. 4 Lenguaje de una programacion en VHDL. Se puede actualizar en campo, eliminando los gastos por rediseo personalizado de ASIC y mantenimiento. III. Conclusion Como conclusion del tema solo mencionaremos que las Programacin programaciones de compuertas programables en campo (FPGAs) En la tarjeta FPGA no se realiza la programacin tal cual como son chips de silicio reprogramables. Es una tarjeta lgica se realiza en otros dispositivos como lo son los DSP, CPLD o programable organizada de alguna manera dentro de un chip. microcontroladores. La FPGA tiene celdas que se pueden Con el paso de los tiempos esta tarjeta fue mejorando y configurar con una funcin especficamente exacta ya sea como evolucionando para poder sustentar muchas cosas en la memoria (FLIP-FLOP de tipo D), como lo es multiplexor o con actualidad, por cierta razon esta tarjeta fue diseada para una funcin lgica tipo AND, OR, XOR. La utilidad del sustituir las antiguas tarjetas de CPLD y los ASIC`s, esta nueva "programador" es describir el hardware que tendr que utilizar la invencion de tarjeta logica programable fue la que dios una tarjeta FPGA. De la misma manera, la tarea del "programador" nueva opcion de trabajar en el ambito de las programaciones, ya es definir claramente la funcin lgica que realizar cada uno de que se puede trabajar de mejor manera y con una potencia y los CLB, tambien es seleccionar el modo de trabajo de cada uno rapidez que al paso del tiempo se ha ido y se ira mejorando. de los IOB e interconectarlos. El diseador del programador cuenta con la ayuda de algunos entornos de desarrollo IV. Bibliografias especializados en el diseo de los sistemas que se pueden https://www.dc.uba.ar/materias/disfpga/2012/c1/descar implementar en una tarjeta FPGA. Cualquier diseo puede ser gas/Introduccion.pdf capturado ya sea como esquemtico o tambien haciendo uso de http://www.ni.com/white-paper/6983/es/ un lenguaje de programacin especial, que solamente se usan http://uea2013.frbb.utn.edu.ar/wp- para este tipos de programacions. Estos lenguajes de content/uploads/S3_3.pdf programacin especiales son muy conocidos como HDL o http://dea.unsj.edu.ar/sisdig2/Field%20Programmable Hardware Description Language (lenguajes de descripcin de %20Gate%20Arrays_A.pdf hardware). Los HDLs ms utilizados para la programacion son: http://www.aunbit.com/que-es-un-fpga/ VHDL Verilog