Formal Methods for Exact Analysis of Approximate Circuits

Approximate circuits are digital circuits that are intentionally designed in such a way that the specification is violated in terms of functionality in order to obtain some improvements in power consumption, performance or area, in comparison with fully functional circuits. To design the approximate circuits, the synthesis tools rely on the availability of a procedure checking, whether the synthesized circuits meet a specification and/or provides information about circuit quality. Compared to the traditional circuit design flow, the nature of the approximate circuits involves replacing the strict functional equivalence checking with a more advanced approach that enables us to quantify or guarantee the degree of similarity. The most common technique is to employ a circuit simulator for analysing responses for all input vectors. This approach allows us to simultaneously perform checking and quality assessment, but the exhaustive enumeration of the input vectors is tractable only for a small number of inputs. To avoid excessive run-times, a subset of all possible input vectors is typically used for complex circuits. This causes us, however, to lose the ability to guarantee that the quality of the synthesized circuits is within an acceptable range given in the specification. The main goal of this paper is to show how to adopt formal methods such as binary decision diagrams and satisfiability solvers for exhaustive analysis of approximate circuits without explicit enumeration of all input vectors. We survey the methods for exact computation of the most important error parameters used in the context of approximate computing, propose improved algorithms and provide a detailed analysis of their performance. The methods are benchmarked on a large set of key approximate circuits consisting of nearly 2,000 unique arithmetic instances with 8-, 12-, 16-, and 32-bit operands which helps us to identify the best algorithm and method for computation of a desired error parameter.

[1]  Jørn Lind-Nielsen,et al.  BuDDy : A binary decision diagram package. , 1999 .

[2]  Rolf Drechsler,et al.  Approximate hardware generation using symbolic computer algebra employing grobner basis , 2018, 2018 Design, Automation & Test in Europe Conference & Exhibition (DATE).

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

[4]  Kaushik Roy,et al.  Substitute-and-simplify: A unified design paradigm for approximate and quality configurable circuits , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

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

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

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

[8]  Rolf Drechsler,et al.  One Method - All Error-Metrics: A Three-Stage Approach for Error-Metric Evaluation in Approximate Computing , 2019, 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE).

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

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

[11]  Zdenek Vasicek,et al.  Relaxed equivalence checking: a new challenge in logic synthesis , 2017, 2017 IEEE 20th International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS).

[12]  Zdenek Vasícek,et al.  Automatic design of arbitrary-size approximate sorting networks with error guarantee , 2016, 2016 26th International Workshop on Power and Timing Modeling, Optimization and Simulation (PATMOS).

[13]  Wolfgang Kunz,et al.  SAT and ATPG: Boolean engines for formal hardware verification , 2002, ICCAD 2002.

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

[15]  Randal E. Bryant,et al.  On the Complexity of VLSI Implementations and Graph Representations of Boolean Functions with Application to Integer Multiplication , 1991, IEEE Trans. Computers.

[16]  Yi Wu,et al.  ALFANS: Multilevel Approximate Logic Synthesis Framework by Approximate Node Simplification , 2020, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[17]  Fabrizio Lombardi,et al.  A comparative evaluation of approximate multipliers , 2016, 2016 IEEE/ACM International Symposium on Nanoscale Architectures (NANOARCH).

[18]  Joao Marques-Silva Practical applications of Boolean Satisfiability , 2008, 2008 9th International Workshop on Discrete Event Systems.

[19]  Qiang Xu,et al.  Approximate Computing: A Survey , 2016, IEEE Design & Test.

[20]  John P. Hayes,et al.  Behavior of stochastic circuits under severe error conditions , 2014, it Inf. Technol..

[21]  Ku He,et al.  Modeling and synthesis of quality-energy optimal approximate adders , 2012, 2012 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

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

[23]  Rolf Drechsler,et al.  BDD minimization for approximate computing , 2016, 2016 21st Asia and South Pacific Design Automation Conference (ASP-DAC).

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

[25]  Jie Han,et al.  Scalable Construction of Approximate Multipliers With Formally Guaranteed Worst Case Error , 2018, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[26]  Alexander Nadel,et al.  Efficient SAT Solving under Assumptions , 2012, SAT.

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

[28]  Lukás Sekanina,et al.  Evolutionary design of complex approximate combinational circuits , 2015, Genetic Programming and Evolvable Machines.

[29]  Puneet Gupta,et al.  Trading Accuracy for Power in a Multiplier Architecture , 2011, J. Low Power Electron..

[30]  Osman Hasan,et al.  Probabilistic Error Analysis of Approximate Adders and Multipliers , 2019, Approximate Circuits.

[31]  Lukás Sekanina,et al.  Towards low power approximate DCT architecture for HEVC standard , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

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

[33]  Osman Hasan,et al.  Formal Probabilistic Analysis of Low Latency Approximate Adders , 2019, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[34]  Sachin S. Sapatnekar,et al.  Error Analysis and Optimization in Approximate Arithmetic Circuits , 2019, Approximate Circuits.

[35]  Marc Thurley,et al.  sharpSAT - Counting Models with Advanced Component Caching and Implicit BCP , 2006, SAT.

[36]  Markus Püschel,et al.  Multiplierless multiple constant multiplication , 2007, TALG.

[37]  Mark W. Krentel The Complexity of Optimization Problems , 1986, Computational Complexity Conference.

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

[39]  Bart Selman,et al.  Model Counting , 2021, Handbook of Satisfiability.

[40]  John Sartori,et al.  Statistical analysis and modeling for error composition in approximate computation circuits , 2013, 2013 IEEE 31st International Conference on Computer Design (ICCD).

[41]  Toby Walsh,et al.  Handbook of satisfiability , 2009 .

[42]  Rolf Drechsler,et al.  Binary Decision Diagrams - Theory and Implementation , 1998 .

[43]  Rolf Drechsler,et al.  Approximation-aware testing for approximate circuits , 2018, 2018 23rd Asia and South Pacific Design Automation Conference (ASP-DAC).

[44]  Scott A. Mahlke,et al.  Rumba: An online quality management system for approximate computing , 2015, 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA).

[45]  Robert K. Brayton,et al.  Fast generation of lexicographic satisfiable assignments: Enabling canonicity in SAT-based applications , 2016, 2016 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

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

[47]  Fabrizio Lombardi,et al.  An Analytical Framework for Evaluating the Error Characteristics of Approximate Adders , 2015, IEEE Transactions on Computers.

[48]  Robert K. Brayton,et al.  ABC: An Academic Industrial-Strength Verification Tool , 2010, CAV.