- Input component
- Quality assurance component
- Approximation component
- Estimation component
- Search component
The Estimation component utilizes synthesis tools to synthesize the approximated circuits, i.e., a particular circuit configuration. From the synthesis reports, CIRCA extracts the circuit parameters of interest and attaches them to the circuit under investigation. In the search block, the circuit’s statistics is used to evaluate the approximated circuit, for example, with a heuristic function. In this way, the different circuits generated throughout the approximation process can be ranked to find the best-suited circuit for the user. Common target metrics are hardware area, circuit delay, and power or energy consumption.
CIRCA’s standard Estimation implementation is
abc_if. The implementation utilizes ABC’s
if command to perform a technology mapping to FPGA 4-LUTs. The reported circuit statistics are stored in a file in the directory approx_circuits. From these files CIRCA extracts the statistics of each circuit, i.e., area, delay, and power dissipation due to switching.
ABC’s if command provides some configuration parameters.
abc_if, however, does not provide these parameters in the configuration file. If you need to adjust the parameters, e.g., the number of the input of the LUTs, feel free to modify the code and extend the configuration possibilities.