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

add JTAG support to the core #4

Merged
merged 9 commits into from
Mar 11, 2024
Merged

add JTAG support to the core #4

merged 9 commits into from
Mar 11, 2024

Conversation

hydrolarus
Copy link
Contributor

@hydrolarus hydrolarus commented Jun 1, 2023

This is the first step to allow debugging the core with tools like GDB by using OpenOCD.

TODO:

  • add a test in CI that clash can do HDL translation

@martijnbastiaan martijnbastiaan force-pushed the jtag branch 2 times, most recently from 273246d to ecf0858 Compare March 7, 2024 10:09
@martijnbastiaan martijnbastiaan force-pushed the jtag branch 2 times, most recently from 89d551d to 58568da Compare March 7, 2024 10:24
Copy link
Member

@martijnbastiaan martijnbastiaan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've:

  • Fixed the space leak in the new dual port memory
  • Added a JTAG test to CI. It tests breakpoints, register listing, and program loading.
  • Added a HDL generation test to CI
  • Fixed a CI issue where it couldn't find caches (because newer Cabals follow XDG)
  • Looped back the JTAG reset in cpu (but not vexRiscv)
  • Made sure black boxes / top entities are properly annotated for newer GHCs

The JTAG test is currently disabled, due to OpenOCD and GDB missing in the CI environment. I propose just using Nix shell.

So LGTM, but I also added a whole bunch to this PR so... :-).

Copy link
Contributor Author

@hydrolarus hydrolarus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few comments, some just to keep track of "dead code" so we don't forget :)

clash-vexriscv/Makefile Outdated Show resolved Hide resolved
clash-vexriscv/src/VexRiscv/JtagTcpBridgeHaskell.hs Outdated Show resolved Hide resolved
clash-vexriscv/src/ffi/impl.cpp Outdated Show resolved Hide resolved
clash-vexriscv/src/ffi/impl.cpp Outdated Show resolved Hide resolved
debug-test/src/main.rs Show resolved Hide resolved
@martijnbastiaan
Copy link
Member

@cuddlefishie What do you think, is this mergeable?

@hydrolarus
Copy link
Contributor Author

Yes, I think this should be good to go now :)

@martijnbastiaan martijnbastiaan merged commit 8831c6f into main Mar 11, 2024
7 checks passed
@martijnbastiaan martijnbastiaan deleted the jtag branch March 11, 2024 12:02
martijnbastiaan added a commit that referenced this pull request Mar 29, 2024
martijnbastiaan added a commit that referenced this pull request Mar 29, 2024
martijnbastiaan added a commit that referenced this pull request Mar 29, 2024
martijnbastiaan added a commit that referenced this pull request Mar 29, 2024
martijnbastiaan added a commit that referenced this pull request Mar 29, 2024
martijnbastiaan added a commit that referenced this pull request Mar 29, 2024
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

Successfully merging this pull request may close these issues.

2 participants