... is an installable python package:
git clone https://github.com/dimitsev/sinara-firmware-compiler.git sinara-firmware-compilercd 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.