diff --git a/cMIPS/bin/run.sh b/cMIPS/bin/run.sh index 76009986030d0ddb4a933d15d3c124ee9904bab7..dbde68e7060c6785af2857f0587760f2656db4e5 100755 --- a/cMIPS/bin/run.sh +++ b/cMIPS/bin/run.sh @@ -85,7 +85,7 @@ options="--ieee-asserts=disable --stop-time=${length}${unit}s --vcd=${visual}" if [ -v $WAVE ] ; then ## simulator must be exec'd so it can read from the standard input - exec "${simulator}" $options + exec "${simulator}" $options --vcd-nodate else diff --git a/cMIPS/pipe_MAX.sav b/cMIPS/pipe_MAX.sav new file mode 100644 index 0000000000000000000000000000000000000000..1dd1884dfdee856428a0d8951c8635d68404001f --- /dev/null +++ b/cMIPS/pipe_MAX.sav @@ -0,0 +1,86 @@ +[*] +[*] GTKWave Analyzer v3.3.37 (w)1999-2012 BSI +[*] Wed Aug 17 13:40:37 2016 +[*] +[dumpfile] "/home/roberto/cMIPS/v_cMIPS.vcd" +[dumpfile_mtime] "Wed Aug 17 13:34:05 2016" +[dumpfile_size] 6865336 +[savefile] "/home/roberto/cMIPS/pipe_MAX.sav" +[timestart] 183000000 +[size] 1201 876 +[pos] 445 -1 +*-26.000000 262800000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +[treeopen] u_core. +[treeopen] u_core.u_alu. +[treeopen] u_fpu. +[treeopen] u_lcd_display. +[sst_width] 210 +[signals_width] 214 +[sst_expanded] 1 +[sst_vpaned_height] 278 +@28 +clk +@200 +-== FETCH ====== +@22 +u_core.pc[31:0] +@28 +u_core.pcsel[1:0] +@22 +u_core.pcincd[31:0] +u_core.br_target[31:0] +u_core.j_target[31:0] +@28 +u_core.br_stall +u_core.jr_stall +u_core.lw_stall +u_core.sw_stall +@200 +-== DECOD ===== +@22 +u_core.rf_instruction[31:0] +u_core.opcode[5:0] +@24 +u_core.a_rs[4:0] +u_core.a_rt[4:0] +u_core.a_rd[4:0] +u_core.a_c[4:0] +@200 +-== EXEC ======= +@24 +u_core.u_alu.operation[31:0] +u_core.ex_a_c[4:0] +@22 +u_core.alu_inp_a[31:0] +u_core.alu_inp_b[31:0] +u_core.result[31:0] +@200 +-== MEM ======= +@28 +cpu_d_aval +wr +u_core.b_sel[3:0] +@22 +d_addr[31:0] +u_core.data_inp[31:0] +u_core.data_out[31:0] +@200 +-== WR BACK ===== +@24 +u_core.wb_muxc[2:0] +@22 +u_core.wb_pc_p8[31:0] +u_core.wb_a[31:0] +u_core.wb_mem_data[31:0] +u_core.wb_cop0_val[31:0] +u_core.wb_result[31:0] +u_core.wb_hi[31:0] +u_core.wb_lo[31:0] +@29 +u_core.wb_wreg +@24 +u_core.wb_a_c[4:0] +@22 +u_core.wb_c[31:0] +[pattern_trace] 1 +[pattern_trace] 0 diff --git a/cMIPS/pipe_Med.sav b/cMIPS/pipe_Med.sav new file mode 100644 index 0000000000000000000000000000000000000000..029311da72fbbaca9b8fc25eb9a168f527ca784a --- /dev/null +++ b/cMIPS/pipe_Med.sav @@ -0,0 +1,94 @@ +[*] +[*] GTKWave Analyzer v3.3.37 (w)1999-2012 BSI +[*] Wed Aug 17 13:32:42 2016 +[*] +[dumpfile] "/home/roberto/cMIPS/v_cMIPS.vcd" +[dumpfile_mtime] "Wed Aug 17 13:18:43 2016" +[dumpfile_size] 6865336 +[savefile] "/home/roberto/cMIPS/pipe_Med.sav" +[timestart] 183000000 +[size] 1201 960 +[pos] -1 -1 +*-26.000000 262800000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +[treeopen] u_core. +[treeopen] u_core.u_alu. +[treeopen] u_fpu. +[treeopen] u_lcd_display. +[sst_width] 210 +[signals_width] 214 +[sst_expanded] 1 +[sst_vpaned_height] 309 +@28 +clk +@200 +-== FETCH ====== +@22 +u_core.pc[31:0] +u_core.instr_fetched[31:0] +@28 +u_core.pcsel[1:0] +@22 +u_core.pcincd[31:0] +u_core.br_target[31:0] +u_core.j_target[31:0] +@200 +-== DECOD ====== +@22 +u_core.rf_instruction[31:0] +u_core.opcode[5:0] +@24 +u_core.a_rs[4:0] +u_core.a_rt[4:0] +u_core.a_rd[4:0] +u_core.a_c[4:0] +@200 +-== EXEC ======= +@24 +u_core.u_alu.operation[31:0] +@200 +-forward into A +@22 +u_core.mm_result[31:0] +u_core.wb_c[31:0] +u_core.ex_a[31:0] +u_core.alu_inp_a[31:0] +@200 +-forward into B +@22 +u_core.mm_result[31:0] +u_core.wb_c[31:0] +u_core.ex_b[31:0] +u_core.ex_displ32[31:0] +u_core.alu_inp_b[31:0] +u_core.result[31:0] +@200 +-== MEM ======= +@28 +cpu_d_aval +wr +u_core.b_sel[3:0] +@22 +d_addr[31:0] +u_core.data_inp[31:0] +@200 +-forward to mem +@22 +u_core.mm_b[31:0] +u_core.wb_c[31:0] +u_core.data_out[31:0] +@200 +-== WR BACK ===== +@24 +u_core.wb_muxc[2:0] +@22 +u_core.wb_rd_data[31:0] +u_core.wb_result[31:0] +u_core.wb_hi[31:0] +u_core.wb_lo[31:0] +u_core.wb_c[31:0] +@24 +u_core.wb_a_c[4:0] +@28 +u_core.wb_wreg +[pattern_trace] 1 +[pattern_trace] 0 diff --git a/cMIPS/pipe_min.sav b/cMIPS/pipe_min.sav new file mode 100644 index 0000000000000000000000000000000000000000..5e318f5f1b37bccb761b5939843c075fba71d579 --- /dev/null +++ b/cMIPS/pipe_min.sav @@ -0,0 +1,68 @@ +[*] +[*] GTKWave Analyzer v3.3.37 (w)1999-2012 BSI +[*] Wed Aug 17 13:11:28 2016 +[*] +[dumpfile] "/home/roberto/cMIPS/v_cMIPS.vcd" +[dumpfile_mtime] "Wed Aug 17 13:06:45 2016" +[dumpfile_size] 6865336 +[savefile] "/home/roberto/cMIPS/pipe_min.sav" +[timestart] 1038600000 +[size] 1201 673 +[pos] -1 -1 +*-26.000000 262800000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +[treeopen] u_core. +[treeopen] u_core.u_alu. +[treeopen] u_fpu. +[treeopen] u_lcd_display. +[sst_width] 210 +[signals_width] 214 +[sst_expanded] 1 +[sst_vpaned_height] 197 +@28 +clk +@200 +- fetch +@22 +u_core.pc[31:0] +@200 +- +- decode, reg fetch +@22 +u_core.rf_instruction[31:0] +u_core.opcode[5:0] +@24 +u_core.a_rs[4:0] +u_core.a_rt[4:0] +u_core.a_rd[4:0] +u_core.a_c[4:0] +@200 +- +- exec +@24 +u_core.u_alu.operation[31:0] +@22 +u_core.alu_inp_a[31:0] +u_core.alu_inp_b[31:0] +u_core.result[31:0] +@200 +- +- memory +@28 +cpu_d_aval +u_core.b_sel[3:0] +wr +@22 +d_addr[31:0] +u_core.data_inp[31:0] +u_core.data_out[31:0] +@200 +- +- write-back +@28 +u_core.wb_wreg +@25 +u_core.wb_a_c[4:0] +@22 +u_core.wb_c[31:0] +[pattern_trace] 1 +[pattern_trace] 0