Uso eficiente de aritmética redundante en FPGAs

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Uso eficiente de aritmética redundante en FPGAs"

Transcripción

1 INSTITUTO DE ESTUDIOS DE POSTGRADO PROGRAMA DE DOCTORADO EN INGENIERÍA Y TECNOLOGÍA Uo eficiente de aritmética redundante en FPGA MANUEL AGUSTÍN ORTIZ LÓPEZ MEMORIA DE TESIS PARA OPTAR AL GRADO DE DOCTOR LÍNEA DE INVESTIGACIÓN: INSTRUMENTACIÓN Y ELECTRÓNICA INDUSTRIAL DIRECTORES: DR. D. FRANCISCO JOSÉ BELLIDO OUTEIRIÑO DR. D. FRANCISCO JAVIER HORMIGO AGUILAR DR. D. JULIO VILLALBA MORENO CÓRDOBA, SEPTIEMBRE DE 2013

2 TITULO: Uo eficiente de aritmética redundante en FPGA AUTOR: Manuel Agutín Ortiz López Edita: Servicio de Publicacione de la Univeridad de Córdoba Campu de Rabanale Ctra. Nacional IV, Km. 396 A Córdoba publicacione@uco.e

3

4 TÍTULO DE LA TESIS: Uo eficiente de aritmética redundante en FPGA DOCTORANDO/A: Manuel Agutín Ortiz López INFORME RAZONADO DE LOS DIRECTOR/ES DE LA TESIS (e hará mención a la evolución y dearrollo de la tei, aí como a trabajo y publicacione derivado de la mima). Lo doctore D. Francico Joé Bellido Outeiriño, profeor del Departamento de Arquitectura de Computadore, Electrónica y Tecnología Electrónica de la Univeridad de Córdoba, y D. Francico Javier Hormigo Aguilar y D. Julio Villalba Moreno, profeore del Departamento de Arquitectura de Computadore de la Univeridad de Málaga informan que el trabajo titulado Uo eficiente de aritmética redundante en FPGA que preenta D. Manuel Agutín Ortiz López, Licenciado en Ciencia Fíica, para optar al grado de Doctor por la Univeridad de Córdoba ha ido realizado bajo nuetra dirección. La preente Tei Doctoral etá bien etructurada y organizada, cubriendo de manera correcta antecedente, objetivo, dearrollo, concluione y bibliografía. La metodología planteada y pueta en práctica demuetra er la adecuada para reolver lo objetivo propueto. Etablece con claridad la ituación actual de la operacione utilizada en numeroa área tecnológica, epecialmente en bioinformática, tratamiento digital de imagen, computación financiera, criptografía, etc., donde e etá extendiendo cada vez má el uo de FPGA (Field Programmable Gate Array) para la implementación de unidade aritmética adaptada a cada aplicación concreta. Ademá de la repreentacione en punto fijo o en punto flotante, e habitual encontrar hoy día implementacione en FPGA que utilizan repreentacione en punto flotante con doble preciión o repreentacione en punto flotante decimal. Eta nueva aplicacione requieren cada vez má preciión numérica lo que conlleva un número de bit elevado de lo operando; lo que jutifica la neceidad de optimizar el rendimiento de eta operacione en la FPGA. La innovación de eta Tei Doctoral etá baada en la neceidad de obtener una implementación eficiente de aritmética Carry-ave en la etructura de FPGA actuale. Una vez dearrollada la implementación eficiente en FPGA de bajo cote, e ha aplicado ete reultado en alguna operacione como multiplicación de operando de ancho de palabra elevado u operacione MAC, coniguiendo un elevado rendimiento. En epecial un aumento de la velocidad de operación en uma y producto impoible de coneguir utilizando aritmética convencional. Paralelamente, la evolución de la FPGA ha propiciado la aparición de FPGA má potente que ademá de mejorar en velocidad y conumo de potencia, ofrecen al uuario má

5 recuro. Y en el preente trabajo e ha verificado i lo bueno reultado obtenido de la utilización de la aritmética Carry-ave, on ampliable a eta FPGA nueva. Para lo que ha adaptado de nuevo lo umadore carry-ave a eta etructura, coniguiendo mejore reultado incluo que en la anteriore FPGA y ha definido un nuevo formato de aritmética Carry-ave que e ha denominado doble carry-ave que permite aumentar el rendimiento ofrecido por la aritmética Carry-ave cláica. Se ha demotrado con ete trabajo que la aritmética carry-ave e la mejor alternativa para la realización de multiplicadore de ancho de palabra elevado. Por tanto lo reultado del trabajo on directamente aplicable, y contribuyen no ólo al conocimiento ino al dearrollo tecnológico y a la innovación. En cuanto a la producción científica generada por la Tei Doctoral detacar el número y calidad de la publicacione derivada de éta, aí como la ditribución temporal de la mima. M. Ortiz, F. Quile, J. Hormigo, F. Jaime, J. Villalba, and E. Zapata, Efficient implementation of carry-ave adder in FPGA, in Application-pecific Sytem, Architecture and Proceor, ASAP th IEEE International Conference on, , pp Moreno, C. D.; Quile, F.J.; Ortiz, M. A.; Brox, M.; Hormigo, J.; Villalba, J.; Zapata, E.L., "Efficient mapping on FPGA of convolution computation baed on combined CSA-CPA accumulator," Electronic, Circuit, and Sytem, ICECS th IEEE International Conference on, vol., no., pp.419,422, Dec. 2009, doi: /ICECS Quile, F.J.; Ortiz, M.; Brox, M.; Moreno, C.D.; Hormigo, J.; Villalba, J., "UCORE: Reconfigurable Platform for Educational Purpoe," Reconfigurable Computing and FPGA (ReConFig), 2010 International Conference on, vol., no., pp.109,114, Dec. 2010, doi: /ReConFig Moreno-Moreno, C., Martinez-Jiménez, M., Bellido-Outeiriño, F., Hormigo-Aguilar, F., Ortiz-Lopez, M., Quile-Latorre, F., "Convolution computation in FPGA baed on carry-ave adder and circular buffer", International ICST Conference on IT Revolution, Cordoba-Spain, 2011.doi: / _20. Quile-Latorre, F., Ortiz-Lopez, M., Montijano-Vizcaino, M., Moreno-Moreno, C., Brox-Jiménez, M., Hormigo-Aguilar, F., Villalba-Moreno,Julio, "Acelerador Hardware de bajo cote para bu PCI Convencional", Seminario Anual de Automática, Electrónica Indutrial e Intrumentación 2012, Guimarãe, Portugal. Ortiz-López, M., Quile-Latorre, F., Moreno-Moreno, C., Brox-Jiménez, M., "CAN2PCI: Placa con interfaz al bu CAN y PCI con finalidad docente", Revita de Formación univeritaria, ISSN: , pp.31-38, Chile 2009, doi: /S Ortiz-López, M., Quile-Latorre, F., Moreno-Moreno, C., Brox-Jiménez, M.," ADQPCI: Placa de adquiición de dato con fine docente", Revita de Formación univeritaria, ISSN: , pp , Chile 2009, doi: /S

6

7

8 A Francico J. Quile Maetro, compañero y amigo

9

10 Agradecimiento Una vez finalizado ete trabajo, deeo motrar mi agradecimiento a toda la perona que me han ayudado y animado. Eta tei ha finalizado gracia a la ayuda, tanto técnica como peronal, de toda la perona integrante del Departamento de Arquitectura de Computadore, Electrónica y Tecnología Electrónica de la Univeridad de Córdoba. A Francico Javier Quile Latorre, por u ayuda pretada no ólo en la realización de la tei, in la cual no hubiera ido poible, ino por tanta hora que hemo compartido y difrutado en cai 25 año de trabajo. Cuando por el año 1988 me entaron en una mea a u lado, en el laboratorio de I+D de la emprea Fujitu Limited, no me podía imaginar que íbamo a compartir tan bueno momento, ni mucho meno, que iba a aprender tanto a u lado. Gracia también por tu ánimo y optimimo en todo lo proyecto que hemo realizado. A mi directore de tei, Francico Javier Hormigo, Julio Villalba y Francico Bellido por haber ido compañero ademá de directore. Gracia por vuetro apoyo contante y por haberme hecho entir que en eta tei no etaba olo. A Edmundo Sáez, Laura Ramírez, Miguel Ángel Montijano, Carlo Diego Moreno, María Brox, André Gernoviez y Lili Tapia por vuetro apoyo y compañía en lo malo momento. Y gracia por hacerme difrutar de cada día. A mi hija Olimpia y a mi padre, hermana, cuñado, y obrino por er el motor de mi vida y etar iempre a mi lado.

11

12 Reumen Hata hace poco año, la utilización de aritmética redundante en FPGA había ido decartada por do razone principalmente. En primer lugar, por el buen rendimiento que ofrecían lo umadore de acarreo propagado, gracia a la lógica de de acarreo que poeían de fábrica y al pequeño tamaño de lo operando en la aplicacione típica para FPGA. En egundo lugar, el exceivo conumo de área que la herramienta de íntei obtenían cuando mapeaban unidade que trabajan en carryave. En ete trabajo, e muetra que e poible la utilización de aritmética redundante carry-ave en FPGA de manera eficiente, coniguiendo un aumento en la velocidad de operación con un conumo de recuro razonable. Se ha introducido un nuevo formato redundante doble carry-ave y e ha demotrado que la manera óptima para la realización de multiplicadore de elevado ancho de palabra e la combinación de multiplicadore empotrado con umadore carry-ave. Abtract Till a few year ago, redundant arithmetic had been dicarded to be ue in FPGA mainly for two reaon. Firt, the efficient reult obtained uing carry-propagate adder thank to the carry-logic embedded in FPGA and the mall ize of operand in typical FPGA application. Second, the high number of reource that the ynthei tool utilize to implement carry-ave circuit. In thi work, it i demontrated that carry-ave arithmetic can be efficiently ued in FPGA, obtaining an important peed improvement with a reaonable area cot. A new redundant format, double carry-ave, ha been introduced, and the optimal implementation of large ize multiplier ha been hown baed on embedded multiplier and carry-ave adder.

13

14 Índice 1. Introducción Aritmética en Computadore Sumadore Aritmética y umadore carry-ave Operacione de uma y producto en FPGA Motivación del trabajo Comentario obre lo dato y la herramienta de dearrollo utilizada Aritmética redundante en FPGA: Situación actual Introducción Aplicacione que han demotrado lo beneficio de la utilización de aritmética redundante en FPGA Mapeo eficiente de umadore carry-ave Decripción y íntei dede lenguaje de alto nivel de aritmética CS: uma multioperando Propueta de modificación del hardware de la FPGA Implementación eficiente de umadore carry-ave en FPGA Introducción Compreore en FPGA con LUT Introducción Etudio de lo tiempo de propagación de umadore CSA frente a CPA en FPGA de bajo cote baada en LUT Etudio de utilización de recuro de umadore CSA frente a CPA en FPGA de bajo cote baada en LUT Optimización de compreore CSA aprovechando la entrada de acarreo propagado Análii de caracterítica de compreore en LUT Compreore en FPGA con LUT Introducción Implementando un compreor [3:2] en LUT Implementando un compreor [4:2] en LUT Implementando compreore de orden uperior en LUT Sumador ternario en LUT Sumador doble carry-ave [4:3], [5:3], [6:3] y [7:3] Análii de caracterítica de compreore en LUT Implementación de multiplicadore de ancho de palabra elevado Introducción Dieño de multiplicadore de gran ancho de palabra en FPGA Reultado de la implementación de multiplicadore de ancho de palabra elevado en FPGA con LUT Reultado de la Implementación de multiplicadore de ancho de palabra elevado en FPGA con LUT Concluione y línea futura Referencia Anexo de publicacione Uo eficiente de aritmética redundante en FPGA Pag. i

15

16 Índice de figura Figura 1. Acelerador hardware conectado al bu PCI... 4 Figura 2. Sumador completo de 1 bit... 5 Figura 3. Sumador CRA de m bit... 6 Figura 4. Sumador CLA Figura 5. Sumador carry-ave de m bit... 9 Figura 6. Ejemplo de uma en CSA Figura 7. Compreor [4:2] contruido a partir de do compreore [3:2] Figura 8. Configurable Logic Block Figura 9. Diagrama implificado de una FPGA Spartan Figura 10. Implementación de un umador CPA de do bit o CSA de radix Figura 11. Implementación eficiente de un umador CSA de 1 bit Figura 12. Mapeo de compreore [3:2] en un lice para tener un compreor [4:2] Figura 13. Implementación de un compreor [4:2] en un lice Figura 14. Implementación cláica de compreore [5:2] Figura 15. Compreor [5:2] optimizado para FPGA con LUT Figura 16. Implementación cláica de compreore [7:2] Figura 17. Compreor [7:2] optimizado para FPGA con LUT Figura 18. Slice implificado de FPGA con LUT Figura 19. Compreor [3:2] intetizado en una LUT Figura 20. Compreor [4:2] intetizado en 2 LUT Figura 21. Compreor [4:2] optimizado en área Figura 22. Compreor [4:2] optimizado en velocidad Figura 23. Síntei del compreor [5:2] optimizado en área Figura 24. Implementación cláica de un compreor [6:2] Figura 25. Compreor [5:2] optimizado en velocidad Figura 26. Compreor [6:2] optimizado en velocidad Figura 27. Compreor [7:2] optimizado en velocidad Figura 28. Sumador báico doble carry-ave [4:3] Figura 29. Sumador doble carry-ave [5:3] Figura 30. Sumador doble carry-ave [6:3] Figura 31. Sumador doble carry-ave [7:3] Figura 32. Multiplicador con igno de 35x35 bit Figura 33. Producto parciale de un multiplicador de 35x35 bit con igno Figura 34. Producto parciale de un multiplicador de 52x35 bit con igno Figura 35. Multiplicador de 52x35 bit con igno y alida de uma y acarreo Figura 36. Multiplicador de 51x34 bit in igno con alida CSA Uo eficiente de aritmética redundante en FPGA Pag. iii

17

18 Índice de tabla Tabla 1. Tiempo de propagación para umadore CPA y CSA para la FPGA XC3S200-4ft Tabla 2. Ocupación de área de un umador CSA de 8 bit Tabla 3. Implementación cláica de compreore veru implementación optimizada. 40 Tabla 4. Caracterítica de compreore de 32 bit carry-ave para LUT Tabla 5. Recuro contenido en lo lice egún el tipo Tabla 6. Funcione lógica utilizada para la íntei del compreor [4:2] optimizado en velocidad Tabla 7. Compreore [m:2] de 32 bit optimizado en área Tabla 8. Compreore [m:2] de 32 bit optimizado en velocidad Tabla 9. Sumador de 2 operando veru 3 operando Tabla 10. Sumadore doble carry-ave [m:3] de 32 bit Tabla 11. Caracterítica de umadore de 32 bit carry-ave para LUT Tabla 12. Reultado de multiplicadore con igno en FPGA con LUT Tabla 13. Reultado de multiplicadore in igno en FPGA con LUT Tabla 14. Reultado de multiplicadore con igno en FPGA con LUT Uo eficiente de aritmética redundante en FPGA Pag. v

19

20 Índice de Gráfico Gráfico 1. Retardo de compreore de 32 bit carry-ave para LUT Gráfico 2. Comparativa de velocidad en umadore de 32 bit carry-ave para LUT6.60 Gráfico 3. Comparativa de área conumida en umadore de 32 bit carry-ave para LUT Gráfico 4. Frecuencia de trabajo de multiplicadore con alida CPA en LUT Gráfico 5. Área conumida de multiplicadore con alida CPA en LUT Uo eficiente de aritmética redundante en FPGA Pag. vii

21

22 Acrónimo empleado ASIC Circuito integrado para aplicacione epecífica CLA Sumador de acarreo anticipado CLB Configurable Logic Block CPA Sumador de acarreo propagado CRA Sumador de acarreo encadenado CS Carry-ave CSA Carry-ave Aritmética o umador carry-ave DSP Proceamiento digital de eñale FA Sumador completo FPCA Field Programmable Counter Array FPGA Field Programmable Gate Array FPCT Field Programmable Compreor Tree GPC Generalized Parallel Counter GPU Proceador para tratamiento de gráfico LUT Look-up table LUT4 Look-up table con 4 entrada LUT6 Look-up table con 6 entrada MAC Unidad de multiplicación y acumulación PCI Bu de interconexión de periférico PPA Parallel prefix adder SAD Operación de uma de la diferencia aritmética SD Signed-digit VHDL Lenguaje de alto nivel de decripción hardware Uo eficiente de aritmética redundante en FPGA Pag. ix

23

24 1. Introducción Breve reumen En ete capítulo e hará una breve decripción de lo umadore que aparecerán en ete trabajo aí como una breve introducción obre FPGA. Uo eficiente de aritmética redundante en FPGA Pag. 1

25

26 Introducción 1.1. Aritmética en Computadore La aritmética en computadore e orienta en do direccione. Por un lado, e intenta dotar a lo proceadore principale de unidade aritmética flexible que implementan cualquier operación aritmética mediante programación, y por otro lado, e utilizan unidade epecializada y/o coproceadore para determinada operacione que requieren un elevado tiempo de cómputo o una preciión numérica variable, o para operacione compleja obre un gran volumen de dato. La realización de operacione aritmética obre el proceador principal tiene la ventaja de la flexibilidad ofrecida por la programación y un conumo de recuro limitado. La unidade aritmética integrada en lo proceadore on principalmente unidade que trabajan en punto flotante, y que no iempre permiten realizar operacione en tiempo real, obre todo en el tratamiento digital de eñale (incluido el tratamiento de imágene), criptografía, operacione en punto fijo, operacione de preciión variable, etc. Para aumentar el rendimiento de eta operacione, e han dotado a lo computadore de unidade epecializada como la unidade para proceamiento digital de eñale (DSP) incluida en alguno proceadore principale, o coproceadore para tratamiento de gráfico (GPU). Aún aí, exiten operacione muy cotoa cuya realización no e poible mediante programación en proceadore epecializado. Se hace necearia la utilización de unidade dedicada que realizan algoritmo concreto por hardware, aumentando de eta forma el rendimiento. El dearrollo de lo dipoitivo programable, o má comúnmente llamado dipoitivo reconfigurable, ofrecen una nueva poibilidad para la realización de operacione compleja que requieren un elevado tiempo de cómputo. Ademá de la poibilidad de reconfiguración de eto dipoitivo, permiten la computación con un elevado rendimiento, uperando en do órdene de magnitud a lo proceadore de propóito general en algoritmo aritmético [1][2]. Surgen con mucha fuerza lo itema reconfigurable y lo aceleradore hardware que incluyen eto dipoitivo reconfigurable. Lo aceleradore hardware, epecialmente lo que e conectan a lo bue interno del itema computacional, permiten la programación del algoritmo que e deee implementar por hardware, dede el proceador principal, de una manera cómoda e incluo on-line, en lo dipoitivo Uo eficiente de aritmética redundante en FPGA Pag. 3

27 Introducción reconfigurable que contienen [3][4]. La Figura 1 muetra la etructura que habitualmente e utiliza para realizar aceleradore hardware conectado al bu PCI [5][6]. Application Accelerator Configuration load Bu PCI Interface PCI Bu Interface Bridge Local Bu Debugger Bu FPGA Algorithm Figura 1. Acelerador hardware conectado al bu PCI Lo dipoitivo reconfigurable ofrecen un elevado rendimiento ya que la operacione e realizan por hardware, y el hardware permite aprovechar el paralelimo inherente al algoritmo. En ete entido la realización de algoritmo en Field Programmable Gate Array (FPGA) ofrecen una buena alternativa por la alta integración de recuro lógico y la facilidad de programación. Eto dipoitivo e utilizan ampliamente en numeroa aplicacione, epecialmente en proceamiento digital de eñale [7][8][9][10], aceleradore hardware [11][12][13], criptografía [14][15], etc. Lo algoritmo complejo implementado en eta unidade dedicada, hacen un uo intenivo de operacione aritmética, motivo por el cual lo fabricante de FPGA intentan optimizar al máximo la implementación de operacione de uma y producto para coneguir un rendimiento elevado con un mínimo cote de recuro. Ete compromio hace que lo fabricante integren umadore rápido con un conumo de recuro pequeño y multiplicadore muy rápido aunque con un ancho de operando pequeño. Sin embargo, a vece lo requiito de velocidad de la operacione implementada, obligan al dieñador a utilizar otro tipo de umadore y multiplicadore má eficiente aunque con un conumo de recuro mayor, o a utilizar FPGA rápida y cotoa. La implementación de umadore y multiplicadore eficiente erá la alternativa que pretende ete trabajo. El documento e etructura de la iguiente manera, en primer lugar, e hará una breve introducción obre umadore y aritmética redundante, para fijar la idea de partida má importante de ete trabajo. Poteriormente e hará un etudio de la Pag. 4 Uo eficiente de aritmética redundante en FPGA

28 Introducción incipiente línea eguida actualmente para la implementación de aritmética redundante en FPGA. En lo capítulo iguiente e motrará cómo e poible una implementación eficiente de aritmética redundante en FPGA, proponiendo olucione que optimizan el conumo de recuro, una de la principale deventaja de la aritmética redundante, frente a la aritmética tradicional. Para finalizar e preentarán una concluione y lo trabajo futuro Sumadore En ete apartado e realizará una breve decripción de lo umadore má utilizado para realizar la operación de uma por hardware. No e pretende motrar todo lo umadore que e han decrito hata el momento, ino lo má utilizado en FPGA y lo que e proponen como alternativa en ete trabajo. Para un etudio má detallado e puede conultar [16][17]. Para realizar una operación de uma báica en aritmética digital, e utiliza un umador completo (FA), que uma tre bit (habitualmente un bit de cada operando y un acarreo de entrada) y genera un bit de uma y un acarreo de alida. Un umador completo e puede obervar en la Figura 2. a b c a b c Figura 2. Sumador completo de 1 bit Si e quiere realizar una uma de operando de cualquier número de bit e pueden componer umadore completo de 1 bit, que trabajan de la mima manera en como e realizaría la uma de una manera natural. Como muetra la Figura 3, e uma cada dígito junto con el acarreo generado en el dígito anterior. Eto umadore reciben el nombre de Baic Carry-Ripple Adder (CRA o RCA). Uo eficiente de aritmética redundante en FPGA Pag. 5

29 Introducción Weight 2 m-1 a m-1 b m-1 Weight 2 1 a 1 b 1 Weight 2 0 a 0 b 0 0 a b c a b c a b c c pm m-1 c p2 1 c p1 0 Figura 3. Sumador CRA de m bit El umador CRA tiene el inconveniente de que la uma en un bit concreto no finaliza hata que no e haya generado el acarreo en el bit de peo anterior. Por tanto, la uma completa no e obtiene hata que no e ume el último bit que no podrá tenere hata que no e obtengan lo acarreo de toda la etapa anteriore. El retardo de un umador CRA báico dependerá del tiempo empleado en generar el acarreo (Delay Cn ) en cada bit y el número de bit del umador (n) (Ecu. 1). S delay n = 1 Delay( Cn) Ecu.1 En ete tipo de umadore el efuerzo para coneguir una mayor velocidad e pone en diminuir el retardo en la generación del acarreo e incluo anularlo [16][17]. En la FPGA e intenta diminuir en la medida de lo poible el retardo del acarreo, pero hay que hacer notar que aunque ea pequeño, el retardo de un umador CRA depende del número de bit. Del otro lado, una olución teórica ería dieñar umadore que realicen la uma completa en do nivele. En ete cao el retardo teórico ería igual a la generación de todo lo bit de uma en paralelo e igual al retardo de lo do nivele de puerta. Eto en la realidad olamente e puede coneguir para un número de bit pequeño, ya que para un número elevado de bit, on necearia un gran número de puerta lógica con un número de entrada elevado. Una olución intermedia, entre la rápida y cotoa técnica de do nivele y la lenta pero imple técnica de propagación del acarreo, para coneguir un umador de m bit con un conumo de hardware razonable, ería tener un umador completo de m bit que generae todo lo acarreo imultáneamente. Ete tipo de umadore e le llama Carry-Lookahead Adder (CLA). Lo CLA e nombran por el número de bit que Pag. 6 Uo eficiente de aritmética redundante en FPGA

30 Introducción Uo eficiente de aritmética redundante en FPGA Pag. 7 computan a la vez, de eta forma e tiene un CLA de módulo 1 CLA-1, que uma 1 bit de cada operando, de módulo 2, que uma 2 bit de cada operando, y en general e le llama de módulo m CLA-m, que uma m bit de cada operando. La parte del circuito que genera el acarreo no toma u entrada directamente de la entrada primaria, ino que tiene como entrada otra eñale auxiliare. En la literatura e pueden encontrar vario dieño de umadore de acarreo anticipado [16][18]. Uno de lo dieño conite en generar do eñale auxiliare g i y p i, a partir de la entrada primaria, para generar el acarreo, como muetra la Figura 4 para 4 bit. Con eta funcione la ecuacione de un umador quedan: 1 = i i i i c p g 1 + = i i i i c p g c Siendo: i i i y x g =, y i i i y x p + = Por ejemplo, para un umador de acarreo anticipado de 4 bit la funcione necearia para implementar el acarreo anticipado erían: in in in in c p p p p g p p p g p p g p g c c p p p g p p g p g c c p p g p g c c p g c = = = = Por último la 4 funcione de uma quedan: C g p S C g p S C g p S C g p S in = = = =

31 Introducción y 3 x 3 y 2 x 2 y 1 x 1 y 0 x 0 p 3 g 3 p 2 g 2 p 1 g 1 p 0 g 0 c 3 Generador de acarreo anticipado c in p 3 g 3 p 2 g 2 c 2 c 1 p 1 g 1 c 0 p 0 g 0 c in Figura 4. Sumador CLA-4. En ete cao el retardo teórico ería igual a la generación del bit de uma. Sin embargo, para un número elevado de bit e necearia una gran cantidad de lógica, con un número de entrada también elevado, al igual que ucedía con el umador de do nivele. Por ete motivo, ete tipo de umadore e decartan para u utilización en FPGA. En [19] e etudia el rendimiento de ete tipo de umador y otra variante imilare obteniendo como concluión, que utilizando la cadena de acarreo "de fábrica" que contienen la FPGA para formar umadore CRA e obtienen umadore má rápido y que ocupan meno área. Entre eta olucione extrema comentada anteriormente, la má lenta y que conume meno recuro, y la má rápida pero con un conumo elevadíimo de recuro, exiten otra alternativa para implementar umadore en FPGA: Aumentar el radix, e decir, tener un umador completo de má de un bit que aproveche lo recuro lógico que contienen la FPGA. Optimizar la cadena de acarreo a nivel lógico, creando nueva etructura como e hace en lo umadore parallel prefix adder (PPA) que on variacione de lo umadore CLA. Intentar optimizar la generación de acarreo cuidando el dieño a nivel fíico y de rutado, una de la opcione por la que optan lo fabricante de FPGA. Intentar realizar uma intermedia in neceidad de propagar el acarreo, como e hace en la aritmética redundante. Pag. 8 Uo eficiente de aritmética redundante en FPGA

