m-labs / artiq

A leading-edge control system for quantum information experiments
https://m-labs.hk/artiq
GNU Lesser General Public License v3.0
437 stars 201 forks source link

Subkernels: pass now_mu #2600

Closed Spaqin closed 1 month ago

Spaqin commented 1 month ago

ARTIQ Pull Request

Description of Changes

Subkernels now_mu() was not shared, and for running RTIO events you basically had to reset the core.

With this PR, the subkernel caller sends their current now_mu value that gets applied in a subkernel. There is of course a delay between retrieving the timestamp and actually running the subkernel, and it depends on whether or not the subkernel has to be preloaded, potential hops, main RTIO channel being used, carrier processing speed etc. that may have to be individually corrected with a delay.

As there is extra information (now_mu) passed through DRTIO and I don't really see a way of doing it without breaking backwards compatibility; should that be added to release-8 still?

Tested with Kasli-SoC (Zynq changes in appropriate repo) and 1.1 sat

Related Issue

Closes #2597

Type of Changes

Type
:bug: Bug fix
:scroll: Docs

Steps (Choose relevant, delete irrelevant before submitting)

All Pull Requests

Code Changes

Documentation Changes

Git Logistics

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