Sebastien Bourdeauducq db9a9ccdf2
Some checks failed
Hydra zc706-acpki_nist_qc2-firmware Hydra build #198326 of artiq:zynq-beta:zc706-acpki_nist_qc2-firmware
Hydra zc706-acpki_nist_clock-firmware Hydra build #198301 of artiq:zynq-beta:zc706-acpki_nist_clock-firmware
Hydra zc706-acpki_nist_clock_master-firmware Hydra build #198306 of artiq:zynq-beta:zc706-acpki_nist_clock_master-firmware
Hydra zc706-acpki_nist_clock_master_100mhz-firmware Hydra build #198311 of artiq:zynq-beta:zc706-acpki_nist_clock_master_100mhz-firmware
Hydra zc706-acpki_nist_clock_satellite-firmware Hydra build #198316 of artiq:zynq-beta:zc706-acpki_nist_clock_satellite-firmware
Hydra zc706-acpki_nist_qc2-gateware Hydra build #198328 of artiq:zynq-beta:zc706-acpki_nist_qc2-gateware
Hydra zc706-acpki_nist_clock_satellite_100mhz-firmware Hydra build #198321 of artiq:zynq-beta:zc706-acpki_nist_clock_satellite_100mhz-firmware
Hydra zc706-acpki_nist_qc2_master-firmware Hydra build #198331 of artiq:zynq-beta:zc706-acpki_nist_qc2_master-firmware
Hydra zc706-acpki_nist_qc2_master_100mhz-firmware Hydra build #198336 of artiq:zynq-beta:zc706-acpki_nist_qc2_master_100mhz-firmware
Hydra zc706-acpki_nist_clock-gateware Hydra build #198303 of artiq:zynq-beta:zc706-acpki_nist_clock-gateware
Hydra zc706-acpki_nist_qc2_satellite_100mhz-firmware Hydra build #198346 of artiq:zynq-beta:zc706-acpki_nist_qc2_satellite_100mhz-firmware
Hydra zc706-cxp_4r_fmc-firmware Hydra build #198351 of artiq:zynq-beta:zc706-cxp_4r_fmc-firmware
Hydra zc706-acpki_nist_qc2_satellite-firmware Hydra build #198341 of artiq:zynq-beta:zc706-acpki_nist_qc2_satellite-firmware
Hydra zc706-acpki_nist_clock_master_100mhz-gateware Hydra build #198313 of artiq:zynq-beta:zc706-acpki_nist_clock_master_100mhz-gateware
Hydra zc706-acpki_nist_clock_satellite_100mhz-gateware Hydra build #198323 of artiq:zynq-beta:zc706-acpki_nist_clock_satellite_100mhz-gateware
Hydra zc706-nist_qc2-firmware Hydra build #198382 of artiq:zynq-beta:zc706-nist_qc2-firmware
Hydra zc706-acpki_nist_clock_satellite-gateware Hydra build #198318 of artiq:zynq-beta:zc706-acpki_nist_clock_satellite-gateware
Hydra zc706-nist_clock-firmware Hydra build #198357 of artiq:zynq-beta:zc706-nist_clock-firmware
Hydra zc706-nist_clock_master-firmware Hydra build #198362 of artiq:zynq-beta:zc706-nist_clock_master-firmware
Hydra zc706-acpki_nist_clock_master-gateware Hydra build #198308 of artiq:zynq-beta:zc706-acpki_nist_clock_master-gateware
Hydra zc706-nist_clock_master_100mhz-firmware Hydra build #198367 of artiq:zynq-beta:zc706-nist_clock_master_100mhz-firmware
Hydra zc706-acpki_nist_qc2_master-gateware Hydra build #198333 of artiq:zynq-beta:zc706-acpki_nist_qc2_master-gateware
Hydra zc706-nist_clock_satellite-firmware Hydra build #198372 of artiq:zynq-beta:zc706-nist_clock_satellite-firmware
Hydra zc706-acpki_nist_qc2_master_100mhz-gateware Hydra build #198338 of artiq:zynq-beta:zc706-acpki_nist_qc2_master_100mhz-gateware
Hydra zc706-nist_clock_satellite_100mhz-firmware Hydra build #198377 of artiq:zynq-beta:zc706-nist_clock_satellite_100mhz-firmware
Hydra zc706-nist_qc2_master-firmware Hydra build #198387 of artiq:zynq-beta:zc706-nist_qc2_master-firmware
Hydra zc706-acpki_nist_qc2_satellite_100mhz-gateware Hydra build #198348 of artiq:zynq-beta:zc706-acpki_nist_qc2_satellite_100mhz-gateware
Hydra zc706-cxp_4r_fmc-gateware Hydra build #198353 of artiq:zynq-beta:zc706-cxp_4r_fmc-gateware
Hydra zc706-nist_qc2_master_100mhz-firmware Hydra build #198392 of artiq:zynq-beta:zc706-nist_qc2_master_100mhz-firmware
Hydra zc706-nist_qc2_satellite-firmware Hydra build #198397 of artiq:zynq-beta:zc706-nist_qc2_satellite-firmware
Hydra zc706-acpki_nist_qc2_satellite-gateware Hydra build #198343 of artiq:zynq-beta:zc706-acpki_nist_qc2_satellite-gateware
Hydra zc706-nist_clock-gateware Hydra build #198359 of artiq:zynq-beta:zc706-nist_clock-gateware
Hydra ebaz4205-base-firmware Hydra build #198283 of artiq:zynq-beta:ebaz4205-base-firmware
Hydra zc706-nist_qc2_master_100mhz-gateware Hydra build #198394 of artiq:zynq-beta:zc706-nist_qc2_master_100mhz-gateware
Hydra kasli_soc-master-firmware Hydra build #198292 of artiq:zynq-beta:kasli_soc-master-firmware
Hydra kasli_soc-satellite-firmware Hydra build #198296 of artiq:zynq-beta:kasli_soc-satellite-firmware
Hydra zc706-acpki_nist_qc2-jtag Hydra build #198329 of artiq:zynq-beta:zc706-acpki_nist_qc2-jtag
Hydra zc706-nist_qc2-jtag Hydra build #198385 of artiq:zynq-beta:zc706-nist_qc2-jtag
Hydra zc706-nist_qc2_satellite_100mhz-firmware Hydra build #198402 of artiq:zynq-beta:zc706-nist_qc2_satellite_100mhz-firmware
Hydra zc706-nist_qc2-gateware Hydra build #198384 of artiq:zynq-beta:zc706-nist_qc2-gateware
Hydra zc706-nist_clock_master-gateware Hydra build #198364 of artiq:zynq-beta:zc706-nist_clock_master-gateware
Hydra zc706-nist_clock_master_100mhz-gateware Hydra build #198369 of artiq:zynq-beta:zc706-nist_clock_master_100mhz-gateware
Hydra zc706-nist_clock_satellite_100mhz-gateware Hydra build #198379 of artiq:zynq-beta:zc706-nist_clock_satellite_100mhz-gateware
Hydra zc706-nist_clock_satellite-gateware Hydra build #198374 of artiq:zynq-beta:zc706-nist_clock_satellite-gateware
Hydra zc706-nist_qc2_satellite_100mhz-gateware Hydra build #198404 of artiq:zynq-beta:zc706-nist_qc2_satellite_100mhz-gateware
Hydra zc706-nist_qc2_master-gateware Hydra build #198389 of artiq:zynq-beta:zc706-nist_qc2_master-gateware
Hydra kasli_soc-demo-firmware Hydra build #198288 of artiq:zynq-beta:kasli_soc-demo-firmware
Hydra zc706-nist_qc2_satellite-gateware Hydra build #198399 of artiq:zynq-beta:zc706-nist_qc2_satellite-gateware
Hydra fmt-check Hydra build #198019 of artiq:zynq-beta:fmt-check
Hydra ebaz4205-base-gateware Hydra build #198284 of artiq:zynq-beta:ebaz4205-base-gateware
Hydra ebaz4205-base-jtag Hydra build #198285 of artiq:zynq-beta:ebaz4205-base-jtag
Hydra ebaz4205-base-sd Hydra build #198286 of artiq:zynq-beta:ebaz4205-base-sd
Hydra gateware-sim Hydra build #198287 of artiq:zynq-beta:gateware-sim
Hydra zc706-acpki_nist_clock-fsbl-sd Hydra build #198302 of artiq:zynq-beta:zc706-acpki_nist_clock-fsbl-sd
Hydra zc706-acpki_nist_clock-jtag Hydra build #198304 of artiq:zynq-beta:zc706-acpki_nist_clock-jtag
Hydra zc706-acpki_nist_clock-sd Hydra build #198305 of artiq:zynq-beta:zc706-acpki_nist_clock-sd
Hydra zc706-acpki_nist_clock_master-fsbl-sd Hydra build #198307 of artiq:zynq-beta:zc706-acpki_nist_clock_master-fsbl-sd
Hydra zc706-acpki_nist_clock_master-jtag Hydra build #198309 of artiq:zynq-beta:zc706-acpki_nist_clock_master-jtag
Hydra zc706-acpki_nist_clock_master-sd Hydra build #198310 of artiq:zynq-beta:zc706-acpki_nist_clock_master-sd
Hydra zc706-acpki_nist_clock_master_100mhz-fsbl-sd Hydra build #198312 of artiq:zynq-beta:zc706-acpki_nist_clock_master_100mhz-fsbl-sd
Hydra zc706-acpki_nist_clock_master_100mhz-sd Hydra build #198315 of artiq:zynq-beta:zc706-acpki_nist_clock_master_100mhz-sd
Hydra zc706-acpki_nist_clock_master_100mhz-jtag Hydra build #198314 of artiq:zynq-beta:zc706-acpki_nist_clock_master_100mhz-jtag
Hydra zc706-nist_clock-jtag Hydra build #198360 of artiq:zynq-beta:zc706-nist_clock-jtag
Hydra zc706-nist_clock-fsbl-sd Hydra build #198358 of artiq:zynq-beta:zc706-nist_clock-fsbl-sd
Hydra zc706-nist_clock_satellite_100mhz-sd Hydra build #198381 of artiq:zynq-beta:zc706-nist_clock_satellite_100mhz-sd
Hydra zc706-nist_qc2-fsbl-sd Hydra build #198383 of artiq:zynq-beta:zc706-nist_qc2-fsbl-sd
Hydra zc706-nist_qc2-sd Hydra build #198386 of artiq:zynq-beta:zc706-nist_qc2-sd
Hydra zc706-nist_qc2_master-fsbl-sd Hydra build #198388 of artiq:zynq-beta:zc706-nist_qc2_master-fsbl-sd
Hydra zc706-nist_qc2_master-jtag Hydra build #198390 of artiq:zynq-beta:zc706-nist_qc2_master-jtag
Hydra zc706-nist_qc2_master_100mhz-fsbl-sd Hydra build #198393 of artiq:zynq-beta:zc706-nist_qc2_master_100mhz-fsbl-sd
Hydra zc706-nist_qc2_master-sd Hydra build #198391 of artiq:zynq-beta:zc706-nist_qc2_master-sd
Hydra zc706-nist_qc2_master_100mhz-jtag Hydra build #198395 of artiq:zynq-beta:zc706-nist_qc2_master_100mhz-jtag
Hydra zc706-nist_qc2_master_100mhz-sd Hydra build #198396 of artiq:zynq-beta:zc706-nist_qc2_master_100mhz-sd
Hydra zc706-nist_qc2_satellite-fsbl-sd Hydra build #198398 of artiq:zynq-beta:zc706-nist_qc2_satellite-fsbl-sd
Hydra zc706-acpki_nist_clock_satellite-fsbl-sd Hydra build #198317 of artiq:zynq-beta:zc706-acpki_nist_clock_satellite-fsbl-sd
Hydra zc706-acpki_nist_clock_satellite-jtag Hydra build #198319 of artiq:zynq-beta:zc706-acpki_nist_clock_satellite-jtag
Hydra zc706-acpki_nist_clock_satellite-sd Hydra build #198320 of artiq:zynq-beta:zc706-acpki_nist_clock_satellite-sd
Hydra zc706-acpki_nist_clock_satellite_100mhz-fsbl-sd Hydra build #198322 of artiq:zynq-beta:zc706-acpki_nist_clock_satellite_100mhz-fsbl-sd
Hydra zc706-acpki_nist_clock_satellite_100mhz-jtag Hydra build #198324 of artiq:zynq-beta:zc706-acpki_nist_clock_satellite_100mhz-jtag
Hydra zc706-acpki_nist_clock_satellite_100mhz-sd Hydra build #198325 of artiq:zynq-beta:zc706-acpki_nist_clock_satellite_100mhz-sd
Hydra zc706-acpki_nist_qc2-fsbl-sd Hydra build #198327 of artiq:zynq-beta:zc706-acpki_nist_qc2-fsbl-sd
Hydra zc706-acpki_nist_qc2-sd Hydra build #198330 of artiq:zynq-beta:zc706-acpki_nist_qc2-sd
Hydra zc706-acpki_nist_qc2_master-fsbl-sd Hydra build #198332 of artiq:zynq-beta:zc706-acpki_nist_qc2_master-fsbl-sd
Hydra zc706-acpki_nist_qc2_master-jtag Hydra build #198334 of artiq:zynq-beta:zc706-acpki_nist_qc2_master-jtag
Hydra zc706-acpki_nist_qc2_master-sd Hydra build #198335 of artiq:zynq-beta:zc706-acpki_nist_qc2_master-sd
Hydra zc706-acpki_nist_qc2_master_100mhz-fsbl-sd Hydra build #198337 of artiq:zynq-beta:zc706-acpki_nist_qc2_master_100mhz-fsbl-sd
Hydra zc706-acpki_nist_qc2_master_100mhz-jtag Hydra build #198339 of artiq:zynq-beta:zc706-acpki_nist_qc2_master_100mhz-jtag
Hydra zc706-acpki_nist_qc2_master_100mhz-sd Hydra build #198340 of artiq:zynq-beta:zc706-acpki_nist_qc2_master_100mhz-sd
Hydra zc706-acpki_nist_qc2_satellite-fsbl-sd Hydra build #198342 of artiq:zynq-beta:zc706-acpki_nist_qc2_satellite-fsbl-sd
Hydra zc706-acpki_nist_qc2_satellite-jtag Hydra build #198344 of artiq:zynq-beta:zc706-acpki_nist_qc2_satellite-jtag
Hydra zc706-acpki_nist_qc2_satellite-sd Hydra build #198345 of artiq:zynq-beta:zc706-acpki_nist_qc2_satellite-sd
Hydra zc706-acpki_nist_qc2_satellite_100mhz-fsbl-sd Hydra build #198347 of artiq:zynq-beta:zc706-acpki_nist_qc2_satellite_100mhz-fsbl-sd
Hydra zc706-acpki_nist_qc2_satellite_100mhz-jtag Hydra build #198349 of artiq:zynq-beta:zc706-acpki_nist_qc2_satellite_100mhz-jtag
Hydra zc706-acpki_nist_qc2_satellite_100mhz-sd Hydra build #198350 of artiq:zynq-beta:zc706-acpki_nist_qc2_satellite_100mhz-sd
Hydra zc706-cxp_4r_fmc-fsbl-sd Hydra build #198352 of artiq:zynq-beta:zc706-cxp_4r_fmc-fsbl-sd
Hydra zc706-cxp_4r_fmc-jtag Hydra build #198354 of artiq:zynq-beta:zc706-cxp_4r_fmc-jtag
Hydra zc706-cxp_4r_fmc-sd Hydra build #198355 of artiq:zynq-beta:zc706-cxp_4r_fmc-sd
Hydra zc706-nist_clock-sd Hydra build #198361 of artiq:zynq-beta:zc706-nist_clock-sd
Hydra zc706-nist_clock_master-fsbl-sd Hydra build #198363 of artiq:zynq-beta:zc706-nist_clock_master-fsbl-sd
Hydra zc706-nist_clock_master-jtag Hydra build #198365 of artiq:zynq-beta:zc706-nist_clock_master-jtag
Hydra zc706-nist_clock_master_100mhz-fsbl-sd Hydra build #198368 of artiq:zynq-beta:zc706-nist_clock_master_100mhz-fsbl-sd
Hydra zc706-nist_clock_master-sd Hydra build #198366 of artiq:zynq-beta:zc706-nist_clock_master-sd
Hydra zc706-nist_clock_master_100mhz-jtag Hydra build #198370 of artiq:zynq-beta:zc706-nist_clock_master_100mhz-jtag
Hydra zc706-nist_clock_master_100mhz-sd Hydra build #198371 of artiq:zynq-beta:zc706-nist_clock_master_100mhz-sd
Hydra zc706-nist_clock_satellite-jtag Hydra build #198375 of artiq:zynq-beta:zc706-nist_clock_satellite-jtag
Hydra zc706-nist_clock_satellite-fsbl-sd Hydra build #198373 of artiq:zynq-beta:zc706-nist_clock_satellite-fsbl-sd
Hydra zc706-nist_clock_satellite_100mhz-fsbl-sd Hydra build #198378 of artiq:zynq-beta:zc706-nist_clock_satellite_100mhz-fsbl-sd
Hydra zc706-nist_clock_satellite-sd Hydra build #198376 of artiq:zynq-beta:zc706-nist_clock_satellite-sd
Hydra zc706-nist_clock_satellite_100mhz-jtag Hydra build #198380 of artiq:zynq-beta:zc706-nist_clock_satellite_100mhz-jtag
Hydra zc706-acpki-hitl-tests Hydra build #198300 of artiq:zynq-beta:zc706-acpki-hitl-tests
Hydra zc706-nist_qc2_satellite-jtag Hydra build #198400 of artiq:zynq-beta:zc706-nist_qc2_satellite-jtag
Hydra zc706-nist_qc2_satellite-sd Hydra build #198401 of artiq:zynq-beta:zc706-nist_qc2_satellite-sd
Hydra zc706-nist_qc2_satellite_100mhz-fsbl-sd Hydra build #198403 of artiq:zynq-beta:zc706-nist_qc2_satellite_100mhz-fsbl-sd
Hydra zc706-nist_qc2_satellite_100mhz-jtag Hydra build #198405 of artiq:zynq-beta:zc706-nist_qc2_satellite_100mhz-jtag
Hydra zc706-nist_qc2_satellite_100mhz-sd Hydra build #198406 of artiq:zynq-beta:zc706-nist_qc2_satellite_100mhz-sd
Hydra zc706-hitl-tests Hydra build #198356 of artiq:zynq-beta:zc706-hitl-tests
Hydra kasli_soc-demo-jtag Hydra build #198290 of artiq:zynq-beta:kasli_soc-demo-jtag
Hydra kasli_soc-demo-sd Hydra build #198291 of artiq:zynq-beta:kasli_soc-demo-sd
Hydra kasli_soc-demo-gateware Hydra build #198289 of artiq:zynq-beta:kasli_soc-demo-gateware
Hydra kasli_soc-master-gateware Hydra build #198293 of artiq:zynq-beta:kasli_soc-master-gateware
Hydra kasli_soc-master-jtag Hydra build #198294 of artiq:zynq-beta:kasli_soc-master-jtag
Hydra kasli_soc-master-sd Hydra build #198295 of artiq:zynq-beta:kasli_soc-master-sd
Hydra kasli_soc-satellite-gateware Hydra build #198297 of artiq:zynq-beta:kasli_soc-satellite-gateware
Hydra kasli_soc-satellite-sd Hydra build #198299 of artiq:zynq-beta:kasli_soc-satellite-sd
Hydra kasli_soc-satellite-jtag Hydra build #198298 of artiq:zynq-beta:kasli_soc-satellite-jtag
flake: update dependencies
2026-04-13 17:47:21 +08:00
2026-03-16 21:36:37 +08:00
2026-04-13 15:30:17 +08:00
2026-03-30 08:47:08 +02:00
2025-12-01 13:04:44 +08:00
2026-04-13 17:47:21 +08:00
2020-07-20 19:44:45 +08:00
2026-03-31 16:40:29 +08:00
2025-11-14 10:50:27 +08:00