32 Introducción En lo circuito integrado para aplicacione epecífica (ASIC) la aritmética redundante e ha utilizado como una buena alternativa para aumentar el rendimiento frente a la aritmética tradicional, epecialmente en la uma de multioperando. La uma de multioperando e una operación utilizada frecuentemente y que aparece en mucho algoritmo como multiplicación [20][21], filtro [22][23], SAD [24], y otro [13][25][26][27], por citar alguno Aritmética y umadore carry-ave La repreentación redundante de número e utiliza para reducir el tiempo de uma, limitando el camino de la cadena de acarreo a vario bit. De eta manera el tiempo empleado para la realización de la uma no depende del número de bit de lo operando. La repreentacione má habituale on carry-ave (CS) y igned-digit (SD). La aritmética carry-ave (CSA) e utiliza ampliamente cuando e requieren umar un número de operando elevado y en la operacione interna de lo multiplicadore. El umador CSA báico realiza la uma de tre operando utilizando un array de umadore completo de un bit, pero in conectar la cadena de acarreo, como e muetra en la Figura 5. El reultado e un número redundante en repreentación CS que etá compueta de una palabra de uma (S) y palabra de acarreo (C). Weight 2 m-1 Weight 2 1 Weight 2 0 x m-1 y m-1 z m-1 x 1 y 1 z 1 x 0 y 0 0 a b c a b c a b c c m c 1 m-1 c Figura 5. Sumador carry-ave de m bit. Por tanto, la uma de tre operando X, Y, Z de n-bit e repreenta por do número C y S. X + Y + Z = C + S Lo número C y S de n-bit e obtienen in propagación de acarreo con el retardo de un olo umador completo. Eta repreentación e le llama redundante, pueto que mucha combinacione de C y S producen el mimo número. En la Figura 6, Uo eficiente de aritmética redundante en FPGA Pag. 9

33 Introducción a modo de ejemplo, e puede obervar cómo al umar do número ditinto que dan el mimo reultado en aritmética convencional producen do combinacione ditinta de C y S. Por tanto, hata que no e realice la uma C y S no e tendrá un número en la repreentación convencional. Para ello erá neceario utilizar un umador convencional que uma do operando y da como reultado un único número. Mientra toda la operacione e realicen en aritmética CSA no e necearia realizar la converión. Ademá e poible realizar la converión on-the-fly [28][29], aunque incrementa el conumo de recuro ya que e neceario realizar una computación paralela S C S C Figura 6. Ejemplo de uma en CSA Ete circuito CS dede otro punto de vita realiza la reducción de tre número binario a do número binario, por lo que e le llama compreor [3:2] o contador [3:2]. Si e deea umar do número CS e neceita una reducción de 4 a 2. Eto e puede realizar utilizando do compreore [3:2] como muetra la Figura 7. A ete circuito e le llama compreor [4:2]. En ete cao, el tiempo de computación para do número de n dígito CS e el de do umadore completo. Obérvee como la propagación de acarreo e corta ya que el acarreo propagado del primer nivel e conecta a la entrada del umador completo del egundo nivel del bit de peo iguiente. Weight 2 i+1 Weight 2 i d i+1 a i+1 b i+1 c i+1 d i c i b i a i a b c a b c cp_i+2 1_i+1 1_i c c p_i+1 in_i+2 c in_i+1 c in_i a b c a b c _i+2 out_i+1 _i+1 out_i _i Figura 7. Compreor [4:2] contruido a partir de do compreore [3:2]. Pag. 10 Uo eficiente de aritmética redundante en FPGA

34 Introducción Por último, comentar que e pueden umar m operando de un bit y producir una palabra de uma S y otra de acarreo C. De ete modo e tienen compreore [5:2] que realiza una reducción de cinco bit a do, compreore [6:2] que realiza una reducción de 6 bit de entrada a do y en general compreore [p:t] que realiza la uma de p bit de entrada y produce una alida de t bit. Una de la deventaja de la repreentación CS e que el número de bit involucrado en la uma e el doble. Para reducir el hardware una alternativa e la utilización de un radix uperior, que erá una de la opcione propueta en la literatura y e propondrá también como una de la alternativa de implementación que e motrarán en ete trabajo, para optimización en FPGA. La utilización de la repreentación CS e epecialmente útil en algoritmo que requieran mucha uma intermedia pueto que toda la uma e pueden llevar a cabo en repreentación CS y donde la converión a repreentación convencional no conuma el tiempo ahorrado en la repreentación CS. Ete e el cao de operacione de acumulación, uma de multioperando, multiplicación, diviión, raíz cuadrada, etc. La aritmética CS e utiliza habitualmente para la uma de multioperando epecialmente en multiplicadore, debido a que e debe realizar la uma de lo producto parciale [30][31]. Para llevarla a cabo e crean árbole de compreore (no e deben confundir con lo compreore como circuito) que generan la alida en aritmética redundante CS. La uma S y el acarreo C e uman finalmente para producir una alida convencional. El reto del trabajo etá centrado en lo umadore carry-ave, pueto que la extenión a la repreentación igned-digit e puede coneguir fácilmente invirtiendo determinada entrada y alida en lo compreore, como e demotró en [32] Operacione de uma y producto en FPGA Lo principale recuro diponible en una FPGA para la implementación de circuito combinacionale y ecuenciale on lo Configurable Logic Block (CLB). Lo CLB etán ditribuido formando un array bidimenional. Cada CLB (Figura 8) etá conectado a una matriz de conmutación que e conecta a u vez a una matriz general de rutado, de forma que todo lo CLB e pueden interconectar programando eta matrice. Lo CLB etán dividido a u vez en lice. Lo lice no etán Uo eficiente de aritmética redundante en FPGA Pag. 11

35 Introducción conectado entre í, ino que van conectado a una matriz de conmutación. Entre lice exite una conexión directa llamada C in vita dede la entrada del lice y C out vita dede la alida del lice y e utilizan principalmente para la propagación de acarreo cuando e intetizan umadore. Eta conexione entre lice adyacente no paan por la matriz de rutado lo que reduce ignificativamente el retardo. Lo CLB varían entre fabricante y por cada erie de un mimo fabricante [33][34][35][36]. En la moderna FPGA lo fabricante han integrado ademá multiplicadore dedicado, bloque DSP para proceamiento digital de eñale, bloque RAM, etc. En [37] Kuon y Roe demuetran que la utilización eficiente de todo eto recuro reduce la ditancia entre la implementacione en FPGA y ASIC. CLB Matriz de conmutación Slice Slice C out C in Figura 8. Configurable Logic Block. En la íntei de la operacione de uma y producto, a partir de una decripción en lenguaje de alto nivel, lo intetizadore mapean eto operadore teniendo en cuenta lo recuro lógico que contienen la FPGA. Aí, el operador de uma e intetiza aprovechando la lógica de acarreo creada de fábrica que contienen la FPGA, e crean aí umadore CRA, que en adelante llamaremo umadore de acarreo propagado (CPA). En el cao del operador producto, e intetiza preferiblemente utilizando lo multiplicadore empotrado i etán diponible. Durante el dearrollo de ete trabajo e ha ido produciendo un cambio en lo elemento lógico que contienen lo lice, de forma que e etá paando de una erie de FPGA que contienen uno determinado recuro, epecialmente lo generadore de funcione o look-up table (LUT) con 4 entrada y una alida, que en adelante llamaremo LUT4, a otra mucho má potente y con má recuro lógico. Eta Pag. 12 Uo eficiente de aritmética redundante en FPGA

36 Introducción última, que en adelante llamaremo LUT6, e pueden configurar como una look-up table con 6 entrada y 1 alida o do look-up table de 5 entrada y 1 alida por LUT. Aunque en la decripción de lo itema reconfigurable e utilizan lenguaje univerale de alto nivel como VHDL [38], Verilog [39], o ABEL [40], cada fabricante de FPGA incluye elemento lógico ditinto, epecialmente para la operacione aritmética báica. Por otro lado, un mimo fabricante ha comercializado ditinta erie de FPGA, y podemo encontrar FPGA con ditinto elemento lógico. Teniendo en cuenta eta realidad, no e poible realizar una implementación eficiente de un algoritmo para toda la FPGA exitente en el mercado. Razón por la que e han elegido en ete trabajo la FPGA de la compañía Xilinx [35], porque in lugar a duda e uno de lo lídere en FPGA en el momento actual, y e han elegido lo dipoitivo que contienen LUT4 por u precio y bajo conumo de potencia y lo que contienen LUT6 por er lo nuevo dipoitivo. Dentro de la erie que llevan eto componente báico e han elegido la erie de bajo cote Spartan 3 [41] y Spartan 6 [42] para motrar lo dato y la implementacione realizada. Alguno de lo reultado que e preentan e hacen también extenivo a otro fabricante Motivación del trabajo La utilización de FPGA e ha extendido con mucha fuerza a nuevo campo de aplicación, como computación de alto rendimiento, computación financiera, criptografía, etc. Eta nueva aplicacione requieren una preciión mucho má elevada que la implementada en lo tradicionale bloque DSP. Ademá de la repreentacione en punto fijo o en punto flotante, e habitual encontrar hoy día implementacione en FPGA que utilizan repreentacione en punto flotante con doble preciión o repreentacione en punto flotante decimal. En eto cao e utilizan tamaño de operando de 54 bit y mayore. La implementación de operacione aritmética con operando de tamaño elevado, aumenta el camino crítico de la eñale en lo umadore cuando e utiliza la cadena de acarreo que implementan lo umadore CPA en la FPGA, lo que reduce el rendimiento. En la implementación de ASIC, la aritmética redundante, epecialmente carry-ave, e ha utilizado para aumentar el rendimiento para operando de tamaño elevado, o un número elevado de operando. La aritmética carry-ave permite que el Uo eficiente de aritmética redundante en FPGA Pag. 13

37 Introducción camino critico que recorren la eñale en lo umadore ea prácticamente independiente del tamaño de operando. La utilización de la repreentación carry-ave en FPGA e decartó hata hace poco año debido a varia razone. En primer lugar por el tamaño pequeño de operando que e utilizaban en la aplicacione típica de FPGA. En egundo lugar, lo umadore de acarreo propagado (CPA) que poeían de fábrica ofrecían un buen rendimiento debido a que la lógica de la cadena de acarreo e había optimizado. Por último, el exceivo conumo de área por la herramienta de íntei cuando mapeaban unidade que trabajan en carry-ave. Sin embargo, en lo último año, vario trabajo han demotrado lo beneficio en el rendimiento, de la utilización de umadore carryave, cuando el tamaño de lo operando crece y ademá e poible mapear de manera eficiente lo umadore carry-ave en FPGA reale con un aumento de área muy pequeño[44][45][46]. Por tanto, merece la pena etudiar la implementación de umadore y multiplicadore en FPGA utilizando aritmética redundante en epecial aritmética carry-ave, ya que e una técnica muy utilizada para mejorar el rendimiento de lo umadore en la implementacione en circuito dedicado ASIC. Por otro lado, operacione como la multiplicación en punto fijo e implementan utilizando lo multiplicadore empotrado en FPGA altamente optimizado. Eto multiplicadore tienen un tamaño fijo, y e deben combinar para obtener operacione con operadore de tamaño elevado. En ete cao, on neceario umadore para lo producto parciale que limitan la velocidad del multiplicador. Se intuye que la aritmética CS puede er la mejor alternativa para la realización de multiplicadore de ancho de palabra elevado Comentario obre lo dato y la herramienta de dearrollo utilizada En primer lugar hay que hacer notar que e han utilizado do herramienta de análii temporal para la FPGA, una de ella forma parte del entorno ISE [47] y la otra e ModelSim [48]. La herramienta ISE e el entorno de dearrollo de FPGA de Xilinx y determina el retardo analizando el camino má crítico que e la manera má rápida de determinar el retardo. Sin embargo, en determinada implementacione puede exitir un Pag. 14 Uo eficiente de aritmética redundante en FPGA

38 Introducción camino largo pero que realmente ninguna eñal lo recorre porque e corta realmente por algún elemento lógico (puerta, multiplexor, etc.), al no tenere nunca la combinación que permite que la información e propague por ete camino. En ete cao el retardo proporcionado al analizar lo camino no e correcto y e necearia una herramienta de imulación temporal y contemplar toda la poible combinacione en la entrada y ver el reultado en la alida. Para eto cao el retardo e ha medido utilizado ModelSim. A lo largo del dearrollo del trabajo han aparecido ditinta verione de la herramienta ISE que incluye el intetizador "Xilinx Synthei Technology" (XST) y que puede influir a la hora de intetizar una decripción VHDL. Por ete motivo lo dato ofrecido e han recalculado con la última verión que e tenía diponible en el momento de comenzar la redacción de ete trabajo (ISE verión 12.1), a excepción de la íntei manuale con primitiva, ya que eta íntei no dependen de la verión. Por último, e quiere enfatizar que lo dato calculado e han obtenido regitrando la entrada y alida de lo circuito intetizado, para dar una idea real de la velocidad del circuito. Ete hecho permite también convertir lo dato de retardo a dato de frecuencia de una manera directa e inequívoca. Todo lo dieño realizado y decrito en ete trabajo etán altamente optimizado en velocidad i no circuncribimo a lo lice, con retardo mucho menore que lo que e muetran en la tabla. Gran parte de lo retardo de lo circuito etán aociado a la red de rutado. No e veroímil aportar lo dato para circuito que e implementan completamente dentro de un lice, donde lo retardo on muy pequeño, ya que en algún momento ea eñale tendrán que conectare a otra parte que etán fuera del lice. Aún hecha eta aclaración, en alguno circuito e decribirá exactamente como e han realizado la medida. Debido a que e han regitrado la entrada y alida, en alguno cao el número de LUT o lice dado para lo circuito puede variar ligeramente del cálculo teórico, bien porque ea neceario para regitrar alguna eñal concreta o bien, porque por razone que e ecapan a nuetro conocimiento de la herramienta ISE, éta deperdicia alguno recuro. Por ejemplo, en lugar de utilizar el flip-flop que tiene próximo dentro de un lice, utiliza otro fuera del lice. No e ha querido filtrar eto Uo eficiente de aritmética redundante en FPGA Pag. 15

39 Introducción cao porque la influencia en lo dato obtenido e mínima, y correponde con lo dato aportado por la herramienta. Se pueden obtener íntei de lo circuito en la FPGA con ligera variacione dependiendo de lo parámetro que e configuren en la herramienta de íntei XST de Xilinx. Por ejemplo, e puede pedir el mayor efuerzo en velocidad o en área, eto da lugar a ditinta verione intetizada y para no ocupar el trabajo que e preenta con numeroo dato inneceario, e ha elegido la íntei má adecuada dependiendo del etudio que e eté realizando en ee momento. Pag. 16 Uo eficiente de aritmética redundante en FPGA

40 2. Aritmética redundante en FPGA: Situación actual Breve reumen En ete capítulo e hará una breve decripción de lo trabajo publicado relacionado con la implementación de aritmética redundante y de multiplicadore en FPGA. Hay que hacer notar, que on muy poco lo trabajo publicado relacionado con la implementación a bajo nivel de umadore carry-ave, ya que la utilización de umadore carry-ave en FPGA e había decartado hata hace alguno año. De ahí que el trabajo que preentamo pretenda etudiar la parte que tiene que ver con la implementación a bajo nivel. Uo eficiente de aritmética redundante en FPGA Pag. 17

41

42 Aritmética redundante en FPGA: Situación actual 2.1. Introducción Aunque la utilización de aritmética redundante e uficientemente conocida y empleada en ASIC, obre todo para uma de multioperando, no ha ido utilizada hata hace uno año en FPGA y aún actualmente u detractore la decartan por el deficiente mapeo que e conigue debido a que la herramienta de alto nivel no utilizan ete tipo de aritmética. Sin embargo, en lo último año e propone la utilización de la aritmética redundante como una alternativa para aumentar la velocidad de computación aunque uponga un aumento en el conumo de recuro. Ademá vario trabajo como [44], [45], [49], [50], [51], etc., demotraron que era poible un mapeo eficiente en FPGA utilizando la decripción adecuada. La implementación de aritmética redundante en FPGA, obre todo en cuanto a la uma multioperando, tiene do apecto. El primero de ello e cómo coneguir de una manera automatizada lo árbole de compreore, intetizable a partir de una decripción en alto nivel y utilizando una librería de compreore báico. Cuando e utiliza el operador uma en un lenguaje de alto nivel, por ejemplo VHDL, la herramienta de íntei implementa la uma de lo operando utilizando lo umadore CPA, y e hace neceario automatizar la generación de un árbol de compreore óptimo para la uma redundante. El otro apecto e i ea librería de compreore báico e ha implementado de manera eficiente. Ambo apecto influyen enormemente en el rendimiento de lo árbole de compreore utilizado en cada aplicación. Por tanto en alguno trabajo, como en [45] Parandeh y otro, proponen una íntei de compreore mixta top-down y bottom-up para coneguir el mayor rendimiento en el menor área poible. Ademá de lo trabajo dedicado a la implementación de aritmética CSA en FPGA, otro trabajo proponen incluo la modificación de la arquitectura de la FPGA para que incluyan bloque dieñado con aritmética CSA para aumentar de eta manera el rendimiento. Por otro lado, numeroo trabajo de aplicacione concreta, demuetran la ventaja de utilización de aritmética CSA en algoritmo recurivo, modificando algoritmo anteriore, y que la proponen como la mejor alternativa. A continuación e realizará una retropectiva de lo trabajo publicado hata el momento claificándolo en: Uo eficiente de aritmética redundante en FPGA Pag. 19

43 Aritmética redundante en FPGA: Situación actual Aplicacione epecífica y multiplicadore Mapeo eficiente de compreore baado en la etructura interna de la FPGA. Dieño de árbole de compreore para uma de multioperando Propueta de modificación del hardware de la FPGA 2.2. Aplicacione que han demotrado lo beneficio de la utilización de aritmética redundante en FPGA En ete apartado e quiere citar trabajo que detallan lo beneficio de la utilización de aritmética redundante, bien por aplicar algoritmo ya conocido en lo que e ha introducido umadore CS, o algoritmo novedoo que acan partido a la aritmética CS. No e van a incluir en ete apartado lo trabajo que combinan aritmética redundante con multiplicadore empotrado para realizar multiplicacione de un tamaño de operando elevado, que e etudiaran en el capítulo 4 de ete trabajo. Mucho trabajo etán dedicado a la multiplicación modular Montgomery [52]. Se van a detacar aquello que decriben una mejora en el rendimiento por la utilización de aritmética carry-ave. En [53] Manochehri y Pourmozafari implementan un nuevo algoritmo que utiliza umadore carry-ave que obtiene una notable mejora en el rendimiento tanto para ASIC como FPGA. En [54] Shieh y otro modifican algoritmo previo para utilizar olamente compreore [3:2]. Implementan u algoritmo en librería etándar CMOS y en la FPGA Virtex II de Xilinx. El interé en utilizar olamente compreore [3:2] en lo algoritmo, e debe a que lo autore uponen que un compreor [4:2] tiene el doble de retardo que un compreor [3:2], pero no e cierto en FPGA, como e podrá comprobar por lo dato de velocidad que e motrarán en ete trabajo. En [55] Sutter y otro han modificado lo algoritmo previo de multiplicación Montgomery para poder utilizar aritmética CSA. Utilizan compreore [3:2] y [4:2], degraciadamente no ofrecen detalle ni rendimiento de eto compreore que han utilizado. En [56] Wu y otro preenta la mejora en velocidad coneguida en el multiplicador ecalable Montgomery, debido entre otra razone, a la utilización de la aritmética CSA radix-2 y radix-4, en una FPGA Virtex II de Xilinx. En la multiplicación con contante Gutiérrez y otro en [46] proponen la utilización de aritmética carry-ave en multiplicacione con contante multiplexada en Pag. 20 Uo eficiente de aritmética redundante en FPGA

44 Aritmética redundante en FPGA: Situación actual el tiempo implementada en FPGA. Definen una celda báica para la operacione a bajo nivel. En una de ella implementan un umador/retador de tre entrada, con la poibilidad de bypa de una o do entrada o poner la alida cero. La celda etá baada en un compreor [3:2] con alguna pequeña modificación y e implementa en una única LUT6. La deventaja de utilizar ete tipo de celda no etándar e que para obtener compreore mayore, lo tienen que realizar componiéndolo con eta celda báica, por lo que e multiplican lo recuro lógico de control neceario. Sin embargo, detacan la mejora del rendimiento de hata un 50% y la reducción de área en la aplicacione de prueba, frente a la utilización de lo umadore CPA. En [57] Verma y otro preentan un nuevo método para intetizar cluter que realizan operacione de uma en punto flotante, utilizando árbole de compreore. Su método reduce el tiempo de lo camino crítico en un 20 % y el conumo de área en un 29% al intetizarlo en una FPGA Stratix III de Altera [36] Mapeo eficiente de umadore carry-ave Vario trabajo han demotrado que e puede realizar una implementación eficiente de compreore ailado de ditinto tipo. En [50] Beuchat y Muller proponen la utilización de un radix elevado para la repreentación carry-ave, convirtiendo la uma, en uma de uno cuanto dígito, coniguen aí acomodar eta uma para que utilicen completamente el lice para LUT4, coniguiendo de eta forma un mapeo eficiente. Se etudia el mapeo de compreore ailado [3:2] a bajo nivel proponiendo una implementación eficiente. Sin embargo, eta repreentación no convencional con un radix uperior tiene importante limitacione, por ejemplo, en la repreentación que utilizan no eta permitido el deplazamiento y por otro lado la diviión de la uma e tiene que acomodar a cada FPGA en particular, variando entre FPGA con LUT4 y LUT6. En [58] e etudia la implementación de un umador igned-digit de radix-4 baado en FPGA con LUT6, pero debido a que no utilizan la cadena de acarreo el conumo de área e muy elevado, del orden de un 88% de conumo extra de recuro en LUT6 frente a la repreentación en complemento a do y umadore CPA. El conumo de área aumenta aún má en LUT4, iendo 2,58 vece el conumo del mimo umador en repreentación de complemento a do intetizado con umadore CPA. Uo eficiente de aritmética redundante en FPGA Pag. 21

45 Aritmética redundante en FPGA: Situación actual En [44] y [59] e realiza el dieño a bajo nivel utilizando primitiva para FPGA con LUT4 de umadore redundante que utilizan todo lo recuro del lice, incluido la lógica de propagación de acarreo. En ambo etudio e crean compreore [3:2] y [4:2] que pueden er utilizado como una librería báica para la creación de árbole de compreore, con un alto rendimiento y in que e produzca ningún deperdicio de recuro. Parte de la aportacione de ete trabajo e encuentran reumida y publicada en [44]. Parandeh y otro en [49] y [45] proponen un dieño eficiente de árbole de compreore en FPGA con LUT6. Eto trabajo e comentarán con detalle en el apartado 2.4. En [49] comentan que ete trabajo demuetra que la creencia hata ee momento de que no era poible implementar eficientemente árbole de compreore en FPGA con LUT6 era errónea. En [60] lo autore han comprobado experimentalmente en el cao de uma de multioperando, que lo compreore CSA epecialmente lo compreore [6:3] aún en anchura de operando pequeña (16 bit), ofrecen una mejora de velocidad de 7,9 % aunque a cota de un aumento de área de 28 %, para un total de 6 operando. Según u reultado e el número óptimo de operando al realizar la prueba en FPGA con LUT Decripción y íntei dede lenguaje de alto nivel de aritmética CS: uma multioperando Independientemente de la íntei de lo componente báico CSA, etá la problemática de cómo coneguir que lo intetizadore a partir de la decripción a alto nivel generen umadore CSA, en lugar de umadore CPA. Por ejemplo, i dede el lenguaje de alto nivel VHDL e quieren umar cuatro operando A+B+C+D, el intetizador lo implementará como uma CPA, Cómo coneguir que la uma e realice mediante un árbol de compreore? En ASIC la uma de multioperando e ha realizado tradicionalmente utilizando aritmética CSA mediante la creación de árbole de compreore iendo lo compreore [3:2] y [4:2] lo má utilizado [61]. Por ejemplo, un compreor [4:2] al que e le añade una etapa final de uma convencional, puede umar 4 operando de n bit con un retardo que erá la uma del retardo del compreor [4:2] (independiente del número de bit) má el retardo del umador convencional. La otra opción ería utilizar do Pag. 22 Uo eficiente de aritmética redundante en FPGA

46 Aritmética redundante en FPGA: Situación actual umadore binario que producen una alida cada uno y umarla en un tercer umador. El retardo en ete cao erá do vece el retardo del umador convencional que en ete cao depende del número de bit. En FPGA e conidera que e mejor utilizar la cadena de propagación de acarreo o lo bloque DSP ante que contruir árbole de compreore utilizando la LUT. Eto e cierto iempre que el único criterio, a la hora de la íntei, ea ocupar la menor área poible. Como ya e ha comentado, la utilización de árbole compreore ha demotrado lo beneficio coneguido en numeroa aplicacione, epecialmente la que e han comentado en el punto 2.2. La técnica para contruir lo árbole de compreore fueron propueta por Wallace [30] y Dadda [31] en lo año eenta. Poteriormente en el contexto de lo multiplicadore paralelo, uponiendo que lo bit a la entrada de lo compreore no e tenían en el mimo intante, Stelling y otro [62] decribieron un algoritmo óptimo llamado 3-greedy (3GD) para la contrucción de árbole de compreore. Um y Kim en [63] decriben un método para intentar minimizar la ditancia entre CSA teniendo en cuenta el layout producido en la íntei. Tanto [62] como [63] utilizaron bloque báico [2:2] y [3:2] para la contrucción de lo árbole. Eta técnica decrita on adecuada para dieño de circuito ASIC pero no para FPGA. Do línea de trabajo e han eguido para la íntei de árbole de compreore en FPGA. Una línea e la que decribe Hormigo y otro en [64], muy próxima a la línea de ete trabajo que e preenta, y etá baada en la eficiente implementación de compreore carry-ave genérico en FPGA. La otra línea de contrucción automatizada de árbole de compreore, e baa en la utilización de lo llamado Generalized Parallel Counter (GPC) [65][66]. La uma multioperando baada en GPC ha ido etudiada para LUT6 por Parandeh y otro en [45], [49], [67], [68], [69] y por Matunaga y otro en [70], pero ninguno de lo método propueto on válido para FPGA con LUT4. En [64] la íntei de uma multioperando etá baada en árbole de compreore carry-ave genérico, independiente del número de bit de lo operando, in un conumo en área exceivo, comparado con lo árbole CPA y con una optimización de lo camino crítico. Ademá de la cláica etructura de árbole CSA, e preenta una novedoa etructura de array lineale que aprovecha la rápida cadena de acarreo. En Uo eficiente de aritmética redundante en FPGA Pag. 23

