ALFANS: Multilevel Approximate Logic Synthesis Framework by Approximate Node Simplification

Approximate computing is an emerging design paradigm targeting at error-tolerant applications. It trades off accuracy for improvement in hardware cost and energy efficiency. In this paper, we propose ALFANS, a novel multilevel approximate logic synthesis framework by approximate node simplification. ALFANS works on the Boolean network representation of circuits. Its basic operation is to perform approximate simplification to nodes in a Boolean network. Based on this framework, we propose three different algorithms for three different types of error constraints. The first algorithm, ALFANS-ER, handles error rate (ER) constraint only. The second one, ALFANS-ER-MEM, handles a combination of ER and maximum error magnitude (EM) constraint. The third one, ALFANS-ER-AEM, handles a combination of ER and average EM constraint. All these three algorithms repeatedly pick the single most effective node to simplify in each iteration. When only the ER is constrained, we also propose an accelerated version, ALFANS-ER-Fast, which formulates a knapsack problem to pick multiple nodes for simplification simultaneously in each iteration. It significantly improves the runtime over ALFANS-ER with almost the same circuit area. Compared to the respective state-of-the-art approaches handling the same type of error constraint, ALFANS-ER-Fast and ALFANS-ER-MEM reduce circuit area by 1.3% and 19.5%, respectively. A salient feature of ALFANS-ER-Fast is its run-time efficiency: it has a speedup of $5.9 \times $ over the state-of-the-art method.

[1]  Robert K. Brayton,et al.  Multilevel logic synthesis , 1990, Proc. IEEE.

[2]  Robert K. Brayton,et al.  DAG-aware AIG rewriting: a fresh look at combinational logic synthesis , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[3]  Weikang Qian,et al.  A new approximate adder with low relative error and correct sign calculation , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[4]  Fabrizio Lombardi,et al.  A low-power, high-performance approximate multiplier with configurable partial error recovery , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

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

[6]  Rolf Drechsler,et al.  Approximation-aware rewriting of AIGs for error tolerant applications , 2016, 2016 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[7]  Sandeep K. Gupta,et al.  Approximate logic synthesis for error tolerant applications , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[8]  Zhiru Zhang,et al.  Statistically certified approximate logic synthesis , 2017, 2017 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[9]  Yi Wu,et al.  An efficient method for multi-level approximate logic synthesis under error rate constraint , 2016, 2016 53nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[10]  Semeen Rehman,et al.  Architectural-space exploration of approximate multipliers , 2016, 2016 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

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

[12]  Lukás Sekanina,et al.  Evolutionary Approach to Approximate Digital Circuits Design , 2015, IEEE Transactions on Evolutionary Computation.

[13]  Muhammad Shafique,et al.  A low latency generic accuracy configurable adder , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[14]  Yi Wu,et al.  Approximate logic synthesis for FPGA by wire removal and local function change , 2017, 2017 22nd Asia and South Pacific Design Automation Conference (ASP-DAC).

[15]  Rakesh Kumar,et al.  On reconfiguration-oriented approximate adder design and its application , 2013, 2013 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[16]  Fabio Somenzi,et al.  CUDD: CU Decision Diagram Package Release 2.2.0 , 1998 .

[17]  Sandeep K. Gupta,et al.  A new circuit simplification method for error tolerant applications , 2011, 2011 Design, Automation & Test in Europe.

[18]  Robert K. Brayton,et al.  MIS: A Multiple-Level Logic Optimization System , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[19]  Sabrina Hirsch,et al.  Logic Minimization Algorithms For Vlsi Synthesis , 2016 .

[20]  Puneet Gupta,et al.  Trading Accuracy for Power with an Underdesigned Multiplier Architecture , 2011, 2011 24th Internatioal Conference on VLSI Design.

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

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

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

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

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

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

[27]  Andrew B. Kahng,et al.  Accuracy-configurable adder for approximate arithmetic designs , 2012, DAC Design Automation Conference 2012.

[28]  Chen Wang,et al.  Approximate Disjoint Bi-Decomposition and Its Application to Approximate Logic Synthesis , 2017, 2017 IEEE International Conference on Computer Design (ICCD).

[29]  Robert K. Brayton,et al.  SAT-based complete don't-care computation for network optimization , 2005, Design, Automation and Test in Europe.

[30]  Yong Zhang,et al.  An energy efficient approximate adder with carry skip for error resilient neuromorphic VLSI systems , 2013, 2013 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

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

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

[33]  Niklas Een,et al.  MiniSat v1.13 - A SAT Solver with Conflict-Clause Minimization , 2005 .

[34]  P. R. Stephan,et al.  SIS : A System for Sequential Circuit Synthesis , 1992 .

[35]  Andreas Gerstlauer,et al.  Approximate logic synthesis under general error magnitude and frequency constraints , 2013, 2013 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[36]  Kiat Seng Yeo,et al.  Low-power high-speed multiplier for error-tolerant application , 2010, 2010 IEEE International Conference of Electron Devices and Solid-State Circuits (EDSSC).

[37]  Jörg Hoffmann,et al.  From Sampling to Model Counting , 2007, IJCAI.

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

[39]  Gang Wang,et al.  Enhanced low-power high-speed adder for error-tolerant application , 2009, 2010 International SoC Design Conference.