enabled performance counter in CSR register
This commit is contained in:
File diff suppressed because it is too large
Load Diff
2653
builds/RV64ACDFIMSUxCHERI_Toooba_bluesim/text.txt
Normal file
2653
builds/RV64ACDFIMSUxCHERI_Toooba_bluesim/text.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -112,6 +112,8 @@ BSC_COMPILATION_FLAGS += \
|
||||
-D RISCV \
|
||||
-D TSO_MM \
|
||||
-D RV64 \
|
||||
-D PERF_COUNT \
|
||||
-D PERFORMANCE_MONITORING \
|
||||
-D ISA_PRIV_M -D ISA_PRIV_S -D ISA_PRIV_U \
|
||||
-D SV39 \
|
||||
-D ISA_I -D ISA_M -D ISA_A -D ISA_F -D ISA_D -D ISA_FD_DIV -D ISA_C \
|
||||
|
||||
@@ -918,6 +918,7 @@ module mkCore#(CoreId coreId)(Core);
|
||||
// incr cycle count
|
||||
(* fire_when_enabled, no_implicit_conditions *)
|
||||
rule incCycleCnt(doStats);
|
||||
$display("calling cycle");
|
||||
cycleCnt.incr(1);
|
||||
endrule
|
||||
|
||||
|
||||
@@ -330,7 +330,7 @@ interface StatsCsr;
|
||||
endinterface
|
||||
|
||||
module mkStatsCsr(StatsCsr);
|
||||
Reg#(Bool) doStats <- mkConfigReg(False);
|
||||
Reg#(Bool) doStats <- mkConfigReg(True);
|
||||
|
||||
FIFO#(Bool) writeQ <- mkFIFO1;
|
||||
|
||||
|
||||
@@ -233,6 +233,14 @@ module mkDTlb#(
|
||||
L1TlbAllMissCycles: (allMissCycles);
|
||||
default: (0);
|
||||
endcase);
|
||||
// Print the requested counter and its value
|
||||
$display("[doPerf] Request Type: %0d, Value: %0d", t, d);
|
||||
|
||||
// (Optional) More detailed debug info
|
||||
$display(" accessCnt=%0d, missParentCnt=%0d, missParentLat=%0d",
|
||||
accessCnt, missParentCnt, missParentLat);
|
||||
$display(" L1TlbmissPeerCnt=%0d, L1TlbmissPeerLat=%0d, L1TlbhitUnderMissCnt=%0d, L1TlballMissCycles=%0d",
|
||||
missPeerCnt, missPeerLat, hitUnderMissCnt, allMissCycles);
|
||||
perfRespQ.enq(PerfResp {
|
||||
pType: t,
|
||||
data: d
|
||||
|
||||
Reference in New Issue
Block a user