47 Aritmética redundante en FPGA: Situación actual el cao de gran número de operando y para tamaño de 16 bit, e alcanzan velocidade de 2,14 a 2,29 vece comparado con lo árbole binario y ternario baado en lo umadore CPA. Y en el cao de un ancho de 64 bit e alcanzan velocidade de entre 3,11 a 3,81 vece. El método propueto e un código parametrizable decrito en VHDL que utiliza lo umadore CPA y válido tanto para FPGA con LUT4 como para FPGA con LUT6. Un contador paralelo o también llamado contador de columna, e un circuito que toma m bit de entrada, cuenta el número de bit que etán a uno y genera un valor entero in igno a la alida de n bit. El rango de alida erá [0,m]. Verma e Ienne en [71], utilizando una formulación Integer linear programming decriben el dieño de árbole de compreore que utiliza una librería de contadore m:n para 2 m 8. Lo GPC on una extenión de lo contadore paralelo que pueden umar bit de entrada con ditinto peo a diferencia de lo contadore paralelo donde toda la entrada tienen el mimo peo. Por ejemplo un (2,3:3) puede umar 2 bit de peo 1 y 3 de peo 0, por lo que como máximo a la alida e tendrá 2x2 1 +3x2 0 = 7, de ahí que ean neceario 3 bit para repreentar la alida. Hay do diferencia importante entre lo contadore y lo compreore: la primera e que la alida de lo compreore e redundante y lo contadore no y la egunda e que lo compreore tiene acarreo de entrada y alida para encadenar y lo contadore no. Hecha eta pequeña decripción de lo GPC, Parandeh y otro en [49] proponen un nuevo método heurítico de íntei de árbole de compreore baado en GPC que e intetizan en LUT6. Obtienen un menor retardo en el camino má critico, pero debido a que no utilizan la cadena de acarreo y al método heurítico que utilizan, lo árbole de compreore conumen mucha má celda lógica que lo árbole baado en umadore ternario. En [68] mejoran el problema del mapeo dearrollando una nueva olución baada en Integer linear programming obteniendo, egún lo autore, una mejora de un 32% en retardo y una mejora de un 3% en área repecto a lo árbole de umadore. En [45] Parandeh y otro proponen utilizar la cadena de acarreo propagado en la íntei de GPC para mejorar el conumo de área. Ete nuevo método contempla do apecto, por un lado la íntei baada en u método heurítico para crear la red de GPC, y por otro lado la utilización de un modelado atómico de lo GPC a bajo nivel, Pag. 24 Uo eficiente de aritmética redundante en FPGA

48 Aritmética redundante en FPGA: Situación actual que utilice eficientemente lo recuro lógico de la FPGA, creando una librería de componente. Argumentan que el modelo a bajo nivel de lo GPC e neceario para tener un buen rendimiento, ya que la herramienta de alto nivel no on capace de utilizar lo recuro lógico eficientemente. Contemplando eto do apecto epecialmente el dieño a bajo nivel obtienen una mejora en área de un 20% con u técnica anteriore y el mimo retardo. Repecto a lo árbole de umadore mejoran un 23 % el retardo del camino crítico con un conumo de área uperior en 11% olamente. Ete fue uno de lo argumento por lo que en ete trabajo e ha comenzado por etudiar la implementación de compreore ailado a bajo nivel para poder crear una librería de componente. Matunaga y otro en [70] proponen la generación de árbole de compreore baada en la utilización de GPC. Parten de la idea de que contadore con un número de entrada imilar al número de entrada de la LUT pueden tener un cote imilar en área al de un contador [3:2]. El rendimiento en FPGA de lo árbole de compreore no ólo depende del número de nivele de lo compreore, ino también del número de compreore utilizado, no utilizan ningún método heurítico como lo método de Parandeh y otro, y comentan que u método, que pretende reducir el tiempo de ejecución en cao práctico del algoritmo, etá baado en el método de Dadda poniendo limite en lo peo intermedio del proceo de compreión eliminando GPC inneceario en la red de GPC Propueta de modificación del hardware de la FPGA Actualmente lo bloque DSP contienen multiplicadore de un ancho de bit fijo que e puede utilizar para generar multiplicadore mayore. Lo multiplicadore integrado en eto bloque utilizan árbole de compreore para la uma final de la uma parciale. Eto compreore no etán diponible para el uuario final. En [72] y [73] e propone la creación de un módulo nuevo para FPGA llamado Field Programmable Counter Array (FPCA), un acelerador para aritmética carry-ave que permita la uma multioperando. Integra contadore m:n conectado en una red de rutado programable. En [69] Parandeh y otro proponen mejorar eto aceleradore FPCA utilizando GPC, que permitan crear árbole de compreore configurable por el uuario, y en [74] proponen otra arquitectura llamada Field Programmable Compreor Tree (FPCT). Uo eficiente de aritmética redundante en FPGA Pag. 25

49 Aritmética redundante en FPGA: Situación actual Tanto la arquitectura FPCA como FPCT [73][75], etán penada para uma de multioperando excluivamente. La arquitectura FPCA conite en un conjunto de bloque lógico que permiten la configuración de GPC. Dicho bloque e conectan a travé de una red local programable de rutado, mientra que en la arquitectura FPCT lo bloque báico llamado Compreor Slice (CSlice) etán conectado a travé de cadena de acarreo implementada de fábrica. Cada bloque CSlice contiene un contador [31:5] configurable que permite implementar una amplia variedad de GPC. Aunque la arquitectura FPCT e meno flexible que la FPCA, debido a que lo bloque tienen una conexión prefijada, e mucho má eficiente que la FPCA. En [76] Seyed y otro proponen ademá una herramienta para hacer una exploración del epacio ocupado por el árbol de compreore programable orientado a lo fabricante de FPGA, llamada Deign Space exploration (DSE), con el objetivo de adaptar u FPGA a grande cliente. Pag. 26 Uo eficiente de aritmética redundante en FPGA

50 3. Implementación eficiente de umadore carry-ave en FPGA Breve reumen En ete capítulo demotraremo, como a pear de lo que e creía hata hace poco año, e poible una implementación eficiente de compreore en FPGA. Eta creencia provenía del hecho de que e habían dieñado lo compreore dede alto nivel, dejando la reponabilidad a la herramienta de íntei. Degraciadamente eta herramienta de íntei no mapeaban eto compreore adecuadamente en lo lice de la FPGA de manera automática epecialmente en FPGA con LUT4. Uo eficiente de aritmética redundante en FPGA Pag. 27

51

52 Implementación eficiente de umadore carry-ave en FPGA 3.1. Introducción Como e ha comentado en el capitulo 1, la aritmética redundante fue deechada hata hace alguno año para u utilización en FPGA, obre todo en FPGA baada en LUT4, a pear de que e había utilizado frecuentemente en ASIC. En la nueva FPGA baada en LUT6 e comienza a utilizar CSA, por la facilidad de implementación de compreore [3:2]. Sin embargo, u uo extenivo no e ha coneguido; tampoco e han hecho exploracione para aprovechar lo recuro de eta nueva FPGA con LUT6. Principalmente e ha debido a do caua: en primer lugar, cuando e decriben umadore genérico u otra operacione como multiplicación, que deben combinar uma multioperando, lo intetizadore utilizan como operador báico de uma, lo umadore de acarreo propagado y no lo compreore CS, y en egundo lugar, lo intetizadore no mapean eficientemente lo compreore en el lice porque no lo identifican adecuadamente. No exiten operadore en lo lenguaje de alto nivel que repreenten uma en carry-ave. En la FPGA baada en LUT6 lo intetizadore realizan un mapeo mucho má eficiente de lo compreore [3:2] i e definen epecíficamente como un circuito con do alida, pero aún aí, cuando e utiliza aritmética redundante, motraremo que e poible una mejora utilizando umadore doble carry-ave, frente a lo umadore cláico carry-ave. Por otro lado, la FPGA baada en LUT4 iguen teniendo interé por do razone principalmente. La primera e por u menor precio y conumo de potencia y la egunda, e porque exiten numeroa placa en el mercado con ditinto interface de elevado precio, cuya utitución no e jutifica olamente por el hecho de utilizar una FPGA de última generación. Por lo tanto, la implementación eficiente de compreore carry-ave en FPGA LUT4 igue teniendo interé. Uo eficiente de aritmética redundante en FPGA Pag. 29

53 Implementación eficiente de umadore carry-ave en FPGA 3.2. Compreore en FPGA con LUT Introducción La FPGA con LUT4 de Xilinx incluyen lógica dedicada a la propagación de acarreo, lo cual permite la implementación de umadore con acarreo propagado (CPA) eficiente. Má epecíficamente, el camino para la propagación del acarreo ha ido epecialmente optimizado y junto con lógica de acarreo dedicada, uma y propaga el valor del acarreo rápidamente. Por eta razón, cuando el número de bit e pequeño, e prefieren lo umadore de acarreo propagado (CPA) frente a lo umadore carry-ave (CSA). Sin embargo, cuando el número de bit e elevado el retardo de lo umadore CPA aumenta como e vio en el capitulo 1, y e hace conveniente una alternativa como lo umadore CS. Repecto a la implementación de umadore no redundante, en [77] e hace un etudio comparativo en una FPGA Spartan 3E, entre lo umadore CPA y otro umadore carry-tree, entre ello el de acarreo anticipado. El etudio demuetra que hata una anchura de 128 bit, el umador CPA implementado uando la cadena de acarreo, tiene una mayor velocidad y ocupa meno área que el reto, y olamente a partir de 256 bit lo umadore carry-tree tienen una mayor velocidad. En el reto del apartado 3.2 demotraremo que a partir de una determinada anchura de operando, lo umadore carry-ave on má rápido que lo umadore CPA en FPGA con LUT4. También demotraremo cómo e poible implementar compreore [3:2] en una ola LUT4 y compreore [4:2] utilizando un único lice y in deperdicio de recuro. Para ello realizaremo un etudio de lo tiempo de propagación y de conumo de recuro de lo umadore CPA frente a lo umadore carry-ave para determinar en qué cao e aca partido al uo de umadore CS. Finalmente e motrará una mejora en lo tiempo de propagación de eto umadore carry-ave cláico, acando provecho al menor retardo de la entrada de acarreo del lice. Pag. 30 Uo eficiente de aritmética redundante en FPGA

54 Implementación eficiente de umadore carry-ave en FPGA Etudio de lo tiempo de propagación de umadore CSA frente a CPA en FPGA de bajo cote baada en LUT4. En primer lugar e realizará un etudio de lo tiempo de propagación de umadore de acarreo propagado en FPGA baada en LUT4, para ver en qué medida influye el número de bit en el tiempo de propagación del umador. La Tabla 1 muetra lo tiempo de propagación en nanoegundo de umadore de acarreo propagado de ditinto número de bit para la FPGA de bajo cote XC3S200-4ft256 de Xilinx [78] obtenido con la herramienta ModelSim. Lo tiempo que e muetran e han tomado a la entrada y alida del lice y regitrando la alida y entrada. Como cabía eperar, un umador CPA de 32 bit tiene un retardo uperior a un umador CPA de 2 bit, del orden de tre vece. La Tabla 1 muetra también el efuerzo del fabricante en optimizar la cadena de acarreo pueto que el tiempo de un umador de 4 bit no e el doble de uno de 2 bit, y el retardo de un umador de 32 bit e poco má del triple de uno de 4 bit. Sumador 2 bit 4 bit 8 bit 16 bit 32 bit 64 bit 128 bit 256 bit 512 bit CPA (n) 2,375 2,665 3,180 3,874 6,186 6,738 14,288 25,670 53,204 CSA [3:2] (n) 2 2,23 2,23 2,31 2,5 2,68 2,92 3,1 3,4 Tabla 1. Tiempo de propagación para umadore CPA y CSA para la FPGA XC3S200-4ft256. En el cao de umadore CSA dede 2 bit hata 512 bit, el tiempo de propagación máximo obtenido, varía dede 2 a 3,4 n., dependiendo del mapeo concreto en la FPGA. Lo umadore CSA tienen la ventaja de mantener prácticamente contante lo tiempo de propagación independientemente del número de bit de lo operando, ya que no e necearia la propagación del acarreo. Para tamaño de operando pequeño de hata 8 bit, la utilización de umadore CSA no etá jutificada pueto que lo retardo on imilare a lo de lo CPA, iendo una de la razone por lo que no e han utilizado lo umadore CSA para ancho de palabra pequeño. Ademá, hay que tener en cuenta que para obtener el reultado final, cuando e utilizan umadore CSA, e neceario realizar una uma convencional del acarreo (C) y uma (S). Aunque e trabaje con un tamaño de bit de operando elevado, lo umadore CSA reultarán útile iempre que e realicen uma intermedia en carry-ave, y ete menor retardo no e conuma en la última uma convencional. En concluión, lo umadore CSA ofrecen una mayor velocidad en aquella aplicacione en la que e realicen uma intermedia con un número de bit elevado, y Uo eficiente de aritmética redundante en FPGA Pag. 31

55 Implementación eficiente de umadore carry-ave en FPGA en aquello en lo que el número de uma que e puedan realizar con aritmética redundante ea elevado, o también en el cao de uma de multioperando. Una vez etudiado lo umadore CSA veru CPA teniendo en cuenta la velocidad, en el que claramente reulta ventajoo lo umadore CSA, cabe planteare el conumo de recuro en eta FPGA de bajo cote de Xilinx Etudio de utilización de recuro de umadore CSA frente a CPA en FPGA de bajo cote baada en LUT4 Como e ha comentado en la introducción, la aritmética redundante utiliza doble número de bit que la aritmética convencional para repreentar un número, y ademá para tener el número en repreentación convencional e debe realizar una uma final. Por tanto, no e puede eperar un menor conumo de recuro, pero i e coniguen utilizar lo mimo recuro para un umador CPA de 1 bit que para uno en CSA, en el cao de radix-2, e habrá coneguido una implementación eficiente y por tanto ete erá el objetivo de ete apartado. Se ha de tener en cuenta que en la FPGA debe tenere diponible la uma y el acarreo como do alida acceible para er rutada a donde e deee. En trabajo anteriore como [79], lo autore han decartado la utilización de la aritmética redundante en FPGA con LUT4 porque e producía un deperdicio de recuro elevado al intetizar compreore [3:2] y/o [4:2], como demuetra el hecho de que on muy poco lo trabajo de aritmética redundante en LUT4. Sin embargo, en [44] demotramo que eta creencia era errónea. Eta creencia e debía a que cuando e decribe un compreor [3:2] dede alto nivel, e intetiza en do LUT4 porque al definir do alida, una para la uma y otra para el acarreo, y al tener la LUT4 una única alida, el intetizador utiliza do LUT4. Ademá, aunque alguno autore etudian que e poible una implementación de un compreor [3:3] utilizando una LUT4 y la entrada de acarreo, queda otra LUT4 en el lice que no pueden utilizar para u aplicacione. E decir, por un lado para la implementación de un compreor [3:2] e utilizan má recuro de lo que on neceario al decribirlo dede alto nivel, y por otro lado quedan recuro en el lice que no on utilizado por lo intetizadore en la aplicacione que preentan lo autore en [50]. Veamo cómo e pueden intetizar umadore de ditinto tipo en un lice de una Pag. 32 Uo eficiente de aritmética redundante en FPGA

56 Implementación eficiente de umadore carry-ave en FPGA FPGA con LUT4 y demotraremo cómo podemo implementar eficientemente compreore. La Figura 9 decribe la arquitectura implificada de un lice para una FPGA Spartan 3 de Xilinx [41]. Cada lice contiene do look-up table de cuatro entrada (G- LUT y F-LUT), do flip-flop (FFY y FFX), lógica de acarreo (CYSELG, CYMUXG, CYSELF, CYMUXF y CYINIT), puerta lógica (GAND, FAND, XORG y XORF), y multiplexore con varia funcione. Recuérdee que un umador completo (FA) e un circuito con tre bit de entrada (lo bit a umar x i e y i, y el acarreo de entrada c in ) y do de alida (el bit de uma i y el acarreo de alida ). Tenemo que i = x i y i c in, y el acarreo de alida = x i, i x i = y i, y = c in en cualquier otro cao. Supongamo que F-LUT calcula x i y i, entonce la puerta XORF obtiene el bit de uma i, mientra que el cálculo del acarreo de alida involucra a tre multiplexore (CYOF, CYSELF y CYMUX). El bit de uma i e puede propagar a otro lice (alida X) o e puede almacenar en el flipflop FFX. El bit de acarreo e puede propagar o tenerlo diponible en la alida XB. Figura 9. Diagrama implificado de una FPGA Spartan-3. Uo eficiente de aritmética redundante en FPGA Pag. 33

57 Implementación eficiente de umadore carry-ave en FPGA Si conideramo también la G-LUT e podría implementar un egundo umador, integrando aí a un umador CPA de 2 bit en el mimo lice. Sin embargo, como e etudia en trabajo de alguno autore como [50] o deducir de la Figura 9, e impoible implementar do umadore completo con acarreo de entrada independiente en el mimo lice, ya que cada lice dipone olamente de una ola entrada de acarreo, con lo que e requeriría el doble de lice. Por ete motivo lo autore de [50] proponen utilizar umadore CSA de un radix uperior para aprovechar completamente el lice cuando e utilice una decripción VHDL. La Figura 10 decribe la arquitectura implificada de un lice que implementa un umador con acarreo propagado (CPA) de do bit o un CSA de radix-4 intetizado a partir de una decripción VHDL. c i+2 y i+1 G-LUT i+1 x i+1 D Q c i+1 y i F-LUT i x i c i D Q Figura 10. Implementación de un umador CPA de do bit o CSA de radix-4. Sin embargo, e cierto que dede una decripción VHDL de un umador CSA e conumen do LUT4 (lice completo), e decir, el intetizador utiliza una LUT4 para C y otra LUT4 para S. Obervando detenidamente el lice e puede utilizar la LUT4 inferior (F-LUT) y la entrada de acarreo para implementar un CSA de 1 bit en una ola LUT4. En [44] motramo como utilizando primitiva e puede contruir un umador CSA de 1 bit utilizando la F-LUT como e puede obervar en la Figura 11. Pag. 34 Uo eficiente de aritmética redundante en FPGA

58 Implementación eficiente de umadore carry-ave en FPGA c i+1 a i F-LUT i b i c i D Q Figura 11. Implementación eficiente de un umador CSA de 1 bit Por tanto, con una decripción VDHL adecuada utilizando primitiva e puede realizar un umador CSA de 1 bit o un compreor [3:2] de 1 bit mapeado en una ola LUT4. La G-LUT queda libre para er utilizada en la íntei de otra funcione lógica como ha quedado claro en nuetro trabajo como [44] y [51]. Y aunque autore como [50] indicaban, in argumentar, que en u aplicacione no e aprovechaba la G-LUT, iendo éta una de la razone por la que proponían utilizar radix uperiore, en general eto no e cierto. Lo que i e cierto, e que no e poible utilizar la G-LUT para implementar otro umador CSA de 1 bit, porque no etán diponible la tre entrada necearia. Por tanto, queda comprobado que un CSA de 1 bit e puede implementar utilizando una única LUT4. A modo de ejemplo, la Tabla 2 muetra lo reultado obtenido con la herramienta ISE de Xilinx para la FPGA XC3S200-4ft256 para un umador carry-ave de 8 bit. 8 bit CSA LUT SLICE Decripción VHDL in primitiva 16 8 Decripción VHDL y primitiva 8 8 Tabla 2. Ocupación de área de un umador CSA de 8 bit. En el mimo trabajo [44] indicamo cómo e poible realizar un compreor [4:2] optimizado que aprovecha completamente todo lo recuro de un lice como muetra la Figura 12 y la Figura 13. En la Figura 12 e muetra en gri lo do compreore [3:2] que e mapean en el mimo lice. Para facilitar la comprobación, téngae en cuenta que toda la uma y acarreo ditinto de S out_ y C out_ on uma y acarreo intermedio que correponden a lo nombre utilizado en la Figura 7 o en la Figura 12. Uo eficiente de aritmética redundante en FPGA Pag. 35

59 Implementación eficiente de umadore carry-ave en FPGA Weight 2 i+1 Weight 2 i d i+1 a i+1 b i+1 c i+1 d i c i b i a i a b c a b c cp_i+2 1_i+1 1_i c c p_i+1 in_i+2 c in_i+1 c in_i a b c a b c _i+2 out_i+1 _i+1 out_i _i Figura 12. Mapeo de compreore [3:2] en un lice para tener un compreor [4:2]. _i+2 1_i+1 G-LUT out_i+1 d i+1 D Q a i F-LUT 1_i b i c i D Q Figura 13. Implementación de un compreor [4:2] en un lice. Otro apecto relativo a la aritmética CSA e que para tener un número en u repreentación convencional e necearia una uma final de C y S. Aparentemente pudiera parecer que iempre e tendrá un conumo de recuro extra para ete umador, pero en mucho cao, como el que motramo en [51], e poible obtener una implementación optimizada de un umador combinado CSA-CPA para algoritmo que utilizan uma CSA y que finalmente ofrecen un reultado final convencional. En nuetro trabajo [51] e puede ver cómo el intetizador aprovecha el lice completamente, y en la F-LUT e tiene una implementación que una vece trabaja como umador de 1 bit CSA y en otro cao como umador CPA de 1 bit para la uma final. Por último, cabe decir que a partir de ete compreor [3:2] y/o [4:2] e poible contruir compreore de orden mayor [5:2], [7:2], etc. En el apartado iguiente motraremo cómo e poible una optimización de eto compreore de orden mayor Pag. 36 Uo eficiente de aritmética redundante en FPGA

60 Implementación eficiente de umadore carry-ave en FPGA contruido a partir de un compreor [3:2], teniendo en cuenta que la entrada de acarreo del lice proporciona un camino má rápido que la otra do entrada que llegan a la LUT. Ete reultado e ha aprovechado en otro trabajo como en [64], que muetran cómo e poible generar de manera automática dede VHDL compreore de alto orden optimizado en velocidad Optimización de compreore CSA aprovechando la entrada de acarreo propagado En el apartado anterior e ha motrado que utilizando primitiva e poible implementar compreore CSA en FPGA con LUT4 in que e produzca un conumo exceivo de LUT. A partir de ete compreor [3:2] o [4:2] e poible optimizar en velocidad compreore mayore aprovechando que la lógica de acarreo e má rápida que el reto. La Figura 14 y Figura 16 muetran la implementación habitual de compreore egún [16], en lo que toda la entrada e conideran por igual, in tener en cuenta que alguna de ella erían entrada de acarreo. En el cao del compreor [5:2] (Figura 14), el umador completo de alida uma do entrada de acarreo junto con la uma de lo do umadore de lo nivele uperiore. Eta implementación cláica produce retardo de propagación mayore que la verión optimizada, que e motrará a continuación, cuando e mapea el compreor en una FPGA, porque no conidera que do de la entrada del umador completo paan por camino má lento que la entrada que dicurre por la línea de acarreo del lice. La olución reide en aprovechar lo recuro de propagación de acarreo de la FPGA para lo camino má crítico. Modificando la conexione del compreor cláico e pueden optimizar lo compreore. Uo eficiente de aritmética redundante en FPGA Pag. 37

61 Implementación eficiente de umadore carry-ave en FPGA Weight 2 i+1 Weight 2 i e i+1 d i+1 c i+1 b i+1 a i+1 e i d i c i b i a i a b c a b c a b c a b c Carrie following a b c a b c Previou carrie _i+2 out_i+1 _i+1 out_i _i Figura 14. Implementación cláica de compreore [5:2]. Weight 2 i+1 Weight 2 i c in2_i+2 e i+1 d i+1 c i+1 a i+1 b i+1 c in2_i+1 e i d i c i b i a i c in2_i a b c in a b c in a b c in a b c in c in1_i+2 c p2_i+2 c p1_i+2 2_i+1 1_i+1 c p2_i+1 c p1_i+1 2_i 1_i c in1_i+1 c in1_i a b c in a b c in _i+2 out_i+1 _i+1 out_i _i Figura 15. Compreor [5:2] optimizado para FPGA con LUT4. La Figura 15 muetra una implementación optimizada para la FPGA Spartan 3, donde e ha tenido en cuenta lo ditinto tiempo de retardo en el lice. En el bloque que repreenta al umador completo e ha ditinguido la entrada de acarreo de la otra do entrada. Dicha entrada correponde con la entrada de acarreo de cada lice, y por tanto el camino má rápido. La clave etá en coneguir que lo acarreo e propaguen a travé de la línea de propagación de acarreo de lo lice y que el reto de entrada del umador completo etén ya etable dede el momento inicial. Eto e lo habitual, ya que lo bit de cada número e propagan en paralelo. E por ello, por lo que lo acarreo propagado iempre e conectan a la entrada de acarreo del umador completo. Pag. 38 Uo eficiente de aritmética redundante en FPGA

62 Implementación eficiente de umadore carry-ave en FPGA Obérvee en la Figura 15 el acarreo propagado C p2_i+1 e conecta a la entrada C in2_i+1. Ete e el camino má largo, ya que e deben propagar lo reultado por do umadore completo para obtener la uma y acarreo final. Por tanto, ete acarreo e ha conducido por la línea de acarreo propagado de lo lice uado. El acarreo propagado C p1_i+1 olamente atraviea un umador completo y e conecta a la línea de entrada de acarreo del lice. Se conigue aí que la propagación de acarreo e realice por la línea má rápida. La Figura 17 muetra la implementación optimizada de un compreor [7:2] teniendo en cuenta la mima conideracione en el dieño que para el compreor de [5:2] decrito en el párrafo anterior. Se han modificado la conexione del compreor cláico pero e utilizan el mimo número de umadore completo y lo mimo nivele por lo que el beneficio e obtiene olamente por el aprovechamiento de la línea de acarreo para lo camino má largo. Weight 2 i+2 Weight 2 i+1 Weight 2 i g i+2 f i+2 e i+2 d i+2 c i+2 b i+2 a i+2 g i+1 f i+1 e i+1 d i+1 c i+1 b i+1 a i+1 g i f i e i d i c i b i a i a b c a b c a b c a b c a b c a b c a b c a b c a b c Carrie following a b c a b c a b c Previou carrie a b c a b c a b c out_i+2i _i+2 out_i+1 _i+1 out_i _i Figura 16. Implementación cláica de compreore [7:2]. Uo eficiente de aritmética redundante en FPGA Pag. 39

63 Implementación eficiente de umadore carry-ave en FPGA Weight 2 i+2 Weight 2 i+1 Weight 2 i gi+2 fi+2 ei+2 di+2 ci+2 bi+2 ai+2 gi+1 fi+1 ei+1 di+1 ci+1 bi+1 ai+1 gi fi ei di ci bi ai cin2_i+2 cin1_i+2 cin2_i+1 cin1_i+1 cin2_i cin1_i a b cin a b cin a b cin a b cin a b cin a b cin a b cin a b cin a b cin cout cout cout cout cout cout cout cout cout cp3_i+3 3_i+2 cp2_i+3 2_i+2 1_i+2 cp3_i+2 3_i+1 cp2_i+2 2_i+1 1_i+1 cp3_i+1 3_i cp2_i+1 2_i 1_i cp1_i+3 cp1_i+2 cp1_i+1 cin3_i+2 cin3_i+1 cin3_i a b cin a b cin a b cin cout cout cout cp4_i+3 4_i+2 cp4_i+2 4_i+1 cp4_i+1 4_i cin4_i+2 cin4_i+1 cin4_i a b cin a b cin a b cin cout cout cout out_i+2 cout_i+2 out_i+1 cout_i+1 out_i cout_i Figura 17. Compreor [7:2] optimizado para FPGA con LUT4. La Tabla 3 muetra lo reultado de la implementación de lo compreore con un dieño cláico y lo reultado de la implementación optimizada teniendo en cuenta lo retardo dentro del lice para una FPGA de Xilinx Spartan 3 XC3S-1600E y velocidad grado-5. Para coneguir una medida real de la frecuencia, en ambo cao, e han regitrado la entrada y alida, por lo que el número de lice y LUT algo e mayor que lo etrictamente neceario para implementar lo umadore CSA. Lo umadore CSA e han dieñado para palabra de 32 bit. Como e puede obervar e obtienen mejora del orden del 23% con el mimo conumo de LUT. Compreore Implementación cláica Implementación optimizada CSA Slice LUT Frec.(MHz) Slice LUT Frec.(MHz) [5:2] , ,52 [7:2] , ,81 Tabla 3. Implementación cláica de compreore veru implementación optimizada Análii de caracterítica de compreore en LUT4 La Tabla 4 muetra un reumen de lo reultado de implementación de ditinto compreore en una Spartan 3. Para la comparativa e ha elegido la opcione optimizada. El primer reultado e que no e deperdician recuro del lice y el egundo reultado, i e oberva ademá como el Gráfico 1, e que al contrario que e creía por extrapolación a lo que ocurre en ASIC, la velocidad del compreor no depende del número de nivele de compreor [3:2] que ea neceario para contruirlo, e decir, un compreor [4:2] no tiene doble retardo que un [3:2], ni un compreor [5:2] tiene triple retardo, ni tampoco el compreor [7:2] tiene un retardo cuatro vece mayor. Pag. 40 Uo eficiente de aritmética redundante en FPGA

