Error Analysis and Optimization in Approximate Arithmetic Circuits

This chapter presents a comprehensive study of various error analysis methodologies for evaluating the accuracy of approximate circuits, and the importance of such methodologies in their design. Although approximate circuits leverage the inherent perceptual limitations of human senses, they should be deployed in a manner that does not compromise user experience. In other words, the errors introduced due to using approximate circuits should be within acceptable margins. These margins depend on the target applications, and a systematic approach is required to ensure that the designed approximate circuit indeed meets the specifications in terms of the margins. The first step in achieving this goal is to obtain the error introduced in the output of the circuit due to approximation, and the first part of this chapter discusses various metrics to quantify that error. Since the error not only depends on the circuit structure, but also on the input vectors, these metrics are derived statistically. The error is then modeled as a function of various design parameters of the circuit, as well as the statistics of the input vector. The second part of the chapter discusses these modeling techniques in detail for various types of approximate circuits. Finally, the error model is utilized during the design phase to limit the maximum inaccuracy in approximate circuits. In other words, similar to the timing, power, and area constraints in regular circuit design, error is treated as an additional constraint for approximate circuit design. In this connection, the last part of this chapter discusses a set of optimization algorithms for circuit design using this additional error constraint.

[1]  Sachin S. Sapatnekar,et al.  SABER: Selection of approximate bits for the design of error tolerant circuits , 2017, 2017 54th ACM/EDAC/IEEE Design Automation Conference (DAC).

[2]  E.E. Swartzlander Truncated multiplication with approximate rounding , 1999, Conference Record of the Thirty-Third Asilomar Conference on Signals, Systems, and Computers (Cat. No.CH37020).

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

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

[5]  Andreas Gerstlauer,et al.  Statistical quality modeling of approximate hardware , 2016, 2016 17th International Symposium on Quality Electronic Design (ISQED).

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

[7]  Douglas L. Jones,et al.  Stochastic computation , 2010, Design Automation Conference.

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

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

[10]  John Lach,et al.  A methodology for energy-quality tradeoff using imprecise hardware , 2012, DAC Design Automation Conference 2012.

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

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

[13]  P. R. Nelson The algebra of random variables , 1979 .

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

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

[16]  Sachin S. Sapatnekar,et al.  Optimal design of JPEG hardware under the approximate computing paradigm , 2016, 2016 53nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[17]  Peng Li,et al.  Array-Based Approximate Arithmetic Computing: A General Model and Applications to Multiplier and Squarer Design , 2015, IEEE Transactions on Circuits and Systems I: Regular Papers.

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

[19]  J. Stolfi,et al.  An Introduction to Affine Arithmetic , 2003 .

[20]  Sachin S. Sapatnekar,et al.  FEMTO: Fast error analysis in Multipliers through Topological Traversal , 2015, 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[21]  G.S. Moschytz,et al.  Practical fast 1-D DCT algorithms with 11 multiplications , 1989, International Conference on Acoustics, Speech, and Signal Processing,.

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

[23]  Alan C. Bovik,et al.  Mean squared error: Love it or leave it? A new look at Signal Fidelity Measures , 2009, IEEE Signal Processing Magazine.

[24]  Sachin S. Sapatnekar,et al.  An Analytical Approach for Error PMF Characterization in Approximate Circuits , 2019, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[25]  Caro Lucas,et al.  Bio-Inspired Imprecise Computational Blocks for Efficient VLSI Implementation of Soft-Computing Applications , 2010, IEEE Transactions on Circuits and Systems I: Regular Papers.