The EPFL logic synthesis libraries are a collection of modular open source C++ libraries for the development of logic synthesis applications. All libraries are well documented and well tested. Being header-only, the libraries can be readily used as core components in complex logic synthesis frameworks. This showcase repository presents several applications in which the libraries are used.
alice: C++ command shell library
GitHub | Version 0.3 (July 22, 2018) | Documentation
maintained by Mathias Soeken
bill: C++ reasoning library
GitHub | Version 0.1 (June 2, 2020) |
Documentation
maintained by Bruno Schmitt
caterpillar: C++ quantum circuit synthesis library
GitHub |
Documentation
maintained by Giulia Meuli
easy: C++ exclusive-or sum-of-product (ESOP) library
GitHub | Documentation
maintained by Heinz Riener
kitty: C++ truth table library
GitHub | Version 0.7 (March 13, 2020) | Documentation
maintained by Mathias Soeken and Siang-Yun (Sonia) Lee
lorina: C++ parsing library
GitHub | Version 0.2 (October 18, 2018) | Documentation
maintained by Heinz Riener
mockturtle: C++ logic network library
GitHub | Version 0.3 (July 12, 2022) | Documentation
maintained by Siang-Yun (Sonia) Lee
percy: C++ exact synthesis library
GitHub Dev |
GitHub |
Version 0.1.2 (May 12, 2018) |
Documentation
maintained by Winston Haaswijk
tweedledum: C++ quantum compilation library
GitHub | Version 1.1.1 (September 8, 2021) | Documentation
maintained by Bruno Schmitt
angel: C++ quantum state preparation library
GitHub |
Documentation
maintained by Fereshte Mozafari
abc: A tiny ABC clone that uses alice for creating the CLI shell
countluts: Count and classify LUT functions in a BENCH file
exactmine: Mine optimum Boolean networks from truth tables
LSOracle (University of Utah, UT, USA)
fiction (part of the Munich Nanotech Toolkit (MNT), Technical University of Munich, Germany)
ropper (Ruan Formigoni, Federal University of Viçosa, Brazil)
NetlistDB (Michal Orsak, Brno University of Technology, Czech Republic)
PandA (Fabrizio Ferrandi, Politecnico di Milano, Italy)
LiveHD (Jose Renau, University of California, Santa Cruz, CA, USA)
staq (SoftwareQ Inc., ON, Canada)
ALSO (Zhufei Chu, Ningbo University, China)
If you are using the EPFL logic synthesis libraries in a project, we'd be happy to hear about it and list your project in this list.
- July 2021: Presentation at Logic Synthesis Software School (virtual).
- June 2019: Presentation at Logic Synthesis Software School in Lausanne, Switzerland.
- June 2019: Presentation at Workshop on Open Source EDA Tools in Zurich, Switzerland.
- Februrary 2019: Presentation at FOSDEM CAD and Open Hardware devroom in Brussels, Belgium.
- November 2018: Presentation at the Workshop on Open-Source EDA Technology in San Diego, CA, USA.
- August 2018: Presentation at the IEEE CASS Seasonal School on Logic Synthesis in Porto Alegre, Brazil.
- June 2018: Presentation at the 27th International Workshop on Logic Synthesis in San Francisco, CA, USA.
The EPFL logic synthesis libraries are explained in the paper The EPFL Logic Synthesis Libraries, presented at the International Workshop on Logic Synthesis 2018.
If you use the EPFL logic synthesis libraries in your research work and experimental evaluation, we'd be happy if you cite:
-
Mathias Soeken, Heinz Riener, Winston Haaswijk, and Giovanni De Micheli: “The EPFL Logic Synthesis Libraries”, Int'l Workshop on Logic Synthesis, 2018, pre-print available at arXiv:1805.05121
-
A second revised version (June, 2022) of this work is available at arXiv:1805.05121v3:
@misc{EPFLLibraries,
author = {Soeken, Mathias and
Riener, Heinz and
Haaswijk, Winston and
Testa, Eleonora and
Schmitt, Bruno and
Meuli, Giulia and
Mozafari, Fereshte and
Lee, Siang-Yun and
Tempia Calvino, Alessandro and
Marakkalage, Dewmini Sudara
De Micheli, Giovanni},
title = {The {EPFL} logic synthesis libraries},
archivePrefix = "arXiv",
note = {arXiv:1805.05121v3},
year = 2022,
month = jun
}