RTL Design · Medium · SystemVerilog

Misprediction Detection

Detect when speculative fetch disagrees with the resolved branch outcome or target.

Task

Assert mispredict if predicted taken differs from actual taken, or if both are taken but predicted target differs from actual target.

Examples

Constraints

What this problem is testing

A strong answer translates the requirement into synthesizable state and combinational logic, states reset and update semantics precisely, and handles boundary conditions rather than only the nominal case.

Interview habit: before coding, state reset behavior, the state that must be stored, and the conditions that update each output.

Verification plan

Common mistakes

Interview follow-up questions

Concepts to review

branch predictor, recovery, control

Open Misprediction Detection in the HDLForge interactive editor.

Related problems

Explore the RTL Design Practice & Interview Preparation hub.

Continue practising