ARTIQ on Zynq

How to use

  1. Install ARTIQ. Get the corresponding version to the artiq-zynq version you are targeting.
  2. To obtain firmware binaries, use AFWS or build your own; see the ARTIQ manual for detailed instructions or skip to "Development" below. ZC706 variants only can also be downloaded from latest successful build on Hydra.
  3. Place boot.bin file at the root / of a FAT-formatted SD card.
  4. Optionally, create a config.txt configuration file containing key=value pairs on each line and place it at the root of the SD card. See below for valid keys. The ip, ip6 and mac keys can be used to set networking information. If these keys are not found, the firmware will use default values which may or may not be compatible with your network.
  5. Insert the SD card into the board and set the board to boot from the SD card. For ZC706, this is achieved by placing the large DIP switch SW11 into the 00110 position. On Kasli-SoC, place the BOOT MODE switches to SD.
  6. Power up the board. After successful boot the firmware should respond to ping at its IP addresses. Boot output can be observed from UART at 115200bps 8-N-1.
  7. Create and use an ARTIQ device database as usual.

Configuration

Configuring the device is done using the config.txt text file at the root of the SD card plus optionally a config folder. When searching for a configuration key, the firmware first looks for a file named /config/[key].bin and, if it exists, returns the contents of that file. If not, it looks into /config.txt, which should contain a list of key=value pairs, one per line. config.txt should be used for most keys but the config folder allows for setting configuration values which consist of binary data, such as the startup kernel.

