Skip to main content
Log in

Efficient ASIC and FPGA Implementation of Binary-Coded Decimal Digit Multipliers

  • Published:
Circuits, Systems, and Signal Processing Aims and scope Submit manuscript

Abstract

Partial product generation (PPG), in radix-10 multiplication hardware, is often done through selection of pre-computed decimal multiples of the multiplicand. However, ASIC and FPGA realization of classical PPG via digit-by-digit multiplication has recently attracted some researchers. For example, a sequential multiplier, squarer, divider, FPGA parallel multiplier, and array multiplier are all based on a specific binary-coded decimal (BCD) digit multiplier (BDM). Most BDMs, as we have encountered, compute the binary product of two 1-digit BCD operands, and convert it to 2-digit BCD product. We provide our own version of two of these works with some adjustments and improvements, and offer two new low-cost BDMs in this category. However, a recent FPGA BDM uses straightforward truth table approach from scratch and skips binary product generation. We redesign the latter via low-level FPGA programming, and also provide its ASIC realization. We synthesize all the studied and new designs on ASIC and FPGA platforms, exhaustively check them for correctness, and compare their performance, to show that our two new designs, and the ASIC and new FPGA realizations of the aforementioned fully truth table-based design, outperform the previous ones in terms of one or more figures of merit.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

