Design, Verification, Test and In-Field Implications of Approximate Computing Systems

Today, the concept of approximation in computing is becoming more and more a “hot topic” to investigate how computing systems can be more energy efficient, faster, and less complex. Intuitively, instead of performing exact computations and, consequently, requiring a high amount of resources, Approximate Computing aims at selectively relaxing the specifications, trading accuracy off for efficiency. While Approximate Computing gives several promises when looking at systems' performance, energy efficiency and complexity, it poses significant challenges regarding the design, the verification, the test and the in-field reliability of Approximate Computing systems. This tutorial paper covers these aspects leveraging the experience of the authors in the field to present state-of-the-art solutions to apply during the different development phases of an Approximate Computing system.

[1]  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.

[2]  Arnaud Virazel,et al.  Can we Approximate the Test of Integrated Circuits , 2017 .

[3]  Rolf Drechsler,et al.  Precise error determination of approximated components in sequential circuits with model checking , 2016, 2016 53nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[4]  Alessandro Savino,et al.  Predicting the Impact of Functional Approximation: from Component- to Application-Level , 2018, 2018 IEEE 24th International Symposium on On-Line Testing And Robust System Design (IOLTS).

[5]  Dan Grossman,et al.  EnerJ: approximate data types for safe and general low-power computation , 2011, PLDI '11.

[6]  Fabrizio Lombardi,et al.  A Review, Classification, and Comparative Evaluation of Approximate Arithmetic Circuits , 2017, ACM J. Emerg. Technol. Comput. Syst..

[7]  Elena I. Vatajelu,et al.  Test and Reliability in Approximate Computing , 2017, 2017 International Mixed Signals Testing Workshop (IMSTW).

[8]  Sherief Reda,et al.  Automated High-Level Generation of Low-Power Approximate Computing Circuits , 2019, IEEE Transactions on Emerging Topics in Computing.

[9]  S. R,et al.  Data Mining with Big Data , 2017, 2017 11th International Conference on Intelligent Systems and Control (ISCO).

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

[11]  Alessandro Savino,et al.  Approximate computing design exploration through data lifetime metrics , 2019, 2019 IEEE European Test Symposium (ETS).

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

[13]  Sri Parameswaran,et al.  Minimally Biased Multipliers for Approximate Integer and Floating-Point Multiplication , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[14]  Jorg Henkel,et al.  Heterogeneous Approximate Multipliers: Architectures and Design Methodologies , 2019, Approximate Circuits.

[15]  Muhammad Shafique,et al.  Invited: Cross-layer approximate computing: From logic to architectures , 2016, 2016 53nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[16]  Zdenek Vasicek,et al.  Formal Methods for Exact Analysis of Approximate Circuits , 2019, IEEE Access.

[17]  Arnaud Virazel,et al.  Towards digital circuit approximation by exploiting fault simulation , 2017, 2017 IEEE East-West Design & Test Symposium (EWDTS).

[18]  Arnaud Virazel,et al.  A Test Pattern Generation Technique for Approximate Circuits Based on an ILP-Formulated Pattern Selection Procedure , 2019, IEEE Transactions on Nanotechnology.

[19]  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).

[20]  Olivier Sentieys,et al.  Customizing fixed-point and floating-point arithmetic — A case study in K-means clustering , 2017, 2017 IEEE International Workshop on Signal Processing Systems (SiPS).

[21]  Arnaud Virazel,et al.  On the Comparison of Different ATPG Approaches for Approximate Integrated Circuits , 2018, 2018 IEEE 21st International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS).

[22]  Muhammad Shafique,et al.  Statistical error analysis for low power approximate adders , 2017, 2017 54th ACM/EDAC/IEEE Design Automation Conference (DAC).

[23]  Lukas Sekanina,et al.  Automated Search-Based Functional Approximation for Digital Circuits , 2018, Approximate Circuits.

[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]  Rolf Drechsler,et al.  Approximation-aware testing for approximate circuits , 2018, 2018 23rd Asia and South Pacific Design Automation Conference (ASP-DAC).

[26]  Jie Han,et al.  Approximate computing: An emerging paradigm for energy-efficient design , 2013, 2013 18th IEEE European Test Symposium (ETS).

