artiq icon indicating copy to clipboard operation
artiq copied to clipboard

Added support for Digilent Genesys 2

Open kaolpr opened this issue 3 years ago • 11 comments

ARTIQ Pull Request

Description of Changes

Adds support for Digilent Genesys 2 target.

Related PRs:

  • https://github.com/m-labs/misoc/pull/130
  • https://github.com/m-labs/migen/pull/264

Related Issue

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] Check the copyright situation of your changes and sign off your patches (git commit --signoff, see copyright).

Code Changes

  • [x] 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.
    • Built and run on hardware, used TestVariant to blink user_led from ARTIQ experiment.

Documentation Changes

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

kaolpr avatar Sep 01 '22 13:09 kaolpr

Will you keep maintaining this, including porting the clocking changes https://github.com/m-labs/artiq/pull/1939 / https://github.com/m-labs/misoc/pull/129 ?

sbourdeauducq avatar Sep 02 '22 09:09 sbourdeauducq

I believe we can support it both in TechnoSystem and on WUT (both sites have boards).

We can wait with this merge until both #1939 and m-labs/misoc#129 are approved and merged so I can port changes.

kaolpr avatar Sep 28 '22 13:09 kaolpr

@kaolpr Sync RTIO is merged now. Is this PR ready?

sbourdeauducq avatar Feb 08 '23 13:02 sbourdeauducq

I'll update to latest master and will be ready tomorrow.

kaolpr avatar Feb 08 '23 13:02 kaolpr

Great. Corresponding MiSoC PR is also OK?

sbourdeauducq avatar Feb 08 '23 13:02 sbourdeauducq

@sbourdeauducq Sorry, I didn't manage to test it on hardware before my winter vacation. I'll verify operation for this PR and https://github.com/m-labs/misoc/pull/130 just after coming back on Feb 21st.

kaolpr avatar Feb 12 '23 23:02 kaolpr

@sbourdeauducq I've made updates to both to this PR and MiSoC. Please take a look at rtio_clocking.rs modifications. As there is no Si5324 available, most of the contents are disabled via #[cfg(si5324_as_synthesizer)].

And sorry that it took so long.

kaolpr avatar Mar 24 '23 14:03 kaolpr

As there is no Si5324 available, most of the contents are disabled via #[cfg(si5324_as_synthesizer)].

We don't have this anymore since synchronous RTIO clocking. Your change breaks Kasli and KC705.

sbourdeauducq avatar Mar 24 '23 14:03 sbourdeauducq

Can I use has_rtio_crg for that purpose? Genesys2 will only have _SysCRG?

kaolpr avatar Mar 24 '23 15:03 kaolpr

Probably has_si5324. And please test on Kasli and KC705.

sbourdeauducq avatar Mar 24 '23 15:03 sbourdeauducq

Modified to use has_si5324. Checked Kasli with hardware, but don't have KC705 around. However firmware builds fine for all 3 target platforms.

kaolpr avatar Mar 24 '23 16:03 kaolpr