CIRCA: Towards a Modular and Extensible Framework for Approximate Circuit Generation
Abstract Existing approaches and tools for the generation of approximate circuits often lack generality and are restricted to certain circuit types, approximation techniques, and quality assurance methods. Moreover, only few tools are publicly available. This hinders the development and evaluation of new techniques for approximating circuits and their comparison to previous approaches. In this paper, we first analyze and classify related approaches and then present CIRCA, our flexible framework for search-based approximate circuit generation. CIRCA is developed with a focus on modularity and extensibility to foster comparability of different techniques. We present the architecture of CIRCA with its distinct separation into stages and processing blocks. This separation makes CIRCA flexible, allowing developers to extend it by new methods and enabling users to exchange the employed functionality quickly. To highlight CIRCA's benefits and its flexibility, we conduct a case study which focuses on the impact of the employed search method and approximation technique. We use a set of circuits from our approximate computing benchmark suite PaderBench to evaluate and compare the quality of the approximated circuits generated with the different methods.