Advertisement

Automatic Synthesis Techniques for Approximate Circuits

  • Ashish Ranjan
  • Swagath Venkataramani
  • Shubham Jain
  • Younghoon Kim
  • Shankar Ganesh Ramasubramanian
  • Arnab Raha
  • Kaushik Roy
  • Anand Raghunathan
Chapter

Abstract

Approximate circuits are the basic hardware building blocks of approximate computing platforms. Manual approximate designs of simple arithmetic circuits (adders and multipliers) have demonstrated the potential for efficiency improvements using approximate circuits. However, their broader adoption requires systematic methodologies that can create approximate implementations for any arbitrary circuit. An approximate circuit can be viewed as realizing a logic function that slightly deviates from the original specification, while falling within a specified quality constraint. A design automation methodology should therefore enable the generation of “correct-by-construction” approximate circuits that are guaranteed to satisfy designer-specified quality constraints.

This chapter presents an overview of automatic techniques to design approximate circuits and describes the key principles behind them. The proposed techniques apply to both combinational and sequential circuits and to circuits that contain a mix of control and datapath logic. In many applications, the degree of resilience often varies depending on the application context or the dataset being processed. In such cases, it is desirable to construct quality configurable circuits, or circuits that are capable of reconfiguring to adapt their accuracy at runtime. We describe how approximate circuit design frameworks can be extended to enable automatic synthesis of quality configurable circuits. The synthesized approximate circuits achieve considerable benefits in area and energy with minimal design effort.

