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