Titulo:

Unidad aritmética de punto flotante: diseño e implementación con portabilidad
.

Sumario:

El uso de las unidades de punto flotante (FPU) en el procesamiento digital se ha incrementado dada la alta precisión y rango de números que se pueden representar. En el procesamiento de imágenes, filtros digitales con respuesta infinita al impulso (IIR), respuesta finita al impulso (FIR) y controladores digitales, se requieren este tipo de unidades para obtener resultados más precisos y evitar respuestas inestables, sin embargo, para implementar estas, algunos procesadores tienen unidades incorporadas lo que implica una dependencia tecnológica de los fabricantes para desarrollar prototipos. Para evitar dicha dependencia, en este artículo se presenta el diseño de los módulos para las operaciones más usadas en el procesamiento digital de seña... Ver más

Guardado en:

1794-1237

2463-0950

20

2022-12-20

3905 pp. 1

20

Revista EIA - 2022

Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial-SinDerivadas 4.0.

info:eu-repo/semantics/openAccess

http://purl.org/coar/access_right/c_abf2

id metarevistapublica_eia_revistaeia_10_article_1609
record_format ojs
spelling Unidad aritmética de punto flotante: diseño e implementación con portabilidad
Floating point unit: design and implementation with portability
El uso de las unidades de punto flotante (FPU) en el procesamiento digital se ha incrementado dada la alta precisión y rango de números que se pueden representar. En el procesamiento de imágenes, filtros digitales con respuesta infinita al impulso (IIR), respuesta finita al impulso (FIR) y controladores digitales, se requieren este tipo de unidades para obtener resultados más precisos y evitar respuestas inestables, sin embargo, para implementar estas, algunos procesadores tienen unidades incorporadas lo que implica una dependencia tecnológica de los fabricantes para desarrollar prototipos. Para evitar dicha dependencia, en este artículo se presenta el diseño de los módulos para las operaciones más usadas en el procesamiento digital de señales: multiplicación y la suma/resta. Se presentan los pasos y consideraciones a tener en cuenta como las excepciones, redondeo y normalización de operandos, para lograr implementar estas operaciones en cualquier matriz de puertas lógicas programables en campo (FPGA). Se comprueban resultados utilizando el banco de pruebas MODELSIM® y se determinó la tasa de error, utilizando MATLAB®.
The use of floating point units (FPU) in digital processing has increased due to the high precision and range of numbers that can be represented. In image processing, digital filters with infinite impulse response (IIR), finite impulse response (FIR) and digital controllers these types of units are required to obtain more accurate results and avoid unstable responses, however, to implement these, some processors have built-in units, which implies a technological dependence on manufacturers to develop prototypes. To avoid this dependency, this article presents the design of the modules for the operations most used in digital signal processing: multiplication and addition / subtraction. The steps and considerations to take into account are presented, such as exceptions, rounding, and normalization of operands, in order to implement these operations in any Field Programmable Gate Arrays (FPGA). Results are checked using the MODELSIM® test bench and the error rate determined using MATLAB®.
Patarroyo-Gutierrez, Luis David
Gil Hernández, Carlos Andrés
Gutiérrez Meléndez, Iván Ricardo
Floating-point arithmetic
Float Point Unit
MatLab
Technological independence
Adder
Multiplicator
Digital Signal Processors
Aritmética de punto flotante
Unidad de Punto Flotante
MatLab
Independencia tecnológica
Sumador
Multiplicador
Procesadores Digitales de Señal
20
39
Núm. 39 , Año 2023 : Tabla de contenido Revista EIA No. 39
Artículo de revista
Journal article
2022-12-20 00:00:00
2022-12-20 00:00:00
2022-12-20
application/pdf
Fondo Editorial EIA - Universidad EIA
Revista EIA
1794-1237
2463-0950
https://revistas.eia.edu.co/index.php/reveia/article/view/1609
10.24050/reia.v20i39.1609
https://doi.org/10.24050/reia.v20i39.1609
spa
https://creativecommons.org/licenses/by-nc-nd/4.0
Revista EIA - 2022
Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial-SinDerivadas 4.0.
3905 pp. 1
20
Álvarez, J. A. y Lindig B., M. (2008) ‘Diseño de un Coprocesador Matemático de Precisión Simple usando el Spartan 3E’, Polibits, 38. Available at: https://www.redalyc.org/articulo.oa?id=402640451010.
Barry, P. y Crowley, P. (2012) ‘Chapter 5 - Embedded Processor Architecture’, in Barry, P. and Crowley, P. B. T.-M. E. C. (eds). Boston: Morgan Kaufmann, pp. 99–152. doi: https://doi.org/10.1016/B978-0-12-391490-3.00005-9.
BOLAÑOS, F. y BERNAL, Á. (2008) ‘Una implementación hardware optimizada para el operador exponenciación modular.’, Dyna, (156), pp. 55–63.
Cantoro, R. et al. (2016) ‘In-field functional test programs development flow for embedded FPUs’, 2016 IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems, DFT 2016, pp. 107–110. doi: 10.1109/DFT.2016.7684079.
Cervantes, A. et al. (2016) ‘Implementation of an open core IEEE 754-based FPU with non-linear arithmetic support’, in 2016 IEEE 36th Central American and Panama Convention (CONCAPAN XXXVI), pp. 1–6. doi: 10.1109/CONCAPAN.2016.7942354.
Chong, Y. J. y Parameswaran, S. (2011) ‘Configurable Multimode Embedded Floating-Point Units for FPGAs’, IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 19(11), pp. 2033–2044. doi: 10.1109/TVLSI.2010.2072996.
Condia, J. E. R. et al. (2020) ‘Design and Verification of an open-source SFU model for GPGPUs’, in 2020 17th Biennial Baltic Electronics Conference (BEC), pp. 1–6. doi: 10.1109/BEC49624.2020.9276748.
Guerrero-Balaguera, J.-D., Condia, J. E. R. y Reorda, M. S. (2021) ‘On the Functional Test of Special Function Units in GPUs’, in 2021 24th International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS), pp. 81–86. doi: 10.1109/DDECS52668.2021.9417025.
Hamid, L. S. A. et al. (2010) ‘Design of Generic Floating Point Multiplier and Adder/Subtractor Units’, in 2010 12th International Conference on Computer Modelling and Simulation, pp. 615–618. doi: 10.1109/UKSIM.2010.117.
José, W. et al. (2014) ‘Efficient implementation of a single-precision floating-point arithmetic unit on FPGA’, in 2014 24th International Conference on Field Programmable Logic and Applications (FPL), pp. 1–4. doi: 10.1109/FPL.2014.6927391.
Joshi, M. N. y Gawali, D. H. (2016) ‘Floating point unit core for Signal Processing applications’, in 2016 Online International Conference on Green Engineering and Technologies (IC-GET), pp. 1–6. doi: 10.1109/GET.2016.7916650.
Karlstrom, P., Ehliar, A. y Liu, D. (2008) ‘High-performance, low-latency field-programmable gate array-based floating-point adder and multiplier units in a Virtex 4’, IET Computers & Digital Techniques, 2(4), pp. 305–313. doi: 10.1049/iet-cdt:20070075.
Kaur, P. et al. (2015) ‘Double Precision Floating Point Arithmetic Unit Implementation- A Review’, International Journal of Engineering Research & Technology (IJERT), 4(7), pp. 992–994. Available at: http: / /dx.doi.org/10.17577/IJERTV4IS070766.
Lasith, K. K. y Thomas, A. (2014) ‘Efficient implementation of single precision floating point processor in FPGA’, in 2014 Annual International Conference on Emerging Research Areas: Magnetics, Machines and Drives (AICERA/iCMMD), pp. 1–5. doi: 10.1109/AICERA.2014.6908269.
López, J., Restrepo, J. y Tobón, J. (2020) ‘Parametric Decimal Division using Hardware Description Language’, Revista EIA, 17, pp. 1–6. doi: https://doi.org/10.24050/reia.v17i33.1318.
Malkapur, S. B. y Rajput, R. P. (2020) ‘Design of Generic Floating Point Pipeline Based Arithmetic Operation for DSP Processor’, in 2020 Second International Conference on Inventive Research in Computing Applications (ICIRCA), pp. 1059–1064. doi: 10.1109/ICIRCA48905.2020.9182948.
Ramyarani, N. Subbiah, V. Deepa, P. (2019) ‘Design of area-efficient IIR filter using FPPE’, Turkish Journal of Electrical Engineering & Computer Sciences, 27(3), pp. 2321–2330. doi: :10.390.
Russinoff, D. M. (2019) Formal Verification of Floating-Point Hardware Design. first edit. Austin, TX, USA: Springer. doi: 10.1007/978-3-319-95513-1.
Sandoval-Ruiz, C. (2019) ‘Modelo VHDL de Control Neuronal sobre tecnología FPGA orientado a Aplicaciones Sostenibles ’, Ingeniare. Revista chilena de ingeniería . scielocl , pp. 383–395.
STALLINGS, W. (2005) Organización y arquitectura de computadores. Séptima Ed. Madrid: PEARSON EDUCACIÓN.
Veeranki, Y. R. and Nakkeeran, R. (2013) ‘Spartan 3E Synthesizable FPGA Based Floating-Point Arithmetic Unit’, International Journal of Computer Trends and Technology (IJCTT), 4, pp. 751–755. Available at: www.ijcttjournal.org.
Wilton, C. Y. A. M. S. W. L. P. H. W. L. S. J. E. (2012) ‘Optimizing Floating Point Units in Hybrid FPGAs’, IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, 20(7), pp. 1295–1303. doi: 10.1109/TVLSI.2011.2153883.
Zhang, B. y Zhao, J. (2017) ‘Elementary Function Computing Method for Floating-Point Unit’, Journal of Signal Processing Systems, 88(3), pp. 311–321. doi: 10.1007/s11265-016-1166-x.
Zoni, D., Galimberti, A. y Fornaciari, W. (2021) ‘An FPU design template to optimize the accuracy-efficiency-area trade-off’, Sustainable Computing: Informatics and Systems, 29, p. 100450. doi: https://doi.org/10.1016/j.suscom.2020.100450.
https://revistas.eia.edu.co/index.php/reveia/article/download/1609/1495
info:eu-repo/semantics/article
http://purl.org/coar/resource_type/c_6501
http://purl.org/coar/resource_type/c_2df8fbb1
http://purl.org/redcol/resource_type/ART
info:eu-repo/semantics/publishedVersion
http://purl.org/coar/version/c_970fb48d4fbd8a85
info:eu-repo/semantics/openAccess
http://purl.org/coar/access_right/c_abf2
Text
Publication
institution UNIVERSIDAD EIA
thumbnail https://nuevo.metarevistas.org/UNIVERSIDADEIA/logo.png
country_str Colombia
collection Revista EIA
title Unidad aritmética de punto flotante: diseño e implementación con portabilidad
spellingShingle Unidad aritmética de punto flotante: diseño e implementación con portabilidad
Patarroyo-Gutierrez, Luis David
Gil Hernández, Carlos Andrés
Gutiérrez Meléndez, Iván Ricardo
Floating-point arithmetic
Float Point Unit
MatLab
Technological independence
Adder
Multiplicator
Digital Signal Processors
Aritmética de punto flotante
Unidad de Punto Flotante
MatLab
Independencia tecnológica
Sumador
Multiplicador
Procesadores Digitales de Señal
title_short Unidad aritmética de punto flotante: diseño e implementación con portabilidad
title_full Unidad aritmética de punto flotante: diseño e implementación con portabilidad
title_fullStr Unidad aritmética de punto flotante: diseño e implementación con portabilidad
title_full_unstemmed Unidad aritmética de punto flotante: diseño e implementación con portabilidad
title_sort unidad aritmética de punto flotante: diseño e implementación con portabilidad
title_eng Floating point unit: design and implementation with portability
description El uso de las unidades de punto flotante (FPU) en el procesamiento digital se ha incrementado dada la alta precisión y rango de números que se pueden representar. En el procesamiento de imágenes, filtros digitales con respuesta infinita al impulso (IIR), respuesta finita al impulso (FIR) y controladores digitales, se requieren este tipo de unidades para obtener resultados más precisos y evitar respuestas inestables, sin embargo, para implementar estas, algunos procesadores tienen unidades incorporadas lo que implica una dependencia tecnológica de los fabricantes para desarrollar prototipos. Para evitar dicha dependencia, en este artículo se presenta el diseño de los módulos para las operaciones más usadas en el procesamiento digital de señales: multiplicación y la suma/resta. Se presentan los pasos y consideraciones a tener en cuenta como las excepciones, redondeo y normalización de operandos, para lograr implementar estas operaciones en cualquier matriz de puertas lógicas programables en campo (FPGA). Se comprueban resultados utilizando el banco de pruebas MODELSIM® y se determinó la tasa de error, utilizando MATLAB®.
description_eng The use of floating point units (FPU) in digital processing has increased due to the high precision and range of numbers that can be represented. In image processing, digital filters with infinite impulse response (IIR), finite impulse response (FIR) and digital controllers these types of units are required to obtain more accurate results and avoid unstable responses, however, to implement these, some processors have built-in units, which implies a technological dependence on manufacturers to develop prototypes. To avoid this dependency, this article presents the design of the modules for the operations most used in digital signal processing: multiplication and addition / subtraction. The steps and considerations to take into account are presented, such as exceptions, rounding, and normalization of operands, in order to implement these operations in any Field Programmable Gate Arrays (FPGA). Results are checked using the MODELSIM® test bench and the error rate determined using MATLAB®.
author Patarroyo-Gutierrez, Luis David
Gil Hernández, Carlos Andrés
Gutiérrez Meléndez, Iván Ricardo
author_facet Patarroyo-Gutierrez, Luis David
Gil Hernández, Carlos Andrés
Gutiérrez Meléndez, Iván Ricardo
topic Floating-point arithmetic
Float Point Unit
MatLab
Technological independence
Adder
Multiplicator
Digital Signal Processors
Aritmética de punto flotante
Unidad de Punto Flotante
MatLab
Independencia tecnológica
Sumador
Multiplicador
Procesadores Digitales de Señal
topic_facet Floating-point arithmetic
Float Point Unit
MatLab
Technological independence
Adder
Multiplicator
Digital Signal Processors
Aritmética de punto flotante
Unidad de Punto Flotante
MatLab
Independencia tecnológica
Sumador
Multiplicador
Procesadores Digitales de Señal
topicspa_str_mv Aritmética de punto flotante
Unidad de Punto Flotante
MatLab
Independencia tecnológica
Sumador
Multiplicador
Procesadores Digitales de Señal
citationvolume 20
citationissue 39
citationedition Núm. 39 , Año 2023 : Tabla de contenido Revista EIA No. 39
publisher Fondo Editorial EIA - Universidad EIA
ispartofjournal Revista EIA
source https://revistas.eia.edu.co/index.php/reveia/article/view/1609
language spa
format Article
rights https://creativecommons.org/licenses/by-nc-nd/4.0
Revista EIA - 2022
Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial-SinDerivadas 4.0.
info:eu-repo/semantics/openAccess
http://purl.org/coar/access_right/c_abf2
references Álvarez, J. A. y Lindig B., M. (2008) ‘Diseño de un Coprocesador Matemático de Precisión Simple usando el Spartan 3E’, Polibits, 38. Available at: https://www.redalyc.org/articulo.oa?id=402640451010.
Barry, P. y Crowley, P. (2012) ‘Chapter 5 - Embedded Processor Architecture’, in Barry, P. and Crowley, P. B. T.-M. E. C. (eds). Boston: Morgan Kaufmann, pp. 99–152. doi: https://doi.org/10.1016/B978-0-12-391490-3.00005-9.
BOLAÑOS, F. y BERNAL, Á. (2008) ‘Una implementación hardware optimizada para el operador exponenciación modular.’, Dyna, (156), pp. 55–63.
Cantoro, R. et al. (2016) ‘In-field functional test programs development flow for embedded FPUs’, 2016 IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems, DFT 2016, pp. 107–110. doi: 10.1109/DFT.2016.7684079.
Cervantes, A. et al. (2016) ‘Implementation of an open core IEEE 754-based FPU with non-linear arithmetic support’, in 2016 IEEE 36th Central American and Panama Convention (CONCAPAN XXXVI), pp. 1–6. doi: 10.1109/CONCAPAN.2016.7942354.
Chong, Y. J. y Parameswaran, S. (2011) ‘Configurable Multimode Embedded Floating-Point Units for FPGAs’, IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 19(11), pp. 2033–2044. doi: 10.1109/TVLSI.2010.2072996.
Condia, J. E. R. et al. (2020) ‘Design and Verification of an open-source SFU model for GPGPUs’, in 2020 17th Biennial Baltic Electronics Conference (BEC), pp. 1–6. doi: 10.1109/BEC49624.2020.9276748.
Guerrero-Balaguera, J.-D., Condia, J. E. R. y Reorda, M. S. (2021) ‘On the Functional Test of Special Function Units in GPUs’, in 2021 24th International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS), pp. 81–86. doi: 10.1109/DDECS52668.2021.9417025.
Hamid, L. S. A. et al. (2010) ‘Design of Generic Floating Point Multiplier and Adder/Subtractor Units’, in 2010 12th International Conference on Computer Modelling and Simulation, pp. 615–618. doi: 10.1109/UKSIM.2010.117.
José, W. et al. (2014) ‘Efficient implementation of a single-precision floating-point arithmetic unit on FPGA’, in 2014 24th International Conference on Field Programmable Logic and Applications (FPL), pp. 1–4. doi: 10.1109/FPL.2014.6927391.
Joshi, M. N. y Gawali, D. H. (2016) ‘Floating point unit core for Signal Processing applications’, in 2016 Online International Conference on Green Engineering and Technologies (IC-GET), pp. 1–6. doi: 10.1109/GET.2016.7916650.
Karlstrom, P., Ehliar, A. y Liu, D. (2008) ‘High-performance, low-latency field-programmable gate array-based floating-point adder and multiplier units in a Virtex 4’, IET Computers & Digital Techniques, 2(4), pp. 305–313. doi: 10.1049/iet-cdt:20070075.
Kaur, P. et al. (2015) ‘Double Precision Floating Point Arithmetic Unit Implementation- A Review’, International Journal of Engineering Research & Technology (IJERT), 4(7), pp. 992–994. Available at: http: / /dx.doi.org/10.17577/IJERTV4IS070766.
Lasith, K. K. y Thomas, A. (2014) ‘Efficient implementation of single precision floating point processor in FPGA’, in 2014 Annual International Conference on Emerging Research Areas: Magnetics, Machines and Drives (AICERA/iCMMD), pp. 1–5. doi: 10.1109/AICERA.2014.6908269.
López, J., Restrepo, J. y Tobón, J. (2020) ‘Parametric Decimal Division using Hardware Description Language’, Revista EIA, 17, pp. 1–6. doi: https://doi.org/10.24050/reia.v17i33.1318.
Malkapur, S. B. y Rajput, R. P. (2020) ‘Design of Generic Floating Point Pipeline Based Arithmetic Operation for DSP Processor’, in 2020 Second International Conference on Inventive Research in Computing Applications (ICIRCA), pp. 1059–1064. doi: 10.1109/ICIRCA48905.2020.9182948.
Ramyarani, N. Subbiah, V. Deepa, P. (2019) ‘Design of area-efficient IIR filter using FPPE’, Turkish Journal of Electrical Engineering & Computer Sciences, 27(3), pp. 2321–2330. doi: :10.390.
Russinoff, D. M. (2019) Formal Verification of Floating-Point Hardware Design. first edit. Austin, TX, USA: Springer. doi: 10.1007/978-3-319-95513-1.
Sandoval-Ruiz, C. (2019) ‘Modelo VHDL de Control Neuronal sobre tecnología FPGA orientado a Aplicaciones Sostenibles ’, Ingeniare. Revista chilena de ingeniería . scielocl , pp. 383–395.
STALLINGS, W. (2005) Organización y arquitectura de computadores. Séptima Ed. Madrid: PEARSON EDUCACIÓN.
Veeranki, Y. R. and Nakkeeran, R. (2013) ‘Spartan 3E Synthesizable FPGA Based Floating-Point Arithmetic Unit’, International Journal of Computer Trends and Technology (IJCTT), 4, pp. 751–755. Available at: www.ijcttjournal.org.
Wilton, C. Y. A. M. S. W. L. P. H. W. L. S. J. E. (2012) ‘Optimizing Floating Point Units in Hybrid FPGAs’, IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, 20(7), pp. 1295–1303. doi: 10.1109/TVLSI.2011.2153883.
Zhang, B. y Zhao, J. (2017) ‘Elementary Function Computing Method for Floating-Point Unit’, Journal of Signal Processing Systems, 88(3), pp. 311–321. doi: 10.1007/s11265-016-1166-x.
Zoni, D., Galimberti, A. y Fornaciari, W. (2021) ‘An FPU design template to optimize the accuracy-efficiency-area trade-off’, Sustainable Computing: Informatics and Systems, 29, p. 100450. doi: https://doi.org/10.1016/j.suscom.2020.100450.
type_driver info:eu-repo/semantics/article
type_coar http://purl.org/coar/resource_type/c_6501
type_version info:eu-repo/semantics/publishedVersion
type_coarversion http://purl.org/coar/version/c_970fb48d4fbd8a85
type_content Text
publishDate 2022-12-20
date_accessioned 2022-12-20 00:00:00
date_available 2022-12-20 00:00:00
url https://revistas.eia.edu.co/index.php/reveia/article/view/1609
url_doi https://doi.org/10.24050/reia.v20i39.1609
issn 1794-1237
eissn 2463-0950
doi 10.24050/reia.v20i39.1609
citationstartpage 3905 pp. 1
citationendpage 20
url2_str_mv https://revistas.eia.edu.co/index.php/reveia/article/download/1609/1495
_version_ 1811200527731523584