64 Implementación eficiente de umadore carry-ave en FPGA Por tanto, hay que contruir lo árbole utilizando lo compreore de mayor tamaño poible. Compreore Implementación optimizada para LUT4 CSA de 32 bit Slice LUT Delay (n) Delay [m:2]/[3:2] Nº de nivele teórico de [3:2] [3:2] ,0 1 1 [4:2] ,4 1,2 2 [5:2] ,33 2,22 3 [7:2] ,16 3,58 4 Tabla 4. Caracterítica de compreore de 32 bit carry-ave para LUT4. Delay n [3:2] [4:2] [5:2] [7:2] Tipo de compreor Carry-ave Optimizado Gráfico 1. Retardo de compreore de 32 bit carry-ave para LUT4. Uo eficiente de aritmética redundante en FPGA Pag. 41

65

66 Implementación eficiente de umadore carry-ave en FPGA 3.3. Compreore en FPGA con LUT Introducción La FPGA Spartan 6 [43] y Virtex 6 [80] de la compañía Xilinx contienen LUT que pueden er configurada como LUT con ei entrada y una alida, o bien, como do LUT con 5 entrada y una alida por LUT. La Figura 18 muetra una etructura implificada de la LUT6 y parte del lice. Cada lice contiene cuatro LUT6 ademá de otro recuro. A6 A[5:1] A5 A4 A3 A2 A1 LUT5 A5 A4 A3 A2 A1 LUT5 LUT6 O6 O5 Carry Logic (Optional) D Q > (Optional) D Q > (Optional) Figura 18. Slice implificado de FPGA con LUT6. En el cao de una Spartan 6 exiten tre tipo de lice que contienen diferente recuro llamado SliceX, SliceL y SliceM. Lo tre tipo de lice contienen como elemento comune 4 LUT6 y flip-flop para almacenamiento. La Tabla 5 reume lo recuro lógico que contiene cada tipo de lice. Caracterítica SLICEX SLICEL SLICEM LUT de 6 entrada 8 flip-flop Multiplexore (grande) Lógica de acarreo RAM ditribuida Regitro de deplazamiento Tabla 5. Recuro contenido en lo lice egún el tipo. La FPGA Virtex 6 ólo contiene lice del tipo L y M. Como muetra la Tabla 5, lo SliceX no contienen lógica de acarreo, in embargo on el 50% de lo recuro de una Spartan 6, y dado que el interé principal de ete trabajo e centra en aprovechar al Uo eficiente de aritmética redundante en FPGA Pag. 43

67 Implementación eficiente de umadore carry-ave en FPGA máximo lo recuro de la FPGA de bajo cote e deben coniderar eto lice en la implementacione. A diferencia de la Spartan 3 con LUT4, e preferirán implementacione que no utilicen la lógica de acarreo para la LUT6. Ademá como e motrará má adelante, ademá de compreore carry-ave con alida C y S preentado hata ahora, e puede trabajar con compreore doble carry-ave [m:3] altamente optimizado. Dada la gran cantidad de dato que e van a preentar en ete capitulo e refundirán al final del mimo para poder obtener una concluione finale Implementando un compreor [3:2] en LUT6 La LUT6 diponen de do alida por lo que a diferencia de la LUT4 que olamente tienen una, el intetizador mapea directamente un compreor [3:2] en una única LUT6 (Figura 19). No e neceario definirlo con primitiva como en el cao de LUT4, tampoco e neceario utilizar la lógica de acarreo, por lo que e puede implementar en cualquier tipo de lice, incluido lo SliceX. La frecuencia de trabajo para un compreor [3:2] e de 595,50 Mhz (retardo 1,68n) para una FPGA Spartan 6 (referencia XC6SLX100-3FGG676). c b a LUT 6 Figura 19. Compreor [3:2] intetizado en una LUT Implementando un compreor [4:2] en LUT6 E difícil demotrar de una manera encilla que no e puede implementar un compreor [4:2] en una ola LUT6 bucando el mapeo adecuado como e hizo con lo compreore [3:2] en la LUT4. Sin embargo, e puede intuir obervando detenidamente lo lice que contienen a la LUT6 y el compreor [4:2] de la Figura 7, en epecial la alida de propagación de acarreo al iguiente compreor, que e neceitan tre alida, una para la uma S otra para el acarreo C y otra para el acarreo propagado. La alida para S y C e la mima que para el compreor [3:2], pero la alida para el acarreo propagado no e puede implementar al no diponer la LUT6 de tre alida. Otra poibilidad ería utilizar la lógica de acarreo para implementar ete acarreo que e Pag. 44 Uo eficiente de aritmética redundante en FPGA

68 Implementación eficiente de umadore carry-ave en FPGA propaga, pero tampoco e poible porque e neceita una función lógica de la entrada que no e puede intetizar en la cadena de acarreo. A partir del compreor [3:2] e podría implementar cualquier otro compreor mayor como e ha hecho con la LUT4. Sin embargo, como e motrará a continuación, e poible obtener ditinta implementacione en LUT6 de un compreor [4:2] y de orden mayor a partir de decripcione VHDL ditinta. Ademá, e poible coneguir una verión con una velocidad mayor utilizando la lógica de acarreo de lo lice L o M y utilizando primitiva. Como ya e ha comentado, lo compreore [3:2], e generan directamente utilizando la decripción VHDL. En ete cao el intetizador utiliza una LUT6 y genera do alida. A partir del compreor [3:2] e pueden generar compreore de orden uperior. El compreor [4:2] e genera con do umadore completo como e motró en la introducción. A la hora de realizar la decripción en VHDL del compreor [4:2] de la Figura 7, e utilizaron decripcione ditinta y e obtuvieron do íntei diferente. Ademá de eta do íntei, e puede realizar utilizando primitiva, otra íntei que utilice la lógica de acarreo, para coneguir una mejora en velocidad. Por tanto, e tienen tre íntei ditinta del compreor [4:2] dependiendo de la decripción utilizada: Utilizando do LUT6 por bit. Un compreor [3:2] en cada LUT6. Utilizando tre LUT6 por cada do bit, e decir 1,5 LUT6 por bit. Utilizando do LUT6 y la lógica de acarreo, i e diponen de lice L y M. En la íntei que conume do LUT6 por bit, el intetizador mapea un compreor [3:2] por LUT6 como muetra la Figura 20. Obérvee cómo el intetizador ha llevado la cuatro entrada a la do LUT6, de eta manera la conexión S 1_i (Figura 7) no e necearia, y por tanto e uprime el retardo aociado a ete camino. El camino má crítico e el aociado a la eñal C in y atraviea do LUT6, la conexión e realiza dentro del lice y lo retardo aociado on pequeño. Uo eficiente de aritmética redundante en FPGA Pag. 45

69 Implementación eficiente de umadore carry-ave en FPGA Weight 2 i+1 Weight 2 i c in_i+2 c i+1 b i+1 a i+1 d i+1 c i+1 b i+1 a i+1 c in_i+1 c i b i a i d i c i b i a i c in_i 1_i+1 1_i LUT 6 LUT 6 LUT 6 LUT 6 c p_i+2 c p_i+1 c p1_i _i+2 out_i+1 _i+1 out_i _i Figura 20. Compreor [4:2] intetizado en 2 LUT6. Lo recuro utilizado para ete compreor on 2 LUT6 por cada bit. En el cao de una Spartan 6 (referencia XC6SLX100-3FGG676) el retardo e de 2,585 n. en la íntei de un compreor de 32 bit. Téngae en cuenta que la entrada y alida e han regitrado para una mejor preciión en lo dato de frecuencia. La otra do íntei que e van a motrar uponen una optimización en área realizada por el propio intetizador y una optimización en velocidad propueta en ete trabajo. Optimización en área de compreore [4:2] La Figura 21 muetra una optimización en área para compreore [4:2] de má de 1 bit de ancho de palabra. Eta optimización e puede coneguir a partir de la decripción VHDL y poniendo efuerzo en el intetizador en la optimización de área. La optimización realizada por el intetizador e ha coneguido empaquetando lo compreore de do en do bit, coniguiéndoe mapear do bit en 3 LUT6 en lugar de 4 LUT6 como en el cao anterior. Para una mejor comprenión de la íntei véae también la Figura 7. Pag. 46 Uo eficiente de aritmética redundante en FPGA

70 Implementación eficiente de umadore carry-ave en FPGA Weight 2 i+1 Weight 2 i c in_i+2 c i+1 b i+1 a i+1 d i+1 c i b i a i d i c i b i a i c in_i c in_i+1 c p_i+1 LUT 6 LUT 6 LUT 6 c p1_i c p_i+2 1_i+1 _i+2 out_i+1 _i+1 out_i _i Figura 21. Compreor [4:2] optimizado en área. Optimización en velocidad de compreore [4:2] Si e oberva la Figura 7 o la Figura 21, el camino má crítico (C p_i a C out_i ) atraviea do FA y por tanto el retardo e al meno del doble del retardo aociado a una ola LUT. Si e diponen de lice con lógica de acarreo, e podría obtener un [4:2] utilizando do LUT6 y aprovechando la lógica de acarreo, pero con un camino critico que olamente pae por una única LUT6 y la lógica de acarreo. En ete cao la íntei e debe realizar utilizando primitiva y generando la eñale adecuada. La Figura 22 muetra la íntei propueta, y la funcione lógica que e han generado en la LUT6. Para ello e ha etudiado la funcione lógica que e deben generar para implementar el compreor [4:2] de acuerdo a lo recuro diponible en la lógica de acarreo. La Tabla 6 muetra la funcione lógica generada de acuerdo a lo recuro y a la iguiente regla: MuxelC p iempre vale 0. Acarreo almacenado temporal (C _tmp ) vale 1 i la 4 entrada on 1. Se genera en ete cao el acarreo propagado (C p ) y almacenado (C ). Acarreo propagado (C p ) vale 1 i do o má entrada etán a 1. Ete acarreo e genera excluivamente a partir de lo bit de lo operando, y como e el que e propaga e conigue cortar la cadena de propagación de acarreo. Acarreo almacenado (C ), iempre tiene el valor de C in, pueto que e la OR excluiva de MuxelC p (iempre vale 0) con C in. S tmp e la OR excluiva de lo bit de lo operando. Suma final (S out ) e la OR excluiva de S tmp junto con el acarreo de entrada al compreor C in. Uo eficiente de aritmética redundante en FPGA Pag. 47

71 Implementación eficiente de umadore carry-ave en FPGA d c b a C p C _tmp S tmp Comentario Se uma C in a S tmp Se almacena C in Se almacena C in Se uma C in a S tmp Se almacena C in Se uma C in a S tmp Se uma C in a S tmp Se almacena C in Se almacena C in Se uma C in a S tmp Se uma C in a S tmp Se almacena C in Se uma C in a S tmp Se almacena C in Se almacena C in Se generan lo do acarreo Tabla 6. Funcione lógica utilizada para la íntei del compreor [4:2] optimizado en velocidad. d i c i b i a i d i c i b i a i LUT 6 O 5 O 6 LUT 6 O 5 O 6 C_tmp Stmp C p MuxSelCp C p C in S out C Figura 22. Compreor [4:2] optimizado en velocidad. El circuito trabaja de la iguiente manera. Lo primero que e debe coneguir e cortar la cadena de acarreo por tanto el multiplexor de la derecha iempre elecciona la entrada Cp. Eto obliga a generar cuidadoamente el acarreo propagado como puede obervare en la Tabla 6. Al depender el acarreo propagado Cp únicamente de la entrada, la cadena de acarreo e corta. Con la LUT6 de la izquierda junto con el MUX y la XOR hay que almacenar la uma y el acarreo almacenado. La uma S out e genera con S tmp, que e la uma de la cuatro entrada, y el acarreo de entrada. Ahora ólo queda generar adecuadamente el acarreo almacenado teniendo en cuenta que el Pag. 48 Uo eficiente de aritmética redundante en FPGA

72 Implementación eficiente de umadore carry-ave en FPGA multiplexor etá controlado también por la eñal S tmp. El acarreo almacenado e la alida del multiplexor de la izquierda. Se han generado do eñale en la LUT6 de la izquierda. Una de ella e la uma para controlar el multiplexor. En ete cao lo recuro utilizado e muetran en la propia Figura 22 y el retardo e de 1,8 n. El mayor inconveniente e que la lógica de acarreo del lice e indiviible ya que la primitiva opera obre toda la lógica de acarreo del lice, ademá de conumir do LUT6 en lugar de 1,5 como en el cao del compreor [4:2] optimizado en área. Si e crea un único compreor e conume completamente la cadena de acarreo, pero e pueden utilizar la retante LUT6 del lice para otra funcione. Si e neceitan má de un compreor la clave etá en empaquetarlo dentro del mimo lice para aprovechar completamente la cadena de acarreo. Por ejemplo, un compreor [6:2] optimizado en velocidad compueto al unir do compreore [4:2] optimizado en velocidad, como e verá má adelante en ete mimo apartado, puede aprovechar el Slice completo (Figura 26). Do LUT6 para un compreor [4:2], do LUT6 para el otro y la lógica de acarreo completa compartida por lo do compreore [4:2], reultando ete compreor [6:2] el má eficiente en velocidad. En el dieño preentado e ha vito cómo e utiliza la lógica de acarreo como parte de la lógica para generar funcione cualequiera y no ólo como acarreo. La utilización de la lógica de acarreo, en la medida de lo poible, permite intetizar circuito má rápido ya que utiliza eta conexione "de fábrica" y permite implementar funcione (junto con la LUT ya diponible) de forma que e tiene una entrada má diponible en la CLB. Eta idea no e nueva y e han propueto trabajo que intentan aprovechar la lógica de acarreo junto con la LUT para cualquier circuito general. Una utilización de la cadena de acarreo e muy útil para crear comparadore muy eficiente. En [81] y [82] y [83] hemo utilizado ete tipo de comparadore en circuito periférico a lo que e accede a travé de un bu. También e han propueto método para mapear de manera automática funcione en la LUT y la lógica de acarreo. En trabajo como [84] y [85] Frederick y Somani intentan un mapeo automático de funcione lógica generale en eta cadena de acarreo junto con la LUT. Sin embargo uponen alguna funcionalidade extra de la cadena de acarreo que no etán diponible en la principale familia de FPGA. En [86] y [87] e decribe un mapeo imilar, pero con el único requiito de que la cadena Uo eficiente de aritmética redundante en FPGA Pag. 49

73 Implementación eficiente de umadore carry-ave en FPGA oporten uma binaria. Sin embargo, aún en ete cao la cadena de acarreo tienen cierta retriccione, como por ejemplo en la FPGA Spartan 6, donde la cadena de acarreo e trata como un elemento indiviible, por lo que no bata con la condición de uma binaria Implementando compreore de orden uperior en LUT6 Como e ha motrado en el apartado anterior, on poible do opcione para la implementación de compreore de orden mayor al [4:2], por un lado, decribiendo en VHDL compreore mayore componiendo compreore [3:2] para coneguir una optimización en área, y por otro lado utilizando compreore [4:2] como elemento báico como el que e decribió en el apartado anterior con primitiva. Eta egunda opción e ólo poible en lice L y M que on lo que contienen lógica de acarreo. A continuación e muetra como e contruyen eto compreore de orden uperior al [4:2]. Compreore de orden uperior [5:2], [6:2] y [7:2] optimizado en área La Figura 23 muetra, a modo de ejemplo, la íntei de un compreor [5:2] a partir de compreore [3:2] como muetra la Figura 14. Como e puede obervar e conumen do LUT6. Obérvee cómo uno de lo acarreo e genera en la propia LUT6. Téngae en cuenta que la entrada a i, b i y c i e utilizan en una LUT6 para generar el c p1_i o 2_i por lo que no e debe penar que en ea LUT6 e uman cinco bit y e van a neceitar 3 alida. Weight 2 i+1 Weight 2 i d i+1 e i+1 c i b i a i d i e i c i-1 b i-1 a i-1 c in1_i+1 c p1_i+1 c in1_i c p1_i LUT 6 LUT 6 c in2_i+2 c p2_i+2 c i b i a i+1 1_i+1 c in2_i+1 c p2_i+1 c i b i a i 1_i c in2_i c p2_i 2_i+1 2_i LUT 6 LUT 6 _i+2 out_i+1 _i+1 out_i _i Figura 23. Síntei del compreor [5:2] optimizado en área. Pag. 50 Uo eficiente de aritmética redundante en FPGA

74 Implementación eficiente de umadore carry-ave en FPGA El compreor [6:2] e contruye con compreore [3:2] como muetra la Figura 24 y el compreor [7:2] e contruye también conectando lo compreore [3:2] como muetra la Figura 16 (no e muetra la figura del compreor [6:2] ni [7:2], reultado de la íntei de la decripción VHDL por la complejidad de la conexione). Weight 2 i+1 Weight 2 i f i+1 d i+1 e i+1 a i+1 b i+1 c i+1 f i e i d i c i b i a i a b c a b c a b c a b c c p2_i+2 2_i+1 1_i+1 c in2_i+1 c p2_i+1 2_i 1_i c in2_i+1 c p1_i+2 c in1_i+1 c p1_i+1 c in1_i a b c a b c c p3_i+2 c in3_i+1 c p3_i+1 c in3_i a b c a b c out_i+1 _i+1 out_i _i Figura 24. Implementación cláica de un compreor [6:2]. La Tabla 7 muetra el conumo en LUT6 y retardo para un compreor [m:2] de ancho de 32 bit en cada uno de lo cao. Se ha utilizado un ancho de palabra de 32 bit para tener una medida má precia, y no quede todo implementado en un olo lice que ofrecería el mejor reultado. Compreor [m:2] de Spartan 6 xc6lx100-3fgg bit LUT6 Nº LUT6 Delay (n) Optimizado en área path Delay [4:2] ,59 [5:2] ,99 [6:2] ,14 [7:2] ,21 Tabla 7. Compreore [m:2] de 32 bit optimizado en área. Hay que hacer notar que hay una diferencia de velocidad entre el compreor [4:2] y [5:2], coa que en principio parece extraña, ya que utilizan lo mimo nivele de Uo eficiente de aritmética redundante en FPGA Pag. 51

75 Implementación eficiente de umadore carry-ave en FPGA LUT6. Etudiado el cao, e ha comprobado que e correcto, y e debe al retardo de la red de conexión de uno de lo acarreo propagado. El compreor [4:2] ólo tiene como entrada un acarreo propagado del bit anterior, que e genera en la propia LUT6, mientra que el compreor [5:2] tiene do. Uno de ello e genera en la propia LUT6 como en el cao de la implementación del [4:2], mientra que el retante acarreo del [5:2], proveniente del bit anterior, paa por una red má lenta. Motivo por el cual el compreor [5:2] iempre e un poco má lento. Compreore de orden uperior [5:2], [6:2] y [7:2] optimizado en velocidad En el cao de compreore [5:2] y [7:2] e intetizan componiendo compreore [4:2] optimizado en velocidad con compreore [3:2], mientra que en el cao de compreore [6:2] e intetizan únicamente con compreore [4:2] optimizado en velocidad. La Figura 25 muetra como e intetiza el compreor [5:2]. Weight 2 i+1 Weight 2 i e i+1 d i+1 c i+1 b i+1 a i+1 e i d i c i b i a i c in1_i+1 c p1_i+1 d c pout c b a cpin c in1_i+1 c p1_i d c pout c b a cpin c in1_i c p_i-1 c in2_i+1 c p2_i+1 c in2_i+1 c p2_i c in2_i c p2_i-1 a b c a b c _i+2 out_i+1 _i+1 out_i _i Figura 25. Compreor [5:2] optimizado en velocidad. La Figura 26 muetra un compreor [6:2] componiendo do compreore [4:2]. Téngae en cuenta obervando la figura del compreor [4:2] anterior que la entrada c pin no e propaga. Por tanto, la alida c pout debe llevare a la entrada c pin del iguiente compreor para cortar el acarreo. Un compreor [6:2] ocupa un lice completo. Dado que lo retardo dentro del lice on má pequeño que en la red de rutado ete compreor etá altamente optimizado. Finalmente, la Figura 27 muetra cómo e contruye un compreor [7:2]. Pag. 52 Uo eficiente de aritmética redundante en FPGA

76 Implementación eficiente de umadore carry-ave en FPGA Weight 2 i+1 Weight 2 i f i+1 e i+1 a i+1 b i+1 c i+1 d i+1 f i e i d i c i b i a i c in1_i+2 c p1_i+1 d c pout c b a cpin c in1_i+1 c p1_i d c pout c b a cpin c in1_i c p1_i-1 c p2_i+1 c p2_i c in2_i+2 c in2_i+1 c in2_i c p2_i-1 c in3_i+2 c p3_i-1 d c c pout b a cpin c in3_i+1 c p3_i d c pout c b a cpin c in3_i c p3_i-1 _i+2 out_i _i+1 out_i _i Figura 26. Compreor [6:2] optimizado en velocidad. Weight 2 i+1 Weight 2 i f i+1 e i+1 a i+1 b i+1 c i+1 d i+1 g i f i e i d i c i b i a i g i c in1_i+2 c p1_i+1 d c pout c b a cpin c in1_i+1 c p1_i d c pout c b a cpin c in1_i c p1_i-1 c in2_i+2 c p2_i+1 c p2_i c p2_i-1 c in3_i+2 c p3_i+1 d c c pout b a cpin c in3_i+1 c p3_i d c pout c b a cpin c in3_i c p3_i-1 c in4_i+2 c p4_i+1 c in2_i+1 c in4_i+1 c p4_i c in2_i c in4_i c p4_i-1 a b c a b c _i+2 out_i _i+1 out_i _i Figura 27. Compreor [7:2] optimizado en velocidad. Por último, para tener una comparativa de lo compreore optimizado en velocidad, la Tabla 8 muetra el conumo en LUT6 y retardo para un compreor [m:2] de ancho de 32 bit en cada uno de lo cao. Se ha utilizado un ancho de palabra de 32 bit para tener una medida má precia como en el cao de lo compreore optimizado en área y no quede todo implementado en un olo lice donde lo retardo on mínimo. En eta tabla ademá del número de LUT6 que atraviea el camino má largo hay que Uo eficiente de aritmética redundante en FPGA Pag. 53

77 Implementación eficiente de umadore carry-ave en FPGA tener en cuenta el retardo de la lógica de acarreo (a diferencia de la Tabla 7) ya que en eta implementación e mezclan en el camino má largo, la LUT6 y la lógica de acarreo. Compreor [m:2] de 32 bit Spartan 6 xc6lx100-3fgg484 Optimizado en velocidad LUT6 Nº LUT6 Delay (n) path Delay [4:2] 64 1+Carry 1,82 [5:2] 96 2+Carry 2,7 [6:2] xCarry 2,9 [7:2] Carry 3,4 Tabla 8. Compreore [m:2] de 32 bit optimizado en velocidad Sumador ternario en LUT6 La facilidad de implementación de umadore ternario en una ola LUT6, permiten la uma final de tre operando con un conumo imilar en área a un umador de do. En la Tabla 9 e muetra una comparativa entre un umador de 2 y de 3 operando en cuanto a conumo de epacio y velocidad para uma de operando de ancho en número de bit elevado. En cuanto a velocidad, lo umadore ternario on má lento, pero como e ha comentado ampliamente en lo etudio de lo capítulo anteriore, la uma convencional ólo e realiza en la converión final cuando e utiliza aritmética CS, y in embargo conumen el mimo área que un umador de do operando. La poibilidad de implementar umadore ternario en una ola LUT6 fueron introducido en la FPGA de Xilinx por primera vez en la familia Virtex-5 [88] y mantenida eta poibilidad en el reto de FPGA con LUT6 introducida poteriormente [89]. Spartan 6 Sumador (A+B)-CPA Sumador (A+B+C)-Ternary Anchura del umador Slice LUT6 Delay (n) Slice LUT6 Delay (n) 32 bit , ,03 64 bit , , bit , , bit , ,24 Tabla 9. Sumador de 2 operando veru 3 operando. Pag. 54 Uo eficiente de aritmética redundante en FPGA

78 Implementación eficiente de umadore carry-ave en FPGA Sumador doble carry-ave [4:3], [5:3], [6:3] y [7:3] Como e ha vito en el apartado , lo umadore ternario en FPGA con LUT6 conumen el mimo epacio que un umador de do operando aunque con un retardo mayor. En todo cao e pueden umar 3 bit con el mimo cote que 2 bit. Proponemo un nuevo formato redundante donde cada dígito e repreenta por 3 bit. En formato carry-ave cláico cada dígito etá repreentado por do bit, uno de uma y otro de acarreo con valore poible {0, 1, 2}. En el nuevo formato doble carryave cada dígito etá repreentado por tre bit, uno de uma y do de acarreo con valore poible {0, 1, 2, 3}. Lo umadore doble carry-ave [m:3] computan m bit de igual peo y generan una alida de tre bit del mimo peo. Un inconveniente que puede plantear la utilización del formato doble carry-ave e que para almacenar un número en ete formato e neceita un 50% má de flip-flop; in embargo, éte no e ningún inconveniente para itema pipeline o erie pueto que a la alida de lo lice iempre e tienen diponible flip-flop. En lo que igue motraremo la etructura de lo umadore doble carry-ave que proponemo y lo reultado de implementación para eto umadore en FPGA con LUT6. Sumador doble carry-ave [4:3] El umador báico para el formato doble carry-ave e el umador [4:3] que e muetra en la Figura 28. Como e puede ver tiene el mimo cote y velocidad que un umador [4:2]. Se puede utilizar, por ejemplo, para umar un número convencional con uno redundante (por ejemplo en operacione MAC) y aunque el retardo introducido e el mimo que un umador [3:2] como parte del acumulador, el retardo práctico puede eliminare, i el operando convencional e conecta a la entrada que va directa a la alida, la uma e puede realizar en paralelo con la computación de la entrada convencional (multiplicador). Uo eficiente de aritmética redundante en FPGA Pag. 55

