A pretty darn quick interpolating arbitrary waveform generator.
Requirements:
- Migen (https://github.com/m-labs/migen)
- MiSoC (https://github.com/m-labs/misoc)
- Xilinx ISE (WebPack is sufficient; development uses ISE 14.7)
Installation of Migen and MiSoC differs depending on what packaging system is used (or if one is used at all).
Migen and MiSoC can be installed using pip
:
$ pip install -e git://github.com/m-labs/migen.git#egg=migen $ pip install -e git://github.com/m-labs/misoc.git#egg=misoc
M-Labs also provides conda packages for Migen and MiSoC under the main
and dev
labels.
Then to build the gateware:
$ python make.py
The HTML documentation can be built with:
$ pip install -r doc/requirements.txt $ make -C doc html
Once the device has been programmed with the gateware and powered up, it can be used to generate waveforms.
See the :class:`host.pdq2.Pdq2` class for how to access a stack of PDQ2 board programmatically, how to submit commands, and how prepare, serialize, and program segments, frames, and channels.
An example how :class:`host.pdq2.Pdq2` can be used is the command line test interface to the PDQ2 in :func:`host.cli.main`.
Individual commands are described in the manual in :ref:`usb-protocol`.
The wavesynth format is described with examples in :ref:`wavesynth-format`.
To communicate with the device, run the testbenches and generate the data, the following additional packages are required:
pyserial
scipy
$ python3 -m testbench.escape $ python3 -m testbench.cli
Arbitrary waveform generator for quantum information processing with trapped ions; R. Bowler, U. Warring, J. W. Britton, B. C. Sawyer and J. Amini; Rev. Sci. Instrum. 84, 033108 (2013); http://dx.doi.org/10.1063/1.4795552 http://tf.boulder.nist.gov/general/pdf/2668.pdf
Coherent Diabatic Ion Transport and Separation in a Multizone Trap Array; R. Bowler, J. Gaebler, Y. Lin, T. R. Tan, D. Hanneke, J. D. Jost, J. P. Home, D. Leibfried, and D. J. Wineland; Phys. Rev. Lett. 109, 080502; http://dx.doi.org/10.1103/PhysRevLett.109.080502 http://tf.boulder.nist.gov/general/pdf/2624.pdf