References

  1. O. Al-Khaleel, Z. Al-Qudah, M. Al-Khaleel, C. A. Papachristou, and F. G. Wolff, Fast and Compact Binary-to-BCD Conversion Circuits for Decimal Multiplication, in Proceeding of the International Conference on Computer Design (ICCD), 2011, pp. 226–231

  2. O. Al-Khaleel, N. H. Tulic, and K. M. Mhaidat, FPGA implementation of binary coded decimal digit adders and multipliers, in Proceeding of the 8th International Symposium on Mechatronics and its Applications (ISMA), 2012, pp. 1–5

  3. M. Aguirre-Hernandez, M. Linares-Aranda, Energy-efficient high-speed CMOS pipelined multiplier, in Proceeding of the 5th International Conference on Electrical Engineering, Computing Science and Automatic Control (CCE 2008), 2008, pp. 460–464

  4. J. A. Bhattacharya, Gupta and A. Singh, A high performance binary TO BCD converter for decimal multiplication, in Proceeding of the International Symposium on VLSI Design Automation and Test (VLSI-DAT), 2010, pp. 315–318

  5. F. Y. Busaba, C. A. Krygowski, W. H. Li, E. M. Schwarz, and S. R. Carlough, The IBM z900 Decimal Arithmetic Unit, in Proceeding of the 35th AsilomarConference Signals, Systems, and Computers, 2001, pp. 1335–1339

  6. M.A. Check, T.J. Slegel, Custom S/390 G5 and G6 microprocessors. IBM J. Res. Dev. 43, 671–680 (1999)

    Article  Google Scholar 

  7. J.F. Couleur, Couleur, BIDEC-A binary-to-decimal or decimal-to-binary converter. IRE Trans. Electron. Comput. EC–7, 313–316 (1958)

    Article  Google Scholar 

  8. M. F. Cowlishaw, Decimal Floating-Point: Algorism for Computers, in Proceeding of the 16th IEEE Symposium on Computer Arithmetic, 2003, pp. 104–111

  9. J. P. Deschamps, G. Sutter, Decimal division: Algorithms and FPGA implementations, in Proceeding of the VI Southern Programmable Logic Conference (SPL), 2010, pp. 67–72

  10. S. Gorgin, G. Jaberipur, A fully redundant decimal adder and its application in parallel decimal multipliers. Micro Electron. J. 40(10), 1471–1481 (2009)

    Google Scholar 

  11. S. Gorgin, G. Jaberipur, and B. Parhami, Design and Evaluation of Decimal Array Multipliers, in Proceeding of the 43th Asilomar Signals, Systems, & Computers, 2009, pp. 1782–1786

  12. H.H. Guild, Fast decimal-binary conversion. Electron. Lett. 5, 427–428 (1969)

    Article  Google Scholar 

  13. IEEE Standards Committee, 754–2008 IEEE Standard for Floating-Point Arithmetic, 2008. doi:10.1109/IEEESTD.2008.4610935

  14. G. Jaberipur, A. Kaivani, Binary-coded decimal digit multipliers. IET Comput. Digital Tech.1 1(4), 377–381 (2007)

    Article  Google Scholar 

  15. G. Jaberipur, A. Kaivani, Improving the speed of parallel decimal multiplication. IEEE Trans. Comput. 58(11), 1539–1552 (2009)

    Article  MathSciNet  Google Scholar 

  16. R. K. James, T. K. Shahana, K.P. Jacob, and S. Sasi, Decimal multiplication using compact BCD multiplier, in Proceeding of the International Conference on Electronic Design, 2008, pp. 1–6

  17. A. Kaivani, A. Hosseiny, and G. Jaberipur, Improving the Speed of Decimal Division. IET Comput. Digital Tech. doi:10.1049/iet-cdt.2010.0026

  18. A. Kaivani, G. Jaberipur, Decimal CORDIC rotation based on selection by rounding. Comput. J. 54(11), 1798–1809 (2011)

    Article  Google Scholar 

  19. T. Lang, A. Nannarelli, A Radix-10 Combinational Multiplier, in Proceeding of the 40th Asilomar Conference Signals, Systems, & Computers, 2006, pp. 313–317

  20. T. Lang, A. Nannarelli, A Radix-10 Digit-recurrence division unit: algorithm and architecture. IEEE Trans. Comput. 56(6), 727–739 (2007)

    Article  MathSciNet  Google Scholar 

  21. K. J. Lin, Y. C. Chiu, and T. H. Lin, A decimal squarer with efficient partial product generation, in Proceeding of the 18th IEEE/IFIP International Conference on VLSI and System-on-Chip (VLSI-SoC), 2010, pp. 213–218

  22. J.D. Nicoud, Nicoud, iterative arrays for radix conversion. IEEE Trans. Comput. C–20(12), 1479–1489 (1971)

    Article  Google Scholar 

  23. V.T. Rhyne, Serial binary-to-decimal and decimal-to-binary conversion. IEEE Trans. Comput. C–19, 808–812 (1970)

    Article  Google Scholar 

  24. M.S. Schmookler, High-speed binary-to-decimal conversion. IEEE Trans. Comput. (Short Notes) C–17, 506–508 (1968)

    Article  Google Scholar 

  25. E. M. Schwarz, S. R. Carlough, Power6 decimal divide, in Proceeding of the 18th IEEE Symposium on Application -specific Systems, Architectures and Processors, 2007, pp. 128–133

  26. G. Sutter, E. Todorovich, G. Bioul, M. Vazquez, and J.-P.Deschamps, FPGA implementations of BCD multipliers, in Proceeding of the IEEE International Conference on Reconfigurable Computing and FPGAs 2009 (ReConFig’09), Cancun, Mexico, 2009, pp. 36–41

  27. A. Vazquez, E. Antelo, P. Montuschi, Improved design of high-performance parallel decimal multipliers. IEEE Trans. Comput. 59(5), 679–693 (2010)

    Article  MathSciNet  Google Scholar 

  28. S. Veeramachaneni, M. B. Srinivas, Novel High-Speed Architecture for 32-Bit Binary Coded Decimal (BCD) Multiplier, in Proceeding of the International Symposium on Communications and Information Technologies (ISCIT), 2008, pp. 543–546

  29. L. K. Wang, Processor support for decimal floating-point arithmetic, PhD thesis, University of Wisconsin-Madison, 2007

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ghassem Jaberipur.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Gorgin, S., Jaberipur, G. & Hashemi Asl, R. Efficient ASIC and FPGA Implementation of Binary-Coded Decimal Digit Multipliers. Circuits Syst Signal Process 33, 3883–3899 (2014). https://doi.org/10.1007/s00034-014-9823-4

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00034-014-9823-4

Keywords

Navigation