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

Instruction tracking debugging interface #763

Open
piotro888 opened this issue Nov 26, 2024 · 0 comments
Open

Instruction tracking debugging interface #763

piotro888 opened this issue Nov 26, 2024 · 0 comments
Labels
enhancement New feature or request tests Tests and testbenches (not infrastructure)

Comments

@piotro888
Copy link
Member

Debugging assembly tests (incl. regression tests) on traces is hard.

It would be great to create tool that prints information about each executed instruction (and maybe inserted and flushed ones in verbose mode) with current register state.

Implementation proposition (there may be better ways to do that):
Collect instruction information via calling methods in a similar way that our hardware logging works at a few points:

  1. Collect raw instruction at exit of fetch unit
  2. Maybe assign some temopary id in pipeline and map it in ROB insertion when rob_id is known.
  3. Report rob_ids of commited instruction in Retirement and current RRAT state.
  4. Optional: Collect reported exceptions and OpTypes
    (synthesis of extra features enabled in configuration)

Instructions from raw bits could be decoded and preety-printed externally.

It would be great if it worked both in python and faster verilator simulation, but I don't know if it is possible.

@piotro888 piotro888 added enhancement New feature or request tests Tests and testbenches (not infrastructure) labels Nov 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request tests Tests and testbenches (not infrastructure)
Projects
None yet
Development

No branches or pull requests

1 participant