pexact (power-exact) is an exact synthesis command for logic networks optimized for minimal switching activity as a proxy for power consumption. It is based on ABC's twoexact command for exact synthesis of 2-input logic networks, but optimizes for switching activity instead of node count.
This plugin implements the algorithms described in the paper "Exact Synthesis with Optimal Switching Activity" presented at the Design, Automation and Test in Europe (DATE) conference 2026.
To use this plugin with ABC:
-
Clone ABC from the official repository:
git clone https://github.com/berkeley-abc/abc.git cd abc -
Clone this plugin into ABC's
src/directory:cd src git clone https://github.com/cda-tum/ext-pexact.git cd ..
-
Build ABC with the plugin:
make
-
Run ABC and use the
pexactcommand:./abc abc 01> pexact
- C++ compiler with C++17 support
- Build tools:
make,gcc/g++ - ABC development dependencies
This repository uses automated code quality tools:
-
pre-commit hooks: Ensure code formatting and quality checks before commits
pip install pre-commit pre-commit install
-
clang-format: Automatic C++ code formatting
- Configuration:
.clang-format - Applied automatically via pre-commit hooks
- Configuration:
-
clang-tidy: Static analysis and linting for C++ code
- Configuration:
.clang-tidy - Rules based on C11 best practices
- Only applies to new plugin code, not legacy ABC code (rules are too strict for ABC)
- Runs automatically in CI workflow
- Configuration:
-
GitHub Actions CI: Automated integration tests on pull requests
- Tests integration with ABC on Ubuntu, macOS, and Windows
- Validates the plugin builds and the
pexactcommand executes - Runs weekly on Fridays to catch upstream ABC changes
- Make your modifications to the plugin code
- Pre-commit hooks will automatically format your code
- Push your changes and create a pull request
- CI workflow will validate integration with ABC
If you use this software in your research, please cite:
@inproceedings{walter2026pexact,
author = {Walter, Marcel and Feldmeier, Michael and Will, Robert},
title = {{Exact Synthesis with Optimal Switching Activity}},
booktitle = {Design, Automation and Test in Europe (DATE)},
year = {2026}
}This project is licensed under the MIT License - see the LICENSE.md file for details.
This work has been supported by the Bavarian State Ministry for Science and Arts through the Distinguished Professorship Program.