diff --git a/about.html b/about.html index 720e483..f735193 100644 --- a/about.html +++ b/about.html @@ -18,9 +18,10 @@
@@ -32,6 +33,8 @@

Components of the Milkymist system-on-chip soon found many other uses, such as software-defined radio on board the International Space Station. The community grew and activities diversified, with the development of a TDC core for CERN (using a variant of the Milkymist SoC for integration), the Migen logic design system and its application to the Rhino software-defined radio platform, and the Mixxeo digital video mixer. In 2013, Milkymist was renamed to M-Labs to mark the more varied activities. It is formally incorporated as M-Labs Limited.

+

The company's current main project is ARTIQ, a next-generation open source control system for quantum information experiments.

+

Get in touch

We'd love to hear from you! Here how you can communicate with us.

diff --git a/artiq/comp.png b/artiq/comp.png new file mode 100644 index 0000000..517ebd8 Binary files /dev/null and b/artiq/comp.png differ diff --git a/artiq/forkme_right_white_ffffff.png b/artiq/forkme_right_white_ffffff.png new file mode 100644 index 0000000..8fe3a7e Binary files /dev/null and b/artiq/forkme_right_white_ffffff.png differ diff --git a/artiq/index.html b/artiq/index.html new file mode 100644 index 0000000..b5797e6 --- /dev/null +++ b/artiq/index.html @@ -0,0 +1,153 @@ + + + + + + + M-Labs » indie high-tech development + + + + + + + + +Fork me on GitHub + + + +
+
+
+

ARTIQ (Advanced Real-Time Infrastructure for Quantum physics) is a next-generation control system for quantum information experiments. It is being developed in partnership with the Ion Storage Group at NIST, and its applicability reaches beyond ion trapping.

+ +

Modern research on quantum information systems poses particular challenges to the control system: +

+

+ +

+ +

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.

+ +

+ + +

A taste of the programming language

+

Timing language basics

+
+trigger.sync()               # wait for trigger input
+start = now()                # capture trigger time
+for i in range(3):
+    delay(5*us)
+    dds.pulse(900*MHz, 7*us) # first pulse 5 µs after trigger
+at(start + 1*ms)             # re-reference time-line
+dds.pulse(200*MHz, 11*us)    # exactly 1 ms after trigger
+
+

+

+

+

Parallelism

+
+with sequential:
+    with parallel:
+        a.pulse(100*MHz, 10*us)
+        b.pulse(200*MHz, 20*us)
+    with parallel:
+        c.pulse(300*MHz, 30*us)
+        d.pulse(400*MHz, 20*us)
+
+ +

Organize experiment components and reuse code

+
+class Experiment(AutoDB):
+    def build(self):
+        self.ion1 = Ion(...)
+        self.ion2 = Ion(...)
+        self.transporter = Transporter(...)
+
+    @kernel
+    def run(self):
+        with parallel:
+            self.ion1.cool(duration=10*us)
+            self.ion2.cool(frequency=...)
+        self.transporter.move(speed=...)
+        delay(100*ms)
+        self.ion1.detect(duration=...)
+
+ +

Is ARTIQ right for my lab?

+
+

If you don't mind getting your hands dirty (i.e. compiling software and FPGA bitstreams), it's easy to find out by yourself! The core device is based on the resource-efficient MiSoC system-on-chip design, and you can use a limited version of ARTIQ with the small and low-cost Papilio Pro board. Feel free to send feedback to the mailing list!

+ +

Note that ARTIQ is still in development and we expect to deploy a fully functional release (that will include a GUI) at NIST by June 2015. We are also working on making the installation procedure easier.

+ +

Resources

+

+

+
+
+ + + + + + diff --git a/artiq/ion_trap.png b/artiq/ion_trap.png new file mode 100644 index 0000000..75aa976 Binary files /dev/null and b/artiq/ion_trap.png differ diff --git a/artiq/lab_hardware.png b/artiq/lab_hardware.png new file mode 100644 index 0000000..88b67c4 Binary files /dev/null and b/artiq/lab_hardware.png differ diff --git a/artiq/logo_small.png b/artiq/logo_small.png new file mode 100644 index 0000000..85a146f Binary files /dev/null and b/artiq/logo_small.png differ diff --git a/gateware.html b/gateware.html index 0d244eb..1ec8863 100644 --- a/gateware.html +++ b/gateware.html @@ -18,9 +18,10 @@
diff --git a/index.html b/index.html index aa3dd3c..e383ec8 100644 --- a/index.html +++ b/index.html @@ -18,9 +18,10 @@
@@ -31,16 +32,10 @@
-
-

ARTIQ (Advanced Real-Time Infrastructure for Quantum physics) is an open source control system for laser-cooled trapped ion experiments, being developed for the Nobel prize-winning Ion Storage Group at NIST.

+
+

ARTIQ (Advanced Real-Time Infrastructure for Quantum physics) is a next-generation control system for quantum information experiments, being developed in partnership with the Nobel prize-winning Ion Storage Group at NIST.

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 llvmpy.

-

More information will be posted later!

-

+


diff --git a/m1.html b/m1.html index 9fa4aea..627b9dd 100644 --- a/m1.html +++ b/m1.html @@ -18,9 +18,10 @@
diff --git a/mixxeo.html b/mixxeo.html index 4b1c7b5..60501a2 100644 --- a/mixxeo.html +++ b/mixxeo.html @@ -18,9 +18,10 @@
diff --git a/style.css b/style.css index 1173ca1..909c2cd 100644 --- a/style.css +++ b/style.css @@ -44,6 +44,14 @@ h3 { text-align: center; } +h4 { + font-size: 16px; + margin: 10px 0 3px; + color: #fff; + clear: both; + border-bottom: 1px solid #27272a; +} + p { padding: 4px 0; line-height: 1.5; @@ -202,6 +210,7 @@ div.full { font-size: 9px; color: #595965; line-height: 1.5em; + clear: both; background: rgb(23,24,20); /* Old browsers */ background: -moz-linear-gradient(top, rgba(23,24,20,1) 0%, rgba(29,29,32,1) 100%); /* FF3.6+ */ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(23,24,20,1)), color-stop(100%,rgba(29,29,32,1))); /* Chrome,Safari4+ */