The following configuration keys are available among others:

  • mac: Ethernet MAC address.
  • ip: IPv4 address.
  • ip6: IPv6 address.
  • idle_kernel: idle kernel in ELF format (as produced by artiq_compile).
  • startup_kernel: startup kernel in ELF format (as produced by artiq_compile).
  • rtio_clock: source of RTIO clock; valid values are ext0_bypass and int_125.

See ARTIQ manual for full list. Configurations can be read/written/removed with artiq_coremgmt. Config erase is not implemented, as it isn't particularly useful.

For convenience, the boot key can be used with artiq_coremgmt and a boot.bin file to replace firmware/gateware in a running system. This key is read-only. When loading boot.bin onto the SD card directly, place it at the root and not in the config folder.

Development instructions

ARTIQ on Zynq is packaged using Nix Flakes. Install Nix 2.8+ and enable flakes by adding experimental-features = nix-command flakes to nix.conf (e.g. ~/.config/nix/nix.conf).

Pure build with Nix:

nix build .#zc706-nist_clock-jtag  # or zc706-nist_qc2-jtag or zc706-nist_clock-sd or etc

Run nix flake show to see all valid build targets. Targets suffixed with -jtag produce separate firmware and gateware files, intended for use in booting via JTAG server/Ethernet, e.g. ./remote_run.sh -i with a remote JTAG server. Targets suffixed with -sd will produce boot.bin file suitable for SD card boot. -firmware and -gateware respectively build firmware and gateware only.

