mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	add AtemptedInstructionCount signal
This commit is contained in:
		
							parent
							
								
									bb8587e06f
								
							
						
					
					
						commit
						29d1f64588
					
				@ -4,6 +4,7 @@ add wave -noupdate /testbench/clk
 | 
				
			|||||||
add wave -noupdate /testbench/reset
 | 
					add wave -noupdate /testbench/reset
 | 
				
			||||||
add wave -noupdate /testbench/reset_ext
 | 
					add wave -noupdate /testbench/reset_ext
 | 
				
			||||||
add wave -noupdate -radix unsigned /testbench/InstrCountW
 | 
					add wave -noupdate -radix unsigned /testbench/InstrCountW
 | 
				
			||||||
 | 
					add wave -noupdate -radix unsigned /testbench/AttemptedInstructionCount
 | 
				
			||||||
add wave -noupdate /testbench/dut/core/SATP_REGW
 | 
					add wave -noupdate /testbench/dut/core/SATP_REGW
 | 
				
			||||||
add wave -noupdate /testbench/dut/core/IllegalFPUInstrD
 | 
					add wave -noupdate /testbench/dut/core/IllegalFPUInstrD
 | 
				
			||||||
add wave -noupdate -group HDU -expand -group hazards /testbench/dut/core/hzu/BPPredWrongE
 | 
					add wave -noupdate -group HDU -expand -group hazards /testbench/dut/core/hzu/BPPredWrongE
 | 
				
			||||||
@ -388,7 +389,6 @@ add wave -noupdate -expand -group lsu -expand -group ptwalker /testbench/dut/cor
 | 
				
			|||||||
add wave -noupdate -expand -group lsu -expand -group ptwalker /testbench/dut/core/lsu/VIRTMEM_SUPPORTED/lsuvirtmem/hptw/PTE
 | 
					add wave -noupdate -expand -group lsu -expand -group ptwalker /testbench/dut/core/lsu/VIRTMEM_SUPPORTED/lsuvirtmem/hptw/PTE
 | 
				
			||||||
add wave -noupdate -expand -group lsu -expand -group ptwalker -expand -group types /testbench/dut/core/lsu/VIRTMEM_SUPPORTED/lsuvirtmem/ITLBMissF
 | 
					add wave -noupdate -expand -group lsu -expand -group ptwalker -expand -group types /testbench/dut/core/lsu/VIRTMEM_SUPPORTED/lsuvirtmem/ITLBMissF
 | 
				
			||||||
add wave -noupdate -expand -group lsu -expand -group ptwalker -expand -group types /testbench/dut/core/lsu/VIRTMEM_SUPPORTED/lsuvirtmem/ITLBMissOrDAFaultF
 | 
					add wave -noupdate -expand -group lsu -expand -group ptwalker -expand -group types /testbench/dut/core/lsu/VIRTMEM_SUPPORTED/lsuvirtmem/ITLBMissOrDAFaultF
 | 
				
			||||||
add wave -noupdate -expand -group lsu -expand -group ptwalker -expand -group types /testbench/dut/core/lsu/VIRTMEM_SUPPORTED/lsuvirtmem/hptw/DTLBMissM
 | 
					 | 
				
			||||||
add wave -noupdate -expand -group lsu -expand -group ptwalker -expand -group types /testbench/dut/core/lsu/VIRTMEM_SUPPORTED/lsuvirtmem/hptw/ITLBWriteF
 | 
					add wave -noupdate -expand -group lsu -expand -group ptwalker -expand -group types /testbench/dut/core/lsu/VIRTMEM_SUPPORTED/lsuvirtmem/hptw/ITLBWriteF
 | 
				
			||||||
add wave -noupdate -expand -group lsu -expand -group ptwalker -expand -group types /testbench/dut/core/lsu/VIRTMEM_SUPPORTED/lsuvirtmem/hptw/DTLBWriteM
 | 
					add wave -noupdate -expand -group lsu -expand -group ptwalker -expand -group types /testbench/dut/core/lsu/VIRTMEM_SUPPORTED/lsuvirtmem/hptw/DTLBWriteM
 | 
				
			||||||
