Approximate Multipliers and Dividers Using Dynamic Bit Selection

  • Soheil Hashemi
  • Sherief RedaEmail author


Within the approximate computing paradigm, approximate arithmetic logic design has received the most attention. The reason, simply the flexibility of such logic where basic building blocks, e.g., adders, multipliers, and dividers, can be utilized within a wide range of approximate data paths offering the benefits of approximate computing. Ideally, effective implementations of approximate arithmetic can readily be utilized within different applications without requiring application-level knowledge. In this chapter, a generic methodology for design of approximate arithmetic logic, namely approximate multipliers and approximate dividers, is proposed. The methodology has the desirable features that maintain an upper bound on maximum attainable error, and result in a zero-balanced error distribution averting error accumulation in consecutive processing. Furthermore, the proposed methodology is highly scalable to higher input sizes, and offers a wide range of accuracy hardware cost trade-offs. We evaluate our methodology with an approximate multiplier and approximate divider and highlight the significant benefits achieved, using both stand-alone and in application experiments.



The authors would like to thank Prof. R. Iris Bahar for her earlier contributions to this project [5, 6]. Compared to our previously published work [5, 6], this chapter provides a more holistic and integrated approach to the design of different approximate arithmetic logic. We also provide more discussions and examples on the working of the approximate methodology, and we provide additional experimental results. This work is partially supported by NSF grant 1420864.


  1. 1.
    Chippa VK, Mohapatra D, Raghunathan A, Roy K, Chakradhar ST (2010) Scalable effort hardware design: exploiting algorithmic resilience for energy efficiency. In: 47th ACM/IEEE design automation conference (DAC), pp 555–560Google Scholar
  2. 2.
    George J, Marr B, Akgul BES, Palem KV (2006) Probabilistic arithmetic and energy efficient embedded signal processing. In: ACM proceedings of the international conference on compilers, architecture and synthesis for embedded systems, pp 158–168Google Scholar
  3. 3.
    Gupta V, Mohapatra D, Raghunathan A, Roy K (2013) Low-power digital signal processing using approximate adders. IEEE Trans Comput Aided Des Integr Circuits Syst 32(1):124–137CrossRefGoogle Scholar
  4. 4.
    Han J, Orshansky M (2013) Approximate computing: an emerging paradigm for energy-efficient design. In: 18th IEEE European test symposium (ETS), pp 1–6Google Scholar
  5. 5.
    Hashemi S, Bahar RI, Reda S (2015) Drum: a dynamic range unbiased multiplier for approximate applications. In: 2015 IEEE/ACM international conference on computer-aided design (ICCAD), pp 418–425, Nov 2015Google Scholar
  6. 6.
    Hashemi S, Bahar RI, Reda S (2016) A low-power dynamic divider for approximate applications. In: 2016 53nd ACM/EDAC/IEEE design automation conference (DAC), pp 1–6, June 2016Google Scholar
  7. 7.
    Kulkarni P, Gupta P, Ercegovac M (2011) Trading accuracy for power with an underdesigned multiplier architecture. In: 24th international conference on VLSI design, pp 346–351Google Scholar
  8. 8.
    Kyaw KY, Goh WL, Yeo KS (2010) Low-power high-speed multiplier for error-tolerant application. In: IEEE international conference of electron devices and solid-state circuits (EDSSC), pp 1–4Google Scholar
  9. 9.
    Liu C, Han J, Lombardi F (2014) A low-power, high-performance approximate multiplier with configurable partial error recovery. In: Proceedings of the conference on design, automation & test in Europe (DATE), pp 95:1–95:4Google Scholar
  10. 10.
    Mahdiani HR, Ahmadi A, Fakhraie SM, Lucas C (2010) Bio-inspired imprecise computational blocks for efficient VLSI implementation of soft-computing applications. IEEE Trans Circuits Syst Regul Pap 57(4):850–862MathSciNetCrossRefGoogle Scholar
  11. 11.
    Mark SLL, Ling K-V, Chu Y-C (2009) Energy-aware probabilistic multiplier: design and analysis. In: ACM proceedings of the international conference on compilers, architecture, and synthesis for embedded systems, pp 281–290Google Scholar
  12. 12.
    Narayanamoorthy S, Moghaddam HA, Liu Z, Park T, Kim NS (2015) Energy-efficient approximate multiplication for digital signal processing and classification applications. IEEE Trans Very Large Scale Integr Syst 23(6):1180–1184CrossRefGoogle Scholar
  13. 13.
    Nepal K, Li Y, Bahar RI, Reda S (2014) Abacus: a technique for automated behavioral synthesis of approximate computing circuits. In: Proceedings of the conference on design, automation & test in Europe (DATE), pp 1–6Google Scholar
  14. 14.
    Palem KV (2005) Energy aware computing through probabilistic switching: a study of limits. IEEE Trans Comput 54(9):1123–1137CrossRefGoogle Scholar
  15. 15.
    Rehman S, El-Harouni W, Shafique M, Kumar A, Henkel J, Henkel J (2016) Architectural-space exploration of approximate multipliers. In: 2016 IEEE/ACM international conference on computer-aided design (ICCAD), pp 1–8, Nov 2016Google Scholar
  16. 16.
    Venkataramani S, Sabne A, Kozhikkottu V, Roy K, Raghunathan A (2012) Salsa: systematic logic synthesis of approximate circuits. In: 49th ACM/EDAC/IEEE design automation conference (DAC), pp 796–801Google Scholar
  17. 17.
    Venkatesan R, Agarwal A, Roy K, Raghunathan A (2011) MACACO: Modeling and analysis of circuits for approximate computing. In: IEEE/ACM international conference on computer-aided design (ICCAD), pp 667–673Google Scholar
  18. 18.
    Wang Y, Jodoin P-M, Porikli F, Konrad J, Benezeth Y, Ishwar P (2014) CDnet 2014: an expanded change detection benchmark dataset. In: Computer vision and pattern recognition workshops, pp 393–400Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Brown UniversityProvidenceUSA

Personalised recommendations