P116 tries to turn the P115 frontend target queue into active predictor
steering. The live version built, but wedged before the Linux kernel
banner. The final RTL keeps the steering readiness counters and gates
speculative target prefetch off so Linux and BusyBox remain the
acceptance test.
check
result
Verilator build
PASS
BusyBox shell workload reaches P116-FILE-OK
PASS
Live predicted-target prefetch
FAIL
Guarded steering counters
PASS
Hardened layout
NOT RUN
counter
value
steering candidates
4,464,122
steering issues
0
blocked unaligned
119,767
blocked TLB/permission
11,378
FTQ fills
54,320,033
FTQ consumes
54,320,033
FTQ flushes
0
metric
P115
P116
shell window cycles
65,309,216
65,806,663
S_FETCH cycles
7,635,432
7,643,195
S_MEM cycles
27,816,606
27,889,071
The result is useful precisely because it is not a fake speedup. The
next frontend rung needs a speculative target buffer or non-architectural
fill record so predicted data can be promoted only after the queued
branch resolves.