The Kasli-SoC target requires a system description file as input. See ARTIQ manual for exact instructions or use incremental build.

Impure incremental build:

For boards with fixed variants, i.e. ZC706, etc. :

nix develop
cd src
gateware/<board>.py -g ../build/gateware -V <variant> # gateware
make GWARGS="-V <variant>" <runtime/satman>    # firmware

For boards with system descriptions, i.e. Kasli-SoC, etc. :

nix develop
cd src
gateware/<board>.py -g ../build/gateware <description.json> # gateware
make TARGET=<board> GWARGS="path/to/description.json" <runtime/satman> # firmware

szl.elf can be obtained with:

nix build git+https://git.m-labs.hk/m-labs/zynq-rs#<board>-szl

To generate boot.bin use mkbootimage, e.g.:

echo "the_ROM_image:
    {
        [bootloader]result/szl.elf
        gateware/top.bit
        [elf_use_ph]firmware/armv7-none-eabihf/release/<runtime/satman>
    }
    EOF" >> boot.bif
mkbootimage boot.bif boot.bin

Notes:

  • The impure build process is also compatible with non-Nix systems.
  • Firmware type must be either runtime for DRTIO-less or DRTIO master variants, or satman for DRTIO satellite.
  • If the board is connected to the local machine by JTAG, use the local_run.sh script.
  • A known Xilinx hardware bug prevents repeatedly loading the bootloader over JTAG without a POR reset. If booting over JTAG, install a jumper on PS_POR_B and use the POR reset script here.

Pre-Commit Hooks

You are strongly recommended to use the provided pre-commit hooks to automatically reformat files and check for non-optimal Rust/C/C++ practices. Run pre-commit install to install the hook and pre-commit will automatically run cargo fmt, cargo clippy, and clang-format for you.

Several things to note:

  • If cargo fmt, cargo clippy, or clang-format returns an error, the pre-commit hook will fail. You should fix all errors before trying to commit again.
  • If cargo fmt or clang-format reformats some files, the pre-commit hook will also fail. You should review the changes and, if satisfied, try to commit again.

License

Copyright (C) 2019-2026 M-Labs Limited.

ARTIQ is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ARTIQ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with ARTIQ. If not, see http://www.gnu.org/licenses/.

Description
ARTIQ Zynq-based core device support
Readme 9.6 MiB
Languages
Rust 44.7%
C++ 20.9%
C 20.6%
Python 7.5%
Assembly 2.7%
Other 3.5%