Support MIQRO mode for Phaser
ARTIQ Pull Request
Description of Changes
This PR adds ARTIQ RTIO, coredevice, tester, device-db support for the Phaser MIQRO gateware mode. MIQRO is a research DSP solution that supports 16 oscillators per RF channel within a 200 MHz band, 32 frequency/amplitude/phase profiles per oscillator with phase-coherence built-in, and a quadrature shaper with a highly configurable interpolator and segmentable window sample memory suitable for temporal/spectral shaping, robust pulses, and optimal control. The complete pulse data comprises just 90 bit and can be selected and dispatched from Kasli at high sustained rate and low latency. See https://www.youtube.com/watch?v=HiKkvydfYLk for a sneak peek where oscillator profiles and windows are chosen based on ADC voltage samples.

Related Issue
none
Type of Changes
| Type | |
|---|---|
| :bug: Bug fix | |
| ✓ | :sparkles: New feature |
| ✓ | :hammer: Refactoring |
| ✓ | :scroll: Docs |
Steps (Choose relevant, delete irrelevant before submitting)
All Pull Requests
- [x] Use correct spelling and grammar.
- [x] Update RELEASE_NOTES.rst if there are noteworthy changes, especially if there are changes to existing APIs.
- [x] Close/update issues.
- [x] Check the copyright situation of your changes and sign off your patches (
git commit --signoff, see copyright).
Code Changes
- [x] Run
flake8to check code style (follow PEP-8 style).flake8has issues with parsing Migen/gateware code, ignore as necessary. - [x] Test your changes or have someone test them. Mention what was tested and how.
- [x] Add and check docstrings and comments
- [x] Check, test, and update the unittests in /artiq/test/ or gateware simulations in /artiq/gateware/test
Documentation Changes
- [x] Check, test, and update the documentation in doc/. Build documentation (
cd doc/manual/; make html) to ensure no errors.
Git Logistics
- [x] Split your contribution into logically separate changes (
git rebase --interactive). Merge/squash/fixup commits that just fix or amend previous commits. Remove unintended changes & cleanup. See tutorial. - [x] Write short & meaningful commit messages. Review each commit for messages (
git show). Format:topic: description. < 50 characters total. Longer description. < 70 characters per line
Licensing
See copyright & licensing for more info. ARTIQ files that do not contain a license header are copyrighted by M-Labs Limited and are licensed under LGPLv3+.
@jordens this looks really interesting! Is there a Phaser gateware variant needed to make this work? If so, where can I find it?
It's part of an ongoing research project for which the phaser DSP gateware isn't available.
Are you planning to release it? Otherwise I don't see the purpose of a PR here.
We are testing it with pilot users and want to evaluate it with some others. And then later it will be certainly be released under TBD terms. We may as well just fork and keep it closed if this is hitting any resistance. Not a hill I will die on.