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

Vicuna + Ibex and WFI #104

Open
stevobailey opened this issue Aug 11, 2022 · 0 comments
Open

Vicuna + Ibex and WFI #104

stevobailey opened this issue Aug 11, 2022 · 0 comments

Comments

@stevobailey
Copy link
Contributor

assign vcore_xif.result_ready = 1'b1;

If I issue a WFI instruction while Vicuna has outstanding work, even pending stores, then Ibex will go to sleep and gate its clock (see here). But Vicuna will continue to process its instructions. What happens when it finishes an instruction and tries to send a response to Ibex? Since result_ready is tied to 1, Vicuna will think Ibex has received the result, but since Ibex's clock is off, it won't actually receive the response.

There's a couple issues here, I think:

  1. Vicuna has no architectural clock gate, so power can be high when it is idle.
  2. Ibex does not wait for all Vicuna instructions to finish when handling a WFI or FENCE instruction.
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

1 participant