-
- Downloads
frontend: Clean-up instruction frontend
The instuction frontend has become an increasingly messy part an needed cleaning-up. The current solution contains 2 x 32 bit instruction data fifos and 1 x 64 bit address fifo. Hence, it should be significantly more area efficient that the previous one. The interface to `id_stage` is a ready/valid handshake. The credit based system has been replaced in favour of a replay mechanism as it was very brittle and overly pessimistic. Branch-prediction has been cleaned up: The front-end was also partially predicting on jumps, this could have potentially let to performance bugs if the branch detection wasn't correct in the frontend.
Showing
- Makefile 2 additions, 1 deletionMakefile
- include/ariane_pkg.sv 30 additions, 24 deletionsinclude/ariane_pkg.sv
- src/ariane.sv 17 additions, 14 deletionssrc/ariane.sv
- src/branch_unit.sv 35 additions, 56 deletionssrc/branch_unit.sv
- src/ex_stage.sv 4 additions, 0 deletionssrc/ex_stage.sv
- src/frontend/bht.sv 44 additions, 27 deletionssrc/frontend/bht.sv
- src/frontend/btb.sv 32 additions, 21 deletionssrc/frontend/btb.sv
- src/frontend/frontend.sv 344 additions, 414 deletionssrc/frontend/frontend.sv
- src/frontend/instr_queue.sv 353 additions, 0 deletionssrc/frontend/instr_queue.sv
- src/frontend/instr_scan.sv 24 additions, 21 deletionssrc/frontend/instr_scan.sv
- src/id_stage.sv 50 additions, 65 deletionssrc/id_stage.sv
- src/instr_realign.sv 358 additions, 0 deletionssrc/instr_realign.sv
- src/instr_realigner.sv 0 additions, 252 deletionssrc/instr_realigner.sv
- tb/ariane_soc_pkg.sv 3 additions, 0 deletionstb/ariane_soc_pkg.sv
Loading
Please register or sign in to comment