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

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