79 Implementación eficiente de umadore carry-ave en FPGA Weight 2 i+1 Weight 2 i d i+1 a i+1 b i+1 c i+1 d i a i b i c i a b c a b c c 2_i+2 c 1_i+1 out_i+1 c 2_i+1 c 1_i out_i c 2_i Figura 28. Sumador báico doble carry-ave [4:3]. Sumadore doble carry-ave [5:3], [6:3] y [7:3] Lo umadore doble carry-ave [5:3] (Figura 29), [6:3] (Figura 30) y [7:3] (Figura 31), e contruyen a partir de contadore (5:3], (6:3] y (7:3] repectivamente. Cada contador genera do bit de acarreo con peo 2 y 4 que e redireccionan a u correpondiente alida. Eto contadore e decriben fácilmente y olamente tienen un nivel de lógica. En el cao del umador [5:3] u implementación requiere tre LUT5 para generar cada alida, por tanto e conumen ólo do LUT6. En el cao del umador [6:3] e neceitan tre LUT6, una para cada alida, y por último en el cao del umador [7:3] e requieren do LUT6 por alida, en total ei LUT6 de lice M y L en el cao má óptimo motrado en la Figura 31. Weight 2 i+2 Weight 2 i+1 Weight 2 i e i+2 d i+2 c i+2 b i+2 a i+2 e i+1 d i+1 c i+1 b i+1 a i+1 e i d i c i b i a i 5:3 5:3 5:3 LUT6 LUT6 LUT6 LUT6 LUT6 LUT6 i_i+2 i+1_i+2 out_i+2 i-1_i+1 i_i+1 out_i+1 i-2_i i-1_i out_i Figura 29. Sumador doble carry-ave [5:3]. Pag. 56 Uo eficiente de aritmética redundante en FPGA

80 Implementación eficiente de umadore carry-ave en FPGA Weight 2 i+2 Weight 2 i+1 Weight 2 i f i+2 e i+2 d i+2 c i+2 b i+2 a i+2 f i+1 e i+1 d i+1 c i+1 b i+1 a i+1 f i e i d i c i b i a i 6:3 6:3 6:3 LUT6 LUT6 LUT6 LUT6 LUT6 LUT6 LUT6 LUT6 LUT6 i_i+2 i+1_i+2 out_i+2 i-1_i+1 i_i+1 out_i+1 i-2_i i-1_i out_i Figura 30. Sumador doble carry-ave [6:3]. Weight 2 i+1 Weight 2 i+1 g i f i i Weight 2 e i d i c i b i a i f i e i d i c i b i a i LUT6 LUT6 MUXF7 i_i+2 couti_i+1 out_i Figura 31. Sumador doble carry-ave [7:3]. El umador [5:3] reduce el número de operando de entrada en do, de la mima forma que el convencional compreor [4:2] por lo que podría umar un número CS a un número doble carry-ave. De igual manera el umador [6:3] reduce el número de operando en 3 de manera imilar al cláico [5:2], por lo que e puede utilizar para umar do número en formato doble carry-ave o tre en formato cláico carry-ave. La Tabla 10 muetra el retardo y conumo de epacio de lo umadore doble carry-ave. Aunque lo umadore doble carry-ave tienen un conumo mayor en área, repecto a lo umadore carry-ave cláico, detacan por un retardo menor. Eto también e cierto para el compreor [4:3], ya que como e comentó cuando e decribió anteriormente, el retardo e puede eliminar en la mayoría de la aplicacione reale. Detaca también que la variación del retardo con repecto al número de entrada e muy pequeña. Entre el umador [4:3] al [7:3] hay una variación en el retardo de tan ólo 0,52 n. Uo eficiente de aritmética redundante en FPGA Pag. 57

81 Implementación eficiente de umadore carry-ave en FPGA Compreor doble Spartan 6 xc6lx100-3fgg484 carry-ave [m:3] de LUT6 Nº LUT6 Delay (n) 32 bit path Delay [4:3] ,68 n [5:3] ,93 n [6:3] ,96 n [7:3] Mux 2,2 n Tabla 10. Sumadore doble carry-ave [m:3] de 32 bit Análii de caracterítica de compreore en LUT6 Hata aquí e ha motrado el dieño, conumo de recuro y velocidad de la alternativa para implementar compreore en LUT6. Debido al gran número de compreore y/o umadore, e ha dejado para el apartado final una comparación entre ello. Lo reultado e muetran para un umador de 32 bit y la FPGA utilizada para la íntei e la Spartan 6, referencia xc6lx100-3fgg484, utilizada en todo el trabajo para íntei con LUT6. No e dan lo reultado para un único bit, porque no hay una relación entera entre el número de bit y número de LUT6. Por ejemplo, un compreor CSA [4:2] de 2 bit ocupa 3 LUT6. E importante eñalar que lo dato que e dan correponden con la entrada y alida regitrada y por tanto e ha contabilizado el retardo de la red de rutado entre lo regitro y la LUT6. Creemo que e má correcto. Por ejemplo, en el CSA [3:2] la implementación e hace en una ola LUT6, no ería correcto poner como único retardo el de la LUT6, porque ee CSA habrá que conectarlo a algún lugar. El retardo de una LUT6 e del orden de 0,2 n., decir que e puede trabajar a una frecuencia de 5GHz no ería real. Por otro lado, una de la ventaja de la utilización de compreore e que el retardo e prácticamente independiente del número de bit, por lo que dar reultado para ditinto tamaño no tiene mucho entido. E cierto que aparecen pequeña variacione, pero etán aociado a lo retardo de la red de rutado de la FPGA. La Tabla 11 muetra una comparativa en conumo y retardo de lo ditinto tipo de umadore. Se han incluido lo umadore CPA a modo de referencia pueto que u retardo depende del número de bit a umar. Al igual que ocurre con en la FPGA con Pag. 58 Uo eficiente de aritmética redundante en FPGA

82 Implementación eficiente de umadore carry-ave en FPGA LUT4, el retardo no e proporcional al número de nivele teórico de compreor [3:2], como e uponía por extrapolación a lo que ocurre en ASIC. En cuanto a conumo de LUT6 e oberva que lo compreore carry-ave cláico optimizado en área on la mejor alternativa. Eto compreore e coniguen con una decripción adecuada a partir de compreore [3:2] y una parametrización adecuada de la herramienta de íntei XST, integrada en el entorno ISE. Lo compreore carry-ave cláico optimizado en área on lo que ocupan meno área, aproximadamente ocupa el 75% del área del umador carry-ave cláico optimizado en velocidad, y entre un 75% a 50% del área de un umador doble carry-ave. Se puede obervar que la mejor alternativa en el cao de neceitar velocidad, ería la utilización de lo umadore doble carry-ave que conumen el mimo número de LUT6 hata lo umadore [6:3] y un retardo en general menor que lo umadore carry-ave cláico. La única excepción e el compreor [4:2] optimizado en velocidad que aprovecha al máximo la lógica de acarreo. Detaca también que la variación del retardo repecto al número de entrada en el umador doble carry-ave e muy pequeña i la comparamo con el umador carry-ave cláico. La diferencia de retardo entre el umador carry-ave cláico [6:2] y [4:2] optimizado en área e de 1,55 n., y en el cao de umador carry-ave optimizado en velocidad eta diferencia e de 1,08 n., mientra que en el cao de lo umadore de doble carry-ave la diferencia de retardo entre [7:3] y [5:3] e de tan ólo 0,27 n. Carry-ave Carry-ave Acarreo propagado Doble Carry-ave Optimizado en área Optimizado en velocidad (CPA) Tipo LUT6 Delay Tipo LUT6 Delay Tipo LUT6 Delay Tipo LUT6 Delay [3:2] 32 1,68 n [4:3] 32 1,68 n [2:1] 34 2,71 n [4:2] 48 2,59 n [4:2] 64 1,82 n [5:3] 64 1,93 n [3:1] 34 3,63 n [5:2] 66 2,99 n [5:2] 96 2,7 n [6:3] 96 1,96 n [4:1] 68 4,78 n [6:2] 97 4,14 n [6:2] 128 2,9 n [7:3] 192 2,2 n [5:1] 70 5,73 n Tabla 11. Caracterítica de umadore de 32 bit carry-ave para LUT6. En el Gráfico 2 e repreenta el retardo de lo ditinto tipo de umadore en función de la reducción de la entrada. Si e oberva la pendiente de la gráfica, e puede comprobar la variación del retardo en función de la compreión que realizan. Como ya e ha comentado, detaca la variación del retardo tan pequeña en el cao de lo umadore doble carry-ave. Uo eficiente de aritmética redundante en FPGA Pag. 59

83 Implementación eficiente de umadore carry-ave en FPGA Delay n Compreión Carry-ave Optimizado en área Carry-ave Optimizado en velocidad Doble Carry-ave Acarreo propagado (CPA) Gráfico 2. Comparativa de velocidad en umadore de 32 bit carry-ave para LUT6. En el Gráfico 3 e repreenta el área ocupada de lo ditinto tipo de umadore en función de la reducción de la entrada. El área aumenta de manera imilar en todo lo tipo de umadore, excepto en el umador doble carry-ave donde e produce un alto importante en conumo de área al paar del umador [6:3] a [7:3], eto e debido a que la LUT6 tienen 6 entrada y cada alida e puede obtener conumiendo una ola LUT6 mientra que el compreor [7:3] tiene 7 por lo que no e puede obtener una alida de una ola LUT Área Número de LUT Carry-ave Optimizado en área Carry-ave Optimizado en velocidad Doble Carry-ave Acarreo propagado (CPA) Compreión Gráfico 3. Comparativa de área conumida en umadore de 32 bit carry-ave para LUT6. Por tanto, la uma redundante mejora el rendimiento de la FPGA con LUT6, pueto que producen la mima reducción que el umador CPA pero con menor retardo. Pag. 60 Uo eficiente de aritmética redundante en FPGA

84 Implementación eficiente de umadore carry-ave en FPGA Por otro lado, lo umadore doble carry-ave on lo má rápido a cota de un conumo de área mayor. Se concluye que no hay olución única, ino que dependiendo de cada aplicación, e debe elegir la mejor repreentación en función de lo requiito de área y velocidad. Uo eficiente de aritmética redundante en FPGA Pag. 61

85

86 4. Implementación de multiplicadore de ancho de palabra elevado Breve reumen En la realización de multiplicadore de ancho de palabra elevado en FPGA e ha demotrado que la utilización de lo multiplicadore empotrado combinándolo adecuadamente para crear lo producto parciale e la mejor opción. Sorprendentemente en lo trabajo actuale no e ha utilizado aritmética redundante para la uma de lo producto parciale, a pear de er la técnica que mejore reultado ha dado en ASIC. En ete capítulo motraremo como la combinación de compreore carry-ave con lo multiplicadore empotrado on la opción que ofrece el mejor rendimiento. Uo eficiente de aritmética redundante en FPGA Pag. 63

87

88 Implementación de multiplicadore de ancho de palabra elevado 4.1. Introducción La contrucción eficiente de multiplicadore de ancho de palabra elevado a partir de lo multiplicadore empotrado on objeto de interé por el elevado retardo y conumo de área. El dieño de unidade de multiplicación en punto fijo envuelve la generación de producto parciale. Para la uma de eto producto parciale e utiliza habitualmente aritmética redundante y e realiza la uma final con un umador de acarreo propagado que concentra la mayoría del retardo. En mucha aplicacione la uma final e puede poponer o mezclare con la iguiente operacione por lo que el reultado de la multiplicación puede er dado en aritmética redundante uualmente carry-ave y de eta manera mejorar enormemente la velocidad del multiplicador. Por eta razone, lo multiplicadore con alida carry-ave e utilizan ampliamente en lo multiplicadore de unidade en punto flotante [90], unidade de multiplicación y uma [91][92], MAC [93] [94], proceamiento de imágene [95][96], criptografía [98][99]. Lo bloque DSP empotrado en la moderna FPGA etán implementado utilizando umadore carry-ave [100]. Una eficiente implementación de la multiplicación tiene un ignificativo impacto en FPGA en término de velocidad, conumo de potencia y área. Por eto motivo, lo fabricante de FPGA incluyen multiplicadore empotrado, muy eficiente, que pueden er utilizado por lo dieñadore. La cai totalidad de FPGA, incluyendo la de bajo cote, diponen de eto multiplicadore empotrado o bloque DSP que integran multiplicadore, cuyo uo e muy recomendado. En [101] Parandeh e Ienne realizan medida de rendimiento entre multiplicadore oft y empotrado, proponiendo mejora en el algoritmo de multiplicación adaptada a la arquitectura de la FPGA que minimicen la ditancia entre ambo tipo de multiplicadore. La utilización de multiplicadore empotrado olamente e deaconeja para la realización de multiplicadore de ancho de palabra pequeño en torno a 9x9 bit o inferiore. En tale cao, podría tener mejor rendimiento una íntei optimizada que utilice la LUT. La razón e que el multiplicador quedaría cerca del dieño general y no e umaría el retardo de la red de rutado, que e importante en el cao de que e utilicen lo bloque empotrado debido a que e encuentran en poicione fija. Uo eficiente de aritmética redundante en FPGA Pag. 65

89 Implementación de multiplicadore de ancho de palabra elevado Cuando el tamaño de operando del multiplicador e del orden de lo multiplicadore empotrado (in uperarlo) la mejor opción e la utilización de eto multiplicadore empotrado, mientra que en el cao de que e neceiten multiplicadore de un ancho de palabra elevado, uperior al de lo multiplicadore empotrado, la mejor opción e la utilización de eto multiplicadore empotrado para realizar lo producto parciale, y umarlo poteriormente para tener el reultado final. Lo que difieren lo trabajo actuale e en cómo realizar la uma de lo producto parciale. Mientra que alguno autore e limitan a realizar la uma dede VHDL, y por tanto con umadore CPA, otro proponen que la mejor manera de realizar la uma e con la utilización de árbole de compreore. Aunque en ete capítulo e van a tratar multiplicadore paralelo de ancho de palabra elevado, lo multiplicadore empotrado e han utilizado también en otra aplicacione con un alto cote computacional, donde lo autore han detacado la mejora del rendimiento [102] [103] [104]. En [102] Mcivor y otro realizaron una comparativa de íntei en FPGA de multiplicadore Montgomery. En lo algoritmo comparado utilizaron lo multiplicadore empotrado como la mejor alternativa, in embargo, para la uma de lo producto parciale utilizaban umadore CPA. En [103] De Dinechin y otro proponen un nuevo algoritmo para realizar la raíz cuadrada en FPGA de evaluación polinomial que utilice lo multiplicadore empotrado, frente a lo algoritmo cláico de recurrencia de dígito que no pueden utilizar ete recuro. La latencia de ete algoritmo e mucho menor que lo anteriore a expena de un conumo en recuro mayor. En [104] Nadjia y otro proponen un algoritmo de multiplicación de preciión variable que utiliza lo multiplicadore empotrado, ditinto al de Karatuba [105]. Ete nuevo algoritmo preenta una baja complejidad en el rutado por lo que e obtiene una mejora de velocidad. En el reto del capítulo e etudiará cómo e contruyen multiplicadore con operando de gran ancho de palabra en FPGA utilizando lo multiplicadore empotrado combinado con el eficiente mapeo de compreore carry-ave como e motró en el capitulo anterior. Aún con alida convencional, lo multiplicadore Pag. 66 Uo eficiente de aritmética redundante en FPGA

90 Implementación de multiplicadore de ancho de palabra elevado realizado con árbole de compreore carry-ave obtienen una mejor velocidad a cota de aumentar el área. Si ademá e trabaja en formato CS, lo multiplicadore carry-ave coniguen duplicar la velocidad frente a lo que utilizan umadore CPA Dieño de multiplicadore de gran ancho de palabra en FPGA El dieño de multiplicadore de gran ancho de palabra en FPGA e realiza a partir de lo multiplicadore empotrado que contienen toda la FPGA actuale. Para realizar multiplicadore de un número de bit mayor que el de lo multiplicadore empotrado, e deben uar vario de eto multiplicadore para realizar una erie de producto parciale, y poteriormente umarlo con la compoición adecuada de lo operando intermedio. En la FPGA de bajo cote de Xilinx, objetivo de nuetro trabajo, lo multiplicadore empotrado tienen un tamaño de operando de 18 bit incluido el igno. Tanto la tradicionale erie Spartan 3 como la má reciente como Spartan 6 contienen multiplicadore de 18x18 bit con igno, y el número varía egún el modelo concreto. En la Spartan 6 lo multiplicadore empotrado e encuentran dentro de otro bloque DSP empotrado má complejo [89]. Eto multiplicadore empotrado on relativamente pequeño, de 18x18 bit en la FPGA de bajo cote o 25x18 bit en la FPGA con alto rendimiento má reciente. Si e neceita un multiplicador dedicado de tamaño elevado e neceario combinar eto multiplicadore empotrado. Si uponemo que tenemo un multiplicador de tamaño mxn empotrado y un multiplicando de p bit de anchura y un multiplicador de bit de anchura entonce tanto el multiplicando como el multiplicador deben dividire en egmento de un número de bit igual al ancho de lo operando de lo multiplicadore empotrado. La diviión de lo operando en egmento adecuado y el alineamiento de manera automática alen fuera de lo objetivo de ete trabajo. En [106], [107], [108], [109], [110] y [111] e etudia eta diviión y concatenación de manera automática. De eta manera, el multiplicando e decompone en pd = p/m y el multiplicador en d = p/n [16]. En egundo lugar e computan lo pdxd producto parciale. Por último lo producto parciale e alinean convenientemente y uman para tener el reultado final. Lo producto parciale y la uma final e pueden realizar de varia manera. Se pueden calcular uno tra otro utilizando un único bloque multiplicador [112], que Uo eficiente de aritmética redundante en FPGA Pag. 67

91 Implementación de multiplicadore de ancho de palabra elevado requiere vario ciclo y e ha utilizado en computación multipreciión. Se pueden utilizar vario multiplicadore epecializado en pipeline para coneguir el reultado en un único ciclo con una pequeña latencia [100][111]. Se pueden realizar lo cálculo en un olo ciclo (en paralelo), computándoe todo lo producto parciale al mimo tiempo y umarlo [113]. Independientemente de la manera en cómo e computen, la utilización de umadore carry-ave para realizar la uma de lo producto parciale aumenta el rendimiento. Ete trabajo e centrará en coneguir multiplicadore del tamaño de lo operando iniciale y que e realicen en un olo ciclo, calculándoe lo producto parciale de forma paralela que e la manera má intetizada en FPGA. Vario etudio han tratado la implementación paralela de multiplicadore de gran tamaño o elevar un operando al cuadrado utilizando lo multiplicadore empotrado. Alguno de ello para entero in igno [114], para entero en complemento a do tanto para multiplicadore de 18x18 bit [115] como para lo nuevo multiplicadore aimétrico (25x18 bit) de la má nueva FPGA [116][117]. Como demotraremo en ete capítulo, en todo eto trabajo e pueden utituir lo umadore convencionale CPA por umadore carry-ave aumentando el rendimiento. Hay que hacer hincapié en que el igno debe tratare con cuidado para un correcto dieño de lo multiplicadore de gran ancho de palabra. Lo multiplicadore empotrado trabajan en complemento a do, independientemente de que la entrada ean operando con igno o in igno. En el cao de operando in igno, todo lo egmento en que e han dividido lo operando iniciale on operando in igno, mientra que para operando iniciale con igno lo egmento deben tener igno o no dependiendo de la poición de lo egmento. En la repreentación de complemento a do olamente lo egmento que contengan el bit de igno, e decir lo egmento que contengan lo bit má ignificativo de lo operando, deben operare con igno mientra que el reto deben tratare como operando in igno. Por tanto, en la generación de lo producto parciale de aquello egmento que deben operare in igno, e debe introducir un cero en el bit má ignificativo de lo multiplicadore empotrado. De eta manera el tamaño de lo dígito que deben introducire en eto multiplicadore dedicado debe er una unidad menor. Por otro lado, para el cao de lo egmento que contengan el bit de igno de alguno de lo Pag. 68 Uo eficiente de aritmética redundante en FPGA

92 Implementación de multiplicadore de ancho de palabra elevado operando, en el reultado del producto parcial debe realizare una extenión de igno. En el cao de lo producto parciale in igno, ante de realizar una extenión con cero, e debe etudiar i e pueden combinar vario producto parciale para componer un olo reultado. A modo de ejemplo, la Figura 32 muetra cómo e puede coneguir implementar un multiplicador con igno de 35x35 bit utilizando cuatro multiplicadore empotrado con igno y do umadore. Cada uno de lo operando e divide en do grupo; por ejemplo, para el operando A e tendría: A 1 = A[34..17] y A 0 = A[16..0]. El egundo grupo (el meno ignificativo) tiene un bit meno porque hay que añadirle un 0 por la izquierda para forzarlo poitivo, ante de aplicarlo al multiplicador correpondiente (0, A[16..0]). De igual manera e procede con el operando B. Al tenere 4 grupo de operando, pero agrupado do a do, erán neceario 4 multiplicadore empotrado de 18 bit. En la Figura 33 e muetra la compoición de la uma parciale a realizar para obtener el multiplicador final de 35x35 bit. Tal y como e puede obervar, lo 17 bit meno ignificativo del producto e obtienen directamente al multiplicar A 0 xb 0, y harán falta 2 umadore, uno de 36 bit para realizar la uma intermedia de A 0 xb 1 y A 1 xb 0, y otro final de 53 bit, que uma el reultado de la uma intermedia junto con el umando compueto por A 1 xb 1 y lo 17 bit de mayor peo del producto de A 0 xb 0. En ete cao no e debe extender el reultado de ete producto parcial (A 0 xb 0) in igno con cero, ya que entonce no e podría combinar con lo otro producto parciale. Ante de realizar la uma final debe extendere el igno del reultado de la uma intermedia. Uo eficiente de aritmética redundante en FPGA Pag. 69

93 Implementación de multiplicadore de ancho de palabra elevado A 0 x B 0 17 P[16:0] 0,A[16:0] 0,B[16:0] A B P [33:17] MULT18X18SIO [69:34] A 1 x B 1 A[34:17] B[34:17] A P B MULT18X18SIO P[69:17] A 1 x B 0 A[34:17] 0,B[16:0] A P B MULT18X18SIO Ext. igno [69:53] [52:17] A 0 x B 1 0,A[16:0] B[34:17] A B P 36 MULT18X18SIO Figura 32. Multiplicador con igno de 35x35 bit. A[34:0] x B[34:0] igned Signed ext. Signed ext A 0 x B A 1 x B 0 34 A 1 x B A 0 x B 0 A 0 x B 1 17 A 1 x B 0 17 A 0 x B 0 0 Figura 33. Producto parciale de un multiplicador de 35x35 bit con igno. La implementación del multiplicador motrada en la Figura 32 tiene el inconveniente de que e neceitan do umadore, y i éto on del tipo CPA tendrán un retardo elevado, por lo que el multiplicador final tendrá un retardo de propagación, que no ería admiible para la mucha de la aplicacione. La olución ería uar un umador CSA que permite umar 3 operando y al repreentar la alida mediante do bit, el de acarreo y el de uma, el retardo final del umador e independiente del número de bit. Eta mejora e mayor a medida que aumenta el número de bit del multiplicador, ya que aumenta el número de producto parciale a umar. Multiplicadore utilizando aritmética CSA En el ejemplo anterior del multiplicador de 35x35 bit (Figura 32) bata utituir lo umadore CPA por CSA para obtener a la alida un multiplicador con alida CSA. Para ello e deben utilizar compreore [3:2]. Se conigue aí un multiplicador con alida CS. Para ver mejor lo beneficio de la utilización de lo umadore CS, a modo de ejemplo, e motrará cómo e obtiene un multiplicador de 52x35 bit con igno y Pag. 70 Uo eficiente de aritmética redundante en FPGA

94 Implementación de multiplicadore de ancho de palabra elevado alida carry-ave a partir de multiplicadore empotrado y umadore CSA. La Figura 34 muetra lo producto parciale indicando lo cao en lo que debe realizare la extenión de igno. A[51:0] x B[34:0] igned Signed ext Signed ext. 51 Signed ext. 51 A 2 x B A 0 x B A 1 x B 0 34 A 2 x B 0 34 A 1 x B A 0 x B 0 A 0 x B 1 17 A 1 x B 0 17 A 0 x B 0 0 Figura 34. Producto parciale de un multiplicador de 52x35 bit con igno. La Figura 35 muetra la implementación del multiplicador utilizando multiplicadore empotrado y umadore CSA. Como e puede obervar e neceario utilizar umadore CSA de [3:2] y [4:2]. En [44] demotramo cómo e podían integrar de manera óptima umadore carry-ave [3:2] y [4:2]. 0,A[16:0] 0,B[16:0] X 34 PA[33:0] A[51:0] x B[34:0] Signed P[16:0] 0,A[16:0] B[34:17] 0,A[33:17] 0,B[16:0] A[50:34] 0,B[16:0] 0,A[33:17] B[34:17] A[51:34] B[35:17] X X X X X PA[33:17] PB[51:17] + PB[33:17] 35 3:2 PB[86:52]=PB 51 PC[33:17] ign extenion 35 PD[86:69]=PD 68 PE[86:69]=PE 68 PC[50:17] 34 PC[50:34] PB[50:34] PD[68:34] + PD[50:34] 35 PE[50:34] ign extenion 18 PE[68:34] + PE[86:51] 35 PD[86:51] ign extenion 18 PB[86:51] PF[86:51] PF[86:51] :2 4:2 S[33:17] C[34:18] S[50:34] C[51:35] S[86:51] C[87:52] Figura 35. Multiplicador de 52x35 bit con igno y alida de uma y acarreo. Para multiplicadore de número de bit uperiore al motrado anteriormente, por ejemplo de 69x69, e neceitan compreore uperiore, en concreto de [5:2] y Uo eficiente de aritmética redundante en FPGA Pag. 71

95 Implementación de multiplicadore de ancho de palabra elevado [7:2]. Por ete motivo, la optimización de lo umadore CS influye enormemente en el retardo del multiplicador. En el capitulo 3 ya motramo ademá cómo coneguir eto compreore de manera óptima Reultado de la implementación de multiplicadore de ancho de palabra elevado en FPGA con LUT4 Para ver la ventaja de utilizar multiplicadore con alida carry-ave en FPGA de Xilinx con LUT4, e han dieñado vario multiplicadore para ancho de operando en el rango de 35 a 69 bit y e han intetizado en una FPGA Xilinx Spartan3E-5 utilizando ISE 12.1 y e han comparado con lo multiplicadore generado por IP core generator de Xilinx (Coregen 12.1) [118] y lo generado directamente del operador de multiplicación de VHDL utilizando XST. Lo dato que e muetran e han obtenido regitrando la entrada y alida de cada bloque. De eta forma e puede determinar la frecuencia máxima de funcionamiento de una forma má fiable e independiente del place and route del dieño en la FPGA. Por el contrario, eto implica un aumento del número de LUT y lice. Sobre lo dato motrado cabe indicar, que éto e han realizado para dieño in pipeline, y para un grado de velocidad de la FPGA indicada anteriormente de -5, y que lo multiplicadore obtenido con la herramienta Coregen de Xilinx y con la decripción VHDL tienen alida convencional. La Tabla 12 muetra lo reultado obtenido. En primer lugar el número de multiplicadore empotrado e el mimo en la tre implementacione. El número de LUT contruida en el dieño con alida CS e menor, variando dede un 5% a un 19%, aunque e debe tener en cuenta que en la implementación CS no etá incluido el umador para la converión final. En cuanto a mejora en la velocidad, e puede comprobar que, para un tamaño de operando de 35 bit, la mejora de velocidad con multiplicadore CSA e uperior en un 82% para lo multiplicadore generado con Coregen y en un 56% a la obtenida con la decripción VHDL. A medida que aumenta el tamaño del operando la mejora de velocidad e aún mayor, coniguiendo una frecuencia de trabajo do vece uperior a lo multiplicadore generado con Coregen y 73% uperior a la obtenida con la decripción VHDL. Pag. 72 Uo eficiente de aritmética redundante en FPGA

