This paper presents MAxPy, a framework for bridging approximate computing (AxC) circuit design to its applications. MAxPy is an application-agnostic framework able to automatically build a cycle-accurate Python model of an approximate hardware design. This model can easily be emulated and integrated as a module in Python-based applications. We are herein proposing this framework aiming to build an AxC toolbox stimulating open research in academia to promote the integration of the existing and future open-source (i) AxC benchmarks, (ii) approximate logic synthesis tools, and (iii) P unit insights. In this paper, we demonstrate the use of MAxPy to explore the AxC design space of a Sobel filter hardware design as a case study exploiting a set of approximate adders combined with the data-driven approximate logic synthesis via probabilistic pruning. Then, we present a Pareto front for circuit area, energy, and delay reduction versus the application-level metrics: edge detection accuracy and structural similarity index (SSIM). The Pareto front results of the multiple AxC techniques herein explored show circuit area savings ranging from 40.4% to 59.1% for a 98.1% to 99.6% accuracy on edge detection application MAxPy code is open source in: github.com/MAxPy-Project
Read full abstract