References

  1. 1.
    Chippa V, Raghunathan A, Roy K, Chakradhar S (2011) Dynamic effort scaling: managing the quality-efficiency tradeoff. In: 2011 48th ACM/EDAC/IEEE design automation conference (DAC), pp 603–608Google Scholar
  2. 2.
    Chippa V, Chakradhar S, Roy K, Raghunathan A (2013) Analysis and characterization of inherent application resilience for approximate computing. In: 2013 50th ACM/EDAC/IEEE design automation conference (DAC), pp 1–9Google Scholar
  3. 3.
    Chippa V, Venkataramani S, Chakradhar S, Roy K, Raghunathan A (2013) Approximate computing: an integrated hardware approach. In: 2013 Asilomar conference on signals, systems and computers, pp 111–117.  https://doi.org/10.1109/ACSSC.2013.6810241
  4. 4.
    Clarke E, Grumberg O, Peled D (1999) Model checking. MIT Press, CambridgeGoogle Scholar
  5. 5.
    Gupta V, Mohapatra D, Park SP, Raghunathan A, Roy K (2011) Impact: imprecise adders for low-power approximate computing. In: 2011 international symposium on low power electronics and design (ISLPED), pp 409–414.  https://doi.org/10.1109/ISLPED.2011.5993675
  6. 6.
    Hanif MA, Hafiz R, Hasan O, Shafique M (2017) Quad: design and analysis of quality-area optimal low-latency approximate adders. In: 2017 54th ACM/EDAC/IEEE design automation conference (DAC), pp 1–6. https://doi.org/10.1145/3061639.3062306
  7. 7.
    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.  https://doi.org/10.1109/ICCAD.2015.7372600
  8. 8.
    Hegde R, Shanbhag N (1999) Energy-efficient signal processing via algorithmic noise-tolerance. In: 1999 international symposium on low power electronics and design, 1999. Proceedings, pp 30–35Google Scholar
  9. 9.
    Imani M, Peroni D, Rosing T (2017) Cfpu: configurable floating point multiplier for energy-efficient computing. In: 2017 54th ACM/EDAC/IEEE design automation conference (DAC), pp 1–6. https://doi.org/10.1145/3061639.3062210
  10. 10.
    Jain S, Venkataramani S, Raghunathan A (2016) Approximation through logic isolation for the design of quality configurable circuits. In: 2016 design, automation test in Europe conference exhibition (DATE), pp 612–617Google Scholar
  11. 11.
    Jiang H, Han J, Qiao F, Lombardi F (2016) Approximate radix-8 booth multipliers for low-power and high-performance operation. IEEE Trans Comput 65(8):2638–2644. https://doi.org/10.1109/TC.2015.2493547 MathSciNetCrossRefGoogle Scholar
  12. 12.
    Kahng A, Kang S (2012) Accuracy-configurable adder for approximate arithmetic designs. In: 2012 49th ACM/EDAC/IEEE design automation conference (DAC), pp 820–825Google Scholar
  13. 13.
    Kim Y, Venkataramani S, Roy K, Raghunathan A (2016) Designing approximate circuits using clock overgating. In: 2016 53nd ACM/EDAC/IEEE design automation conference (DAC), pp 1–6. https://doi.org/10.1145/2897937.2898005
  14. 14.
    Krause PK, Polian I (2011) Adaptive voltage over-scaling for resilient applications. In: Proc. DATE, pp 1–6Google Scholar
  15. 15.
    Kulkarni P, Gupta P, Ercegovac M (2011) Trading accuracy for power with an underdesigned multiplier architecture. In: 2011 24th international conference on VLSI design (VLSI design), pp 346–351.  https://doi.org/10.1109/VLSID.2011.51
  16. 16.
    Lingamneni A, Enz C, Palem K, Piguet C (2013) Synthesizing parsimonious inexact circuits through probabilistic design techniques. ACM Trans Embed Comput Syst 12(2s):93:1–93:26. https://doi.org/10.1145/2465787.2465795 CrossRefGoogle Scholar
  17. 17.
    Manna Z, Pnueli A (1992) The temporal logic of reactive and concurrent systems. Springer, New YorkCrossRefGoogle Scholar
  18. 18.
    Miao J, He K, Gerstlauer A, Orshansky M (2012) Modeling and synthesis of quality-energy optimal approximate adders. In: 2012 IEEE/ACM international conference on computer-aided design (ICCAD), pp 728–735Google Scholar
  19. 19.
    Mohapatra D, Chippa V, Raghunathan A, Roy K (2011) Design of voltage-scalable meta-functions for approximate computing. In: Design, automation test in Europe conference exhibition (DATE), 2011, pp 1–6.  https://doi.org/10.1109/DATE.2011.5763154
  20. 20.
    Olivieri N, Pappalardo F, Smorfa S, Visalli G (2007) Analysis and implementation of a novel leading zero anticipation algorithm for floating-point arithmetic units. IEEE Trans Circuits Syst II: Express Briefs 54(8):685–689.  https://doi.org/10.1109/TCSII.2007.896937 CrossRefGoogle Scholar
  21. 21.
    Qian L, Wang C, Liu W, Lombardi F, Han J (2016) Design and evaluation of an approximate Wallace-Booth multiplier. In: 2016 IEEE international symposium on circuits and systems (ISCAS), pp 1974–1977.  https://doi.org/10.1109/ISCAS.2016.7538962
  22. 22.
    Ranjan A, Raha A, Venkataramani S, Roy K, Raghunathan A (2014) Aslan: synthesis of approximate sequential circuits. In: 2014 design, automation test in Europe conference exhibition (DATE), pp 1–6.  https://doi.org/10.7873/DATE.2014.377
  23. 23.
    Shafique M, Ahmad W, Hafiz R, Henkel J (2015) A low latency generic accuracy configurable adder. In: 2015 52nd ACM/EDAC/IEEE design automation conference (DAC), pp 1–6. https://doi.org/10.1145/2744769.2744778
  24. 24.
    Shin D, Gupta SK (2008) A re-design technique for datapath modules in error tolerant applications. In: 2008 17th Asian test symposium, pp 431–437.  https://doi.org/10.1109/ATS.2008.75
  25. 25.
    Shin D, Gupta S (2010) Approximate logic synthesis for error tolerant applications. In: Design, automation test in Europe conference exhibition (DATE), 2010, pp 957–960.  https://doi.org/10.1109/DATE.2010.5456913
  26. 26.
    Shin D, Gupta SK (2011) A new circuit simplification method for error tolerant applications. In: 2011 design, automation test in Europe, pp 1–6.  https://doi.org/10.1109/DATE.2011.5763248
  27. 27.
    Venkataramani S, Sabne A, Kozhikkottu V, Roy K, Raghunathan A (2012) Salsa: systematic logic synthesis of approximate circuits. In: Proceedings of the 49th annual design automation conference. ACM, New York, pp 796–801. https://doi.org/10.1145/2228360.2228504 Google Scholar
  28. 28.
    Venkataramani S, Chippa V, Chakradhar S, Roy K, Raghunathan A (2013) Quality programmable vector processors for approximate computing. In: Proceedings of the 46th annual IEEE/ACM international symposium on microarchitecture. ACM, New York, pp 1–12. https://doi.org/10.1145/2540708.2540710 Google Scholar
  29. 29.
    Venkataramani S, Roy K, Raghunathan A (2013) Substitute-and-simplify: a unified design paradigm for approximate and quality configurable circuits. In: Design, automation test in Europe conference exhibition (DATE), 2013, pp 1367–1372.  https://doi.org/10.7873/DATE.2013.280
  30. 30.
    Venkataramani S, Ranjan A, Roy K, Raghunathan A (2014) Axnn: energy-efficient neuromorphic systems using approximate computing. In: 2014 IEEE/ACM international symposium on low power electronics and design (ISLPED), pp 27–32. https://doi.org/10.1145/2627369.2627613
  31. 31.
    Venkataramani S, Chakradhar S, Roy K, Raghunathan A (2015) Approximate computing and the quest for computing efficiency. In: Proceedings of the 52nd annual design automation conference. ACM, New York, pp 120:1–120:6. https://doi.org/10.1145/2744769.2751163
  32. 32.
    Zhu N, Goh WL, Zhang W, Yeo KS, Kong ZH (2010) Design of low-power high-speed truncation-error-tolerant adder and its application in digital signal processing. IEEE Trans Very Large Scale Integr Syst 18(8):1225–1229.  https://doi.org/10.1109/TVLSI.2009.2020591 CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Ashish Ranjan
    • 1
  • Swagath Venkataramani
    • 2
  • Shubham Jain
    • 1
  • Younghoon Kim
    • 1
  • Shankar Ganesh Ramasubramanian
    • 3
  • Arnab Raha
    • 4
  • Kaushik Roy
    • 1
  • Anand Raghunathan
    • 1
  1. 1.Purdue UniversityWest LafayetteUSA
  2. 2.IBM T.J. Watson Research CenterYorktown HeightsUSA
  3. 3.Intel CorporationHillsboroUSA
  4. 4.Intel CorporationSanta ClaraUSA

Personalised recommendations