96 Implementación de multiplicadore de ancho de palabra elevado Otro reultado obtenido, e que el retardo de lo multiplicadore CSA e prácticamente el mimo en el cao de operando de 35x52 bit y de 52x52 bit ya que lo compreore utilizado en ambo cao on de [5:2]. Ete e un reultado eperado, ya que lo compreore on lo que determinan la velocidad del multiplicador CSA. Eta concluión e puede extrapolar a operando de mayor número de bit. Multiplicador Tamaño en bit Multiplicador alida CSA IP Coregen de Xilinx Multiplicador decrito en VHDL Frec. Mul Mul Slice LUT Max. Slice LUT 18x18 18x18 (MHz) Frec. Frec. Mul Max. Slice LUT Max. 18x18 (MHz) (MHz) 35x , ,74 35x , , ,72 52x , ,60 64x64 (1) , ,62 69x69 (2) , ,60 Tabla 12. Reultado de multiplicadore con igno en FPGA con LUT4. Nota: (1) Tamaño máximo con IP Coregen. (2) Tamaño máximo dieñado con umadore CSA. La Tabla 13 muetra lo reultado para multiplicadore in igno. La mejora en velocidad alcanzada por el multiplicador in igno con alida CS e imilar al cao de multiplicadore con igno, ya que el tamaño máximo de lo compreore neceario para realizar la uma de lo producto parciale e el mimo tanto para multiplicadore con igno como in igno. La íntei con compreore carry-ave mejora en un rango entre el 59% al 72% a la íntei VHDL y en un rango de 88% a 124% a la íntei con Coregen. Sin embargo, e oberva una importante reducción de área cuando e utiliza el multiplicador con alida carry-ave, iendo menor en un 40% repecto a Coregen y en un rango de 33% a 20% con repecto a la decripción VHDL. Uo eficiente de aritmética redundante en FPGA Pag. 73

97 Implementación de multiplicadore de ancho de palabra elevado Multiplicador Tamaño en bit Multiplicador alida CSA IP Coregen de Xilinx Multiplicador decrito en VHDL Frec. Mul Mul Slice LUT Max. Slice LUT 18x18 18x18 (MHz) Frec. Frec. Mul Max. Slice LUT Max. 18x18 (MHz) (MHz) 34x x x x63(1) x68(2) Tabla 13. Reultado de multiplicadore in igno en FPGA con LUT4. Nota: (1) Tamaño máximo con IP Coregen. (2) Tamaño máximo dieñado con umadore CSA. Eta reducción en área del multiplicador in igno CSA con repecto al que trabaja con igno e debida a que no e necearia la extenión de igno. Lo compreore de mayor tamaño e reducen epecialmente, obre todo lo compreore que intervienen en lo bit má ignificativo del reultado como e puede ver en la Figura 36. En el cao del multiplicador con alida convencional lo producto parciale que contribuyen en lo bit má ignificativo del reultado e tienen que umar realmente incluyendo la extenión de cero para propagar lo poible acarreo. Sin embargo, en carry-ave ólo e propaga a un bit y el reto de la uma olamente e debe almacenar. A[51:0] x B[34:0] Unigned A0 x B0 17 A0 x B A0 x B A0 x B A1 x B0 34 A1 x B A2 x B A1 x B1 A2 x B1 (A2xB1)51 (A1xB1)50 (A2xB0)50 (A1xB0)50 (A0xB1)50 2:2 4:2 Previou carry C52 S51 C51 S50 Figura 36. Multiplicador de 51x34 bit in igno con alida CSA. Pag. 74 Uo eficiente de aritmética redundante en FPGA

98 Implementación de multiplicadore de ancho de palabra elevado 4.4. Reultado de la Implementación de multiplicadore de ancho de palabra elevado en FPGA con LUT6 Lo multiplicadore e realizan a partir de la uma de la multiplicacione parciale realizada con lo multiplicadore empotrado. Lo multiplicadore empotrado en la FPGA con LUT6 e encuentran dentro de lo bloque DSP. En eto bloque también exiten umadore CPA que pueden combinare con la alida de lo multiplicadore empotrado. La implementación de multiplicadore en LUT6 igue la mima filoofía que la expueta para LUT4, e decir, que la uma de lo producto parciale e realicen con compreore CS, utilizando el compreor del tamaño adecuado para realizar la uma de cada bit de todo lo operando. No hemo creado árbole de compreore a partir de compreore má pequeño, ino que utilizamo el compreor con el número de entrada adecuado, ya que como e comentó en el apartado , no exite una relación lineal en el entido de que do compreore [3:2] intetizado y unido para componer un compreor [4:2] (retardo 2 x 1,68 n.) no tiene el doble retardo que un compreor [4:2] decrito y intetizado poteriormente (retardo 2,59 n.). La Tabla 14 muetra lo reultado de íntei para ditinto tamaño de multiplicadore. Se muetran reultado para multiplicadore con alida en formato redundante carry-ave y multiplicadore con alida en formato convencional, realizado completamente con aritmética en formato convencional como ocurre en lo multiplicadore intetizado con Coregen o VHDL, o realizado con aritmética CS a lo que e le ha añadido un umador CPA para realizar la converión a formato tradicional. Lo multiplicadore con alida doble carry-ave olamente tienen entido compararlo a partir de un tamaño del multiplicador de 52x52 bit que e cuando e neceitan umadore de [5:3] o uperiore. La verione actuale de Coregen olamente permiten un tamaño máximo de multiplicador de 64x64 bit, aunque lo dato de ete tamaño e utilizan para realizar comparacione con el tamaño de 69x69 en el reto de la íntei, in que eto induzca a concluione errónea. En la documentación de Xilinx [89] e propone la creación de multiplicadore y otro circuito que requieran uma intermedia realizándola en cacada en lugar de árbol, aunque eo í, iempre con umadore CPA. La propueta reduce enormemente el Uo eficiente de aritmética redundante en FPGA Pag. 75

99 Implementación de multiplicadore de ancho de palabra elevado conumo de área porque aprovecha lo umadore que contienen lo bloque DSP. Por eta razón, el conumo de LUT6 de la íntei con Coregen e nulo. Sin embargo, como muetra la Tabla 14, la frecuencia de trabajo diminuye enormemente con el ancho del número de bit. Por tanto, i e neceita aumentar la velocidad, la mejor alternativa e la utilización de multiplicadore realizado con CSA. Multiplicador alida Multiplicador alida CS Multiplicador doble carry-ave IP Coregen de Xilinx Tamaño en Frec. Frec. Frec. Mul Mul Mul bit Slice LUT Max. Slice LUT Max. Slice LUT Max. 18x18 18x18 18x18 (MHz) (MHz) (MHz) 35x , ,82 35x , ,28 52x , , ,61 64x64 (1) ,67 69x69 (2) , , Multiplicador (3) CSA con alida Multiplicador (3) doble carry-ave Multiplicador decrito en VHDL Multiplicador convencional (CPA) con alida convencional (CPA) Tamaño en Frec. Frec. Frec. Mul Mul Mul bit Slice LUT Max. Slice LUT Max. Slice LUT Max. 18x18 18x18 18x18 (MHz) (MHz) (MHz) 35x , , x , , x , , ,08 64x64 (1) x69 (2) , , ,59 Tabla 14. Reultado de multiplicadore con igno en FPGA con LUT6. Nota: (1) Tamaño máximo con IP Coregen. (2) Tamaño máximo dieñado con umadore CSA. (3) Lo dato que e muetran correponden a una optimización por área. También e ha intetizado con optimización por velocidad, pero la mejora e inapreciable y el conumo de área extra e elevado. En cuanto a velocidad, lo multiplicadore con alida CS triplican en el peor cao la velocidad de lo multiplicadore realizado con Coregen o VHDL, iendo de hata 6 vece má rápido que el multiplicador mayor realizado con Coregen. En cuanto a conumo de recuro, la íntei realizada con Coregen e la que meno área ocupa ya que el multiplicador e realiza completamente con lo bloque DSP contruyendo umadore en cacada. Sin embargo, en la íntei con Coregen la frecuencia de trabajo e altamente dependiente del tamaño del multiplicador, iendo en una tre vece uperior en el cao del multiplicador má pequeño (35x35) con repecto al mayor Pag. 76 Uo eficiente de aritmética redundante en FPGA

100 Implementación de multiplicadore de ancho de palabra elevado (64x64). En el cao de la íntei dede VHDL la variación de frecuencia repecto al tamaño del multiplicador e relativamente pequeña y aún menor en el cao de lo multiplicadore realizado con CSA. El Gráfico 4 y Gráfico 5 muetran lo reultado de íntei para multiplicadore con alida convencional realizado con aritmética CSA y tradicional de la Tabla 14. En el cao de que e neceiten multiplicadore con alida convencional, lo umadore carry-ave on lo má rápido aunque con un conumo en área mayor. Con repecto al formato carry-ave, e puede obervar que aunque el formato doble carry-ave permite algo má de velocidad que el cláico lo hace con un conumo en área mayor. El formato doble carry-ave en ete cao no upone una mejora apreciable. Eto e debido a que en el proceo de converión a formato tradicional, e utiliza un umador ternario que tiene un retardo mayor que el de do operando y conume el tiempo que mejora el uo de umadore con formato doble carry-ave. Con repecto al formato carry-ave, no hay una única olución idónea para multiplicadore, dependerá de la aplicación concreta. En el cao de multiplicacione que e realicen en erie, o por ejemplo en operacione MAC, lo multiplicadore con formato doble carry-ave on lo má rápido, aumentando la diferencia a medida que aumenta el número de bit del multiplicador iendo 1,13 vece má rápido para un multiplicador de 52x52 bit y de 1,22 vece má rápido para un multiplicador de 69x69 bit. En multiplicacione paralela, i tenemo en cuenta que para el multiplicador de 52x52 bit e neceitan umadore carry-ave con 5 entrada ([5:2], [5:3]) y para el multiplicador 69x69 bit e han neceitado umadore con 7 entrada ([7:2], [7:3]), podemo concluir que excepto que la velocidad ea el único condicionante el formato carry-ave cláico erá el má adecuado. Por último, comentar que al igual que en el cao de LUT4, i e neceitan multiplicadore con ancho de palabra elevado y in igno, cuando e intetizan utilizando aritmética CS tienen una velocidad imilar y el área diminuye notablemente, mientra que en el cao de multiplicadore in igno realizado con aritmética tradicional, la velocidad y el área on la mima que para el multiplicador con igno. Uo eficiente de aritmética redundante en FPGA Pag. 77

101 Implementación de multiplicadore de ancho de palabra elevado Frecuencia 140 MHz IP Coregen VHDL CSA Convencional y alida convencional CSA doble carry-ave y alida convencional 0 35x35 35x52 52x52 69x69 Tamaño del multiplicador con alida convencional Gráfico 4. Frecuencia de trabajo de multiplicadore con alida CPA en LUT6. Conumo en LUT6 Número de LUT x35 35x52 52x52 69x69 Tamaño del multiplicador con alida convencional IP Coregen VHDL CSA Convencional y alida convencional CSA doble carry-ave y alida convencional Gráfico 5. Área conumida de multiplicadore con alida CPA en LUT6. Pag. 78 Uo eficiente de aritmética redundante en FPGA

102 Concluione y línea futura 5. Concluione y línea futura Actualmente la FPGA han dejado de er únicamente un conjunto de puerta lógica, que e utilizaban como lógica para adaptar parte de un itema a otro ( Glue logic ), o para implementar pequeño circuito dedicado, para paar a er utilizada como la mejor alternativa en el cao de itema con un elevado cote computacional. A lo largo de la Tei Doctoral demotramo que e poible la implementación eficiente de aritmética carry-ave en FPGA, en contra de lo que e penaba hata hace alguno año, y e corrigen alguna de la creencia anteriore, derivada de dejar completamente la reponabilidad del mapeo de la aritmética carry-ave a la herramienta de íntei. Y por otro lado, hemo demotrado con lo reultado de la implementacione, que la manera má eficiente de crear multiplicadore paralelo de elevado ancho de palabra en FPGA actualmente e conigue con la combinación de lo multiplicadore empotrado con árbole de umadore carry-ave o doble carry-ave. Por tanto, e poible la utilización eficiente en FPGA de aritmética redundante, incluo en FPGA de bajo cote. Se conigue un aumento de velocidad importante, in la neceidad de recurrir a FPGA de alto rendimiento, de mayor precio y conumo de potencia, en mucha aplicacione que hacen un uo intenivo de la operacione de uma y multiplicación. De manera detallada la concluione a la que e ha llegado con ete trabajo e pueden enumerar de la iguiente manera: 1. E poible la implementación eficiente de compreore [3:2] y [4:2] en FPGA con LUT4 en contra de lo publicado hata hace alguno año. 2. Hemo demotrado que en el cao de compreore de orden uperior realizado componiendo compreore [3:2] y [4:2] en FPGA con LUT4, e aumenta el rendimiento, i en la conexione entre ello e aprovecha para lo camino má crítico el menor retardo de propagación de la lógica de acarreo. 3. Hemo introducido lo compreore con un nuevo formato doble carryave para compreore en FPGA con LUT6, con tiempo de Uo eficiente de aritmética redundante en FPGA Pag. 79

103 Concluione y línea futura propagación menore que lo compreore carry-ave cláico, y por tanto má eficiente en cuanto a velocidad. 4. Hemo dieñado un compreor [4:2] optimizado en velocidad para FPGA con LUT6 a bajo nivel con un tiempo de propagación inferior a lo dieñado anteriormente en otro trabajo, aprovechando la lógica de acarreo para generar parte de la funcione lógica. 5. Hemo demotrado con íntei reale, que la combinación de multiplicadore empotrado con aritmética carry-ave, on la mejor alternativa para la realización de multiplicadore de ancho de palabra elevado en FPGA. Eta combinación tanto para producir alida convencional como carry-ave no ha ido propueta hata el momento de manera general. Parte de lo reultado obtenido en ete trabajo e preentaron en el congreo Application-pecific Sytem, Architecture and Proceor, ASAP 2009 con el trabajo titulado Efficient implementation of carry-ave adder in FPGA, donde por primera vez e motró como e poible implementar compreore [3:2] y [4:2] de una manera eficiente en FPGA con LUT4, in un derroche de recuro y en contra de lo publicado hata el momento. Ete trabajo repaldado por u aceptación en uno de lo congreo má pretigioo, fue el punto de partida de eta línea de invetigación que etá iendo utilizada en otra aplicacione, demotrando que e poible utilizar aritmética redundante en operacione má compleja de manera eficiente en FPGA. Fruto del etudio exhautivo de lo recuro lógico de la FPGA, e ha utilizado la lógica de propagación de acarreo para generar funcione generale, ditinta a la puramente aritmética, con una mejora en la velocidad, aunque in er el objetivo primario de la tei. En cuanto a la línea de trabajo futura caben detacar tre. Una de ella e ha comenzado ya, y conite en utilizar aritmética redundante para coneguir operacione má compleja en FPGA epecialmente aquella que permitan la utilización de la repreentación CS. Se ahorra el tiempo en el pao a repreentación convencional. Por ejemplo en operacione MAC, SAD y en multiplicacione erie para ancho de palabra muy elevado, como ocurre en criptografía. Pag. 80 Uo eficiente de aritmética redundante en FPGA

104 Implementación de multiplicadore de ancho de palabra elevado La egunda línea tiene que ver con la utilización de la lógica de acarreo de la FPGA para intetizar funcione generale que requieren un mínimo retardo. Por ejemplo, la línea de acarreo pueden vere por la rapidez, como un punto donde e unen la alida de la look- up table pudiéndoe utilizar en aplicacione cláica del tipo de and por conexión, por ejemplo para arbitrar bue o para realizar comparadore de manera eficiente. Con la utilización de la lógica de acarreo para crear comparadore hemo coneguido aumentar la velocidad y reducir el área en el dearrollo de nuetro aceleradore hardware. La tercera línea de trabajo futura, e la continuación natural de ete trabajo y tiene que ver con la automatización de árbole de compreore para uma multioperando y multiplicadore de ancho de palabra elevado. Con ete trabajo e dipone de dieño optimizado a partir de lo cuale e puede crear una librería báica de componente. Uo eficiente de aritmética redundante en FPGA Pag. 81

105

106 Referencia 6. Referencia [1] B. Cope, P. Cheung,W. Luk, and L. Howe, Performance comparion of graphic proceor to reconfigurable logic: A cae tudy, IEEE Tranaction on Computer, vol. 59, no. 4, pp , Apr [2] Stephen Craven and Peter Athana, "Examining the Viability of FPGA Supercomputing", EURASIP Journal on Embedded Sytem 2007, doi: /2007/ [3] Herbordt, M.C.; VanCourt, T.; Yongfeng Gu; Sukhwani, B.; Conti, A.; Model, J.; DiSabello, D., "Achieving High Performance with FPGA-Baed Computing", Computer, vol.40, no.3, pp.50,57, March [4] Xilinx Inc., GA.pdf, September 10, [5] Peripheral Component Interconnect Special Interet Group (PCI-SIG), Conventional PCI 3.0 & 2.3: An Evolution of the Conventional PCI Local Bu Specification. Avaliable: [6] Quile-Latorre, F., Ortiz-Lopez, Manuel Agutin, Montijano-Vizcaino, M., Moreno-Moreno, C., Brox-Jiménez, M., hormigo-aguilar, F., Villalba- Moreno,Julio, "Acelerador Hardware de bajo cote para bu PCI Convencional", Seminario Anual de Automática, Electrónica Indutrial e Intrumentación 2012, Guimarãe, Portugal. [7] S. Dikmee, A. Kavak, K. Kucuk, S. Sahin, A. Tangel, and H. Dincer, Digital ignal proceor againt field programmable gate array implementation of pace-code correlator beamformer for mart antenna, IET Microwave, Antenna Propagation, vol. 4, no. 5, pp , May [8] S. Roy and P. Banerjee, An algorithm for trading off quantization error with hardware reource for MATLAB-baed FPGA deign, IEEE Tranaction on Computer, vol. 54, no. 7, pp , Jul [9] F. Schneider, A. Agarwal, Y. M. Yoo, T. Fukuoka, and Y. Kim, A fully programmable computing architecture for medical ultraound machine, IEEE Tranaction on Information Technology in Biomedicine, vol. 14, no. 2, pp , Mar [10] J. Hill, The oft-core dicrete-time ignal proceor peripheral [application corner], IEEE Signal Proceing Magazine, vol. 26, no. 2, pp , Mar Uo eficiente de aritmética redundante en FPGA Pag. 83

107 Referencia [11] J. S. Kim, L. Deng, P. Mangalagiri, K. Irick, K. Sobti, M. Kandemir, V. Narayanan, C. Chakrabarti, N. Pitiani, and X. Sun, An automated framework for accelerating numerical algorithm on reconfigurable platform uing algorithmic/architectural optimization, IEEE Tranaction on Computer, vol. 58, no. 12, pp , Dec [12] H. Lange and A. Koch, Architecture and execution model for hardware/oftware compilation and their ytem-level realization, IEEE Tranaction on Computer, vol. 59, no. 10, pp , Oct [13] L. Zhuo and V. Praanna, High-performance deign for linear algebra operation on reconfigurable hardware, IEEE Tranaction on Computer, vol. 57, no. 8, pp , Aug [14] C. Mancilla-Lopez, D. Chakraborty, and F. Rodriguez Henriquez, Reconfigurable hardware implementation of tweakable enciphering cheme, IEEE Tranaction on Computer,, vol. 59, no. 11, pp , Nov [15] T. Kaper, M. Novotny, C. Paar, and A. Rupp, Cryptanalyi with COPACOBANA, IEEE Tranaction on Computer, vol. 57, no. 11, pp , Nov [16] M.D. Ercegovac and T. Lang, Digital Arithmetic, Morgan Kaufmann Publiher, [17] Parhami, B. Computer Arithmetic: Algorithm and Hardware Deign, Oxford Univerity Pre, New York, NY, USA, [18] Jhon P. Haye, "Introducción al Dieño Lógico Digital", Addion-Weley Iberoamericana, [19] Vitorouli, K.; Al-Khalili, A.J., "Performance of Parallel Prefix Adder implemented with FPGA technology," Circuit and Sytem, NEWCAS IEEE Northeat Workhop on, vol., no., pp.498,501, 5-8 Aug [20] S. Gao, D. Al-Khalili, and N. Chabini, Implementation of large ize multiplier uing ternary adder and higher order compreor, International Conference on Microelectronic (ICM), pp , [21] S. Gao, D. Al-Khalili, and N. Chabini, FPGA Realization of High Performance Large Size Computational Function: Multiplier and Application, Analog Integrated Circuit and Signal Proceing, vol. 70, no. 2, pp , Feb [22] K. Macpheron and R. Stewart, Rapid prototyping - area efficient FIR filter for high peed FPGA implementation, Viion, Image and Signal Proceing, IEE Proceeding -, vol. 153, no. 6, pp , dec Pag. 84 Uo eficiente de aritmética redundante en FPGA

108 Referencia [23] P. Meher, S. Chandraekaran, and A. Amira, FPGA realization of FIR filter by efficient and flexible ytolization uing ditributed arithmetic, Signal Proceing, IEEE Tranaction on, vol. 56, no. 7, pp , july [24] Z. Kince, Z. Nagy, L. Orzo, P. Szolgay, and G. Mezo, Implementation of a parallel SAD baed wavefront enor architecture on FPGA, in Circuit Theory and Deign, ECCTD European Conference on, aug. 2009, pp [25] F. Benaali, A. Amira, and A. Bouridane, Accelerating matrix product on reconfigurable hardware for image proceing application, Circuit, Device and Sytem, IEE Proceeding -, vol. 152, no. 3, pp , june [26] Y. F. Chan, M. Moallem, and W. Wang, Deign and implementation of modular FPGA-baed PID controller, Indutrial Electronic, IEEE Tranaction on, vol. 54, no. 4, pp , aug [27] C. Villalpando, A. Morfopolou, L. Matthie, and S. Goldberg, FPGA Implementation of Stereo Diparity with High Throughput for Mobility Application, Proc. IEEE Aeropace Conf., pp. 1-10, Mar [28] M. Ercegovac and T. Lang, On-the-fly converion of redundant into conventional repreentation, Computer, IEEE Tranaction on, vol. C-36, no. 7, pp , july [29] V. Charoeniri and A. Surarerk, On-the-fly converion from igned-digit number ytem into complement repreentation,, in Communication and Information Technologie, ISCIT 06. International Sympoium on, ept. 20, pp [30] C. Wallace, A uggetion for a fat multiplier, IEEE Tranaction on Electronic Computer, vol. EC-13, no. 2, pp , [31] L. Dadda, Some cheme for parallel multiplier, Alta Frequenza, vol. 34, no. 5, pp , [32] P. Kornerup, Reviewing 4-to-2 adder for multi-operand addition, The Journal of VLSI Signal Proceing, vol. 40, pp , [33] Max Maxfield, "FPGA Intant Acce", Ed. Newne-Elevier Inc [34] Gina R. Smith, "FPGA 101. Everything you need to know to get tarted", Ed. Newne [35] Xilinx Inc., [36] Altera Corporation, Uo eficiente de aritmética redundante en FPGA Pag. 85

109 Referencia [37] I. Kuon and J. Roe, Meauring the gap between FPGA and ASIC, IEEE Tranaction on Computer-Aided Deign of Integrated Circuit and Sytem, vol. 26, no. 2, pp , [38] Intitute of Electrical and Electronic Enginer Inc., "IEEE Standard VHDL Language Reference Manual: IEEE Std ", Intitute of Electrical and Electronic Enginer Inc, New York, May 2002 [39] IEEE Verilog Standardization Group', "IEEE P : IEEE Standard for Verilog Hardware Decription Language ", IEEE, New York, April [40] Xilinx Inc., "ABEL Reference Guide", [41] Xilinx Inc., Spartan-3 Generation FPGA Uer Guide. Extended Spartan-3A, Spartan-3E, and Spartan-3 FPGA Familie UG331 (v1.8)", june 13, [42] Xilinx Inc., "Spartan-6 Family Overview. DS160 (v2.0)", october 25, [43] Xilinx Inc., "Spartan-6 FPGA Configurable Logic Block. Uer Guide UG384 (v1.1)", february 23, [44] M. Ortiz, F. Quile, J. Hormigo, F. Jaime, J. Villalba, and E. Zapata, Efficient implementation of carry-ave adder in FPGA, in Application-pecific Sytem, Architecture and Proceor, ASAP th IEEE International Conference on, , pp [45] H. Parandeh-Afhar, P. Brik, and P. Ienne, Exploiting fat carry-chain of FPGA for deigning compreor tree, International Conference on Field Programmable Logic and Application (FPL), pp , aug [46] R. Gutierrez, J. Vall, and A. Perez-Pacual, FPGA implementation of timemultiplexed multiple contant multiplication baed on carry-ave arithmetic, 19th International Conference on Field Programmable Logic and Application (FPL), pp , [47] Xilinx Inc., "ISE Deign Suite", [48] Mentor graphic Inc., " ModelSim ASIC and FPGA deign", [49] H. Parandeh-Afhar, P. Brik, and P. Ienne, Efficient ynthei of compreor tree on FPGA, in Proceeding of the Aia-South Pacific Deign Automation Conf., Seoul, Korea, January, 2008, pp [50] J.-L. Beuchat and J.-M. Muller, Automatic generation of modular multiplier for fpga application, IEEE Tranaction on Computer, vol. 57, no. 12, pp , December Pag. 86 Uo eficiente de aritmética redundante en FPGA

110 Referencia [51] Moreno, C. D.; Quile, F.J.; Ortiz, M. A.; Brox, M.; Hormigo, J.; Villalba, J.; Zapata, E.L., "Efficient mapping on FPGA of convolution computation baed on combined CSA-CPA accumulator," Electronic, Circuit, and Sytem, ICECS th IEEE International Conference on, vol., no., pp.419,422, Dec. 2009, doi: /ICECS [52] P.L. Montgomery, "Modular Multiplication without Trial Diviion," Mathematic of Computation, Vol. 44, No. 170, Apr. 1985, pp [53] K. Manochehri and S. Pourmozafari, Modified radix-2 montgomery modular multiplication to make it fater and impler, in IEEE International Conference on Information Technology: Coding and Computing, ITCC 2005, April [54] Ming-Der Shieh; Jun-Hong Chen; Wen-Ching Lin; Hao-Huan Wu, "A New Algorithm for High-Speed Modular Multiplication Deign," Circuit and Sytem I: Regular Paper, IEEE Tranaction on, vol.56, no.9, pp.2009,2019, Sept. 2009, doi: /TCSI [55] Sutter, G.; Dechamp, J.; Iman~a, J.L., "Efficient FPGA Modular Multiplication and Exponentiation Architecture Uing Digit Serial Computation," Field Programmable Logic and Application (FPL), 2010 International Conference on, vol., no., pp.496,501, Aug Sept , doi: /FPL [56] Tao Wu; Shuguo Li; Litian Liu, "CSA-baed deign of feedforward calable montgomery modular multiplier," Signal Proceing and Information Technology (ISSPIT), 2011 IEEE International Sympoium on, vol., no., pp.054,059, Dec. 2011, doi: /ISSPIT [57] Verma, A.; Verma, A.K.; Parandeh-Afhar, H.; Brik, P.; Ienne, P., "Synthei of Floating-Point Addition Cluter on FPGA Uing Carry-Save Arithmetic," Field Programmable Logic and Application (FPL), 2010 International Conference on, vol., no., pp.19,24, Aug Sept , doi: /FPL [58] G. Cardarilli, S. Pontarelli, M. Re, and A. Salano, On the ue of igned digit arithmetic for the new 6-input LUT baed FPGA, 15th IEEE International Conference on Electronic, Circuit and Sytem (ICECS), pp , [59] W. Kamp, A. Bainbridge-Smith, and M. Haye, Efficient implementation of fat redundant number adder for long wordlength in FPGA, International Conference on Field-Programmable Technology (FPT 09), pp , [60] Kamboh, H.M.; Khan, S.A., "FPGA implementation of fat adder," Computing and Convergence Technology (ICCCT), th International Conference on, vol., no., pp.1324,1327, 3-5 Dec Uo eficiente de aritmética redundante en FPGA Pag. 87

