SyReC - A Programming Language for Synthesis of Reversible Circuits
Project description
SyReC Synthesizer: An MQT Tool for the Synthesis of Reversible Circuits
A tool for HDL-based synthesis of reversible circuits developed by the Chair for Design Automation at the Technical University of Munich. The SyReC Synthesizer is part of the Munich Quantum Toolkit (MQT) and builds upon our quantum functionality representation (QFR).
If you have any questions, feel free to contact us via quantum.cda@xcit.tum.de or by creating an issue on GitHub.
Getting Started
The SyReC Synthesizer is available via PyPI for Linux, macOS, and Windows.
- In order to make the library as easy to use as possible (without compilation), we provide pre-built wheels for most common platforms (64-bit Linux, MacOS, Windows). These can be installed using
(venv) $ pip install mqt.syrec
- Once installed, start the SyReC Synthesizer GUI by running:
(venv) $ syrec-editor
Detailed documentation on all available methods, options, and input formats is available at ReadTheDocs.
System Requirements and Building
The implementation is compatible with any C++17 compiler and a minimum CMake version of 3.14. Please refer to the documentation on how to build the project.
Building (and running) is continuously tested under Linux, macOS, and Windows using the latest available system versions for GitHub Actions.
References
SyReC Synthesizer has been developed based on methods proposed in the following papers:
[1] R. Wille, S. Offermann, and R. Drechsler. SyReC: A Programming Language for Synthesis of Reversible Circuits. In Forum on Specification and Design Languages (FDL), 2010.
[2] R. Wille, E. Schönborn, M. Soeken, and R. Drechsler. SyReC: A hardware description language for the specification and synthesis of reversible circuits. Integration (The VLSI Journal), 2016.
[3] R. Wille, M. Haghparast, S. Adarsh, and T. Manjunath. Towards HDL-based Synthesis of Reversible Circuits with No Additional Lines. In International Conference on Computer Aided Design (ICCAD), 2019.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for mqt.syrec-1.0.0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 913da5496ef83141fd06041b7e1f53a2245232381841dce660e6ed2cb62fa89f |
|
MD5 | fac291e9a96b1cea3b6365be51a162dc |
|
BLAKE2b-256 | 99b00a9155847b3f79304b89b353a4a6a6419b6b7710863116e1f3222e9438c3 |
Hashes for mqt.syrec-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b6f3aa959e1a849692710da2b9ba2ce78e1e24b6ecaaa9f51b2885152021cd3 |
|
MD5 | baf8ffaa898236219c1955133b6779a1 |
|
BLAKE2b-256 | 3060bf6e9226b1842f9ccd61403a4f5ece1466cd15b102e7bcacf8ab12d72c5e |
Hashes for mqt.syrec-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5bdf32f731b69136a33675c24ef766e8f4d8928ffa5109cef803cd95bafcaf1f |
|
MD5 | 6036e7149e475f5d65759826490ee953 |
|
BLAKE2b-256 | 44e85beefee119f1743eccad561ec974908b7c5fb9433a64c3b97b9a7af147aa |
Hashes for mqt.syrec-1.0.0-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70143d666e60e5f74ed9b50f392d89bc652cd88a41f76584f1fa95d90627c133 |
|
MD5 | 110965a705fbf8898546e50d999d172b |
|
BLAKE2b-256 | 475b54f8360456aea0037767d3de2de1770fd5afb079a72b2acecbb347f65e47 |
Hashes for mqt.syrec-1.0.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35d02b241ff51be5914521cc7d8a6cf857601af79dad1a9b050effdde3bda355 |
|
MD5 | d0fa3c5c1ae78a6c60ac3155632b53e3 |
|
BLAKE2b-256 | d0c756c9669d656f71b6698865574fc9c27235274d151741a06c16885501c275 |
Hashes for mqt.syrec-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97fd2407d76e2201431748079c27ae90ab6818970c2ada883d1f5e9b79ed99e4 |
|
MD5 | c945f69536c11397afec9c8fdd87e130 |
|
BLAKE2b-256 | 99cdbfa8d7d1dedf94d05cd7f789eb9f24e0a4cfbf2f5997bca50a4907ad8dd2 |
Hashes for mqt.syrec-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3ea110f1998e4737f3d6368a1b563b5444e1281fc8627c9c8cc2277cc7b8d2e |
|
MD5 | afc73e81afd483ca1ebc181570e7d27f |
|
BLAKE2b-256 | 8d02504531ce24c3d76ba704c5c1f7f3e99a443a9216a261c81f4e53c4198137 |
Hashes for mqt.syrec-1.0.0-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6dd4fa4226dddb340a8e77d148b540a635a6ac80bdccc94fb59285be7361cb7 |
|
MD5 | 65cdb6109035f227f66f7fe5542ffe7b |
|
BLAKE2b-256 | 765ba8a7eb4e81e19eda0b75b980f6c4fd9a3e826f611aa16300255555370a8d |
Hashes for mqt.syrec-1.0.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b13ba6deeb025254c8a77564601ac4c67c336bdc569b03231c3d690550e534c7 |
|
MD5 | 9f21f5de4d284a39dae3e1200609ab0a |
|
BLAKE2b-256 | aaadcc8e6d852e80ea34c5ed82671b2c6545492a762264480151f2670f7722e8 |
Hashes for mqt.syrec-1.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da9889b49025930a4c0ef9c10576c724876fee8cab5e178d2aab9df38b8b4cb2 |
|
MD5 | 89a5c5cfedff637858645a692fa8da0e |
|
BLAKE2b-256 | 4c44013c71d9a2d07a80a47679bcc327775c738554158053a45c8b69c1cd1362 |
Hashes for mqt.syrec-1.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 266a04453e897bbab1e9f823b378827a02d8e0c89f85eb3ba9cf39c28d55322b |
|
MD5 | 825768e18ab71539f22bfff3f7daa371 |
|
BLAKE2b-256 | b6f2811bd59f788de4da0699d443e074b652792920615006cc0c0d05908c5f79 |
Hashes for mqt.syrec-1.0.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d029a2927262f43d6af2455d8d7510cdc09430d529dea9d2e9f116d296f1a9ec |
|
MD5 | de5479f1848beb779687d276c43d6448 |
|
BLAKE2b-256 | 4a5eed13b914df5698ada393b2fab8ffe47f7d7da9e66c0c1a3d809470624c69 |
Hashes for mqt.syrec-1.0.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2412413bdcba908cf43cf8f0e47f011a47cb23d113968d617319f7e36eb0e6f2 |
|
MD5 | 686b3f637972c4da6e7d594e084a2e01 |
|
BLAKE2b-256 | c7ff6ddf709020bca062b64e18277e286b3b18eda91676cc1a7d4a8870aec7d5 |
Hashes for mqt.syrec-1.0.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 714777dae2709bca60d4660ffcd3737fea5d14709f8b532b63261418d34c5a32 |
|
MD5 | 47130667f114a90d9a5050a77ed342a2 |
|
BLAKE2b-256 | 40197ac578f42bfdab878e17b9b30d0a89a52544473dc8c5e067f68ac1773e27 |
Hashes for mqt.syrec-1.0.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37039f5d43ecf439353a24ec63ead7af3ac86719a0dda1d445b5d64b41c018ff |
|
MD5 | a4ae153897762fcbd9aeee3e5b61165a |
|
BLAKE2b-256 | f33479492c8d4ef7b94cf08c9a03a02dd78eb8683194b1cbdb023bdb7a5c14ee |
Hashes for mqt.syrec-1.0.0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3189bd01c154d17a0d36ddd4ab4aa75f4246c47f0fba0d82bfa1f516bf3a64e7 |
|
MD5 | d82f46052b2596620355dad7d006aeb9 |
|
BLAKE2b-256 | 0b90c77cbe1c3a99966c26574cf8433526d5eaf45d006d653edf895fdb730a03 |
Hashes for mqt.syrec-1.0.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b5d0e2ade9e36c921c0318304cc42de53b530b1f89621f0680e9fa41d9e7ec3 |
|
MD5 | f0f2480bb3d4b9bd114b2576e3eb2d95 |
|
BLAKE2b-256 | d17360699f64392c8eb31043ad22ad19e594f409e4bbfd06af9a8b4aa8661a16 |
Hashes for mqt.syrec-1.0.0-cp37-cp37m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ce9497504fce547e0f51731d5da153c184af20f839fc7cea7c9f69f12ee8824 |
|
MD5 | b675cce6c3e18d95b740d02249db610c |
|
BLAKE2b-256 | a35f07929c6bb425d5a02f42f2f40708a518c8a313329ff7d35f07dbc4bf36d1 |
Hashes for mqt.syrec-1.0.0-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f51c14d486bb2a4eacad16bcab62a499cce489f583d050ae2d82fddda10a476d |
|
MD5 | f422dee15b4b1fd47fa760c3a7eba386 |
|
BLAKE2b-256 | d0ccec9172fd55e84e05be914434ecbf796300f868a4f879eb346709db0f5ac8 |