Git Product home page Git Product logo

power-analysis-approx-computing's Introduction

Power analysis in approximate computing

This repository has been created as part of the "Digital Systems Design Methodologies" course at Politecnico di Milano.

The aim of the project was to synthesize different arithmetic components of approximate computing and study their power consumption.
The tools used are AUGER to generate Verilog code and Error Rate metric and OpenROAD for synthesis and report. All analysis was made on WSL2 on a Windows 10 machine.

In Review.pdf, the conclusions of the analysis can be read.

Execution

For each approximate component there is a TCL script for linking AUGER's file generation and OpenROAD systhensis. Each script needs some parameter to be pass by command line - read each file for better infos.
For AMA, AXA and InXA, where there are different versions of the same design, the design version can be specified as last command line parameter. If the parameter is ommitted, all the versions are generated and synthetized.

Script Required parameter Description
ama bw
l
version
Units bit-width
Bits to approximate
AMA version (optional)
axa bw
l
version
Units bit-width
Bits to approximate
AXA version (optional)
inxa bw
l
version
Units bit-width
Bits to approximate
InXA version (optional)
gear bw
r
p
Units bit-width
R bits
P bits
rca bw Units bit-width
drum bw
l
Units bit-width
Bits to approximate
roba bw Units bit-width
mult bw Units bit-width

Parameters must be passed in the exact order
Change AUGER and OpenROAD directories in each script

References

Approximate Adders

  • AMA: V. Gupta, D. Mohapatra, A. Raghunathan, and K. Roy, "Low-Power Digital Signal Processing Using Approximate Adders”, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Jan 2013.
  • AXA: Z. Yang, A. Jain, J. Liang, J. Han and F. Lombardi, "Approximate XOR/XNOR-based adders for inexact computing", 2013 13th IEEE International Conference on Nanotechnology (IEEE-NANO 2013), Beijing, 2013.
  • InXA: H. A. F. Almurib, T. N. Kumar and F. Lombardi, "Inexact designs for approximate low power addition by cell replacement", 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE), Dresden, 2016.
  • GeAr: M. Shafique, W. Ahmad, R. Hafiz and J. Henkel, "A low latency generic accuracy configurable adder", 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC), San Francisco, CA, 2015

Approximate Multipliers

  • DRUM: S. Hashemi, R. I. Bahar and S. Reda, "DRUM: A Dynamic Range Unbiased Multiplier for Approximate Applications", 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), Austin, TX, 2015.
  • RoBA: R. Zendegani, M. Kamal, M. Bahadori, A. Afzali-Kusha, and M. Pedram, “RoBA Multiplier: A Rounding-Based Approximate Multiplier for High-Speed yet Energy-Efficient Digital Signal Processing", IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Feb 2017.

Tools

  • AUGER (GitLab): Deykel Hernández-Araya, Jorge Castro-Godínez, Muhammad Shafique and Jörg Henkel, "AUGER: A Tool for Generating Approximate Arithmetic Circuits", IEEE Latin American Symposium on Circuits and Systems – LASCAS 2020, San José, Costa Rica, February 25 - 28, 2020.
  • OpenROAD: https://openroad.readthedocs.io/en/latest/index.html

power-analysis-approx-computing's People

Contributors

dade145 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

mfkiwl

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.