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

[fpga] Hyperdebug integration on FPGA targets #13484

Open
moidx opened this issue Jun 30, 2022 · 5 comments
Open

[fpga] Hyperdebug integration on FPGA targets #13484

moidx opened this issue Jun 30, 2022 · 5 comments
Assignees
Labels
Component:FPGA FPGA related issues Earlgrey-PROD Candidate Temporary label to triage issues into Earlgrey-PROD Milestones Priority:P2 Priority: medium Type:Task Tasks, to-do list.

Comments

@moidx
Copy link
Contributor

moidx commented Jun 30, 2022

This issue is to track the tasks required to enable Hyperdebug integrations on FPGA targets. Currently, host I/O connectivity is routed to the onboard SM3x in the CW310 board. We need an alternate FPGA pinout configuration to start Hyperdebug enablement.

Ideally the alternate pin configuration will be available in the repository, and Bazel/Fusesoc should be able to select between the available pinout configurations.

@moidx moidx added Component:FPGA FPGA related issues Priority:P1 Priority: high Type:Task Tasks, to-do list. labels Jun 30, 2022
@msfschaffner
Copy link
Contributor

@a-will is there anything else that needs to be done for this?
CC @toshaq

@msfschaffner msfschaffner added this to the Project: M2 milestone Sep 23, 2022
@a-will
Copy link
Contributor

a-will commented Sep 23, 2022

This isn't actually part of the M2 milestone, is it?

But in any case, we have a bitstream with the alternate pin configuration, but validation on it is still in an early phase.

In addition (or possibly as a separate issue), the bitstream cache and bazel rules need some updates to make the cw310 hyperdebug variant available for use within our build system, and we'll want to add to the docs explaining how to use. The latter would also mean explaining what hyperdebug is, where to get the firmware, how to connect it, and updating opentitantool to make it all work.

@msfschaffner
Copy link
Contributor

msfschaffner commented Sep 23, 2022

Thanks for summarizing this @a-will!

It looks like the P1 aspects of this issue have been addressed (create an alternate pin configuration), hence I think we can relax this to P2 and assign it to M3 for now (please re-categorize if you think this is incorrect).

@a-will
Copy link
Contributor

a-will commented Aug 9, 2023

Things have changed quite a bit since this issue was first created. Some open items:

  • Should the breakout board be integrated into the hyperdebug FPGA build? The hyperdebug firmware currently lacks the ability to emulate SPI device and I2C target roles, but the breakout board is not currently available to the wider project.
    • I2C is connected now. The SPI role can still be handled by spi_host0, which is connected to the flash on the CW310 board.
  • Should the hyperdebug FPGA build direct the JTAG pins to the JTAG header instead? The hyperdebug firmware currently lacks the ability to perform JTAG operations. The firmware now supports JTAG.
  • Should we execute the planned transition to have the hyperdebug variant be the primary FPGA bitstream for functional test?

@a-will a-will self-assigned this Aug 9, 2023
@msfschaffner msfschaffner added the Earlgrey-PROD Candidate Temporary label to triage issues into Earlgrey-PROD Milestones label Oct 6, 2023
@msfschaffner
Copy link
Contributor

Assigning this to SV 2 for now - @moidx @timothytrippel @a-will please adjust as needed.

@msfschaffner msfschaffner added Hotlist:Security Security Opinion Needed and removed Hotlist:Security Security Opinion Needed labels Nov 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component:FPGA FPGA related issues Earlgrey-PROD Candidate Temporary label to triage issues into Earlgrey-PROD Milestones Priority:P2 Priority: medium Type:Task Tasks, to-do list.
Projects
None yet
Development

No branches or pull requests

3 participants