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
Node
s, hence the parameter of the method is a list ofNode
instances.Every
Node
has a parameter calledstats
which 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": statValue
wherestatName
is one of the supported metrics andstatValue
is its value of typefloat
, orNone
if no value for this metric was found.