111 Referencia [61] S.-F. Hiao, M.-R. Jiang, and J.-S. Yeh, Deign of high-peed low power 3-2 counter and 4-2 compreor for fat multiplier, IEE Electronic Letter, vol. 34, no. 4, pp , Feb [62] Stelling, P. F., Martel, C. U., Oklobdzija, V. G., and Ravi, R., Optimal circuit for parallel multiplier, IEEE Tranaction on Computer C-47, 3 (Mar. 1998), [63] Um, J., and Kim, T., An optimal allocation of carry-ave-adder in arithmetic circuit, IEEE Tranaction on Computer C-50, 3 (Mar. 2001), [64] Hormigo, J.; Villalba, J.; Zapata, E.L., "Multioperand Redundant Adder on FPGA," Computer, IEEE Tranaction on, vol.62, no.10, pp.2013,2025, Oct doi: /TC [65] W. J. Stenzel,W. J. Kubitz, and G. H. Garcia, Compact high-peed parallel multiplication cheme, IEEE Tranaction on Computer, vol. C-26, no. 10, pp , [66] S. Dormido and M. Canto, Synthei of generalized parallel counter, IEEE Tranaction on Computer, vol. C-30, no. 9, pp , Sep [67] H. Parandeh-Afhar, P. Brik, and P. Ienne, Efficient ynthei of compreor tree on FPGA, in Deign Automation Conference, ASPDAC Aia and South Pacific, 2008, pp [68] H. Parandeh-Afhar, P. Brik, and P. Ienne, Improving ynthei of compreor tree on FPGA via integer linear programming, International Conference on Deign, Automation and Tet in Europe (DATE 08), pp , [69] H. Parandeh-Afhar, A. Verma, P. Brik, and P. Ienne, Improving FPGA performance for carry-ave arithmetic, IEEE Tranaction on Very Large Scale Integration (VLSI) Sytem, vol. 18, no. 4, pp , apr [70] T. Matunaga, S. Kimura, and Y. Matunaga, Multi-operand adder ynthei on FPGA uing generalized parallel counter, in Proceeding of the Aia and South Pacific Deign Automation Conference, ASP-DAC, 2010, pp [71] Verma, A. K., y Ienne, P., Automatic ynthei of compreor tree: Reevaluating large counter, In Proceeding of the Deign, Automation and Tet in Europe Conference and Exhibition (Nice, France, Apr. 2007), pp [72] P. Brik, A. K. Verma, P. Ienne, and H. Parandeh-Afhar, Enhancing FPGA performance for arithmetic circuit, in Proc. De. Autom. Conf., San Diego, CA, Jun. 2007, pp Pag. 88 Uo eficiente de aritmética redundante en FPGA

112 Referencia [73] A. Cevrero, P. Athanaopoulo, H. Parandeh-Afhar, A. Verma, P. Brik, F. Gurkaynak, Y. Leblebici, and P. Ienne, Architectural improvement for field programmable counter array: Enabling efficient ynthei of fat compreor tree on FPGA, ACM/SIGDA Int. Symp. on Field Programmable Gate Array, pp , [74] Parandeh-Afhar, H.; Cevrero, A.; Athanaopoulo, P.; Brik, P.; Leblebici, Y.; Ienne, P., "A flexible DSP block to enhance FPGA arithmetic performance," Field-Programmable Technology, FPT International Conference on, vol., no., pp.70,77, 9-11 Dec. 2009, doi: /FPT [75] A. Cevrero, P. Athanaopoulo, H. Parandeh-Afhar, A. K. Verma, H. S. A. Niaki, C. Nicopoulo, F. K. Gurkaynak, P. Brik, Y. Leblebici, and P. Ienne, Field programmable compreor tree: Acceleration of multi-input addition on FPGA, ACM Tran. On Reconfigurable Technology Sytem, vol. 2, pp. 13:1 13:36, Jun [76] Seyed Hoein Attarzadeh Niaki, Aleandro Cevrero, Philip Brik, Chryotomo Nicopoulo, Frank K. Gurkaynak, Yuuf Leblebici and Paolo Ienne, Deign Space Exploration for Field Programmable Compreor Tree, CASES08, Atlanta, October [77] Renukuntla Kiran and Sunitha Nampally, "Analyzing the performance of carry tree adder baed on FPGA ", International Journal of Electronic Signal and Sytem (IJESS) ISSN: , Vol-2, ISS-2,3,4, [78] Xilinx Inc., "Spartan-3 FPGA Family Data Sheet. DS099", june 27, [79] J. Detrey, F. de Dinechin, and X. Pujol, Return of the hardware floating point elementary function, in Proceeding of the 18th IEEE Sympoium on Computer Arithmetic (Montpellier, France), Kornerup and Muller, Ed. Lo Alamito, CA: IEEE Computer Society Pre, June 2007, pp [80] Xilinx Inc., "Virtex-6 FPGA Configurable Logic Block. Uer Guide UG364 (v1.2)", february 3, [81] Ortiz-Lopez, M., Quile-Latorre, F., Moreno-Moreno, C., Brox-Jiménez, M., "CAN2PCI: Placa con interfaz al bu CAN y PCI con finalidad docente", Revita de Formación univeritaria, ISSN: , pp.31-38, Chile 2009, doi: /S [82] Ortiz-Lopez, M., Quile-Latorre, F., Moreno-Moreno, C., Brox-Jiménez, M.," ADQPCI: placa de adquiición de dato con fine docente", Revita de Formación univeritaria, ISSN: , pp ,Chile 2009, doi: /S Uo eficiente de aritmética redundante en FPGA Pag. 89

113 Referencia [83] Quile, F.J.; Ortiz, M.; Brox, M.; Moreno, C.D.; Hormigo, J.; Villalba, J., "UCORE: Reconfigurable Platform for Educational Purpoe," Reconfigurable Computing and FPGA (ReConFig), 2010 International Conference on, vol., no., pp.109,114, Dec. 2010, doi: /ReConFig [84] M. Frederick and A. Somani, Multi-bit carry chain for high performance reconfigurable fabric, Int. Conf. on Field Programmable Logic and Application, pp. 1 6, [85] M. T. Frederick and A. K. Somani, Beyond the arithmetic contraint: depthoptimal mapping of logic chain in LUTbaed FPGA, in 16th International ACM/SIGDA Sympoium on Field-Programmable Gate Array (FPGA). New York, NY, USA: ACM, 2008, pp [86] Preuer, T.B.; Spallek, R.G., "Enhancing FPGA Device Capabilitie by the Automatic Logic Mapping to Additive Carry Chain," Field Programmable Logic and Application (FPL), 2010 International Conference on, vol., no., pp.318,325, Aug Sept , doi: /FPL [87] T. B. Preußer and R. G. Spallek, Mapping baic prefix computation to fat carry-chain tructure, in International Conference on Field Programmable Logic and Application (FPL), IEEE, Ed., Aug [88] Xilinx Inc., Achieving higher ytem performance with the virtex-5 family of FPGA, WP245, [89] Xilinx Inc., Ug369 virtex-6 FPGA dp48e1 lice, uer guide, [90] C. Ten, S. Gonzalez-Navarro, M. Schulte, B. Hickmann, and K. Compton, A combined decimal and binary floating-point multiplier, in Proceeding of the International Conference on Application-Specific Sytem, Architecture and Proceor, 2009, pp [91] Lang, T.; Bruguera, J.D., "Floating-point multiply-add-fued with reduced latency," Computer, IEEE Tranaction on, vol.53, no.8, pp.988,1003, Aug doi: /TC [92] J. Bruguera and T. Lang, Floating-point fued multiplyadd: reduced latency for floating-point addition, in Computer Arithmetic, ARITH th IEEE Sympoium on, june 2005, pp [93] Y.-H. Seo and D.-W. Kim, A new vli architecture of parallel multiplieraccumulator baed on radix-2 modified booth algorithm, Very Large Scale Integration (VLSI) Sytem, IEEE Tranaction on, vol. 18, no. 2, pp , feb Pag. 90 Uo eficiente de aritmética redundante en FPGA

114 Referencia [94] Moreno-Moreno, C., Martinez-Jiménez, M., Bellido-Outeiriño, F., Hormigo- Aguilar, F., Ortiz-Lopez, M., Quile-Latorre, F., "Convolution computation in FPGA baed on carry-ave adder and circular buffer", International ICST Conference on IT Revolution, Cordoba-Spain, 2011.doi: / _20. [95] C. Moe, D. Selvathi, and S. Rani, Fpga implementation of an efficient partial volume interpolation for medical image regitration, in Communication Control and Computing Technologie (ICCCCT), 2010 IEEE International Conference on, oct. 2010, pp [96] Walter, E. III, Arnold, M.G., and Schulte, M.J.: Uing truncated multiplier in DCT and IDCT hardware accelerator. Proc. SPIE Advanced Signal Proceing Algorithm, Architecture, and Implementation XIII, San Diego, California, Augut 2003, pp [97] P. Brik, A. Verma, P. Ienne, and H. Parandeh-Afhar, Enhancing FPGA performance for arithmetic circuit, 44th ACM/IEEE Deign Automation Conference (DAC 07), pp , [98] H. Eberle, N. Gura, S. Shantz, V. Gupta, L. Rarick, and S. Sundaram, A publickey cryptographic proceor for ra and ecc, in Application-Specific Sytem, Architecture and Proceor, Proceeding. 15th IEEE International Conference on, ept. 2004, pp [99] T. Wu, S. Li, and L. Liu, Ca-baed deign of feedforward calable montgomery modular multiplier, in Signal Proceing and Information Technology (ISSPIT), 2011 IEEE International Sympoium on, dec. 2011, pp [100] Xilinx, Ug193 virtex-5 xtremedp deign conideration, uer guide, [101] Parandeh-Afhar, H.; Ienne, P., "Meauring and Reducing the Performance Gap between Embedded and Soft Multiplier on FPGA," Field Programmable Logic and Application (FPL), 2011 International Conference on, vol., no., pp.225,231, 5-7 Sept. 2011, doi: /FPL [102] McIvor, C.; McLoone, M.; McCanny, J.V., "FPGA Montgomery multiplier architecture - a comparion," Field-Programmable Cutom Computing Machine, FCCM th Annual IEEE Sympoium on, vol., no., pp.279,282, April 2004, doi: /FCCM [103] de Dinechin, F.; Jolde, M.; Paca, B.; Revy, G., "Multiplicative Square Root Algorithm for FPGA," Field Programmable Logic and Application (FPL), 2010 International Conference on, vol., no., pp.574,577, Aug Sept , doi: /FPL Uo eficiente de aritmética redundante en FPGA Pag. 91

115 Referencia [104] Nadjia, A.; Mohamed, A.; Hamid, B.; Mohamed, I.; Khadidja, M., "Hardware algorithm for variable preciion multiplication on FPGA," Computer Sytem and Application, AICCSA IEEE/ACS International Conference on, vol., no., pp.845,848, May 2009, doi: /AICCSA [105] A. Karatuba, Ofman Yu, "Multiplication of multiple number by mean of automata", Dokadly Akad. Nauk SSSR 145, no 2, pp ,1962. [106] M.Machhout, M.Zeghid, W.El hadj youef, B.Bouallegue, A.Baganne, and R.Tourki, "Efficient Large Number Karatuba- Ofman Multiplier Deign for Embedded Sytem," International Journal of Electronic, Circuit and Sytem, 2009, pp [107] Shuli Gao; Chabini, N.; Al-Khalili, D., "Dynamic Programming Addition Optimization approach for large ize multiplier in FPGA," Circuit and Sytem (MWSCAS), rd IEEE International Midwet Sympoium on, vol., no., pp.521,524, 1-4 Aug. 2010, doi: /MWSCAS [108] Shuli Gao; Al-Khalili, D.; Chabini, N., "Efficient technique for realizing largeize igned multiplier in FPGA," Microelectronic, ICM International Conference on, vol., no., pp.1,4, Dec doi: /ICM [109] Gao, S.; Chabini, N.; Al-Khalili, D.; Langloi, P., "Optimied realiation of large integer multiplier and quarer uing embedded block," Computer & Digital Technique, IET, vol.1, no.1, pp.9,16, January doi: /ietcdt: [110] Shuli Gao; Al-Khalili, D.; Chabini, N., "Aymmetric large ize multiplication uing embedded block with efficient compreion technique in FPGA," Electronic, Circuit and Sytem (ICECS), th IEEE International Conference on, vol., no., pp.137,140, Dec doi: /ICECS [111] J. Athow and A. Al-Khalili, Implementation of large-integer hardware multiplier in Xilinx FPGA, in Electronic, Circuit and Sytem, ICECS th IEEE International Conference on, ept , pp [112] M. Schulte and E. Swartzlander Jr., A family of variablepreciion interval arithmetic proceor, IEEE Tranaction on Computer, vol. 49, no. 5, pp , [113] Xilinx Inc., Ug331 partan-3 generation fpga, uer guide, Pag. 92 Uo eficiente de aritmética redundante en FPGA

116 Referencia [114] S. Gao, N. Chabini, D. Al-Khalili, and P. Langloi, Optimized multiplier for large unigned integer, in 23rd NORCHIP Conference 2005, [115] S. Gao, D. Al-Khalili, and N. Chabini, Efficient realization of large ize two complement multiplier uing embedded block in FPGA, Circuit, Sytem, and Signal Proceing, vol. 27, no. 5, pp , [116] F. De Dinechin and B. Paca, Large multiplier with fewer dp block, in Field Programmable Logic and Application, FPL International Conference on, ept , pp [117] S. Gao, D. Al-Khalili, and N. Chabini, Aymmetric large ize igned multiplier uing embedded block in FPGA, in Parallel and Ditributed Proceing Workhop and PhdForum (IPDPSW), 2011 IEEE International Sympoium on, may 2011, pp [118] Xilinx INC., " Xilinx CORE Generator Sytem", Uo eficiente de aritmética redundante en FPGA Pag. 93

117

118 Anexo de publicacione Uo eficiente de aritmética redundante en FPGA Pag. 95

119

120 Anexo de publicacione Trabajo preentado Directamente relacionado con lo expueto en ete trabajo e han preentado reultado a vario congreo. Etamo preparando para en ete momento do trabajo para difundir lo reultado obtenido acerca de la íntei de compreore en LUT6 y íntei de multiplicadore de ancho de palabra elevado tanto en LUT4 como LUT6. Queremo detacar el trabajo preentado al Congreo Application-pecific Sytem, Architecture and Proceor, ASAP 2009, que upuo el punto de partida de la línea de etudio de implementación eficiente de aritmética CSA en FPGA. Ete congreo e el que ocupa el primer lugar en lo Conference Ranking en cuanto a íntei en FPGA de aritmética. Ete trabajo e ha citado en otro trabajo que hablan de la ituación actual de la íntei de compreore en FPGA con LUT4: 1- M. Ortiz, F. Quile, J. Hormigo, F. Jaime, J. Villalba, and E. Zapata, Efficient implementation of carry-ave adder in FPGA, in Application-pecific Sytem, Architecture and Proceor, ASAP th IEEE International Conference on, , pp Otro trabajo preentado al congreo Seminario Anual de Automática, Electrónica Indutrial e Intrumentación SAEEI 2012 de ámbito internacional, implementa también aritmética redundante en ete cao en lo interface del acelerador: 2- Quile-Latorre, F., Ortiz-Lopez, M., Montijano-Vizcaino, M., Moreno-Moreno, C., Brox-Jiménez, M., Hormigo-Aguilar, F., Villalba-Moreno, Julio, "Acelerador Hardware de bajo cote para bu PCI Convencional", Seminario Anual de Automática, Electrónica Indutrial e Intrumentación 2012, Guimarãe, Portugal. Otro trabajo que e han preentado etán relacionado con la utilización de compreore intetizado eficientemente en FPGA en alguna aplicacione: 3- Moreno, C. D.; Quile, F.J.; Ortiz, M. A.; Brox, M.; Hormigo, J.; Villalba, J.; Zapata, E.L., "Efficient mapping on FPGA of convolution computation baed on combined CSA-CPA accumulator," Electronic, Circuit, and Sytem, ICECS th IEEE International Conference on, vol., no., pp.419,422, Dec. 2009, doi: /ICECS Uo eficiente de aritmética redundante en FPGA Pag. 97

121 Anexo 4- Ortiz-Lopez, M., Quile-Latorre, F., Moreno-Moreno, C., Brox-Jiménez, M., "CAN2PCI: Placa con interfaz al bu CAN y PCI con finalidad docente", Revita de Formación univeritaria, ISSN: , pp.31-38, Chile 2009, doi: /S Ortiz-Lopez, M., Quile-Latorre, F., Moreno-Moreno, C., Brox-Jiménez, M.," ADQPCI: placa de adquiición de dato con fine docente", Revita de Formación univeritaria, ISSN: , pp , Chile 2009, doi: /S Quile, F.J.; Ortiz, M.; Brox, M.; Moreno, C.D.; Hormigo, J.; Villalba, J., "UCORE: Reconfigurable Platform for Educational Purpoe," Reconfigurable Computing and FPGA (ReConFig), 2010 International Conference on, vol., no., pp.109,114, Dec. 2010, doi: /ReConFig Moreno-Moreno, C., Martinez-Jiménez, M., Bellido-Outeiriño, F., Hormigo- Aguilar, F., Ortiz-Lopez, M., Quile-Latorre, F., "Convolution computation in FPGA baed on carry-ave adder and circular buffer", International ICST Conference on IT Revolution, Cordoba-Spain, 2011.doi: / _20. Pag. 98 Uo eficiente de aritmética redundante en FPGA

122 Anexo Uo eficiente de aritmética redundante en FPGA Pag. 99

123 Anexo Pag. 100 Uo eficiente de aritmética redundante en FPGA

124 Anexo Uo eficiente de aritmética redundante en FPGA Pag. 101

125 Anexo Pag. 102 Uo eficiente de aritmética redundante en FPGA

126 Anexo Uo eficiente de aritmética redundante en FPGA Pag. 103

127 Anexo Pag. 104 Uo eficiente de aritmética redundante en FPGA

CAPÍTULO 4. INTEGRACIÓN DE FUNCIONES RACIONALES 4.1. Introducción 4.2. Raíces comunes 4.3. División entera de polinomios 4.4. Descomposición de un

CAPÍTULO 4. INTEGRACIÓN DE FUNCIONES RACIONALES 4.1. Introducción 4.2. Raíces comunes 4.3. División entera de polinomios 4.4. Descomposición de un CAPÍTULO. INTEGRACIÓN DE FUNCIONES RACIONALES.. Introducción.. Raíce comune.. Diviión entera de polinomio.. Decompoición de un polinomio en producto de factore.5. Método de fraccione imple.6. Método de

Más detalles

Automá ca. Ejercicios Capítulo2.DiagramasdeBloquesyFlujogramas

Automá ca. Ejercicios Capítulo2.DiagramasdeBloquesyFlujogramas Automáca Ejercicio Capítulo.DiagramadeBloqueyFlujograma JoéRamónlataarcía EtheronzálezSarabia DámaoFernándezPérez CarlooreFerero MaríaSandraRoblaómez DepartamentodeecnologíaElectrónica eingenieríadesitemayautomáca

Más detalles

Modelos de generadores asíncronos para la evaluación de perturbaciones emitidas por parques eólicos

Modelos de generadores asíncronos para la evaluación de perturbaciones emitidas por parques eólicos eunión de Grupo de Invetigación en Ingeniería Eléctrica. Santander Modelo de generadore aíncrono para la evaluación de perturbacione emitida por parque eólico A. Feijóo, J. Cidrá y C. Carrillo Univeridade

Más detalles

Errores y Tipo de Sistema

Errores y Tipo de Sistema rrore y Tipo de Sitema rror dinámico: e la diferencia entre la eñale de entrada y alida durante el período tranitorio, e decir el tiempo que tarda la eñal de repueta en etablecere. La repueta de un itema

Más detalles

CURSO AVANZADO DE DISEÑO Y CÁLCULO DE ESTRUCTURAS DE HORMIGÓN ARMADO. Albacete. Abril-julio de 2010.

CURSO AVANZADO DE DISEÑO Y CÁLCULO DE ESTRUCTURAS DE HORMIGÓN ARMADO. Albacete. Abril-julio de 2010. COL. OFICIAL INGENIEROS AGRÓNOMOS DE ALBACETE COL. OFICIAL INGENIEROS TÉCNICOS AGRICOLAS DE CENTRO (ALBACETE) E.T.S. INGENIEROS AGRÓNOMOS DE ALBACETE CURSO AVANZADO DE DISEÑO Y CÁLCULO DE ESTRUCTURAS DE

Más detalles

Contenido. Vision ME Guía del usuario s

Contenido. Vision ME Guía del usuario s GUÍA DEL USUARIO Contenido 1. Introducción...2 1.1. Viion ME Iniciar eión automáticamente...2 2. Invitar a lo alumno a unire a la clae...3 2.1. Ver a lo alumno en clae...6 2.2. Experiencia de lo alumno...7

Más detalles

ÓPTICA GEOMÉTRICA. ; 2s s 40 + =

ÓPTICA GEOMÉTRICA. ; 2s s 40 + = ÓPTICA GEOMÉTRICA Modelo 06. Pregunta 4a.- Se deea obtener una imagen virtual de doble tamaño que un objeto. Si e utiliza: a) Un epejo cóncavo de 40 cm de ditancia focal, determine la poicione del objeto

Más detalles

El estudio teórico de la práctica se realiza en el problema PTC0004-21

El estudio teórico de la práctica se realiza en el problema PTC0004-21 PRÁCTICA LTC-14: REFLEXIONES EN UN CABLE COAXIAL 1.- Decripción de la práctica a) Excitar un cable coaxial de 50 metro de longitud con un pulo de tenión de 0 a 10 voltio, 100 Khz frecuencia y un duty cycle

Más detalles

1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1

1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 5.1.3 Multiplicación de números enteros. El algoritmo de la multiplicación tal y como se realizaría manualmente con operandos positivos de cuatro bits es el siguiente: 1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0

Más detalles

ENERGÍA (I) CONCEPTOS FUNDAMENTALES

