Simple out of order processor based on P6 micro architecture with advanced feature -- instruction prefetching, advanced branch prediction, speculative execution, misprediction recovery.
To test our Out-of-Order pipeline:
- Generate the program memory with RISC-V ISA.
- Name your file
<filename>.mem. - In testbench/testbench.sv line 205, change
benchmarkvariable to"<filename>.mem". - You will get several results after simulating testbench/testbench.sv in vivado:
pipeline.out: describe the pipeline process along with the clock cycle.writeback.out: record the committed instructions.bench.csv: record the total number of instructions and performance metrics(CPI, branch prediction accuracy).
- In our repo, we provide some memory files that can be tested directly. They are in
test_progs/folder.