... is an installable python package:
git clone https://github.com/dimitsev/sinara-firmware-compiler.git sinara-firmware-compiler
cd sinara-firmware-compiler && pip install -e .
- The creation of system description files for the Kasli SoC, including peripherals.
- The creation of device database files and device map files based on existing system description files.
- The compilation of firmware for the Kasli SoC based on https://git.m-labs.hk/M-Labs/artiq-zynq, as described in Artiq beta manual: Building and developing ARTIQ.
The full output for our lab @ MPQ can be found in /examples/system_description_files
.
Delete /examples/system_description_files
and re-generate it by running the jupyter notebooks in /examples
in numerical order and then running /examples/run_compilation.py
. The python script runs the actual firmware compilation, so it takes a while to complete and is best run in a tmux session.
- Successfully tested on Linux.
- Might also work on Windows and Macintosh.
- The appropriate tools must all be installed and available, including but not limited to Vivado and nix.
Because that's all we needed in winter 2024-25. If you need to compile firmware for other Sinara hardware, feel free to extend this package!
- The upload of compiled binaries to a MongoDB database together with all relevant metadata: commit hashes, compilation options, system description files, build logs, etc.