Distributed Stacks and Queues in Verilog
As part of the project, we have developed a distributed stack and queue in Verilog. These data structures are essential for the implementation of the BondMachine architecture. The stack and queue are implemented in a distributed manner, allowing concurrent access by multiple agents.
Moreover, the HDL code is generated and customized via a golang library called bmstack
and its associated command-line tool sharing the same name.
The library is general enough to be used standalone to create code for other Verilog projects, and it is available as standard tool in the BondMachine Project. Refer to the Quick start section for details on obtaining it.
The library code is available on GitHub at https://github.com/BondMachineHQ/BondMachine/tree/main/pkg/bmstack. The command-line tool can be found at https://github.com/BondMachineHQ/BondMachine/tree/main/cmd/bmstack.
Documentation is available on the Dedicated package page or in the GitHub repository.
Issues and contributions are welcome!