{"id":13398888,"url":"https://github.com/lsils/lstools-showcase","last_synced_at":"2026-01-16T17:49:28.055Z","repository":{"id":30136507,"uuid":"124034201","full_name":"lsils/lstools-showcase","owner":"lsils","description":"Showcase examples for EPFL logic synthesis libraries","archived":false,"fork":false,"pushed_at":"2024-04-04T09:07:39.000Z","size":22276,"stargazers_count":155,"open_issues_count":1,"forks_count":30,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-04-05T03:06:37.414Z","etag":null,"topics":["examples","logic-synthesis"],"latest_commit_sha":null,"homepage":null,"language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lsils.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-06T06:51:24.000Z","updated_at":"2024-06-25T12:13:54.183Z","dependencies_parsed_at":"2024-06-25T12:24:04.080Z","dependency_job_id":null,"html_url":"https://github.com/lsils/lstools-showcase","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsils%2Flstools-showcase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsils%2Flstools-showcase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsils%2Flstools-showcase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsils%2Flstools-showcase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lsils","download_url":"https://codeload.github.com/lsils/lstools-showcase/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243437965,"owners_count":20290864,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["examples","logic-synthesis"],"created_at":"2024-07-30T19:00:32.472Z","updated_at":"2026-01-16T17:49:28.035Z","avatar_url":"https://github.com/lsils.png","language":"CSS","funding_links":[],"categories":["Projects (sorted by year)","Circuit Compilers"],"sub_categories":["2018"],"readme":"# The EPFL Logic Synthesis Libraries (Showcase)\n\nThe EPFL logic synthesis libraries are a collection of modular open source C++\nlibraries for the development of logic synthesis applications.  All libraries\nare well documented and well tested.  Being header-only, the libraries can be\nreadily used as core components in complex logic synthesis frameworks.  This\nshowcase repository presents several applications in which the libraries are\nused.\n\n## Libraries\n\n\u003cimg src=\"https://cdn.rawgit.com/msoeken/alice/master/alice.svg\" width=\"64\" height=\"64\" align=\"left\" style=\"margin-right: 12pt\" /\u003e\n\n**alice:** C++ command shell library \u003cbr\u003e\n[GitHub](https://github.com/msoeken/alice) | [Version 0.3 (July 22, 2018)](https://github.com/msoeken/alice/releases) | [Documentation](http://libalice.readthedocs.io/en/latest/) \u003cbr\u003e\nmaintained by Mathias Soeken\n\n\u003cimg src=\"https://cdn.jsdelivr.net/gh/lsils/bill@master/bill.svg\" width=\"64\" height=\"64\" align=\"left\" style=\"margin-right: 12pt\" /\u003e\n\n**bill:** C++ reasoning library \u003cbr\u003e\n[GitHub](https://github.com/lsils/bill) | [Version 0.1 (June 2, 2020)](https://github.com/lsils/bill/releases) |\n[Documentation](http://bill.readthedocs.io/en/latest/) \u003cbr\u003e\nmaintained by Bruno Schmitt\n\n\u003cimg src=\"https://raw.githubusercontent.com/gmeuli/caterpillar/master/docs/logoII.svg?sanitize=true\" width=\"64\" height=\"64\" align=\"left\" style=\"margin-right: 12pt\" /\u003e\n\n**caterpillar:** C++ quantum circuit synthesis library \u003cbr\u003e\n[GitHub](https://github.com/gmeuli/caterpillar) |\n[Documentation](https://qcaterpillar.readthedocs.io/en/latest/?badge=latest) \u003cbr\u003e\nmaintained by Giulia Meuli\n\n\u003cimg src=\"https://cdn.rawgit.com/hriener/easy/master/easy.svg\" width=\"64\" height=\"64\" align=\"left\" style=\"margin-right: 12pt\" /\u003e\n\n**easy:** C++ exclusive-or sum-of-product (ESOP) library\n \u003cbr\u003e\n[GitHub](https://github.com/hriener/easy) | [Documentation](http://easy.readthedocs.io/en/latest/) \u003cbr\u003e\nmaintained by Heinz Riener\n\n\u003cimg src=\"https://cdn.rawgit.com/msoeken/kitty/master/kitty.svg\" width=\"64\" height=\"64\" align=\"left\" style=\"margin-right: 12pt\" /\u003e\n\n**kitty:** C++ truth table library \u003cbr\u003e\n[GitHub](https://github.com/msoeken/kitty) | [Version 0.7 (March 13, 2020)](https://github.com/msoeken/kitty/releases) | [Documentation](http://libkitty.readthedocs.io/en/latest/) \u003cbr\u003e\nmaintained by Mathias Soeken and Siang-Yun (Sonia) Lee\n\n\u003cimg src=\"https://cdn.rawgit.com/hriener/lorina/master/lorina.svg\" width=\"64\" height=\"64\" align=\"left\" style=\"margin-right: 12pt\" /\u003e\n\n**lorina:** C++ parsing library \u003cbr\u003e\n[GitHub](https://github.com/hriener/lorina) | [Version 0.2 (October 18, 2018)](https://github.com/hriener/lorina/releases) | [Documentation](http://lorina.readthedocs.io/en/latest/) \u003cbr\u003e\nmaintained by Heinz Riener\n\n\u003cimg src=\"https://cdn.rawgit.com/lsils/mockturtle/master/mockturtle.svg\" width=\"64\" height=\"64\" align=\"left\" style=\"margin-right: 12pt\" /\u003e\n\n**mockturtle:** C++ logic network library \u003cbr\u003e\n[GitHub](https://github.com/lsils/mockturtle) | [Version 0.3 (July 12, 2022)](https://github.com/lsils/mockturtle/releases) | [Documentation](http://mockturtle.readthedocs.io/en/latest/) \u003cbr\u003e\nmaintained by Siang-Yun (Sonia) Lee\n\n\u003cimg src=\"https://cdn.rawgit.com/whaaswijk/percy/master/percy.svg\" width=\"64\" height=\"64\" align=\"left\" style=\"margin-right: 12pt\" /\u003e\n\n**percy:** C++ exact synthesis library \u003cbr\u003e\n[GitHub Dev](https://github.com/lsils/percy) |\n[GitHub](https://github.com/whaaswijk/percy) |\n[Version 0.1.2 (May 12, 2018)](https://github.com/whaaswijk/percy/releases/) |\n[Documentation](http://percy.readthedocs.io/en/latest/) \u003cbr\u003e\nmaintained by Winston Haaswijk\n\n\u003cimg src=\"https://cdn.rawgit.com/boschmitt/tweedledum/master/tweedledum.svg\" width=\"64\" height=\"64\" align=\"left\" style=\"margin-right: 12pt\" /\u003e\n\n**tweedledum:** C++ quantum compilation library \u003cbr\u003e\n[GitHub](https://github.com/boschmitt/tweedledum) | [Version 1.1.1 (September 8, 2021)](https://github.com/boschmitt/tweedledum/releases) | [Documentation](https://tweedledum.readthedocs.io/en/latest/) \u003cbr\u003e\nmaintained by Bruno Schmitt\n\n\u003cimg src=\"https://github.com/fmozafari/angel/blob/master/angel.svg\" width=\"64\" height=\"64\" align=\"left\" style=\"margin-right: 12pt\" /\u003e\n\n**angel:** C++ quantum state preparation library \u003cbr\u003e\n[GitHub](https://github.com/fmozafari/angel) |\n[Documentation](https://libangel.readthedocs.io/en/latest) \u003cbr\u003e\nmaintained by Fereshte Mozafari\n\n## Examples\n\n**[abc](examples/abc):** A tiny [ABC](https://bitbucket.org/alanmi/abc) clone that uses alice for creating the CLI shell\n\n**[countluts](examples/countluts):** Count and classify LUT functions in a BENCH file\n\n**[exactmine](examples/exactmine):** Mine optimum Boolean networks from truth tables\n\n## External projects using the EPFL Logic Synthesis Libraries\n\n[LSOracle](https://github.com/LNIS-Projects/LSOracle) (*University of Utah, UT, USA*)\n\n[fiction](https://github.com/cda-tum/fiction) (part of the [*Munich Nanotech\nToolkit* (MNT)](https://www.cda.cit.tum.de/research/nanotech/mnt/), *Technical University of Munich, Germany*)\n\n[ropper](https://gitlab.com/formigoni/ropper) (Ruan Formigoni, *Federal University of Viçosa, Brazil*)\n\n[NetlistDB](https://github.com/HardwareIR/netlistDB/) (Michal Orsak, *Brno University of Technology, Czech Republic*)\n\n[PandA](https://github.com/ferrandi/PandA-bambu/) (Fabrizio Ferrandi, *Politecnico di Milano, Italy*)\n\n[LiveHD](https://github.com/masc-ucsc/livehd/) (Jose Renau, *University of California, Santa Cruz, CA, USA*)\n\n[staq](https://github.com/softwareQinc/staq/) (*SoftwareQ Inc., ON, Canada*)\n\n[ALSO](https://github.com/nbulsi/also/) (Zhufei Chu, *Ningbo University, China*)\n\nIf 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.\n\n## Events\n\n* **July 2021:** Presentation at [*Logic Synthesis Software School*](https://hriener.github.io/lsss21.html) (virtual).\n* **June 2019:** Presentation at [*Logic Synthesis Software School*](https://hriener.github.io/lsss19.html) in Lausanne, Switzerland.\n* **June 2019:** Presentation at [*Workshop on Open Source EDA Tools*](https://fossi-foundation.org/wosh/) in Zurich, Switzerland.\n* **Februrary 2019:** Presentation at [*FOSDEM CAD and Open Hardware devroom*](https://fosdem.org/2019/schedule/event/epfl_logic_synthesis/) in Brussels, Belgium.\n* **November 2018:** Presentation at the [*Workshop on Open-Source EDA Technology*](http://scale.engin.brown.edu/woset/) in San Diego, CA, USA.\n* **August 2018:** Presentation at the [*IEEE CASS Seasonal School on Logic Synthesis*](http://inf.ufrgs.br/cass/ls/) in Porto Alegre, Brazil.\n* **June 2018:** Presentation at the [*27th International Workshop on Logic Synthesis*](http://www.iwls.org/iwls2018/) in San Francisco, CA, USA.\n\n## Reference\n\nThe EPFL logic synthesis libraries are explained in the paper [*The EPFL Logic Synthesis Libraries*](https://arxiv.org/abs/1805.05121), presented at the [*International Workshop on Logic Synthesis 2018*](http://www.iwls.org/iwls2018/).\n\nIf you use the EPFL logic synthesis libraries in your research work and experimental evaluation, we'd be happy if you cite:\n\n* 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**\n\n* A second revised version (June, 2022) of this work is available at **arXiv:1805.05121v3**:\n\n```bibtex\n@misc{EPFLLibraries,\n  author = {Soeken, Mathias and\n            Riener, Heinz and\n            Haaswijk, Winston and\n            Testa, Eleonora and\n            Schmitt, Bruno and\n            Meuli, Giulia and\n            Mozafari, Fereshte and\n            Lee, Siang-Yun and\n            Tempia Calvino, Alessandro and\n            Marakkalage, Dewmini Sudara\n            De Micheli, Giovanni},\n  title = {The {EPFL} logic synthesis libraries},\n  archivePrefix = \"arXiv\", \n  note = {arXiv:1805.05121v3},\n  year = 2022,\n  month = jun\n}\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flsils%2Flstools-showcase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flsils%2Flstools-showcase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flsils%2Flstools-showcase/lists"}