[27]  Muhammad Shafique,et al.  Probabilistic Error Analysis of Approximate Recursive Multipliers , 2017, IEEE Transactions on Computers.

[28]  Kaushik Roy,et al.  Approximate storage for energy efficient spintronic memories , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[29]  Kaushik Roy,et al.  Approximate computing: An integrated hardware approach , 2013, 2013 Asilomar Conference on Signals, Systems and Computers.

[30]  Zdenek Vasícek,et al.  Trading between quality and non-functional properties of median filter in embedded systems , 2017, Genetic Programming and Evolvable Machines.

[31]  Fabrizio Lombardi,et al.  New Metrics for the Reliability of Approximate and Probabilistic Adders , 2013, IEEE Transactions on Computers.

[32]  Yi Wu,et al.  An Efficient Method for Calculating the Error Statistics of Block-Based Approximate Adders , 2019, IEEE Transactions on Computers.

[33]  Mehdi B. Tahoori,et al.  Test Pattern Generation for Approximate Circuits Based on Boolean Satisfiability , 2019, 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[34]  Antonio G. M. Strollo,et al.  Approximate computing in the nanoscale era , 2018, 2018 International Conference on IC Design & Technology (ICICDT).

[35]  Arnaud Virazel,et al.  Towards approximation during test of Integrated Circuits , 2017, 2017 IEEE 20th International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS).

[36]  Karthick Parashar,et al.  Accelerated Performance Evaluation of Fixed-Point Systems With Un-Smooth Operations , 2014, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[37]  Kaushik Roy,et al.  MACACO: Modeling and analysis of circuits for approximate computing , 2011, 2011 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[38]  Alberto Bosio,et al.  Performances VS Reliability: how to exploit Approximate Computing for Safety-Critical applications , 2018, 2018 IEEE 24th International Symposium on On-Line Testing And Robust System Design (IOLTS).

[39]  Antonino Mazzeo,et al.  A Pruning Technique for B&B Based Design Exploration of Approximate Computing Variants , 2016, 2016 IEEE Computer Society Annual Symposium on VLSI (ISVLSI).

[40]  Muhammad Shafique,et al.  Probabilistic Error Modeling for Approximate Adders , 2017, IEEE Transactions on Computers.

[41]  Eduardo A. C. da Costa,et al.  Exploring the use of parallel prefix adder topologies into approximate adder circuits , 2017, 2017 24th IEEE International Conference on Electronics, Circuits and Systems (ICECS).

[42]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[43]  Barry O'Sullivan,et al.  ICT - Energy Concepts for Energy Efficiency and Sustainability , 2017 .

[44]  Eero P. Simoncelli,et al.  Image quality assessment: from error visibility to structural similarity , 2004, IEEE Transactions on Image Processing.

[45]  Benjamin Carrion Schafer,et al.  Exposing Approximate Computing Optimizations at Different Levels: From Behavioral to Gate-Level , 2017, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[46]  James Demmel,et al.  Precimonious: Tuning assistant for floating-point precision , 2013, 2013 SC - International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[47]  Alessandro Savino,et al.  Probabilistic estimation of the application-level impact of precision scaling in approximate computing applications , 2019, Microelectronics Reliability.

[48]  Alberto Bosio,et al.  Exploiting Approximate Computing to Increase System Lifetime , 2019, 2019 IFIP/IEEE 27th International Conference on Very Large Scale Integration (VLSI-SoC).

[49]  Sparsh Mittal,et al.  A Survey of Techniques for Approximate Computing , 2016, ACM Comput. Surv..

[50]  Arnaud Virazel,et al.  Investigation of Mean-Error Metrics for Testing Approximate Integrated Circuits , 2018, 2018 IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems (DFT).

[51]  Arnaud Virazel,et al.  Testing approximate digital circuits: Challenges and opportunities , 2018, 2018 IEEE 19th Latin-American Test Symposium (LATS).

[52]  Arnaud Virazel,et al.  Maximizing Yield for Approximate Integrated Circuits , 2020, 2020 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[53]  Romuald Rocher,et al.  Analytical Approach for Numerical Accuracy Estimation of Fixed-Point Systems Based on Smooth Operations , 2012, IEEE Transactions on Circuits and Systems I: Regular Papers.