add wave -noupdate -group AHB -color Gold /testbench/dut/core/ebu/BusState
 | 
					add wave -noupdate -group AHB -color Gold /testbench/dut/core/ebu/BusState
 | 
				
			||||||
@ -526,9 +526,7 @@ add wave -noupdate /testbench/dut/core/ifu/SpillSupport/spillsupport/TakeSpillF
 | 
				
			|||||||
add wave -noupdate /testbench/dut/core/ifu/SpillSupport/spillsupport/SpillF
 | 
					add wave -noupdate /testbench/dut/core/ifu/SpillSupport/spillsupport/SpillF
 | 
				
			||||||
add wave -noupdate /testbench/dut/core/ifu/SpillSupport/spillsupport/IFUCacheBusStallF
 | 
					add wave -noupdate /testbench/dut/core/ifu/SpillSupport/spillsupport/IFUCacheBusStallF
 | 
				
			||||||
add wave -noupdate -color Yellow /testbench/dut/core/lsu/VIRTMEM_SUPPORTED/lsuvirtmem/hptw/DAPageFault
 | 
					add wave -noupdate -color Yellow /testbench/dut/core/lsu/VIRTMEM_SUPPORTED/lsuvirtmem/hptw/DAPageFault
 | 
				
			||||||
add wave -noupdate /testbench/dut/core/lsu/VIRTMEM_SUPPORTED/lsuvirtmem/hptw/OtherPageFault
 | 
					 | 
				
			||||||
add wave -noupdate /testbench/dut/core/lsu/VIRTMEM_SUPPORTED/lsuvirtmem/ITLBMissF
 | 
					add wave -noupdate /testbench/dut/core/lsu/VIRTMEM_SUPPORTED/lsuvirtmem/ITLBMissF
 | 
				
			||||||
add wave -noupdate /testbench/dut/core/lsu/VIRTMEM_SUPPORTED/lsuvirtmem/hptw/Accessed
 | 
					 | 
				
			||||||
add wave -noupdate /testbench/dut/core/lsu/dmmu/dmmu/tlb/tlb/tlbcontrol/WriteAccess
 | 
					add wave -noupdate /testbench/dut/core/lsu/dmmu/dmmu/tlb/tlb/tlbcontrol/WriteAccess
 | 
				
			||||||
add wave -noupdate /testbench/dut/core/lsu/dmmu/dmmu/tlb/tlb/tlbcontrol/TLBPageFault
 | 
					add wave -noupdate /testbench/dut/core/lsu/dmmu/dmmu/tlb/tlb/tlbcontrol/TLBPageFault
 | 
				
			||||||
TreeUpdate [SetDefaultTree]
 | 
					TreeUpdate [SetDefaultTree]
 | 
				
			||||||
 | 
				
			|||||||
