artiq icon indicating copy to clipboard operation
artiq copied to clipboard

Support CoreMgmt over DRTIO

Open occheung opened this issue 5 months ago • 6 comments

ARTIQ Pull Request

Description of Changes

This PR implements the followings:

  1. Flashing gateware/bootloader/firmware through artiq_coremgmt via config write similar to Zynq device.
  2. Implement corresponding core-mgmt handling for satellites
  3. Create new DRTIO messages for (2).

Item (1) should belong to its own PR, but I am not sure if we should toe Zynq's line on this. Coremgmt now requires a DRTIO destination byte. It is currently implemented as mandatory, so it is a breaking change.

Related Issue

Closes #2498

Known Issues

  • Satellite will be unable to respond to AUX traffic while flashing. Taking down DRTIO link and reboot is WIP. We may want to rethink the new DRTIO messages for this.
  • Routing the new reply messages are probably missing.

Tests

Remote flashing, rebooting, logging (via artiq_coremgmt and aqctl_corelog), and configuration via DRTIO between 2 core devices. Core devices ranges from Kasli 1.1, 2.0 and Kasli-SoC.

A corresponding PR will be opened to artiq-zynq soon.

Type of Changes

Type
:sparkles: New feature

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.

Code Changes

  • [ ] Run flake8 to check code style (follow PEP-8 style). flake8 has issues with parsing Migen/gateware code, ignore as necessary.
  • [x] Test your changes or have someone test them. Mention what was tested and how.
  • [ ] Add and check docstrings and comments
  • [x] Check, test, and update the unittests in /artiq/test/ or gateware simulations in /artiq/gateware/test

Git Logistics

  • [ ] 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+.

occheung avatar Aug 27 '24 14:08 occheung