Transactron is a library for Amaranth HDL which makes designing complex digital designs easier. It is inspired by Bluespec and its concept of guarded atomic actions. A Transactron circuit consists of a number of atomic transactions, which represent single cycle state changes in a circuit. A transaction might depend on different circuit submodules via methods, which represent actions which can be performed by a circuit. Transactron ensures that transactions are only performed when the used methods are ready for execution and are not simultaneously used by a different, higher priority transaction. This mechanism allows constructing circuits which are easily composable and insensitive of latencies.
The library is in alpha stage of development, but is already well tested because it serves a foundation for the Coreblocks out-of-order RISC-V CPU.
The documentation is automatically generated using Sphinx.
Set up the development environment following the project documetation.
External contributors are welcome to submit pull requests for simple contributions directly. For larger changes, please discuss your plans with us through the issues page or the discussions page first. This way, you can ensure that the contribution fits the project and will be merged sooner.
Copyright © 2022-2024, University of Wrocław.
This project is three-clause BSD licensed.