Approximate computing is a novel computing method whose solution (or output) does not have to be exact. It has been focused in recent years since it makes designers to design lower power, higher performance, and smaller area circuits by sacrificing exactness of computing solution or results. There are two approximation methods in approximate computing; functional and timing approximation. The former is to descript circuit behavior dierently from original version. The latter is achieved by “voltage overscaling manner."
In approximate computing, exactness of output data is represented by ”output quality," which is given by circuit architect or user. Since output quality is main constraint to design circuits, which are employing approximate computing, steps to analyze or measure output quality are necessary in design flow. Basically, output quality of approximated circuits is obtained by comparing approximated output data with exact data. For functionally-approximated circuits, this can be achieved by using vector or functional simulation. However, so far, there is no efficient output quality analysis methods for circuits of timing-approximate computing. In addition, reducing supply voltage while unchanging initial circuit netlist may induce non-optimal result at scaled voltage. Therefore, it is open to optimize netlist that is employing timing-approximate computing. In this thesis, a method to analyze output quality for timing-approximated circuits is proposed first. Then, optimization method for circuits approximated in terms of timing is proposed to save more energy.
Experimental results on a few test circuits reveals that circuit optimization with timing approximation reduce more 30% of energy on average, compared that energy of circuits, which uses only timing approximation. And improved output quality are accounted for 8% on average.