Statistical Error Analysis for Low Power Approximate Adders

Muhammad Kamran Ayub, Osman Hasan, Muhammad Shafique

Low-power approximate adders provide basic building blocks for approximate computing hardware that have shown remarkable energy efficiency for error-resilient applications (like image/video processing, computer vision, etc.), especially for battery-driven portable systems. In this paper, we present a novel scalable, fast yet accurate analytical method to evaluate the output error probability of multi-bit low power adders for a predetermined probability of input bits. Our method recursively computes the error probability by considering the accurate cases only, which are considerably smaller than the erroneous ones. Our method can handle the error analysis of a wider-range of adders with negligible computational overhead. To ensure its rapid adoption in industry and academia, we have open-sourced our LabVIEW and MATLAB libraries.

LabView Code Files

Instructions to Run Lab View Codes

You need LabVIEW version 2015 or later to view these codes. If you are working on previous LabVIEW version, please write us an email so that we may provide the codes for previous versions.

To Run the LabVIEW Code, please follow below:

  1. Install LabVIEW 2015 or later
  2. Open project file with name “LPAA Error Analysis Code for LabVIEW”
  3. For Statistical Error Analysis, open “LPAA Statistical Error Analysis” and follow instructions as on Front Panel
  4. For Exhaustive Simulation Analysis/Validations, open “LPAA Exhaustive Simulation Based Error Analysis” and follow instructions as on Front Panel

MATLAB Code Files

Instructions to Run MATLAB Code

The above MATLAB code contains two ".m" files namely DAC.m and DAC_HybridLPAA_Ext.m

DAC.m contains the code which is the interpretation of basic algorithm as given in my DAC paper (referenced in the code). User needs to input:

  1. Probabilities of input operands
  2. Carryin Probability
  3. LPAA type

The code in the file DAC_HybridLPAA_Ext.m is the extension of above algorithm for its use (error analysis) with different types of LPAA in a same multi-bit adder. The user need to:

  1. Input the array of LPAA type depending on the type of LPAA used

Contact Information

Muhammad Kamran Ayub is Post Graduate students of Electrical Engineering at NUST School of Electrical Engineering & Computer Science. He is working on this project in the System Analysis & Verification (SAVE) Lab of NUST-SEECS, under the supervision of Dr. Osman Hasan.