Exchangeable components¶
- Input component
- QualityAssurance component
- Estimation component
- Search component
- Output component
Estimation component¶
Note
The Estimation component is not customizable yet.
The Estimation component is used by the framework to generate statistics of the circuits generated during the approximation process. Statistics of interest are, for example, area, delay, power, energy, and error. These statistics can either be directly used or incorporated into a heuristic to compare circuits with each other. This information can then guide the search to improve the target metric. CIRCA currently invokes ABC’s if command to synthesize a circuit and to obtain estimations about area, delay, and power dissipation due to switching.
Functions¶
estimateCircuitStats(nodes: List<Node>): None¶
This method implements the main functionality of the Estimation stage. It is called each time the approximation stage yields another set of approximated circuits. As for all stages, the circuits are represented by their
Nodes, hence the parameter of the method is a list ofNodeinstances.Every
Nodehas a parameter calledstatswhich contains a dictionary. Initially, this dictionary is empty, and it is this method’s task to fill in useful statistics in the form of key-value entries like"statName": statValuewherestatNameis one of the supported metrics andstatValueis its value of typefloat, orNoneif no value for this metric was found.