Design Automation of Approximate Circuits With Runtime Reconfigurable Accuracy

Leveraging the inherent error tolerance of a vast number of application domains that are rapidly growing, approximate computing arises as a design alternative to improve the efficiency of our computing systems by trading accuracy for energy savings. However, the requirement for computational accuracy is not fixed. Controlling the applied level of approximation dynamically at runtime is a key to effectively optimize energy, while still containing and bounding the induced errors at runtime. In this paper, we propose and implement an automatic and circuit independent design framework that generates approximate circuits with dynamically reconfigurable accuracy at runtime. The generated circuits feature varying accuracy levels, supporting also accurate execution. Extensive experimental evaluation, using industry strength flow and circuits, demonstrates that our generated approximate circuits improve the energy by up to 41% for 2% error bound and by 17.5% on average under a pessimistic scenario that assumes full accuracy requirement in the 33% of the runtime. To demonstrate further the efficiency of our framework, we considered two state-of-the-art technology libraries which are a 7nm conventional FinFET and an emerging technology that boosts performance at a high cost of increased dynamic power.

[1]  Fabrizio Lombardi,et al.  Approximate XOR/XNOR-based adders for inexact computing , 2013, 2013 13th IEEE International Conference on Nanotechnology (IEEE-NANO 2013).

[2]  Arnab Raha,et al.  Towards full-system energy-accuracy tradeoffs: A case study of an approximate smart camera system? , 2017, 2017 54th ACM/EDAC/IEEE Design Automation Conference (DAC).

[3]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[4]  Mehdi Kamal,et al.  RAP-CLA: A Reconfigurable Approximate Carry Look-Ahead Adder , 2018, IEEE Transactions on Circuits and Systems II: Express Briefs.

[5]  Dimitrios Soudris,et al.  Design-Efficient Approximate Multiplication Circuits Through Partial Product Perforation , 2016, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[6]  Arnab Raha,et al.  Input-Based Dynamic Reconfiguration of Approximate Arithmetic Units for Video Encoding , 2016, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[7]  Fabrizio Lombardi,et al.  Inexact designs for approximate low power addition by cell replacement , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[8]  Andreas Gerstlauer,et al.  High-level synthesis of approximate hardware under joint precision and voltage scaling , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

[9]  Andreas Gerstlauer,et al.  Multi-level approximate logic synthesis under general error constraints , 2014, 2014 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[10]  Kaushik Roy,et al.  SALSA: Systematic logic synthesis of approximate circuits , 2012, DAC Design Automation Conference 2012.

[11]  Saurabh Sinha,et al.  ASAP7: A 7-nm finFET predictive process design kit , 2016, Microelectron. J..

[12]  Mehdi Kamal,et al.  Dual-Quality 4:2 Compressors for Utilizing in Dynamic Accuracy Configurable Multipliers , 2017, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[13]  Lukás Sekanina,et al.  Approximating complex arithmetic circuits with formal error guarantees: 32-bit multipliers accomplished , 2017, 2017 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[14]  Younghyun Kim,et al.  SAADI-EC: A Quality-Configurable Approximate Divider for Energy Efficiency , 2019, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[15]  Zhi-Hui Kong,et al.  Design of Low-Power High-Speed Truncation-Error-Tolerant Adder and Its Application in Digital Signal Processing , 2010, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[16]  Lingamneni Avinash,et al.  Synthesizing Parsimonious Inexact Circuits through Probabilistic Design Techniques , 2013, TECS.

[17]  Jörg Henkel,et al.  Negative Capacitance Transistor to Address the Fundamental Limitations in Technology Scaling: Processor Performance , 2018, IEEE Access.

[18]  Dimitrios Soudris,et al.  Multi-Level Approximate Accelerator Synthesis Under Voltage Island Constraints , 2019, IEEE Transactions on Circuits and Systems II: Express Briefs.

[19]  Kurt Keutzer,et al.  Estimation of average switching activity in combinational logic circuits using symbolic simulation , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[20]  Jian Sun,et al.  Deep Residual Learning for Image Recognition , 2015, 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

[21]  Mehdi Kamal,et al.  RoBA Multiplier: A Rounding-Based Approximate Multiplier for High-Speed yet Energy-Efficient Digital Signal Processing , 2017, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[22]  Fabrizio Lombardi,et al.  Approximate Designs for Fast Fourier Transform (FFT) With Application to Speech Recognition , 2019, IEEE Transactions on Circuits and Systems I: Regular Papers.

[23]  Sergio Bampi,et al.  A Cross-Layer Gate-Level-to-Application Co-Simulation for Design Space Exploration of Approximate Circuits in HEVC Video Encoders , 2020, IEEE Transactions on Circuits and Systems for Video Technology.

[24]  Lukás Sekanina,et al.  EvoApproxSb: Library of approximate adders and multipliers for circuit design and benchmarking of approximation methods , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

[25]  Jörg Henkel,et al.  Unveiling the Impact of IR-Drop on Performance Gain in NCFET-Based Processors , 2019, IEEE Transactions on Electron Devices.

[26]  Fabrizio Lombardi,et al.  Approximate Radix-8 Booth Multipliers for Low-Power and High-Performance Operation , 2016, IEEE Transactions on Computers.

[27]  Massoud Pedram,et al.  Performance Comparisons Between 7-nm FinFET and Conventional Bulk CMOS Standard Cell Libraries , 2015, IEEE Transactions on Circuits and Systems II: Express Briefs.

