A leading-edge control system for quantum information experiments
Go to file
whitequark f17a6616b2 runtime: ensure management interface buffer can hold log buffer.
Otherwise we get weird edge cases where the network stack could try
to append to log buffer while management interface is holding
the log buffer and trying to push it out, and it's just no good.

The serialized log buffer at its maximum length is slightly longer
than 32 KiB, so we just allocate the largest possible TCP buffer
to the management interface to keep it simple.
2017-06-24 17:09:28 +00:00
artiq runtime: ensure management interface buffer can hold log buffer. 2017-06-24 17:09:28 +00:00
conda conda: set ignore_prefix_files on all board packages 2017-06-15 16:25:52 +08:00
doc pdq: unify spi-PDQ and usb-PDQ protocols 2017-06-10 15:03:25 +02:00
.gitattributes use versioneer 2015-11-09 11:33:38 +08:00
.gitignore Revert "update/cleanup gitignore" 2017-06-09 06:03:48 +00:00
.gitmodules firmware: integrate smoltcp instead of lwip. 2017-01-23 13:59:34 +00:00
.readthedocs.yml doc: write section on developing with a conda env 2017-02-02 19:53:18 +01:00
CONTRIBUTING.rst CONTRIBUTING: bug reporting information 2016-02-20 11:25:21 +01:00
LICENSE Relicense ARTIQ as LGPLv3+ (closes #570) 2017-01-27 11:19:46 +01:00
MANIFEST.in MANIFEST.in: remove stale fastentrypoints entry 2017-06-06 18:27:40 +08:00
README.rst README: add license header 2017-05-22 00:30:40 +08:00
README_PHASER.rst sawg/phaser: expand documentation (closes #750) 2017-06-14 11:49:52 +02:00
RELEASE_NOTES.rst RELEASE_NOTES: 2.4 2017-06-22 00:38:49 +08:00
RELEASING.rst RELEASING: use signed annotated tags 2017-01-27 15:38:04 +01:00
setup.cfg versioneer: remote tag_prefix = v 2016-01-18 21:28:09 -07:00
setup.py Remove fastentrypoints 2017-06-06 12:38:41 +08:00
versioneer.py versioneer: cut git hashes consistently (#753) 2017-06-19 15:31:48 +08:00

README.rst

.. Always keep doc/manual/introduction.rst synchronized with this file, with the exception of the logo.

.. Absolute so that it works on github and on pypi
.. image:: https://raw.githubusercontent.com/m-labs/artiq/master/doc/logo/artiq.png
  :target: https://m-labs.hk/artiq

ARTIQ (Advanced Real-Time Infrastructure for Quantum physics) is the next-generation control system for quantum information experiments.
It is developed by `M-Labs <https://m-labs.hk>`_ for and in partnership with the `Ion Storage Group at NIST <http://www.nist.gov/pml/div688/grp10/index.cfm>`_ as free software.
It is offered to the entire research community as a solution equally applicable to other challenging control tasks outside the field of 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. It includes graphical user interfaces to parametrize and schedule experiments and to visualize and explore the results.

ARTIQ uses FPGA hardware to perform its time-critical tasks.
It is designed to be portable to hardware platforms from different vendors and FPGA manufacturers.
Currently, several different configurations of a `high-end FPGA evaluation kit <http://www.xilinx.com/products/boards-and-kits/ek-k7-kc705-g.html>`_ are used and supported. This FPGA platform can be combined with any number of additional peripherals, either already accessible from ARTIQ or made accessible with little effort.

Custom hardware components with widely extended capabilities and advanced support for scalable and fully distributed real-time control of experiments `are being designed <https://github.com/m-labs/artiq-hardware>`_.

ARTIQ and its dependencies are available in the form of `conda packages <https://conda.anaconda.org/m-labs/label/main>`_ for both Linux and Windows.
Packages containing pre-compiled binary images to be loaded onto the hardware platforms are supplied for each configuration.
Like any open source software ARTIQ can equally be built and installed directly from `source <https://github.com/m-labs/artiq>`_.

ARTIQ is supported by M-Labs and developed openly.
Components, features, fixes, improvements, and extensions are funded by and developed for the partnering research groups.

Technologies employed include `Python <https://www.python.org/>`_, `Migen <https://github.com/m-labs/migen>`_, `MiSoC <https://github.com/m-labs/misoc>`_/`mor1kx <https://github.com/openrisc/mor1kx>`_, `LLVM <http://llvm.org/>`_/`llvmlite <https://github.com/numba/llvmlite>`_, and `Qt5 <http://www.qt.io/>`_.

Website: https://m-labs.hk/artiq

`Cite ARTIQ <http://dx.doi.org/10.5281/zenodo.51303>`_ as ``Bourdeauducq, Sébastien et al. (2016). ARTIQ 1.0. Zenodo. 10.5281/zenodo.51303``.

License
=======

Copyright (C) 2014-2017 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/>.