For Approximate Computing on the circuit level, we have two frameworks in our group: CIRCA and VEGAxC. The goal of the project is to extend both frameworks by novel methods.
CIRCA is an approximation framework for digital circuits that implements a typical approximation flow, iterating the following steps:
- explore the search space and find new approximate circuits (AxCs),
- generate the explored AxCs,
- determine circuit parameters, and
- verify the quality of the individual AxCs after generation.
CIRCA is designed as an experimentation environment in the field of Approximate Computing to evaluate new methods and foster comparative studies. Hence, CIRCA's design is general and modular so that CIRCA is not limited to specific techniques, i.e., CIRCA can be extended by new search algorithms, approximation techniques, or verification techniques. In the past, we have focused our research on the implementation and evaluation of search methods. This project focuses on CIRCA's extension by new approximation techniques and a comparative study.
VEGAxC proposes a novel approximation flow by first formally verifying the quality of every AxC in the search space rather than verifying an AxC after it has been explored and generated, as done in the typical flow. In its current state, VEGAxC verifies the search space and returns a set of quality bounds for certain components of the input circuit. If the components adhere to their given quality bounds, VEGAxC guarantees that the resulting AxC will satisfy the user-specified quality bounds of the overall circuit. A subsequent approximation flow that utilizes the quality bound information to generate AxCs, however, is missing. Thus, the group will design and implement such a flow - ideally, utilizing the new approximation techniques in CIRCA.