Ayuda
Ir al contenido

Dialnet


Resumen de Optimización de recursos hardware para la operación de convolución utilizada en el procesamiento digital de señales

Carlos Diego Moreno Moreno

  • RESUMEN DE LA TESIS DOCTORAL DE D. Carlos Diego Moreno Moreno El resumen de la tesis para la base de datos Teseo debe ser una presentación de la tesis y tener la extensión suficiente para que quede explicado el argumento de la tesis doctoral. El formato debe facilitar la lectura y comprensión del texto a los usuarios que accedan a Teseo, debiendo diferenciarse las siguientes partes de la tesis: 1. introducción o motivación de la tesis La operación de convolución es fundamental en muchas de las aplicaciones del procesamiento digital de señales, tales como los filtros, la FFT y redes neuronales. La operación de convolución en tiempo discreto se reduce en los dispositivos microprogramables a gran cantidad de multiplicaciones y sumas (operación multiplica y acumula MAC), por lo cual resulta imprescindible la investigación de nuevas arquitecturas que implementen estas operaciones aprovechando al máximo los recursos hardware disponibles, y además que realicen estos cálculos a la mayor velocidad posible.

    Esta operación está basada en la operación MAC (multiplica y acumula), por lo que se han estudiado en la bibliografía disponible las distintas aportaciones para aumentar el rendimiento y la velocidad para esta operación. Además se han analizado los sumadores y multiplicadores disponible en la bibliografía.

    Dado la gran cantidad de dispositivos electrónicos existentes en el mercado, se estudiarán las distintas posibilidades que se proponen con el hardware comercial (FPGA, DSP, GPP, etc.) para esta operación, aunque los estudios principales de esta tesis estarán basados en las FPGAs por ser las más eficientes.

    A continuación se obtendrá una implementación particular de la convolución en FPGAs de bajo coste, utilizando aritmética CSA (carry save adder) y buffers circulares, proponiendo una arquitectura novedosa sobre los bloques de lógica configurable de una familia de FPGA comerciales de Xilinx que optimizan al máximo los recursos disponibles en este tipo de dispositivos, tales como la Spartan¿3 y la Spartan¿6, y su velocidad.

    Por otro lado también se hace necesario realizar una tabulación de los tiempos que se emplean para realizar esta operación en distintos dispositivos, en FPGAs de bajo coste (Spartan¿3 y Spartan¿6 de Xilinx), en procesadores digitales de señal (DSP TMS320C6713 de Texas Intrument) y procesadores de propósito general en donde se toman como ejemplo dos procesadores ARM (ARM7 y ARM Cortex M3). El objetivo es validar las soluciones obtenidas sobre entornos de desarrollo comerciales y de tabular los resultados obtenidos, para conocer del que dispositivo sería conveniente para cada aplicación en concreto.

    2.contenido de la investigación El contenido básico de la investigación realizada en esta tesis corresponde a la presentación de las arquitecturas novedosas sobre FPGA para optimizar el cálculo de la convolución, y a la presentación y análisis de los resultados experimentales. En concreto se explica una nueva arquitectura para la convolución cuando los operandos son menores de 48 bits, para la FPGA Spartan 3 de Xilinx con los datos experimentales correspondientes; la arquitectura sobre esta FPGA con el empleo de buffers circulares para los datos de entrada o salida, dependiendo del algoritmo utilizado para el cálculo de la convolución.

    También se proponen distintas arquitecturas para el caso de que los operandos con los que se trabaje superen el ancho de los multiplicadores o bloques DSP integrados en la FPGA (que suelen ser de 48 bits). En primer lugar se ha descrito una arquitectura que define un MAC basado en aritmética CSA utilizando compresores 4:2 para el sumador¿acumulador y se ofrecen los resultados para las FPGAs de Xilinx Spartan 3 y Spartan 6. A continuación se proponen dos arquitecturas novedosas donde se incluyen multiplicadores y sumadores con salida de doble acarreo utilizando la posibilidad de que dispone la Spartan 6 de un sumador ternario: en la primera de ellas se realiza utilizando el multiplicador con salida CSA y un acumulador con salida de doble acarreo (el acarreo i y el acarreo i+1) utilizando compresores 5:3; y en la segunda se utiliza el multiplicador CSA con salida de doble acarreo y el acumulador con salida de doble acarreo con compresores 6:3. En todas las arquitecturas se muestran los resultados obtenidos tanto en velocidad como en área y se compara con la que se obtiene haciendo la descripción VHDL en la herramienta de síntesis. Se finaliza este apartado comparando los resultados obtenidos en la Spartan 6 para los cuatro casos estudiados.

    Por otro lado, se ha incluído una comparación de tres de los tipos de dispositivos electrónicos de bajo coste: FPGA, DSP y ARM. Se han estudiado con detalle la arquitectura de estos tres dispositivos: la FPGA de bajo coste de Xilin (Spartan 3 y Spartan 6), el DSP concreto que se utiliza (TMS320C6713 de Texas Instrument) y una descripción de los procesadores ARM utilizados para la comparación (ARM7 y ARM Cortex M3), como ejemplo de procesador de propósito general. Se muestran los resultados experimentales para la operación de convolución en estos tres tipos de dispositivos electrónicos.

    3.conclusión En primer lugar, constatar que las FPGA son los circuitos electrónicos actuales más utilizados por su gran versatilidad en el desarrollo de aplicaciones para el procesamiento digital de señales y su eficiencia para la implementación de nuevas arquitecturas que permitan implementar las aplicaciones más utilizadas en dicho procesamiento.

    Por otro lado, el uso de la aritmética redundante ha sido denostado en los últimos años en la bibliografía, para su uso en FPGAs debido a que este tipo de aritmética utiliza más recursos hardware. Las aritméticas redundantes típicas son la aritmética carry¿save y la aritmética signed¿digit.

    En el desarrollo de esta tesis se ha demostrado que la utilización de la aritmética carry¿save es más eficiente cuando el número de operaciones a realizar es muy elevado, como sucede en el cálculo de la operación de convolución.

    En los datos experimentales presentados se demuestra que se pueden obtener resultados análogos en dispositivos FPGA de bajo coste, como es el caso de las de Xilinx Spartan 3 y Spartan 6, que en otros dispositivos más potentes.

    Los resultados se han obtenido para las FPGAs de bajo coste de Xilinx con LUT de 4 entradas y de 6 entradas. Estas mismas conclusiones se podrían aplicar a dispositivos FPGAs de otras compañías, como por ejemplo Altera, que proporcionan circuitos electrónicos con este tipo de arquitectura.

    Finalmente, se ha comprobado experimentalmente que los mejores resultados se obtienen en FPGAs de bajo coste frente a los tradicionales procesadores de propósito general (ARM7 y ARM Cortex M3) y los procesadores digitales de señal (DSP TMS320C6713 de Texas Instrument.

    4. bibliografía [1] D. G. M. John G. Proakis, Digital Signal Processing: Principles, Algorithms, and Applications, Third Edition ed.: Prentice Hall International, INC, 1996.

    [2] S. W. Smith, Digital Signal Processing,a Practical Guide for Engineers and Scientists: Elsevier Science, 2003.

    [3] R. J. Read. (2009, Marzo 2013). The convolution theorem and its applications Available: http://www-structmed.cimr.cam.ac.uk/Course/Convolution/convolution.html [4] Milos D. Ercegovac. & Tomás Lang. Lang, Digital Arithmetic, 2003.

    [5] J. L. Beuchat and J. M. Muller, "Automatic Generation of Modular Multipliers for FPGA Applications," IEEE Transactions on Computers, vol. 57, pp. 1600-1613, 2008.

    [6] J. L. H. D. A. Patterson, Computer architecture: a quantitative approach. 5th Edition, 5th Edition ed.: Morgan Kaufmann, 2011.

    [7] J. P. Hayes, Introducción al diseño lógico digital: Addison-Wesley, 1996.

    [8] B. Parhami, Computer Arithmetic: Algorithms and Hardware Designs. New York, Oxford: Oxford University Press, 2010.

    [9] M. Ortiz, F. Quiles, J. Hormigo, F. J. Jaime, J. Villalba, and E. L. Zapata, "Efficient Implementation of Carry-Save Adders in FPGAs," in Application-specific Systems, Architectures and Processors, 2009. ASAP 2009. 20th IEEE International Conference on, 2009, pp. 207-210.

    [10] W.-S. G. Sen-Maw Kuo, Digital signal processors: architectures, implementations, and applications: Pearson Prentice Hall, 2005.

    [11] Xilinx. (2011). Spartan-3 Generation FPGA User Guide (UG331 (v1.8) ed.). Available: http://www.xilinx.com/support/documentation/spartan-3.htm.

    [12] Xilinx. (2008). XtremeDSP DSP48A for Spartan-3A DSP FPGAs. User Guide (UG431 (v1.3) ed.). Available: http://www.xilinx.com/support/documentation/spartan-3.htm [13] Xilinx. (2010). Spartan-6 FPGA Configurable Logic Block. User Guide (UG384 (v1.1) ed.). Available: http://www.xilinx.com/support/documentation/spartan-6.htm.

    [14] Xilinx. (2009). Spartan-6 FPGA DSP48A1 Slice. User Guide. (UG389 (v1.1) ed.). Available: http://www.xilinx.com/products/spartan6 [15] C. D. Moreno, P. Martínez, F. Bellido, J. Hormigo, M. Ortiz, and F. Quiles, "Convolution Computation in FPGA Based on Carry-Save Adders and Circular Buffers," in IT Revolutions. vol. 82, M. Liñán Reyes, J. Flores Arias, J. González de la Rosa, J. Langer, F. Bellido Outeiriño, and A. Moreno-Muñoz, Eds., ed: Springer Berlin Heidelberg, 2012, pp. 237-248.

    [16] K. Mohammad and S. Agaian, "Efficient FPGA implementation of convolution," in Systems, Man and Cybernetics, 2009. SMC 2009. IEEE International Conference on, 2009, pp. 3478-3483.

    [17] J. Hormigo, J. Villalba, and E. L. Zapata, "Multi-operand Redundant Adders on FPGAs," IEEE Transactions on Computers, vol. PP, pp. 1-1, 2012.

    [18] Gao Shuli, N. Chabini, and D. Al-Khalili, "256x256-bit multiplier using multi-granular embedded DSP blocks in FPGAs," in Circuits and Systems and TAISA Conference, 2008. NEWCAS-TAISA 2008. 2008 Joint 6th International IEEE Northeast Workshop on, 2008, pp. 253-256.

    [19] H. Parandeh-Afshar, A. K. Verma, P. Brisk, and P. Ienne, "Improving FPGA Performance for Carry-Save Arithmetic," IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 18, pp. 578-590, 2010.

    [20] E. Jamro and K. Wiatr, "FPGA implementation of addition as a part of the convolution," in Digital Systems Design, 2001. Proceedings. Euromicro Symposium on, 2001, pp. 458-465.

    [21] C. D. Moreno, F. J. Quiles, M. A. Ortiz, M. Brox, J. Hormigo, J. Villalba, et al., "Efficient mapping on FPGA of convolution computation based on combined CSA-CPA accumulator," in Electronics, Circuits, and Systems, 2009. ICECS 2009. 16th IEEE International Conference on, 2009, pp. 419-422.

    [22] C. D. M. Moreno, "Comparación de la operación de convolución en diferentes dispositivos electrónicos de bajo coste," ed. Salón de actos del Rectorado de la Universidad de Córdoba: Escuela Internacional de Doctorado del Campus de Excelencia Internacional en Agroalimentación (ceiA3, eidA3) y Escuela Multidisciplinar de Doctorado de la UCO (ED-UCO), 2013.

    [23] R. Duren, J. Stevenson, and M. Thompson, "A comparison of FPGA and DSP development environments and performance for acoustic array processing," in Circuits and Systems, 2007. MWSCAS 2007. 50th Midwest Symposium on, 2007, pp. 1177-1180.

    [24] T. Instrument. (2005, November 2005). TMS320C6713, Floating-Point Digital Signal Processor. Available: http://www.ti.com/product/tms320c6713 [25] A. ltd. (2012). ARM: The architecture of digital world. Available: http://www.arm.com/products/processors/ [26] T. Martin, The Insider's Guide To The Philips ARM7 Based Microcontrollers. An Engineer's Introduction To The LPC2100 Series: Hitex (UK) Ltd., 2005.

    [27] J. Yiu, The Definitive Guide to the ARM Cortex-M3: Newnes, 2009.

    [28] M. O. Francisco J. Quiles, Miguel A. Montijano, Carlos D. Moreno, María Brox, Javier Hormigo, Julio Villalba, "Acelerador hardware de bajo coste para bus PCI convencional," presented at the Seminario Anual de Automática, Electrónica Industrial e Instrumentación 2012 (SAAEI¿12), Guimarães, Portugal, 2012.

    [29] F. J. Quiles, M. Ortiz, M. Brox, C. D. Moreno, J. Hormigo, and J. Villalba, "UCORE: Reconfigurable Platform for Educational Purposes," in Reconfigurable Computing and FPGAs (ReConFig), 2010 International Conference on, 2010, pp. 109-114.

    [30] M. Ortiz, M. Brox, F. Quiles, A. Gersnoviez, C. Moreno, and M. Montijano, "Using soft processors for component design in SOC: A case-study of timers," in System-on-Chip, 2008. SOC 2008. International Symposium on, 2008, pp. 1-4.


Fundación Dialnet

Dialnet Plus

  • Más información sobre Dialnet Plus