ENERGÍA (I) CONCEPTOS FUNDAMENTALES ENERGÍA (I) CONCEPTOS UNDAMENTALES IES La Magdalena. Avilé. Aturia La energía e una magnitud de difícil definición, pero de gran utilidad. Para er exacto, podríamo decir que má que de energía (en entido

Más detalles

PROCESAMIENTO DIGITAL DE IMÁGENES MEDIANTE EL USO DE UN FPGA Y LENGUAJE VHDL

PROCESAMIENTO DIGITAL DE IMÁGENES MEDIANTE EL USO DE UN FPGA Y LENGUAJE VHDL PROCESAMIENTO DIGITAL DE IMÁGENES MEDIANTE EL USO DE UN FPGA Y LENGUAJE VHDL N. E. Chávez Rodríguez*, A. M. Vázquez Vargas** *Departamento de Computación **Departamento de Procesamiento Digital de Señales

Más detalles

Introducción a FPGAs. Contenido

Introducción a FPGAs. Contenido Introducción a FPGAs Dra. Claudia Feregrino cferegrino@inaoep.mx Contenido 1. FPGA 2. Arquitectura genérica 3. Celda lógica 4. Field Programmable 5. Cómo se programa un FPGA 6. Herramientas de diseño 7.

Más detalles

Tema 11: Sistemas combinacionales

Tema 11: Sistemas combinacionales Tema 11: Sistemas combinacionales Objetivo: Introducción Generador Comprobador de paridad Comparadores Semisumador (HA) Sumador Completo (FA) Expansión de sumadores Sumador paralelo con arrastre serie

Más detalles

Metodologías de diseño de hardware

Metodologías de diseño de hardware Capítulo 2 Metodologías de diseño de hardware Las metodologías de diseño de hardware denominadas Top-Down, basadas en la utilización de lenguajes de descripción de hardware, han posibilitado la reducción

Más detalles

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

Técnicas de Programación Hardware: CAD para FPGAs y CPLDs Técnicas de Programación Hardware: CAD para FPGAs y CPLDs Clase 4: FPGAs Por: Nelson Acosta & Daniel Simonelli UNICEN - Tandil - 1999 1 Implementación de Sistemas Procesador convencional. Economico, conjunto

Más detalles

SISTEMAS DE NUMERACIÓN. Sistema decimal

SISTEMAS DE NUMERACIÓN. Sistema decimal SISTEMAS DE NUMERACIÓN Sistema decimal Desde antiguo el Hombre ha ideado sistemas para numerar objetos, algunos sistemas primitivos han llegado hasta nuestros días, tal es el caso de los "números romanos",

Más detalles

REGISTROS CONTABLES Y AJUSTES

REGISTROS CONTABLES Y AJUSTES REGISTROS CONTABLES Y AJUSTES Aiento de Ajute Para conocer el monto de la utilidad o pérdida del período, la emprea preparan el etado de reultado final del período contable. Para conocer con preciión el

Más detalles

Electrónica Digital II

Electrónica Digital II Electrónica Digital II M. C. Felipe Santiago Espinosa Aplicaciones de los FPLDs Octubre / 2014 Aplicaciones de los FPLDs Los primeros FPLDs se usaron para hacer partes de diseños que no correspondían a

Más detalles

UNIVERSIDAD DE LOS LLANOS Facultad de Ciencias Básicas e Ingeniería Programa Ingeniería de Sistemas MATEMÁTICA DISCRETA

UNIVERSIDAD DE LOS LLANOS Facultad de Ciencias Básicas e Ingeniería Programa Ingeniería de Sistemas MATEMÁTICA DISCRETA Facultad de Ciencia Báica e Ingeniería Programa Ingeniería de Sitema CURSO: MATEMÁTICA DISCRETA 1 SEMESTRE: II 2 CÓDIGO: 602202 3 COMPONENTE: 4 CICLO: 5 ÁREA: Báica 6 FECHA DE APROBACIÓN: 7 NATURALEZA

Más detalles

LAS HERRAMIENTAS DE CALIDAD PARA EL DESARROLLO DE LA EMPRESA

LAS HERRAMIENTAS DE CALIDAD PARA EL DESARROLLO DE LA EMPRESA LAS HERRAMIENTAS DE CALIDAD PARA EL DESARROLLO DE LA EMPRESA TEMARIO: INTRODUCCIÓN HERRAMIENTAS DE CALIDAD MODELOS DE CALIDAD SISTEMAS DE GESTIÓN METODOLOGÍAS POR DÓNDE EMPEZAR? 1 INTRODUCCIÓN: El actual

Más detalles

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

BLOQUE 2. (PARTE 3: Tema 1) CONJUNTO CONFIGURABLE DE PUERTAS FPGA (Field Programmable Gate Array) Clasificación y descripción SISTEMAS ELECTRÓNICOS DIGITALES OQUE 2 CIRCUITOS DIGITALES CONFIGURAES (PARTE 3: Tema 1) CONJUNTO CONFIGURAE DE PUERTAS Clasificación y descripción Enrique Mandado Pérez María José Moure Rodríguez Circuito

Más detalles

TEMA - IV ESPEJOS. 1. ESPEJOS ESFÉRICOS.

TEMA - IV ESPEJOS. 1. ESPEJOS ESFÉRICOS. IV - 0 TEMA - IV ESPEJOS.. ESPEJOS ESFÉRICOS... Poición de la imagen..2. Foco y ditancia focal..3. Potencia..4. Formación de imágene..4.. Marcha de lo rayo..4.2. Imágene en epejo cóncavo..4.3. Imágene

Más detalles

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL ELECTRÓNICA DIGITAL La electrónica es la rama de la ciencia que se ocupa del estudio de los circuitos y de sus componentes, que permiten modificar la corriente eléctrica amplificándola, atenuándola, rectificándola

Más detalles

Se considerarán los títulos con contenidos afines al aquí presentado. Nº mínimo de ECTS a reconocer: Nº máximo de ECTS a reconocer:

Se considerarán los títulos con contenidos afines al aquí presentado. Nº mínimo de ECTS a reconocer: Nº máximo de ECTS a reconocer: 24 Criterio para realizar el reconocimiento: Se coniderarán lo título con contenido afine al aquí preentado Reconocimiento de ECTS por Acreditación de Experiencia Laboral y Profeional Nº mínimo de ECTS

Más detalles

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

CONTROL DIGITAL PARA CONVERTIDOR MULTINIVEL ALIMENTADO CON ENERGÍA SOLAR. Anexo A: FPGA. Introducción Anexo A: FPGA Introducción Cuando se requiere del diseño de un sistema electrónico y surge la necesidad de implementar una parte con hardware dedicado son varias las posibilidades que hay. Una es un diseño

Más detalles

CALENDARIO - MATRIZ BIMESTRAL 2012. Profesora: Anita Espejo de Velasco Asignatura: Matemática Grado: 2º de Secundaria Bimestre: Segundo

CALENDARIO - MATRIZ BIMESTRAL 2012. Profesora: Anita Espejo de Velasco Asignatura: Matemática Grado: 2º de Secundaria Bimestre: Segundo Competencia Indicadore logro Unida Hr Criterio Repreenta patrone numérico y expreione algebraica e intifica el patrón formación y lo aplica en la reolución problema matemático Compren forma lógica e intuitiva

Más detalles

Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 Aritmética binaria

Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 Aritmética binaria Oliverio J. Santana Jaria 3. Aritmética tica binaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 Para Los La en conocer muchos aritmética comprender otros binaria tipos

Más detalles

Dispositivos Lógicos Programables (FPGAs) Guillermo Güichal Emtech www.emtech.com.ar

Dispositivos Lógicos Programables (FPGAs) Guillermo Güichal Emtech www.emtech.com.ar Dispositivos Lógicos Programables (FPGAs) Guillermo Güichal Emtech www.emtech.com.ar Temario Introducción Circuitos Digitales FPGAs Flujo y Herramientas de Diseño Diseño para Síntesis Simulación Ejemplos

Más detalles

Conclusiones. Particionado Consciente de los Datos

Conclusiones. Particionado Consciente de los Datos Capítulo 6 Conclusiones Una de las principales conclusiones que se extraen de esta tesis es que para que un algoritmo de ordenación sea el más rápido para cualquier conjunto de datos a ordenar, debe ser

Más detalles

5.1.1 Sumadores con anticipación de Acarreo. g i = a i b i. c i = c i-1 p i + g i s i = p i + c i-1. c 0 = g 0 + c -1 p 0

5.1.1 Sumadores con anticipación de Acarreo. g i = a i b i. c i = c i-1 p i + g i s i = p i + c i-1. c 0 = g 0 + c -1 p 0 5.1.1 Sumadores con anticipación de Acarreo. El sumador paralelo de n bits que se ha mostrado hasta ahora, tiene un nivel de retardo de 2*n puertas, pues necesita 2*n etapas de puertas lógicas para que

Más detalles

ROBERTO LUNA AROCAS Doctor enpsicología. Titular de Universidad. Dpto de Dirección de Empresas, Universidad de Valencia

ROBERTO LUNA AROCAS Doctor enpsicología. Titular de Universidad. Dpto de Dirección de Empresas, Universidad de Valencia REDONDO CASTÁN, JUAN CARLOS Doctor en Ciencia Económica y Empreariale. Decano y Titular de Univeridad de Educación Fíica y Deportiva, Univeridad de León. Area de trabajo: entrenamiento deportivo, evaluación

Más detalles

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets 1 de 12 Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets 3 Bienvenida. 4 Objetivos. 5 Interacciones de Negocios

Más detalles

❷ Aritmética Binaria Entera

❷ Aritmética Binaria Entera ❷ Una de las principales aplicaciones de la electrónica digital es el diseño de dispositivos capaces de efectuar cálculos aritméticos, ya sea como principal objetivo (calculadoras, computadoras, máquinas

Más detalles

Tema IV. Unidad aritmético lógica

Tema IV. Unidad aritmético lógica Tema IV Unidad aritmético lógica 4.1 Sumadores binarios 4.1.1 Semisumador binario (SSB) 4.1.2 Sumador binario completo (SBC) 4.1.3 Sumador binario serie 4.1.4 Sumador binario paralelo con propagación del

Más detalles

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

El tamaño, estructura, número de bloques y la cantidad y conectividad de las conexiones varian en las distintas arquitecturas. Que es una FPGA? Las FPGA s (Field Programmable Gate Array) Son dispositivos lógicos de propósito general programable por los usuarios, compuesto de bloques lógicos comunicados por conexiones programables.

Más detalles

Encuesta sobre utilización de la microelectrónica en la Argentina

Encuesta sobre utilización de la microelectrónica en la Argentina Encuesta sobre utilización de la microelectrónica en la Argentina Los dispositivos microelectrónicos forman el corazón de todo sistema electrónico de nuestros días. En ellos los circuitos alcanzan las

Más detalles

PRIMERA EVALUACIÓN DE FÍSICA NIVEL 0B INVIERNO 2012

PRIMERA EVALUACIÓN DE FÍSICA NIVEL 0B INVIERNO 2012 ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL INSTITUTO DE CIENCIAS FÍSICAS PRIMERA EVALUACIÓN DE FÍSICA NIVEL 0B INVIERNO 2012 NOMBRE: Ete examen conta de 22 pregunta, entre pregunta conceptuale y problema

Más detalles

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente: Departamento de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Antioquia Arquitectura de Computadores y Laboratorio ISI355 (2011 2) Práctica No. 1 Diseño e implementación de una unidad aritmético

Más detalles

Actividades del final de la unidad

Actividades del final de la unidad Actividade del final de la unidad. Explica brevemente qué entiende por foco ditancia focal para un dioptrio eférico. Razona cómo erá el igno de la ditancia focal objeto la ditancia focal imagen egún que

Más detalles

ACTIVIDAD No. 2 REPASO DE REDES INFORMATICAS

ACTIVIDAD No. 2 REPASO DE REDES INFORMATICAS ACTIVIDAD No. 2 REPASO DE REDES INFORMATICAS GRADO 11 Nombre(s) y Apellidos: Karen Andrea Marín Mendoza Documento: 98110301014 FICHA NÚMERO COLEGIO Instituto Madre Del Buen Consejo FECHA: 23 de abril 2014

Más detalles

Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente d i y ganancia a i.

Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente d i y ganancia a i. Filtros Digitales Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente d i y ganancia a i. En electrónica, ciencias computacionales y matemáticas, un filtro

Más detalles

Informe final Proyecto de Innovación Docente ID11/129. Uso de FPGAs y medios audiovisuales en la docencia de la Electrónica Digital

Informe final Proyecto de Innovación Docente ID11/129. Uso de FPGAs y medios audiovisuales en la docencia de la Electrónica Digital Informe final Proyecto de Innovación Docente ID11/129 Uso de FPGAs y medios audiovisuales en la docencia de la Electrónica Digital Participantes: Beatriz García Vasallo Raúl Rengel Estévez Miguel Ángel

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

Más detalles

ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS

ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS EtsiIngenio Inteligencia Artificial 1 Raposo López Alejandro Sánchez Palacios Manuel Resumen dibujo de grafos mediante algoritmos genéticos

Más detalles

Tema 1. La negociación de las operaciones financieras.

Tema 1. La negociación de las operaciones financieras. OPERACIONES Y MERCADOS DE RENTA FIJA. Tema. La negociación de la operacione financiera.. Operación financiera... Concepto y reerva matemática..2. Operación de prétamo..3. Tanto efectivo y caracterítica

Más detalles

Capítulo 4. R a. R b -15 V R 3 R P R 4. v Z. Palabras clave: termopar tipo T, compensación de la unión de referencia, termómetro, AD590.

Capítulo 4. R a. R b -15 V R 3 R P R 4. v Z. Palabras clave: termopar tipo T, compensación de la unión de referencia, termómetro, AD590. 5//8 Senore generadore y u acondicionadore apítulo Nota: La ecuacione, figura y problema citado en el dearrollo de lo problema de ete capítulo que no contengan W en u referencia correponden al libro impreo.

Más detalles

1,567 f 4 = R 8 f 4 = 15 cm = 41,5 cm. 1,000 f = R 8 f = 15 cm = 26,5 cm. El dioptrio esférico es, por tanto, como el que se muestra en la imagen:

1,567 f 4 = R 8 f 4 = 15 cm = 41,5 cm. 1,000 f = R 8 f = 15 cm = 26,5 cm. El dioptrio esférico es, por tanto, como el que se muestra en la imagen: 0 Óptica geométrica Actividade del interior de la unidad. Tenemo un dioptrio eférico convexo de 5 cm de radio que epara el aire de un vidrio de índice de refracción,567. Calcula la ditancia focal e imagen.

Más detalles

Sistemas de orden superior

Sistemas de orden superior 7 Sitema de orden uperior Hata ahora ólo e ha etudiado la repueta del régimen tranitorio de lo itema de primer y egundo orden imple. En ete capítulo e pretende analizar la evolución temporal de itema de

Más detalles

CIRCUITOS ARITMÉTICOS. Tema 5: CIRCUITOS ARITMÉTICOS

CIRCUITOS ARITMÉTICOS. Tema 5: CIRCUITOS ARITMÉTICOS Tema 5: CIRCUITOS ARITMÉTICOS Contenido: * Aritmética binaria. * Circuito semisumador. Sumador completo. * Operaciones con n bits. Sumador paralelo con arrastre serie. * Circuito sumador-restador. * Sumador

Más detalles

CENTRO DE ENSEÑANZA TÉCNICA INDUSTRIAL. Un fasor es un numero complejo que representa la amplitud y la fase de una senoide

CENTRO DE ENSEÑANZA TÉCNICA INDUSTRIAL. Un fasor es un numero complejo que representa la amplitud y la fase de una senoide Faore La enoide e exprean fácilmente en término de faore, e má cómodo trabajar que con la funcione eno y coeno. Un faor e un numero complejo que repreenta la amplitud y la fae de una enoide Lo faore brinda

Más detalles

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia. DISCOS RAID Raid: redundant array of independent disks, quiere decir conjunto redundante de discos independientes. Es un sistema de almacenamiento de datos que utiliza varias unidades físicas para guardar

Más detalles

Los sistemas de numeración se clasifican en: posicionales y no posicionales.

Los sistemas de numeración se clasifican en: posicionales y no posicionales. SISTEMAS NUMERICOS Un sistema numérico es un conjunto de números que se relacionan para expresar la relación existente entre la cantidad y la unidad. Debido a que un número es un símbolo, podemos encontrar

Más detalles

Anexo A Diagramas de Navegación

Anexo A Diagramas de Navegación Anexo A Diagramas de Navegación Figura D.1: Diagrama de navegación de la pantalla principal. 43 Figura D.2: Diagrama de navegación del apartado Crear Encuesta. 44 Figura D.3: Diagrama de navegación del

Más detalles

Sistemas de numeración

Sistemas de numeración Sistemas de numeración Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan

Más detalles

SEGUNDO PARCIAL - Física 1 30 de junio de 2010

SEGUNDO PARCIAL - Física 1 30 de junio de 2010 Intituto de Fíica Facultad de Ingeniería Univeridad de la República SEGUNDO PARCIAL - Fíica 1 30 de junio de 010 g= 9,8 m/ Cada pregunta tiene ólo una repueta correcta. Cada repueta correcta uma 6 punto.

Más detalles

Base de datos en Excel

Base de datos en Excel Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de

Más detalles

Diagramas de bloques

Diagramas de bloques UNIVRSIDAD AUTÓNOMA D NUVO LÓN FACULTAD D INNIRÍA MCANICA Y LÉCTRICA Diagrama de bloque INNIRÍA D CONTROL M.C. JOSÉ MANUL ROCHA NUÑZ M.C. LIZABTH P. LARA HDZ. UNIVRSIDAD AUTÓNOMA D NUVO LÓN FACULTAD D

Más detalles

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

Versión Fecha Descripción de la modificación 01 07/10/2008 Inicial

Versión Fecha Descripción de la modificación 01 07/10/2008 Inicial CONTROL DE CAMBIOS MANUAL DE PROCESOS Y PROCEDIMIENTOS Fecha: 30/11/2012 Página: 1 de 19 Verión Fecha Decripción de la modificación 01 07/10/2008 Inicial 02 20/10/2010 Modifico etructura, objetivo, alcance,

Más detalles

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ ELECTRÓNICA DIGITAL DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ IES TRINIDAD ARROYO DPTO. DE ELECTRÓNICA ÍNDICE ÍNDICE... 1 1. LIMITACIONES DE LOS CONTADORES ASÍNCRONOS... 2 2. CONTADORES SÍNCRONOS...

Más detalles

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

Introducción a los FPGAs y el Cómputo Reconfigurable Miguel Morales Sandoval INAOE, 2006 Introducción a los FPGAs y el Cómputo Reconfigurable Miguel Morales Sandoval INAOE, 2006 Qué son los FPGAs? Matriz de bloques lógicos configurables (CLB) y una matriz de interconexión. Los bloques lógicos

Más detalles

SECO 2014-II. Félix Monasterio-Huelin y Álvaro Gutiérrez. 6 de marzo de 2014. Índice 33. Índice de Figuras. Índice de Tablas 34

SECO 2014-II. Félix Monasterio-Huelin y Álvaro Gutiérrez. 6 de marzo de 2014. Índice 33. Índice de Figuras. Índice de Tablas 34 SECO 2014-II Félix Monaterio-Huelin y Álvaro Gutiérre 6 de maro de 2014 Índice Índice 33 Índice de Figura 33 Índice de Tabla 34 12.Muetreador ideal y relación entre y 35 13.Muetreo de Sitema en erie 38

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

Tema 16 ELECTRÓNICA DIGITAL LENGUAJES DE DESCRIPCIÓN DE LOS SISTEMAS DIGITALES (PARTE 1)

Tema 16 ELECTRÓNICA DIGITAL LENGUAJES DE DESCRIPCIÓN DE LOS SISTEMAS DIGITALES (PARTE 1) ELECTRÓNICA DIGITAL Tema 16 LENGUAJES DE DESCRIPCIÓN DE LOS SISTEMAS DIGITALES (PARTE 1) IMPORTANCIA DE LOS ESQUEMAS Los circuitos y sistemas electrónicos digitales cuya complejidad es limitada, se pueden

Más detalles

Física PRUEBA DE ACCESO A LA UNIVERSIDAD 2013 BACHILLERATO FORMACIÓN PROFESIONAL CICLOS FORMATIVOS DE GRADO SUPERIOR. Examen

Física PRUEBA DE ACCESO A LA UNIVERSIDAD 2013 BACHILLERATO FORMACIÓN PROFESIONAL CICLOS FORMATIVOS DE GRADO SUPERIOR. Examen PRUEBA DE ACCESO A LA UNIVERSIDAD 03 Fíica BACHILLERAO FORMACIÓN PROFESIONAL CICLOS FORMAIVOS DE GRADO SUPERIOR Eamen Criterio de Corrección Calificación UNIBERSIAERA SARZEKO PROBAK 03ko EKAINA FISIKA

Más detalles

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción

Más detalles

DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO

DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO I. SISTEMAS NUMÉRICOS DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO LIC. LEYDY ROXANA ZEPEDA RUIZ SEPTIEMBRE DICIEMBRE 2011 Ocosingo, Chis. 1.1Sistemas numéricos. Los números son los mismos en todos

Más detalles

ACTIVIDAD No. 2 REPASO DE REDES INFORMATICAS

ACTIVIDAD No. 2 REPASO DE REDES INFORMATICAS ACTIVIDAD No. 2 REPASO DE REDES INFORMATICAS GRADO 11 Nombre(s) y Apellidos: Jorge Alexander Silva Gómez. Documento: 1095826555 FICHA NÚMERO COLEGIO: Instituto Madre del Buen Concejo FECHA: Abril 23 del

Más detalles

ESTIMACIÓN DE LA INCERTIDUMBRE DE MEDICIÓN DE UN ANALIZADOR VECTORIAL DE REDES

ESTIMACIÓN DE LA INCERTIDUMBRE DE MEDICIÓN DE UN ANALIZADOR VECTORIAL DE REDES Simpoio de Metrología 00 7 al 9 de Octubre ESTIMACIÓN DE LA INCERTIDUMBRE DE MEDICIÓN DE UN ANALIZADOR VECTORIAL DE REDES Suana Padilla-Corral, Irael García-Ruiz km 4.5 carretera a Lo Cué, El Marqué, Querétaro

Más detalles

Diplomado en Competencias Personales y Profesionales. Diplomado en Competencias Personales y Profesionales

Diplomado en Competencias Personales y Profesionales. Diplomado en Competencias Personales y Profesionales CARRERAS ASIGNATURA CÓDIGO PRERREQUISITOS Diplomado en Competencia Peronale y Profeionale TODAS /TRANSVERSAL Diplomado en Competencia Peronale y Profeionale Ser egreado/titulado de Santo Tomá (CFTST, IPST

Más detalles

18. Camino de datos y unidad de control

18. Camino de datos y unidad de control Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 18. Camino de datos y unidad de control Un La versatilidad una característica deseable los Los

Más detalles

Práctica 5. Curso 2014-2015

Práctica 5. Curso 2014-2015 Prácticas de Seguridad Informática Práctica 5 Grado Ingeniería Informática Curso 2014-2015 Universidad de Zaragoza Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas

Más detalles

La solución del problema requiere de una primera hipótesis:

La solución del problema requiere de una primera hipótesis: RIOS 9 Cuarto Simpoio Regional obre Hidráulica de Río. Salta, Argentina, 9. CALCULO HIDRAULICO EN RIOS Y DISEÑO DE CANALES ESTABLES SIN USAR ECUACIONES TRADICIONALES Eduardo E. Martínez Pérez Profeor agregado

Más detalles

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN I. P. N. ESIME Unidad Culhuacan INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA UNIDAD CULHUACAN INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN LABORATORIO

Más detalles

CESMA BUSINESS SCHOOL MATEMÁTICAS FINANCIERAS. TEMA 3 CAPITALIZACIÓN COMPUESTA

CESMA BUSINESS SCHOOL MATEMÁTICAS FINANCIERAS. TEMA 3 CAPITALIZACIÓN COMPUESTA CESMA BUSINESS SCHOOL MATEMÁTICAS FINANCIERAS. TEMA 3 CAPITALIZACIÓN COMPUESTA Javier Bilbao García 1 1.- Capitalización Compuesta Definición: Operación financiera que persigue sustituir un capital por

Más detalles

Modelo de examen tipo resuelto 1

Modelo de examen tipo resuelto 1 Modelo de examen tipo resuelto. Diseñar un sistema combinacional que tenga cinco entradas y dos salidas y que actúe de la siguiente forma: las cinco entradas (x 4 x 3 x 2 x x 0 ) representan una palabra

Más detalles

Presto 2015: El primer programa de presupuestos BIM oriented

Presto 2015: El primer programa de presupuestos BIM oriented Presto 2015: El primer programa de presupuestos BIM oriented El tractor que tira de los bueyes Presupuesto en papel realizado con Presto, ca. 1984 Presto 2015, el primer programa BIM oriented El tractor

Más detalles

División Recursos Materiales y Suministros

División Recursos Materiales y Suministros Diviión Recuro Materiale y Suminitro Departamento de Adquiicione PEDIDO DE PRECIOS Nº 182/2014 FECHA DE APERTURA: 30/12/14 Hora: 14:00 Aunto: Materiale para Red de Dato y Telefonía Solicitud: 28578 INFORMACIÓN

Más detalles

Software de Simulación aplicado a entornos de e-learning

Software de Simulación aplicado a entornos de e-learning Software de Simulación aplicado a entornos de e-learning 2009 Laboratorio de Investigación de Software Universidad Tecnológica Nacional Facultad Regional Córdoba Titulo del Proyecto Software de Simulación

Más detalles

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles José Ignacio Martínez Torre Ángel Serrano Sánchez de León.

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles José Ignacio Martínez Torre Ángel Serrano Sánchez de León. Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles José Ignacio Martínez Torre Ángel Serrano Sánchez de León Programa 1. Introducción. 2. Operaciones lógicas. 3. Bases de la aritmética

Más detalles

TEMA 1 Representación de la información

TEMA 1 Representación de la información TEMA 1 Representación de la información Tema 1: Representación de la información. Aritmética y Representación binaria 1) Introducción BB1, Cap 2, Ap: 2.1, 2.2.1 2) Sistemas binario-octal-hexadecimal BB1,

Más detalles

320098 - ED - Electrónica Digital

320098 - ED - Electrónica Digital Unidad responsable: 320 - EET - Escuela de Ingeniería de Terrassa Unidad que imparte: 710 - EEL - Departamento de Ingeniería Electrónica Curso: Titulación: 2015 GRADO EN INGENIERÍA DE SISTEMAS AUDIOVISUALES

Más detalles

CIRCUITOS ARITMÉTICOS

CIRCUITOS ARITMÉTICOS LABORATORIO # 6 Realización: 26-05-2011 CIRCUITOS ARITMÉTICOS 1. OBJETIVOS Comprender los circuitos aritméticos dentro de la lógica binaria Utilizar sumadores totales de cuatro bits dentro de un Circuito

Más detalles

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

LABORATORIO DE CIRCUITOS DIGITALES (2005-II) TERCERA CLASE DE VHDL

LABORATORIO DE CIRCUITOS DIGITALES (2005-II) TERCERA CLASE DE VHDL LABORATORIO DE CIRCUITOS DIGITALES (2005-II) TERCERA CLASE DE VHDL TIPO DE DATO integer DESCRIPCIÓN ESTRUCTURAL Ejemplo: Comparador Sumador Agrupación de bloque mediante package Uo de la entencia port

Más detalles

IMPACTO DEL DESARROLLO TECNOLOGICO EN LA AUDITORIA

IMPACTO DEL DESARROLLO TECNOLOGICO EN LA AUDITORIA V REUNIÓN DE AUDITORES INTERNOS DE BANCA CENTRAL 8 AL 11 DE NOVIEMBRE DE 1999 LIMA - PERÚ IMPACTO DEL DESARROLLO TECNOLOGICO EN LA AUDITORIA Claudio Urrutia Cea Jefe de Auditoría BANCO CENTRAL DE CHILE

Más detalles

UN PROBLEMA DE MATEMÁTICA-FICCIÓN EN TRES ACTOS. José Antonio Mora Sánchez. CEP d'alacant

UN PROBLEMA DE MATEMÁTICA-FICCIÓN EN TRES ACTOS. José Antonio Mora Sánchez. CEP d'alacant UN PROBLEMA DE MATEMÁTICA-FICCIÓN EN TRES ACTOS. José Antonio Mora Sánchez. CEP d'alacant Las calculadoras ofrecen la posibilidad de modificar la óptica desde la que se abordan ciertos problemas matemáticos.

Más detalles

SÍLABO DE ADMINISTRACIÓN, PLANIFICACIÓN Y ORGANIZACIÓN

SÍLABO DE ADMINISTRACIÓN, PLANIFICACIÓN Y ORGANIZACIÓN SÍLABO DE ADMINISTRACIÓN, PLANIFICACIÓN Y ORGANIZACIÓN I. INFORMACIÓN GENERAL Carrera Profeional : Adminitración de Emprea Módulo : I Unidad Didáctica : Adminitración, Planificación y Organización Crédito

Más detalles

SÍNTESIS Y PERSPECTIVAS

SÍNTESIS Y PERSPECTIVAS SÍNTESIS Y PERSPECTIVAS Los invitamos a observar, a identificar problemas, pero al mismo tiempo a buscar oportunidades de mejoras en sus empresas. REVISIÓN DE CONCEPTOS. Esta es la última clase del curso.

Más detalles

CA Nimsoft Monitor Snap

CA Nimsoft Monitor Snap CA Nimoft Monitor Snap Guía de configuración de Monitorización de Cico UCS Server Serie de cico_uc 2.1 Avio legale Copyright 2013, CA. All right reerved. Garantía El material incluido en ete documento

Más detalles

TRIEDRO DE FRENET. γ(t) 3 T(t)

TRIEDRO DE FRENET. γ(t) 3 T(t) TRIEDRO DE FRENET Matemática II Sea Γ R 3 una curva y ean γ : I = [a,b] R 3, γ(t = (x(t,y(t,z(t una parametrización regular y α : I = [a,b ] R 3 u parametrización repecto el parámetro arco. A partir de

Más detalles

CAPÍTULO 1 Instrumentación Virtual

CAPÍTULO 1 Instrumentación Virtual CAPÍTULO 1 Instrumentación Virtual 1.1 Qué es Instrumentación Virtual? En las últimas décadas se han incrementado de manera considerable las aplicaciones que corren a través de redes debido al surgimiento

Más detalles

T6. CIRCUITOS ARITMÉTICOS

T6. CIRCUITOS ARITMÉTICOS T6. CIRCUITOS ARITMÉTICOS Circuitos Aritméticos Son dispositivos MSI que pueden realizar operaciones aritméticas (suma, resta, multiplicación y división) con números binarios. De todos los dispositivos,

Más detalles

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd Maxpho Commerce 11 Gestión CSV Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd Índice general 1 - Introducción... 3 1.1 - El archivo CSV... 3 1.2 - Módulo CSV en Maxpho... 3 1.3 - Módulo CSV

Más detalles

Circuito de refresco de un Display

Circuito de refresco de un Display DEPARTAMENTO DE TECNOLOGÍA ELECTRÓNICA ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Circuito de refresco de un Display Sistemas Digitales Avanzados 1. Introducción y objetivos Uno de los objetivos

Más detalles

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:

Más detalles

Lupa. [b] Vamos a suponer que el objeto se encuentra a 18 cm de la lupa (véase la ilustración anterior).

Lupa. [b] Vamos a suponer que el objeto se encuentra a 18 cm de la lupa (véase la ilustración anterior). íica de 2º Bachillerato Actividad Para ver un objeto con mayor detalle, utilizamo un dipoitivo compueto de una única lente, llamado corrientemente lupa. [a] Indica el tipo de lente que debemo utilizar

Más detalles

Transformaciones geométricas

Transformaciones geométricas Tranformacione geométrica Baado en: Capítulo 5 Del Libro: Introducción a la Graficación por Computador Fole Van Dam Feiner Hughe - Phillip Reumen del capítulo Tranformacione bidimenionale Coordenada homogénea

Más detalles