Copyright (c) 2024-2025 Antmicro
trace2power is a tool that can read VCD and FST signal traces and extract accumulated power activity data for use with power analysis tools.
The tool can export the data into two distinct formats:
- tcl - a Tcl procedure containing calls for setting power activity data in
OpenSTA. This was the original intended usage and it
allows significantly faster trace processing than loading VCDs directly to OpenSTA using
read_vcd. - saif - A "Backwards SAIF" file (IEEE 1801-2018 (Annex I.3)). This format should be compatible with more tools.
trace2power can also optimize out irrelevant signals or scopes. Those optimizations will usually require providing a netlst file generated with Yosys.
Note that trace2power requires rustc 1.80.1 or newer.
This is a standard cargo package. Cargo comes bundled with the standard Rust installation: https://www.rust-lang.org/tools/install.
You can build the app and install it using
cargo install --path .or just build the binary:
cargo build --releaseThe binary will be located at target/release/trace2power
trace2power [OPTIONS] --clk-freq <CLK_FREQ> <INPUT_FILE>Run trace2power --help for detailed descriptions of available options.
Check out the examples README for instructions for running test examples and for a description of a flow used to test trace2power.