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

Uop queue #31

Open
wants to merge 14 commits into
base: stage3
Choose a base branch
from
Open

Uop queue #31

wants to merge 14 commits into from

Conversation

1fahadaloufi
Copy link

The full documentation for the uop queue design is here: https://github.com/Purdue-SoCET/RISCVBusiness/blob/rvv-f23/doc/src/rv32v/rv32v_uop_queue.md

Currently the vector decode block and the arbitration between scalar instructions and vector instructions are not supported yet. Only a scalar decode block is added.

The files for the uop queue are in the stage3/source directory and are the following:

  • decode_resolution.sv
  • decode_queue.sv
  • uop_queue.sv
  • scalar_decode.sv

The hazard unit also was modified to handle stalls, flushes, and exception pc handling due to the added uop stage.

The default queue length (maximum number of instructions the queue holds) is 8.
The default dispatch size (maximum number of instructions decoded in 1 cycle) is 1.
The uop_t data type of instructions inside the queue is defined in stage3/source/stage3_types_pkg.sv

Also in the verification folder under the pma-tests, pmp-tests, interrupts-exceptions tests, etc. I have added a build_and_run_all.py file to automate the build and testing procedure.

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