Add New Stall and Flush Signals to `acc_dispatcher`
Created by: domenicw
This PR adds three more ports to the acc_dispatcher
:
-
acc_stall_st_pending_o
output to stall the output of the store buffer -
flush_pipeline_o
output to flush the complete pipeline -
dcache_req_ports_i
input that shows the requests from the load and store unit to the d$
Also, a new acc_cfg_t
type parameter, as well as a AccCfg
parameter is added is added to the module. It can be used to pass on parameters from the outside into the module. It is therefore also necessary to add these two parameters to the CVA6 top module parameter list.
One final change is done to the PC calculation, specifically to point 6. If we have to set the PC to the one currently in the commit stage, but the commit stage halt signal is raised (meaning no instruction is committed in this cycle), we do not increment the PC to the next instruction, but instead keep it at the one currently in the commit stage. This allows to do a complete pipeline flush, including any instruction which is currently ready to be committed.