l1 tlb performance metrics working

This commit is contained in:
2026-04-09 13:31:59 +01:00
parent af459956b7
commit 0e8b7f38dc
4 changed files with 3706 additions and 285461 deletions

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -242,6 +242,7 @@ module mkDTlb#(
rule incrAllMissCycles(doStats); rule incrAllMissCycles(doStats);
function Bool isMiss(DTlbWait x) = x != None; function Bool isMiss(DTlbWait x) = x != None;
when(all(isMiss, readVReg(pendWait)), allMissCycles.incr(1)); when(all(isMiss, readVReg(pendWait)), allMissCycles.incr(1));
$display("L1TlballMissCycles = %0d", allMissCycles);
endrule endrule
// `endif // `endif
// `ifdef PERFORMANCE_MONITORING // `ifdef PERFORMANCE_MONITORING
@@ -361,11 +362,15 @@ module mkDTlb#(
if(doStats) begin if(doStats) begin
if(isValid(respForOtherReq)) begin if(isValid(respForOtherReq)) begin
missPeerLat.incr(zeroExtend(lat)); missPeerLat.incr(zeroExtend(lat));
$display("L1 TLB miss");
$display("L1TLBmissPeerLat = %0d", missPeerLat);
missPeerCnt.incr(1); missPeerCnt.incr(1);
end end
else begin else begin
missParentLat.incr(zeroExtend(lat)); missParentLat.incr(zeroExtend(lat));
missParentCnt.incr(1); missParentCnt.incr(1);
$display("L1 TLB parent miss");
$display("L1TLBmissParentCnt = %0d", missParentCnt);
end end
end end
// `endif // `endif
@@ -512,6 +517,7 @@ module mkDTlb#(
// perf: hit under miss // perf: hit under miss
if(doStats && readVReg(pendWait) != replicate(None)) begin if(doStats && readVReg(pendWait) != replicate(None)) begin
hitUnderMissCnt.incr(1); hitUnderMissCnt.incr(1);
$display("L1TlbhitUnderMissCnt = %0d", hitUnderMissCnt);
end end
// `endif // `endif
end end
@@ -568,6 +574,7 @@ module mkDTlb#(
// `ifdef PERF_COUNT // `ifdef PERF_COUNT
// perf: access // perf: access
if(doStats) begin if(doStats) begin
$display("L1 TLB inc");
accessCnt.incr(1); accessCnt.incr(1);
end end
// `endif // `endif