forked from M-Labs/artiq
cb3b811fd7
After this commit, the delay instruction (again) does not generate
any LLVM IR: all heavy lifting is relegated to the delay and delay_mu
intrinsics. When the interleave transform needs to adjust the global
timeline, it synthesizes a delay_mu intrinsnic. This way,
the interleave transformation becomes composable, as the input and
the output IR invariants are the same.
Also, code generation is adjusted so that a basic block is split off
not only after a delay call, but also before one; otherwise, e.g.,
code immediately at the beginning of a `with parallel:` branch
would have no choice but to execute after another branch has already
advanced the timeline.
This takes care of issue #1 described in
|
||
---|---|---|
.travis | ||
artiq | ||
conda | ||
doc | ||
examples | ||
lit-test | ||
misc | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
CONTRIBUTING | ||
LICENSE | ||
README.rst | ||
setup.py |
README.rst
.. image:: doc/logo/artiq.png .. image:: https://travis-ci.org/m-labs/artiq.svg :target: https://travis-ci.org/m-labs/artiq ARTIQ (Advanced Real-Time Infrastructure for Quantum physics) is a next-generation control system for quantum information experiments. It is developed in partnership with the Ion Storage Group at NIST, and its applicability reaches beyond ion trapping. The system features a high-level programming language that helps describing complex experiments, which is compiled and executed on dedicated hardware with nanosecond timing resolution and sub-microsecond latency. Technologies employed include Python, Migen, MiSoC/mor1kx, LLVM and llvmlite. Website: http://m-labs.hk/artiq Copyright (C) 2014-2015 M-Labs Limited. Licensed under GNU GPL version 3.