Enter ARTIQ

ARTIQ features a high-level programming language, based on Python, that helps describing complex experiments. It is compiled and executed on dedicated FPGA hardware with nanosecond timing resolution and sub-microsecond latency.

The time-critical code (a kernel) running on the FPGA (the core device) is easily interfaced with Python code on the computer using a remote procedure call (RPC) mechanism.

The FPGA design is highly portable so that it can adapt to different laboratory setups and resist hardware obsolescence.

ARTIQ drivers for non-realtime devices can be run on remote machines with different operating systems.

The project also includes a graphical user interface, an experiment scheduling system, and databases for experiments, devices, parameters and results.

Technologies employed include Python, Migen, MiSoC/mor1kx, LLVM and llvmlite.