@ -176,6 +176,7 @@ module testbench;
 | 
				
			|||||||
  integer           CheckMIPFutureM;
 | 
					  integer           CheckMIPFutureM;
 | 
				
			||||||
  integer           CheckSIPFutureE;
 | 
					  integer           CheckSIPFutureE;
 | 
				
			||||||
  integer           CheckSIPFutureM;
 | 
					  integer           CheckSIPFutureM;
 | 
				
			||||||
 | 
					  logic [`XLEN-1:0] AttemptedInstructionCount;
 | 
				
			||||||
  // Useful Aliases
 | 
					  // Useful Aliases
 | 
				
			||||||
  `define RF          dut.core.ieu.dp.regf.rf
 | 
					  `define RF          dut.core.ieu.dp.regf.rf
 | 
				
			||||||
  `define PC          dut.core.ifu.pcreg.q
 | 
					  `define PC          dut.core.ifu.pcreg.q
 | 
				
			||||||
@ -380,11 +381,13 @@ module testbench;
 | 
				
			|||||||
      traceFileM = $fopen({testvectorDir,"all.txt"}, "r");
 | 
					      traceFileM = $fopen({testvectorDir,"all.txt"}, "r");
 | 
				
			||||||
      traceFileE = $fopen({testvectorDir,"all.txt"}, "r");
 | 
					      traceFileE = $fopen({testvectorDir,"all.txt"}, "r");
 | 
				
			||||||
      InstrCountW = '0;
 | 
					      InstrCountW = '0;
 | 
				
			||||||
 | 
					      AttemptedInstructionCount = '0;
 | 
				
			||||||
    end else begin // checkpoint
 | 
					    end else begin // checkpoint
 | 
				
			||||||
      //$readmemh({checkpointDir,"ram.txt"}, dut.uncore.ram.ram.RAM);
 | 
					      //$readmemh({checkpointDir,"ram.txt"}, dut.uncore.ram.ram.RAM);
 | 
				
			||||||
      traceFileE = $fopen({checkpointDir,"all.txt"}, "r");
 | 
					      traceFileE = $fopen({checkpointDir,"all.txt"}, "r");
 | 
				
			||||||
      traceFileM = $fopen({checkpointDir,"all.txt"}, "r");
 | 
					      traceFileM = $fopen({checkpointDir,"all.txt"}, "r");
 | 
				
			||||||
      InstrCountW = CHECKPOINT;
 | 
					      InstrCountW = CHECKPOINT;
 | 
				
			||||||
 | 
					      AttemptedInstructionCount = CHECKPOINT;
 | 
				
			||||||
      // manual checkpoint initializations that don't neatly fit into MACRO
 | 
					      // manual checkpoint initializations that don't neatly fit into MACRO
 | 
				
			||||||
      force {`STATUS_TSR,`STATUS_TW,`STATUS_TVM,`STATUS_MXR,`STATUS_SUM,`STATUS_MPRV} = initMSTATUS[0][22:17];
 | 
					      force {`STATUS_TSR,`STATUS_TW,`STATUS_TVM,`STATUS_MXR,`STATUS_SUM,`STATUS_MPRV} = initMSTATUS[0][22:17];
 | 
				
			||||||
      force {`STATUS_FS,`STATUS_MPP} = initMSTATUS[0][14:11];
 | 
					      force {`STATUS_FS,`STATUS_MPP} = initMSTATUS[0][14:11];
 | 
				
			||||||
@ -440,6 +443,9 @@ module testbench;
 | 
				
			|||||||
      for(index``STAGE = 0; index``STAGE < line``STAGE.len(); index``STAGE++) begin \
 | 
					      for(index``STAGE = 0; index``STAGE < line``STAGE.len(); index``STAGE++) begin \
 | 
				
			||||||
        //$display("char = %s", line``STAGE[index]); \
 | 
					        //$display("char = %s", line``STAGE[index]); \
 | 
				
			||||||
        if (line``STAGE[index``STAGE] == " " | line``STAGE[index``STAGE] == "\n") begin \
 | 
					        if (line``STAGE[index``STAGE] == " " | line``STAGE[index``STAGE] == "\n") begin \
 | 
				
			||||||
 | 
					          if (line``STAGE[index``STAGE] == "\n" & `"STAGE`"=="M") begin \
 | 
				
			||||||
 | 
					            AttemptedInstructionCount += 1; \
 | 
				
			||||||
 | 
					          end \
 | 
				
			||||||
          EndIndex``STAGE = index``STAGE; \
 | 
					          EndIndex``STAGE = index``STAGE; \
 | 
				
			||||||
          ExpectedTokens``STAGE[TokenIndex``STAGE] = line``STAGE.substr(StartIndex``STAGE, EndIndex``STAGE-1); \
 | 
					          ExpectedTokens``STAGE[TokenIndex``STAGE] = line``STAGE.substr(StartIndex``STAGE, EndIndex``STAGE-1); \
 | 
				
			||||||
          //$display("In Tokenizer %s", line``STAGE.substr(StartIndex, EndIndex-1)); \
 | 
					          //$display("In Tokenizer %s", line``STAGE.substr(StartIndex, EndIndex-1)); \
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user