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

Check additional edge cases in on_chip_debugger #149

Open
jbush001 opened this issue Feb 25, 2018 · 0 comments
Open

Check additional edge cases in on_chip_debugger #149

jbush001 opened this issue Feb 25, 2018 · 0 comments
Labels

Comments

@jbush001
Copy link
Owner

jbush001 commented Feb 25, 2018

The following conditions are currently not handled properly:

  • The instruction queue is full when the host attempts to inject an instruction
  • A multi-cycle instruction (scatter/gather load/store) is active when the OCD halts and it takes a rollback before finishing.
  • A halt between two issues of a non-interruptible function (synchronized memory operation or I/O memory transfer).

To address this, the status register should return a busy indication (probably change the identifier from ISSUED to BUSY), and this should be indicated if:

  • ts_fetch_en is false for the selected thread
  • ior_pending, dd_load_sync_pending, or sq_store_sync_pending is set (There is similar logic in instruction_decode_stage)

Also need additional logic in thread_select_stage to check if a multi-cycle instruction is pending.

@jbush001 jbush001 added the bug label Mar 4, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant