XOC is a project aimed at building a basic order book on the Arty A7 100T FPGA board. The UART (Universal Asynchronous Receiver-Transmitter) is used for communication with the board.
- Install Vivado: Download and install Xilinx Vivado Design Suite from the Xilinx website. Make sure to include the required FPGA board files for the Arty A7 100T during the installation process.
- Install openFPGALoader in order to load bitstreams onto the board.
To program the board, run
./program.sh
This will idempotently generate verilog and program the board with resulting XOC design.
After the board is programmed with the design, you can use python UART client to send orders to the order book:
cd src/main/python
python3 xoc.py bid 100@100
python3 xoc.py ask 100@120
You should see an output indicating the current state of the order book:
Bid Price: 100 | Bid Size: 100 | Ask Price: 120 | Ask Size: 100
If you encounter any issues or need assistance, please file an issue in the project's issue tracker or contact the project maintainers.
This project is licensed under the MIT License.