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 OS support to Ara #61

Draft
wants to merge 7 commits into
base: pulp-v1
Choose a base branch
from
Draft

Add OS support to Ara #61

wants to merge 7 commits into from

Conversation

mp-17
Copy link

@mp-17 mp-17 commented Oct 15, 2024

Solve bug in acc_dispatcher

Don't mark vector instructions as "non-speculative" when flushing in the same cycle. Indeed, instructions with side effects flush the unissued instructions from the controller. The accelerator dispatcher buffer is flushed when this happens and avoids accepting a new instruction, but it does not prevent the actual issue during a flush cycle.

Solve non-propagated exception bug:

The exception from the vector accelerator is now correctly propagated to CVA6 backend for commit.

Add MMU interface for accelerator:

CVA6 can now share its MMU with the vector accelerator with a simple FSM and multiplexer.

Extend the instruction tracer to ease debugging:

Add initial support for VLD/VST to CVA6 tracer.

Update signal labels:

Update the nomenclature of the CVA6-Ara interface signals.

MaistoV and others added 6 commits October 15, 2024 16:53
Instructions with side effects flush the unissued instructions from
the controller. The accelerator dispatcher buffer is flushed when
this happens and avoids accepting a new instruction, but was not
preventing the actual issue during a flush cycle.
@niwis
Copy link
Collaborator

niwis commented Oct 31, 2024

Thank you, @mp-17, for this! I think it would make sense to split these changes into separate PRs upstream to avoid maintaining them out-of-tree. Especially the bug fixes should be upstreamed. If there are any issues with merging specific changes (e.g. the MMU interface), we can still consider doing this here. What do you think?

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.

3 participants