Busperf
Copyright (c) 2025 Antmicro
Busperf helps analyze bus performance and identify throughput bottlenecks based on simulation traces. It ingests VCD/FST files with an accompanying bus description in YAML, then generates both visual and textual statistics on bus activity. This helps users quickly identify buses with low utilization or high backpressure. Additionally, the tool supports Python plugins for analyzing custom bus protocols.
Usage
Install and run
Shell completion can be generated as described here.
GUI

In the panel on the left, there is a selectable list of the analyzer buses. In the main panel on top, there is an overview of the statistics of the selected bus. Below, there are two plot areas, for each you can select what type of statistics you want to view in it.
Shortcuts
- up arrow: move bus selection up
- down arrow: move bus selection down
- Plots:
- double left click: reset plot view
- right click: open in surfer
Documentation
User docs can be found at antmicro.github.io/busperf/.
Developer docs can be generated with:
Examples
- Print statistics about the bus described in
test.yamlwith traces fromtest.vcd
- Print all statistics and set max burst delay to 1
- Write statistics to
stat.csvformatted as CSV
- Print statistics to stdout in the md format
- Write pretty printed statistics to
out
- Clean files generated from examples
Build with generate-html feature
To allow Busperf to generate html with embedded viewer and analysis data you need to enable optional generate-html feature.
For that you need cargo with additional target wasm32-unknown-unknown and wasm-bindgen-cli installed.
Then you can build with cargo. Keep in mind that Busperf's build script can take some time, because it has to compile the viewer.
Build Busperf viewer for WASM
Busperf's data viewer can be compiled to WASM. This allows viewing data files generated by Busperf in a browser.
Build and serve with trunk:
Only build:
The output of the build will be available in the busperf_web/dist directory. It can be served with any http server.