6.2. Investigación futura
6.2.1. Generalización para dispositivos basados en LUT s de n entradas
Basado en la experiencia de diseño optimizado de módulos que implementan operaciones aritmética radix-10 en dispositivos programables de Xilinx, cuyas arquitecturas se encuentran fuertemente basadas en el uso de elementos de memoria LUTs y recursos dedicados de la carry-chain, uno de los interrogantes que surgieron durante el desarrollo de este trabajo, es saber que sucede con los diseños realizados, si a raíz de una mejora de los procesos tecnológicos, en los dispositivos de Xilinx las LUTs poseen más entradas. Resulta interesante encontrar mecanismos genéricos para diseñar módulos aritméticos radix-10 (o eventualmente radix-B) en dispositivos basados en LUTs de n entradas.
En el presente trabajo, se observó que el uso eficiente de los recursos dedicados para la propagación de acarreo de la suma binaria que se encuentra en los dispositivos, es de vital importancia en el momento de implementar operaciones aritméticas independientemente del radix. Debido a que la operación suma se encuentra en la implementación de todas las operaciones aritméticas, surge interés en investigar acerca de la elaboración de estrategias para el diseño e implementación eficiente de la operación suma radix-B en dispositivos basados en LUTs de n entradas.
Para lo anterior, una posible solución consiste en utilizar una secuencia de sumadores completos de dígitos radix-B (figura 6.1). En donde cada sumador, implementa las funciones de propagación y generación de acarreo, para poder utilizar los recursos dedicados de la carry-chain. En consecuencia, para la suma radix-B, ri =xi
+ yi; con ri, xi e yi dígitos radix-B, la funciones de generación y propagación de acarreo
se expresan de la siguiente manera: if (xi+yi) > Bthen Gi =1 elseGi =0
if (xi+yi) = B-1 then Pi =1 elsePi=0
Figura 6.1 –Sumador radix-B de p dígitos.
La figura 6.2 muestra una implementación del sumador completo radix-B basada en el uso de la carry-chain, donde m es la cantidad de bits involucrados en la representación binaria de un dígito radix-B (m=
log2B
). Obsérvese que el módulo Add_mod_2m realiza la suma binaria entre las representaciones binarias de los operandos radix-B. Por otro lado, el componente Correction efectúa la corrección delresultado generado por Add_mod_2m, teniendo en cuenta si éste es mayor a B yademás considerando el acarreo que proviene del sumador anterior ci. Es importante destacar,
que en el caso particular que la base sea potencia de dos, es decir B=2m, la corrección solo consiste en sumarle al resultado el acarreo de entrada ci.
xi yi ci Add_mod_2m m G-P radix-B Gi Pi 1 0 ci+1 m m Correction m ri
Figura 6.2 –Full Adder radix-B.
En este contexto, resulta de significativo interés estudiar posibles implementaciones de sumadores binarios módulo 2m (Add_mod_2m) y módulos que
determinan las funciones de G y P (G-P radix-B), considerando LUTs de n entradas. Para ello hay que analizar de manera genérica arquitecturas con diferentes relaciones entre n y m.
6.2.2. Formato BID (Binary Integer Decimal)
Los números DFP conforme al estándar IEEE 754-2088, también se pueden codificar en formato BID [Cor07]. Cuando se utiliza el formato BID, se procesa la mantisa como entero binario, en lugar de procesarla como una secuencia de números decimales en formato BCD. El primero en adoptar el formato BID fue Intel, con una librería matemática DFP desarrollada en software [Cor07]. En la bibliografía existen muy pocos trabajos que aborden la implementación hardware utilizando el formato BID [Gon13] [Tse09] [Tse11]. Más aún, según el conocimiento del autor, no existen trabajos significativos en lo respecta a implementaciones sobre FPGAs. Esto se debe probablemente, a que existe una percepción de que el formato BID es más apropiado tratarlo en software que en hardware.
El costo de realizar la implementación hardware de valores DFP utilizando el formato BID, recae principalmente: en la alineación de mantisas cuando las operaciones son suma y resta, requiriendo multiplicaciones por valores potencia de diez; y en las operaciones de redondeo, donde se requieren divisiones por potencias de diez.
Resulta desafiante poder investigar acerca del diseño e implementación en FPGAs, de operaciones aritméticas DFP con operandos que utilizan el formato BID. En primera instancia, porque es un tema que hasta el momento no se abordó en esta tecnología. En segunda lugar, debido a que para la alineación de mantisas y redondeo,
se requiere el uso de multiplicadores binarios, los cuáles se encuentran embebidos en la mayoría de los dispositivos de lógica programable de los principales fabricantes. Por último, se pueden integrar o combinar, las unidades aritméticas DFP basadas en el uso de BID, con las unidades aritméticas en punto flotante binario.
6.2.3. Unidades aritméticas DFP en lógica programable
En el presente trabajo se abordaron diferentes estrategias para la implementación eficiente de algunas operaciones aritméticas radix-10 en dispositivos programables de Xilinx. Se desarrollaron soluciones tanto en punto fijo, como en punto flotante conforme al estándar IEEE 754-2008. Si bien se exploraron muchas estrategias y se analizaron muchas soluciones, surge el interés de continuar con el desarrollo de cores de unidades aritméticas DFP.
Resulta auspicioso continuar este trabajo, investigando en el desarrollo de implementaciones en FPGAs de otras funciones transcendentales en radix-10. Además, profundizar diseños DFP para una mayor cantidad de operaciones aritméticas, ya que en esta tesis sólo se abordó el punto flotante en la operación logaritmo decimal.
Puede ser una alternativa atrayente adaptar, o analizar la posibilidad de aplicar, los diseños expuestos en este trabajo en los dispositivos de la otra compañía líder en el mercado en desarrollo y ventas de FPGAs: Intel-Altera. Si bien mucho de los diseños utilizan recursos dedicados como la carry-chain, surge cierto interés en adaptar estas estrategias en las arquitecturas de otros dispositivos.
Por último, otro de los temas sugestivos para abordar, es explorar en el desarrollo de coprocesadores de unidades aritméticas DFP basados en FPGAs, mediante la síntesis de alto nivel de soluciones software desarrolladas y testeadas con éxito. Para ello se puede, como un primer paso, realizar la síntesis de ciertas rutinas de la librería IBM C DecNumber [Cow10]. Si bien a priori, se puede afirmar que se obtienen soluciones mas costosas en cuanto a tiempo de cómputo y ocupación de LUTs, respecto a soluciones desarrolladas a medida a partir de descripciones con HDLs, resulta interesante poder validar y análizar esta afirmación.
Bibliografía
[ANS76] TC X3J1. ANSI X3.53-1976: American National Standard Programming Languages PL/I.
New York: American National Standards Institute, Feb. 1976.
[ANS96] TC X3J18. ANSI X3.274-1996: American National Standard for Information Technology - Programming Languages REXX. New York: American National Standards Institute, Feb.
1996.
[ANS02] JTC 1/SC 22/WG 4. ISO/IEC1995: Information technology – Programming languages – COBOL. New York: American National Standards Institute, Dec. 2002.
[Alf05] Peter Alfke. Creative Uses of Block RAM. Xilinx – White Paper: Vrtex and Spartan
FPGAs families, 2005.
[Alf97] P. Alfke and B. New Serial code conversion between BCD and binary. Xilinx application
note XAPP 029, Oct. 1997.
[Ama12] A. Amarcai, O. Boncalo. FPGA Implementation of Very High Radix Square Root with Prescaling. 19th IEEE International Conference on Electronics, Circuits and Systems,
2012.
[And79] J. L. Anderson. Binary or BCD Adder with Precorrected Result. U.S. Patent, October
1979. #4,172,288.
[Ant06] A. Vazquez, E. Antelo. Conditional Speculative Decimal Addition. Proc. Seventh Conf.
Real Numbers and Computers (RNC 7), pp. 313-317, July 2006.
[Ant09] A. Vazquez and E. Antelo. A High-Performance Significand BCD Adder with IEEE 754- 2008 Decimal Rounding. 19th IEEE Symposium on Computer Arithmetic, ARITH 2009,
pp. 135–144, June 2009.
[Ant12] Á. Vázquez, J. Villalba-Moreno, E. Antelo, E. Zapata. Redundant Floating-Point Decimal CORDIC Algorithm. IEEE Transactions on Computers, Vol. 61, No. 11, 2012.
[Ash90] Peter Ashender. The VHDL CookBook (First Edition). University of Adelaide,1990.
[Ash08] Peter Ashender and Jim Lewis. VHDL-2008. Elsevier, 2008.
[Bab05] H. Hasan Babu and A. Chowdhury. Design of a Reversible Binary Coded Decimal Adder by Using Reversible 4-bit Parallel Adder. Proceedings of the 18th International
Conference on VLSI Design, pp. 255–260, 2005.
[Bae09] M. Baesler and T. Teufel. FPGA Implementation of a Decimal Floating-Point Accurate Scalar Product Unit with a Parallel Fixed-Point Multiplier. International Conference on
[Bae10] M. Baesler, M. Voigt, T. Teufel. An IEEE 754-2008 Decimal Parallel and Pipelined FPGA Floating-Point Multiplier. International Conference on Field Programmable Logic
and Applications (FPL), pp. 489-495, 2010.
[Bak73] P.W. Baker. Parallel Multiplicative Algorithms for Some Elementary Functions. IEEE Transaction on Computers, vol. 61, no. 5, pp. 322-325, March 1975.
[Ban85] J. Bannur, A. Varma.The VLSI Implementation of a Square Root Algorithm. 7th IEEE
Symposium on Computer Arithmetic, 1985.
[Bat03] F. Batista. Decimal Data Type. Disponible en http://www.python.org/dev/peps/pep-0327/,
2003.
[Bay07] A. Bayrakci and A. Akass. Dreduced delay BCD adder. IEEE International Conf. on
Application- specific Systems, Architectures and Processors, pp. 266-271, 2007. [Ben77] M. Bennedek. Developing Large Binary to BCD Conversion Structures. IEEE
Transactions on Computers, Vol. C-26, #7, pp. 688-700, Jul. 1977. [Bha04] J. Bhasker. A SystemC Primer (2nd Edition). Star Galaxy Publishing, 2004.
[Bio09a] G. Bioul, M. Vázquez, J-P. Deschamps, G. Sutter. Decimal Addition in FPGA.V Southern
Programmable Logic Conference, IEEE, pp 101-108, Abril 2009.
[Bio09b] G. Bioul, M. Vázquez, J-P. Deschamps, G. Sutter. FPGA Implementations of BCD addition. XV Workshop Iberchip, ISBN (completo): 978-987-9486-10-8, pp. 1-6, Marzo
2009.
[Bio10] G. Bioul, M.Vázquez, J-P. Deschamps, G. Sutter. High Speed FPGA 10’s Complement Adders-Substractor. International Journal of Reconfigurable Computing (IJCR). Volumen
2010, 14 páginas. ISSN: 1687-7195, doi: 10.1155/2010/219764, 2010.
[Bis08] A.K. Biswas, M.M. Hasan, M. Hasan, A.R. Chowdhury and H-M-H- Badu. A Novel Approach to Design BCD Adder and Carry Skip BCD Adder. 21st International Conference on VLSI Design, pp. 566–571, Jan. 2008.
[Bla92] M. Blair, S. Obenski, and P. Bridickas, Patriot Missile Defense: Software Problem Led to System Failure at Dhahran, Saudi Arabia, Tech. Rep.
GAO/IMTEC-92-26, United States General Accounting, Washington, D.C. 20548, February 1992. Diponible en http://www.fas.org/spp/starwars/gao/im92026.htm.
[Bru13] A. Vázquez, J. Bruguera. Iterative Algorithm and Architecture for Exponential, Logarithm, Powering, and Root Extraction. IEEE Transaction on Computers, vol. 62, no. 9, pp. 1721-
1731, Sep. 2013
[Bus01] Fadi Y. Busaba, Christopher A. Krygowski, Wen H. Li, Eric M. Schwarz, and Steven R. Carlough. The IBM z900 Decimal Arithmetic Unit. Asilomar Conference on Signals,
Systems and Computers, Vol.2, pp.1335–1339, 2001.
[Car11] D. De Caro, N. Petra, A. Strollo. Efficient Logarithmic Converters for Digital Signal Processing Applications. IEEE Transactions on Circuits and Systems II, vol. 58, no. 10,
May. 2011.
[Cor07] M. Cornea, C. Anderson, J. Harrison, P.T.P. Tang, E. Schneider, and C. Tsen. A Software Implementation of the IEEE 754R Decimal Floating-Point Arithmetic Using the Binary Encoding Format. Proceedings of the 18th IEEE Symposium on Computer Arithmetic, pp.
[Cor99] P. Corsonello, S. Perri. High performance square rooting circuit using hybrid radix-2 adders. IET Journals & Magazines, Electronics Letters, Vol. 35, No. 3, 1999.
[Cow02] Michael F. Cowlishaw. Densely Packed Decimal Encoding. IEE Proceedings – Computers
and Digital Techniques, Vol. 149, #3, pp. 102–104, 2002.
[Cow03] Michael F. Cowlishaw. Decimal Floating_Point_ Algorism for Computers. IEEE
Proceedings of the 16th Symposium on Computer Arithmetic, pp. 104–111, IEEE, June 2003.
[Cow09] M. Cowlishaw. General Decimal Arithmetic Specification. Disponible en
http://seleotrove.com/decimal/, versión 1.7, 2009. [Cow10] M. Cowlishaw. The decNumber Library. Disponible en
http://speleotrove.com/decimal/decnumber.html, versión 3.68, 2010.
[Cor07] M. Cornea and J. Crawford. IEEE 754R Decimal Floating-Point Arith-metic: Reliable and Efficient Implementation on Intel ArchitecturePlatforms. World Wide Web, Intel
Technology Journal, February 2007.http://www.intel.com/technology/itj/2007/v11i1/s2- decimal/1-sidebar.htm.
[Cri04] P. Crismer. Eiffel Decimal Arithmetic Library. Disponible en
https://www.gobosoft.com/eiffel/gobo/math/decimal/index.html, 2004. [Cur07] D. Currie. Lua decNumber Library. Disponible en
http://luaforge.net/projects/ldecnumber/, versión 2.1, 2007.
[Cha13] M. Chaudhary and P. Lee. Two-stage logarithmic converter with reduced memory requirements. IET Computers & Digital Techniques, pp. 23-29, Jun. 2013.
[Cha15] M. Chaudhary and P. Lee. An Improved Two-Step Binary Logarithmic Converter for FPGAs. IEEE Transactions on Circuits and Systems II, vol. 62, no. 5, May. 2015.
[Che08] D. Chen, Y. Choi, Li Chen, D.Teng, K. Wahid and S-B. Ko. A Novel Decimal-to-Decimal Logarithmic Converter. IEEE International Symposium on Circuits and Systems, pp.688-
691,May. 2008.
[Che09] D. Chen, Y. Zhang, Y. Choi, M.H. Lee, S-B. Ko. A 32-bit Decimal Floating-Point Logarithmic Converter. 19th IEEE Symposium on Computer Arithmetic, pp. 195-203, Jun.
2009.
[Che11] D. Chen. Algorithms and Architectures for Decimal Transcendental Function
Computation. Phd dissertation, Dep. of Electrical and Computer Engineering, University
of Saskatchewan, Canada, 2011.
[Che12] D. Chen, L. Han, Y. Choi and S-B. Ko. Improved Decimal Floating-Point Logarithmic Converter Based on Selection by Rounding. IEEE Transaction on Computers, vol. 61, no.
5, pp. 607-621, May. 2012.
[Dad07] L. Dadda. Multioperand Parallel Decimal Adder: A Mixed Binary and BCD Approach.
IEEE Transactions on Computers, Vol. 56, #10, pp. 1320–1328, October 2007.
[Des06] J.P. Deschamps, G. Bioul and G. Sutter. Synthesis of Arithmetic Circuits, - ASIC, FPGA, Embedded Systems, John Wiley & Sons, New-York, Feb. 2006.
[Des12] J-P. Deschamps, G. Sutter. Guide to FPGA Implementation of Arithmetic Functions.
[Det06] J. Detrey, F. Dinechin. Parameterized floating-point logarithm and exponential functions for FPGAs. Microprocessors and Microsystems: Embedded Hardware Design (MICPRO),
Elsevier, pp. 537-545, Feb. 2006.
[Dil16] Paul Dillien. And the Winner of Best FPGA of 2016 is... Disponible en www.eetimes.com/author.asp?doc_id=1331443 , 2016.
[Din05] F. Dinechin and A. Tisserand. Multipartite Table Methods. IEEE Transaction on
Computers, vol. 54, no. 3, pp. 319-330, March 2005.
[Din10a] A. Vazquez, F. de Dinechin. Multi-operand decimal tree adders for FPGAs. INRIA,
Reseach Report, Sep. 2010.
[Din10b] A. Vazquez, F. de Dinechin. Efficient Implementation of Paralell BCD multiplication in LUT-6 FPGAs. International Conference on Field-Programmable Technology (FPT),
IEEE, pp 126-133, 2010.
[Din10c] F. Dinechin, M. Joldes, B. Pasca, G. Revy. Multiplicative square root algorithms for FPGAs. International Conference on Field Programmable Logic and Applications, 2010.
[Dor14] M. Dorrigiv, G. Jaberipur. Low area/power decimal addition with carry-select correction and carry-select sum-digits. Integration, theVLSI Journal, 47(4), pp. 443-451, Sep. 2014.
[Dua07] A. Y. Duale, M. H. Decker, H.Zipperer, M. Aharoni and T. Bohizic. Decimal Floating- Point in Z9: An Implementationand Testing Perspective. IBM Journal of Research and
Development, Vol.51, pp. 217-228, Jan. 2007.
[Erc03] M. Ercegovac, J-M. Muller. Digit-Recurrence Algorithms for Division and Square Root with Limited Precision Primitives. 37th Asilomar Conference on Signals, Systems & Computers, IEEE, 2003.
[Erc09] M. Ercegovac, J-M. Muller. Design and FPGAs Implementation of Radix-10 Algorithm for Square Root with Limited Precision Primitives. 43th Asilomar Conference on Signals,
Systems & Computers, IEEE, 2009.
[Erc10] M. Ercegovac, J-M. Muller. Design and FPGAs Implementation of Radix-10 Combined Division/Square Root Algorithm with Limited Precision Primitives. 44th Asilomar
Conference on Signals, Systems & Computers, IEEE, 2010.
[Erc12] M. Ercegovac, J-M. Muller. Design and FPGAs Implementation of Radix-10 and Radix-16 Algorithm for Square Root with Limited Precision Primitives. 46th Asilomar Conference
on Signals, Systems & Computers, IEEE, 2012.
[Eis07] L. Eisen, J.W.W. III, H-W. Tast, N. Mding, J. Leenstra, S. Mueller, C. Jacobi, J. Preiss, E. Schwarz and S. Carlough. IBM POWER6 Accelerators: VMX and DFU. IBM Journal of
Research and Development, Vol. 51, pp. 663-684, Nov. 2007.
[Erl02] Mark A Erle, Michael J Schulte, and J G Linebarger. Potential Speedup with Decimal Floating-Point Hardware. Conference Record of the Thirty Sixth Asilomar Conference on
Signals, Systems and Computers, pp. 1073–1077, 2002.
[Erl09] M. A. Erle. Algorithms and Hardware Designs for Decimal Multiplication. Phd.
dissertation, Dep. Electrical and Computer Eng, Lehigh University, 2009.
[Fan87] J. Fandriano. Algorithm for High Speed shared radix 4 division and radix 4 square-root.
8th IEEE Symposium on Computer Arithmetic, 1987.
[Fan89] J. Fandriano. Algorithm for High Speed shared radix 8 division and radix 8 square-root.
[Far09] A. Farmahini-Farahani, C. Tsen and K. Compton. FPGA Implementation of a 64-Bit BID- based decimal floating-point adder/substractor. Inetrnational Conference on Field-
Programmable Technology, pp. 518-521, Dec. 2009. [Fla05] D. Flannery. The Square Root of Two. Springer Verlag, 2005.
[Flo91] L. P. Flora. Fast BCD/Binary Adder. U.S. Patent, April 1991. #5,007,010
[Fre03] M. Frerking. Digital Signal Processing Communications Systems. 9th Edition, Kluwer
publisher, 2003.
[FSF08] Free SoftwareFoundation. CNU C Compliler (GCC) 4.2 release. Disponible en
http://gcc.gnu.org/gcc-4.2, 2008.
[FSF17] Free SoftwareFoundation. CNU C Compliler (GCC) 4.3 release. Disponible en
https://gcc.gnu.org/, 2017. https://gcc.gnu.org/
[Gao12] L. Gao, M. Zhu, J. He and W. Xiong. High Efficient Logarithm Convertor for Graphics Physics Simulation. International Conference on Audio, Language and Image Processing
(ICALIP), pp. 397-402, July 2012.
[Gau16] M. Gautschi, M. Schaffner, F. Gürkaynak, L. Benini. A 65nm CMOS 6.4-to- 29.2pJ/[email protected] Shared Logarithmic Floating Point Unit for Acceleration of Nonlinear Function Kernerls in a Tightly Coupled Processor Cluster. IEEE International
Solid-State Circuits Conference (ISSCC), pp. 82-83, Feb. 2016.
[Gok05] M. Gokhale, P. Graham. Reconfigurable Computing: Acceleration Computation with Field-Programmable Gate Arrays. Springer, 2005.
[Gol96] H. Goldstine and A. Goldstine.The Electronic Numerical Integrator and Computer (ENIAC). IEEE Annals of the History of Computing, Vol. 18, #1, pp. 10-16, 1996. [Gon13] S. Gonzalez-Navarro, C. Tsen, M. Schulte. Binary integer decimal-based floating-point
multiplication. IEEE Transaction on Computing, 62(7), pp. 1460-1466, 2013.
[Gor09] S. Gorgin, G. Jaberipur. . Microelectronics Journal, 40(10), pp. 1471-1481, Oct. 2009. [Gut10] R. Gutierrez, V. Torrez, J Valls. FPGA-implementation of atan(Y/X) based on logarithmic
transformation and LUT-based techniques. Journal of Systems Architecture, Elsevier, vol. 56, no. 11, pp. 588-596, Ago. 2010.
[Gut11] R. Gutierrez and J. Valls. Low Cost Hardware Implementation of Logarithm Approximation. IEEE Transaction on Very Large Scale Integration (VLSI) Systems, vol.
19, no. 12, pp. 2326-2330, Dec. 2009.
[Han11] L. Han, D. Chen, K. Wahid, S.-B. Ko. Nonspeculative decimal signed digit adder. IEEE
International Symposium on Circuits and Systems (ISCAS), pp. 1053-1056, 2011. [Han13] L. Han, S.-B. Ko. High-Speed Parallel Decimal Multiplication with Redundant Internal
Encodings. IEEE Transaction on Computers, 62(5), pp. 956-968, 2013.
[Hea21] T. Heath. A History of Greek Mathematics. Clarendon Press, Oxford, Vol. 2, 1921.
[Hea01] R. Head.Univac: a Philadelphia Story. IEEE Annals of the History of Computing, Vol. 23,
[IBM03] M. Cowlishaw. Decimal Arithmetic for java.math JSR 13 Publix Review Draft. Disponible
enhttp://speleotrove.com/decimal/decimalj/decimalj.html, 2003. [IBM07a] IBM. IBM Enterprice PL/I V3.7. Disponible en http://www-
01.ibm.com/common/ssi/rep_ca/6/897/ENUS207-266/index.html. Accedido en Octubre, 2007.
[IBM07b] IBM. IBM DB2 V9.5. Disponible en http://www-
01.ibm.com/common/ssi/rep_ca/1/897/ENUS207-261/index.html. Accedido en junio, 2007.
[IBM07c] IBM. The DFPAL Library. Disponible en http://speleotrove.com/decimal/dfpal/index.html,
2007.
[IBM08] IBM. ESA/390 Principles of Operation. Disponible en http://publibfp.dhe.ibm.com/cgi-
bin/bookmgr/BOOKS/dz9ar008/CCONTENTS, 2008.
[IBM15] IBM. IBM High Level Assembler (HLASM) and Toolkit Feature. Disponible en
https://www-01.ibm.com/software/awdtools/hlasm/library.html, 2015. [IBM17] IBM. IBM C and C++ Compilers. Disponible en http://www-
01.ibm.com/software/awdtools/xlcpp/, 2017.
[IEEE85] Floating-Point Working Group. ANSI/IEEE Std 754-1985: IEEE Standard for Binary Floating-Point Arithmetic. New York: The Institute of Electrical and Electronics
Engineers, 1985.
[IEEE87] Floating-Point Working Group. ANSI/IEEE Std 854-1987: IEEE Standard for Radix- Independent Floating-Point Arithmetic. New York: The Institute of Electrical and Electronics Engineers, 1987.
[IEEE08] IEEE Working Group of the Microprocessor Standards Subcommittee. IEEE Standard for Floating-Point Arithmetic. New York: The Institute of Electrical and Electronics
Engineers, 2008.
[Ifr00] G. Ifrah. A Universal History of Computing: From Prehistory to Computers. New York,
John Wiley and Sons, Inc., 2000.
[Igu07] Y. Iguchi, T. Sasao, and M. Matsuura. On Designs of Radix Converters using Arithmetic Decompositions – Binary to Decimal Converters-. 37th International Symposium on
Multiple-Valued Logic, pp. 32, May 2007.
[Int01a] Intel. IA-32 Intel Architecture Software Developer’s Manual, Vol. 2: Instruction Set Reference. Intel, 2001.
[Int01b] Intel-Altera. Excalibur ARM-based: Hardware Design Tutorial . Disponible en
www.altera.com, 2001.
[Int15] Intel-Altera. ArriaV Hard Processor System Technical Reference Manual. Disponible en www.altera.com, 2015.
[Int17a] Intel-Altera. Intel FPGA and SOC. Solutions. Disponible en
www.altera.com/solutions.html , 2017.
[Int17b] Intel-Altera. Intel FPGA Portfolio. Disponible en www.altera.com/products/intellectual-
property/overview.html, 2017.
[Int17c] Intel-Altera. Intel Quartus Prime Standard Edition HandBook Volume 1,2. Disponible en
[Int17d] Intel-Altera. Quick-Start for Intel Quartus Prime Pro Edition Software. Disponible en
www.altera.com, 2017.
[ISO92] ISO/IEC JTC 1/SC 32. ISO/IEC 9075:1992: Information Technology – Database Languages - SQL. Switzarland: International Organization for Standarization (ISO), Junio 1992.
[ISO01] ISO/IEC JTC 1/SC 22/WG 9. ISO/IEC 8652:1995: Ada Reference Manual: Language and Standasrd Libraries. Switzarland: International Organization for Standarization, Jun. 2001.
[ISO03] JTC 1(ECMA TC 39/TG 2). ISO/IEC 23270: Information Tchnology - C# Language Specification. Switzarland: International Organization for Standarization, primera edición.
Apr. 2003.
[ISO15] ISO/IEC JTC 1/SC 22/WG 14. TR 24732: Extensions for the Programming Language C to Sopport Decimal Folating Point Artihmetic. Disponible en http://www.open-
std.org/Jtc1/sc22/wg14/www/docs/, 2015.
[ISO17] ISO/IEC JTC 1/SC 22/WG 21. TR 24733: C++ Decimal Folating Point Artihmetic Extensions. Disponible en http://www.open-std.org/jtc1/sc22/wg21/docs/papers/, 2017. [Jam09] R. James, K. Jacob and S. Sasi. Performance analysis of double digit decimal multiplier on
various FPGA logic families. 5th Southern Conference on Programmable Logic, pp. 165-
170, April 2009.
[Jua12] T.-B. Juang, H.-H. Peng, H.-L. Kuo. Parallel and digit-serial implementations of area- efficient 3-operand decimal adders. International SoC Design Conference, IEEE, 2013.
[Jun14] k. Jun, E. Swartzlander. Improved Non-restoring Square Root Algorithm with Dual Path Calculation. 48th Asilomar Conference on Signals, Systems & Computers, IEEE, 2014.
[Kab94] H. Kabuo, T. Taniguchi, A. Miyoshi, H. Yamashita, M.Urano, H. Edamatsu, S. Kuninobu.
Accurate Rounding Scheme for the Newton-Raphson Method Using Redundant Binary Representation. IEEE Transaction on Computer, Vol. 43, No. 1, pp. 43-51, 1994.
[Kai70] M. V. Kailas. Another method of converting from hexadecimal to decimal.
Communications of the ACM, Vol. 1, #3, pp. 193, ACM Press, Mar. 1970.
[Kan65] Herbert Kanner. Number Base Conversion in a Significant Digit Arithmetic. Journal of the
ACM, Vol. 12, #2, pp. 242–246, ACM Press, April 1965.
[Kan96] G. Kane. PA-RISC 2.0 Architecture, ch. 7: Instruction Descriptions. Prentice Hall, 1996.
[Kap15] P. Kapgate and S. Gugulothu. Design and Implementation of Complex Operations using Binary Logarithmic Number System. IEEE International Conference on Communications and Signal Processing (ICCSP), pp. 1374-1377, Apr. 2015.
[Ken04] R. Kenney and M. Schulte. Multioperand Decimal Addition. Proceedings of the IEEE