ASAD-RD: Accuracy Scalable Approximate Divider Based on Restoring Division for Energy Efficiency
Abstract
:1. Introduction
2. Related Works
3. Proposed Approximate Divider
3.1. Proposed Approximate Division
3.2. Hardware Architecture
3.3. Error Compensation
- : The input operands A and B are truncated to n bits during normalization
- : The approximate reciprocal is the sum of a limited number of terms
- : Each term is computed using an approximate multiplier that truncates 2n bits to n bits
- : The approximate reciprocal is truncated from bits to n bits before being multiplied by a, and the result is truncated to n bits.
4. Comparison and Analysis
- Average cycle iteration counts for maximum accuracy.
- Mean absolute error (MAE) of SAADI and ASAD-RD.
- Power consumption and energy efficiency.
- Required cycle iteration counts for target accuracy.
4.1. Previous Approximate Dividers
4.2. Accuracy and Latency
4.3. Power Consumption
5. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Abbreviations
MSB | Most significant bit |
MAE | Mean absolute error |
References
- Chippa, V.K.; Venkataramani, S.; Chakradhar, S.T.; Roy, K.; Raghunathan, A. Approximate computing: An integrated hardware approach. In Proceedings of the 2013 Asilomar Conference on Signals, Systems and Computers, Pacific Grove, CA, USA, 3–6 November 2013; pp. 111–117. [Google Scholar]
- Jiang, H.; Liu, C.; Liu, L.; Lombardi, F.; Han, J. A review, classification, and comparative evaluation of approximate arithmetic circuits. ACM J. Emerg. Technol. Comput. Syst. 2017, 13, 1–34. [Google Scholar] [CrossRef] [Green Version]
- Venkataramani, S.; Chakradhar, S.T.; Roy, K.; Raghunathan, A. Approximate computing and the quest for computing efficiency. In Proceedings of the 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC), San Francisco, CA, USA, 8–12 June 2015; pp. 1–6. [Google Scholar]
- Chen, L.; Han, J.; Liu, W.; Lombardi, F. On the design of approximate restoring dividers for error-tolerant applications. IEEE Trans. Comput. 2015, 65, 2522–2533. [Google Scholar] [CrossRef]
- Han, J.; Orshansky, M. Approximate computing: An emerging paradigm for energy-efficient design. In Proceedings of the 2013 18th IEEE European Test Symposium (ETS), Avignon, France, 27–30 May 2013; pp. 1–6. [Google Scholar]
- Gupta, V.; Mohapatra, D.; Park, S.P.; Raghunathan, A.; Roy, K. IMPACT: Imprecise adders for low-power approximate computing. In Proceedings of the IEEE/ACM International Symposium on Low Power Electronics and Design, Fukuoka, Japan, 1–3 August 2011; pp. 409–414. [Google Scholar]
- Hashemi, S.; Bahar, R.I.; Reda, S. DRUM: A dynamic range unbiased multiplier for approximate applications. In Proceedings of the 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), Austin, TX, USA, 2–6 November 2015; pp. 418–425. [Google Scholar]
- Jiang, H.; Lombardi, F.; Han, J. Low-power unsigned divider and square root circuit designs using adaptive approximation. IEEE Trans. Comput. 2019, 68, 1635–1646. [Google Scholar] [CrossRef]
- Jiang, H.; Liu, L.; Lombardi, F.; Han, J. Adaptive approximation in arithmetic circuits: A low-power unsigned divider design. In Proceedings of the 2018 Design, Automation & Test in Europe Conference & Exhibition (DATE), Dresden, Germany, 19–23 March 2018; pp. 1411–1416. [Google Scholar]
- Vaeztourshizi, M.; Kamal, M.; Afzali-Kusha, A.; Pedram, M. An energy-efficient, yet highly-accurate, approximate non-iterative divider. In Proceedings of the International Symposium on Low Power Electronics and Design, Seattle, WA, USA, 23–25 July 2018; pp. 1–6. [Google Scholar]
- Vahdat, S.; Kamal, M.; Afzali-Kusha, A.; Pedram, M.; Navabi, Z. TruncApp: A truncation-based approximate divider for energy efficient DSP applications. In Proceedings of the Design, Automation & Test in Europe Conference & Exhibition (DATE), Lausanne, Switzerland, 15 May 2017; pp. 1635–1638. [Google Scholar]
- Zendegani, R.; Kamal, M.; Fayyazi, A.; Afzali-Kusha, A.; Safari, S.; Pedram, M. SEERAD: A high speed yet energy-efficient rounding-based approximate divider. In Proceedings of the 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE), Dresden, Germany, 14–18 March 2016; pp. 1481–1484. [Google Scholar]
- Raha, A.; Raghunathan, V. Towards full-system energy-accuracy tradeoffs: A case study of an approximate smart camera system. In Proceedings of the 54th Annual Design Automation Conference 2017, Austin, TX, USA, 18–22 June 2017; pp. 1–6. [Google Scholar]
- Behroozi, S.; Li, J.; Melchert, J.; Kim, Y. SAADI: A scalable accuracy approximate divider for dynamic energy-quality scaling. In Proceedings of the 24th Asia and South Pacific Design Automation Conference, Tokyo, Japan, 21–24 January 2019; pp. 481–486. [Google Scholar]
- Chen, T.W.; Ikeda, M. Design and implementation of low-power hardware architecture with single-cycle divider for on-line clustering algorithm. IEEE Trans. Circuits Syst. I Regul. Pap. 2013, 60, 2165–2176. [Google Scholar] [CrossRef]
- Melchert, J.; Behroozi, S.; Li, J.; Kim, Y. SAADI-EC: A quality-configurable approximate divider for energy efficiency. IEEE Trans. Very Large Scale Integr. Syst. 2019, 27, 2680–2692. [Google Scholar] [CrossRef]
- Robertson, J.E. A new class of digital division methods. IRE Trans. Electron. Comput. 1958, EC-7, 218–222. [Google Scholar] [CrossRef] [Green Version]
- Aggarwal, N.; Asooja, K.; Verma, S.S.; Negi, S. An improvement in the restoring division algorithm (Needy Restoring Division Algorithm). In Proceedings of the 2009 2nd IEEE International Conference on Computer Science and Information Technology, Beijing, China, 8–11 August 2009; pp. 246–249. [Google Scholar]
- Obermann, S.F.; Flynn, M.J. Division algorithms and implementations. IEEE Trans. Comput. 1997, 46, 833–854. [Google Scholar] [CrossRef] [Green Version]
- Intel. Quartus Prime Lite Edition 18.1. Available online: https://fpgasoftware.intel.com/18.1/?edition=lite (accessed on 10 July 2020).
Iteration Count | SAADI [14] | ASAD-RD | ||
---|---|---|---|---|
t = 1 | 0.31250 | 1.31250 | 15.5000 (10.26%) | 17.1250 (0.86%) |
t = 2 | 0.09766 | 1.40265 | 16.6250 (3.75%) | 17.2500 (0.13%) |
t = 3 | 0.02930 | 1.43750 | 17.0000 (1.58%) | 17.2500 (0.13%) |
t = 4 | 0.00782 | 1.44531 | 17.1250 (0.86%) | 17.2500 (0.13%) |
t = 5 | 0.00195 | 1.44531 | 17.1250 (0.86%) | 17.2500 (0.13%) |
Parameters | Dividers | Cycle | MAE (%) | Power (mW) | Energy (nJ) |
---|---|---|---|---|---|
6 | AAXD | 1 | 6.61 | 0.5 | 1.15 |
10 | AAXD | 1 | 1.52 | 1.02 | 4.29 |
16 | AAXD | 1 | 0.18 | 2.31 | 21.02 |
2, 4 | PLApp | 1 | 2.87 | 0.89 | 1.13 |
4, 5 | PLApp | 1 | 1.42 | 1.15 | 1.89 |
8, 8 | PLApp | 1 | 0.18 | 2.86 | 7.21 |
3 | TruncApp | 1 | 10.1 | 0.56 | 0.47 |
4 | TruncApp | 1 | 4.3 | 0.8 | 0.84 |
3 | SEERAD | 1 | 4.66 | 2.12 | 1.69 |
4 | SEERAD | 1 | 2.42 | 7.53 | 8.06 |
Bits | Divider | Cycles | MAE (%) | Power (mW) | |
---|---|---|---|---|---|
4 | SAADI | Min | 1 | 19.24 | 0.90 |
Max | 3 | 11.83 | |||
ASAD-RD | Min | 1 | 9.33 | 0.94 | |
Max | 3 | 6.74 | |||
8 | SAADI | Min | 1 | 9.22 | 1.41 |
Max | 7 | 1.23 | |||
ASAD-RD | Min | 1 | 4.78 | 1.47 | |
Max | 7 | 0.77 | |||
12 | SAADI | Min | 1 | 8.36 | 2.06 |
Max | 11 | 0.108 | |||
ASAD-RD | Min | 1 | 4.37 | 2.15 | |
Max | 11 | 0.066 | |||
16 | SAADI | Min | 1 | 8.33 | 2.67 |
Max | 15 | 0.008 | |||
ASAD-RD | Min | 1 | 4.39 | 2.80 | |
Max | 15 | 0.005 |
SAADI [14] | ASAD-RD | ||||||||
---|---|---|---|---|---|---|---|---|---|
Number of Bits (n) | 4 | 8 | 12 | 16 | 4 | 8 | 12 | 16 | |
Target accuracy: 88% | Cycles | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Energy (mW) | 2.70 | 1.41 | 2.06 | 2.67 | 0.94 | 1.47 | 2.15 | 2.80 | |
Target accuracy: 91% | Cycles | 2 | 2 | 2 | 3 | 1 | 1 | 1 | |
Energy (mW) | 2.42 | 4.12 | 5.34 | 2.74 | 1.47 | 2.15 | 2.80 | ||
Target accuracy: 95% | Cycles | 2 | 2 | 2 | 1 | 1 | 1 | ||
Energy (mW) | 2.42 | 4.12 | 5.34 | 1.47 | 2.15 | 2.80 | |||
Target accuracy: 98% | Cycles | 4 | 3 | 3 | 3 | 2 | 2 | ||
Energy (mW) | 5.64 | 6.18 | 8.01 | 4.29 | 4.21 | 5.47 | |||
Target accuracy: 99% | Cycles | 4 | 4 | 4 | 3 | 3 | |||
Energy (mW) | 8.24 | 10.58 | 5.70 | 6.27 | 8.14 | ||||
Target accuracy: 99.80% | Cycles | 6 | 6 | 5 | 5 | ||||
Energy (mW) | 12.36 | 16.02 | 10.39 | 13.48 | |||||
Target accuracy: 99.99% | Cycles | 11 | 9 | ||||||
Energy (mW) | 29.37 | 24.16 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Jeong, J.; Kim, Y. ASAD-RD: Accuracy Scalable Approximate Divider Based on Restoring Division for Energy Efficiency. Electronics 2021, 10, 31. https://doi.org/10.3390/electronics10010031
Jeong J, Kim Y. ASAD-RD: Accuracy Scalable Approximate Divider Based on Restoring Division for Energy Efficiency. Electronics. 2021; 10(1):31. https://doi.org/10.3390/electronics10010031
Chicago/Turabian StyleJeong, Jonghyun, and Youngmin Kim. 2021. "ASAD-RD: Accuracy Scalable Approximate Divider Based on Restoring Division for Energy Efficiency" Electronics 10, no. 1: 31. https://doi.org/10.3390/electronics10010031
APA StyleJeong, J., & Kim, Y. (2021). ASAD-RD: Accuracy Scalable Approximate Divider Based on Restoring Division for Energy Efficiency. Electronics, 10(1), 31. https://doi.org/10.3390/electronics10010031