Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

artiq_ddb_template.py does not add leds to most variants #2245

Closed
jbqubit opened this issue Oct 10, 2023 · 10 comments
Closed

artiq_ddb_template.py does not add leds to most variants #2245

jbqubit opened this issue Oct 10, 2023 · 10 comments
Assignees
Milestone

Comments

@jbqubit
Copy link
Contributor

jbqubit commented Oct 10, 2023

artiq/frontend/artiq_ddb_template.py does not automatically add led0 and led1 for all kasli variants. Currently they are only added for standalone. This makes getting started harder for new users and debugging of existing systems harder.

@sbourdeauducq
Copy link
Member

That's because those LEDs are used to indicate presence of a DRTIO link on the SFP port next to each LED when DRTIO is enabled, and are not user-controllable then.
Maybe there is something better to do with the USER LEDs but again there will be a difference between Kasli v1 and v2.

@Spaqin
Copy link
Collaborator

Spaqin commented Oct 11, 2023

Small note, on Kasli 2.0 LED RTIO devices are generated only for standalone; it's not just artiq_ddb_template that skips them.

@jbqubit
Copy link
Contributor Author

jbqubit commented Oct 11, 2023

That's because those LEDs are used to indicate presence of a DRTIO link on the SFP port next to each LED when DRTIO is enabled, and are not user-controllable then.

The current implementation reflects this shared use of the LEDs on Kasli v1. It's not (yet) noted on the Kasli wiki. Kasli v2 and kasli-soc now have dedicated user LEDs (led0, led1, led2). Since the .JSON includes a hardware version field the behavior of the build scripts as well as artiq_ddb_template.py can take this into account and to the right thing. Here's what I think that would look like.

  • kasli v1 : The gateware and artiq_ddb_template.py support user led0 and led1 in standalone but not master or satellite.
  • kasli v2 and kasli-soc: The gateware and artiq_ddb_template.py support user led0, led1 and led2 for all build variants.

@SimonRenblad
Copy link
Contributor

SimonRenblad commented Oct 18, 2023

  • kasli v2 and kasli-soc: The gateware and artiq_ddb_template.py support user led0, led1 and led2 for all build variants.

In kasli v2, user_led0 is not on the front panel, which is most likely why it is not supported (v1.1 also has 3 user leds, none of them on the front panel). Kasli-SoC also does not have a third user led.

As @Spaqin mentioned, an update to the kasli_generic gateware would be needed as well as the update to artiq_ddb_template. Working on testing this ATM. As for Kasli-SoC AFAICT it is already supported by the gateware for satellite and master.

@jbqubit
Copy link
Contributor Author

jbqubit commented Oct 18, 2023

Glad you're working on this @SimonRenblad! The User LEDs are helpful whether or not they are visible from the front panel.

image

(above) kasli v2 has three user LEDs.


image image

(above) kasli-soc has three user LEDs. They are on two different pages of the schematic.

@SimonRenblad
Copy link
Contributor

kasli-soc has three user LEDs. They are on two different pages of the schematic.

Thank you for the catch! From what I could gather, user_led2 is not made available through migen yet, so I will look into fixing that.

The User LEDs are helpful whether or not they are visible from the front panel.

I will amend the draft PR to reflect this and also add support for the user leds that are available in kasli v1.1.

@sbourdeauducq
Copy link
Member

AFAICT this is fixed?

@sbourdeauducq sbourdeauducq added this to the ARTIQ-8 milestone Feb 2, 2024
@SimonRenblad
Copy link
Contributor

AFAICT this is fixed?

Should be fixed. With the exception of the Kasli-SoC L2 LED, which we omitted due to it being controlled by the ps7, all other LEDs should be added in #2262.

@jbqubit
Copy link
Contributor Author

jbqubit commented Jan 21, 2025

The recent Issue I created (link) indeed relates to LD2 on Kasli-SoC. What is ps7? AFAICT this is just another FPGA IO pin.

Image Image

@dnadlinger
Copy link
Collaborator

dnadlinger commented Jan 21, 2025

ps7 is the processing system, i.e. the ARM cores. Some pins can only be accessed through the CPU.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants