This program produces a quick, rough estimate of the energy consumed by a given circuit for a given simulation, as represented by the .out trace file produced by a TimeMill® simulation, together with the corresponding capacitance information. A list is produced of the energy consumption at each node in the design, together with the total energy consumed by the circuit. The power may then be obtained by dividing these energy results by the simulated duration.

The results produced are only an estimate and even though the results a presented in terms of Joules, the actual numbers should be treated with a pinch of salt since there are a number of inaccuracies in the calculations used. Nevertheless, the results do make it clear which are the most energy consuming sections of a circuit and can be used to give a rough feel for the total energy consumption. If you require more accurate power analyses and you have the money, the producers of TimeMill® have a companion tool called PowerMill.


           pest  tracefile [capfile]
The name of the design unit you wish to process. The name may include the .out extension for the trace file, but the .out extensions is assumed if it is not given. This filename may be used to derive the name of the capacitance file.

The name of the file that contains the capacitance at each node (as produced by TimeMill®). The name may include the .cap extension for this file, but that will be assumed if it is not explicitly included. If this optional argument is not given on the command line the capacitance information is searched for in tracefile.cap. The capacitances are assumed to be measured in femtofarads.

Output Files

Output is written to stdout. Errors are logged on stderr.

The output produced by the tool should be self explanatory, but can be very long winded since it lists the energy consumption for every node. To avoid having to read the whole file, the most important information is placed at the start of the file, starting with the total energy consumption, followed by the list of the energy consumed at each node, sorted in descending order of consumption.

Detailed behaviour

The power estimation is based on the calculation that the energy consumed by a single signal transition is: 1/2 * C * V^2. This represents the energy required to change the voltage at this particular node in the face of the capacitance attached to it. By summing this result for all the transitions, for all the nodes, a total energy consumption may be calculated.

This calculation is based on the dynamic power consumption which is the largest factor in the total power consumption for CMOS circuits. It ignores the static leakage current and the crowbar current that flows through the transistor stack during the short time that both the P and N transistors are active. It has been suggested that these sources of power consumption account for 10-20% of the total power, so the tool may be expected to produce an under estimate of the power consumption.

Other inaccuracies also creep into the estimate:

Implementation Language

Perl release 5.001d or greater.

Copyright and licence

The copyright and any intellectual property rights associated with this work are retained by the author and the University of Manchester, but permission is granted to freely copy, distribute, modify and use this software under certain conditions, as described in the Artistic Licence (with the deletion of clause 8). This licence is obtained from the Perl distribution.

Source Code

Subject to the licensing arrangements described above, the source code may be obtained from

TimeMill is a registered trademark of EPIC Design Technology Inc, 2901 Tasman drive, Suite 212, Sata Clara, CA 95054.

     PROJECT LOGO This software was developed as part of the OMI HORN project at the University of Manchester Department of Computer Science, funded as part of the European Union ESPRIT initiative (project number 7249).

Rhod Davies (
This page last modified Tue Apr 9 1996 10:45:22