[28]  Lukás Sekanina,et al.  Design of Quality-Configurable Approximate Multipliers Suitable for Dynamic Environment , 2018, 2018 NASA/ESA Conference on Adaptive Hardware and Systems (AHS).

[29]  Muhammad Shafique,et al.  autoAx: An Automatic Design Space Exploration and Circuit Building Methodology utilizing Libraries of Approximate Components , 2019, 2019 56th ACM/IEEE Design Automation Conference (DAC).

[30]  Gabriel L. Nazar,et al.  High-Level Synthesis of Approximate Designs under Real-Time Constraints , 2019, ACM Trans. Embed. Comput. Syst..

[31]  Bo Zhang,et al.  Optimal Slope Ranking: An Approximate Computing Approach for Circuit Pruning , 2018, 2018 IEEE International Symposium on Circuits and Systems (ISCAS).

[32]  Hadi Esmaeilzadeh,et al.  AxBench: A Benchmark Suite for Approximate Computing Across the System Stack , 2016 .

[33]  Michael Hoffmann,et al.  Unveiling the double-well energy landscape in a ferroelectric layer , 2019, Nature.

[34]  Kiamal Z. Pekmestzi,et al.  Walking through the Energy-Error Pareto Frontier of Approximate Multipliers , 2018, IEEE Micro.

[35]  Mikko H. Lipasti,et al.  SECO: A Scalable Accuracy Approximate Exponential Function Via Cross-Layer Optimization , 2019, 2019 IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED).

[36]  Fabrizio Lombardi,et al.  Design of Approximate Radix-4 Booth Multipliers for Error-Tolerant Computing , 2017, IEEE Transactions on Computers.

[37]  Arash Fayyazi,et al.  SEERAD: A high speed yet energy-efficient rounding-based approximate divider , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[38]  Kaushik Roy,et al.  Analysis and characterization of inherent application resilience for approximate computing , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[39]  Seok-Bum Ko,et al.  Design of Approximate Restoring Dividers , 2019, 2019 IEEE International Symposium on Circuits and Systems (ISCAS).

[40]  Ilaria Scarabottolo,et al.  Partition and Propagate: an Error Derivation Algorithm for the Design of Approximate Circuits , 2019, 2019 56th ACM/IEEE Design Automation Conference (DAC).

[41]  Silvano Martello,et al.  Heuristics for the General Multiple Non-linear Knapsack Problem , 2016, Electron. Notes Discret. Math..

[42]  Krishna V. Palem,et al.  Design and Applications of Approximate Circuits by Gate-Level Pruning , 2017, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[43]  Fabrizio Lombardi,et al.  Design and Analysis of Approximate Compressors for Multiplication , 2015, IEEE Transactions on Computers.

[44]  Henk Corporaal,et al.  An Automated Approximation Methodology for Arithmetic Circuits , 2019, 2019 IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED).

[45]  Mehdi Kamal,et al.  TruncApp: A truncation-based approximate divider for energy efficient DSP applications , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

[46]  Fabrizio Lombardi,et al.  Design of Approximate FFT with Bit-width Selection Algorithms , 2018, 2018 IEEE International Symposium on Circuits and Systems (ISCAS).

[47]  Muhammad Shafique,et al.  X-CGRA: An Energy-Efficient Approximate Coarse-Grained Reconfigurable Architecture , 2020, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[48]  C. Piguet Low-power and low-voltage CMOS digital design , 1997 .

[49]  Muhammad Shafique,et al.  ALWANN: Automatic Layer-Wise Approximation of Deep Neural Network Accelerators without Retraining , 2019, 2019 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[50]  Fabrizio Lombardi,et al.  Low-Power Unsigned Divider and Square Root Circuit Designs Using Adaptive Approximation , 2019, IEEE Transactions on Computers.

[51]  Wei Luo,et al.  Joint precision optimization and high level synthesis for approximate computing , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[52]  Fabrizio Lombardi,et al.  Adaptive approximation in arithmetic circuits: A low-power unsigned divider design , 2018, 2018 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[53]  Sayeef Salahuddin,et al.  Negative Capacitance Transistors , 2018, Proceedings of the IEEE.

[54]  Sherief Reda,et al.  DRUM: A Dynamic Range Unbiased Multiplier for approximate applications , 2015, 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[55]  Sherief Reda,et al.  ABACUS: A technique for automated behavioral synthesis of approximate computing circuits , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[56]  Fabrizio Lombardi,et al.  Algorithm and Design of a Fully Parallel Approximate Coordinate Rotation Digital Computer (CORDIC) , 2017, IEEE Transactions on Multi-Scale Computing Systems.

[57]  Fabrizio Lombardi,et al.  On the Design of Approximate Restoring Dividers for Error-Tolerant Applications , 2016, IEEE Transactions on Computers.

[58]  Kostas Siozios,et al.  VADER: Voltage-Driven Netlist Pruning for Cross-Layer Approximate Arithmetic Circuits , 2019, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[59]  Fabrizio Lombardi,et al.  A fully parallel approximate CORDIC design , 2016, 2016 IEEE/ACM International Symposium on Nanoscale Architectures (NANOARCH).

[60]  Kaushik Roy,et al.  Low-Power Digital Signal Processing Using Approximate Adders , 2013, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.