← Formal Verification Interviews

Interview Question · Project Defence

Defending a Formal Proof You Closed

L2 Mid-LevelL3 Seniorproject defencesignoff

The Question

The interviewer asks

Walk me through a formal proof you closed on a real block. Cover the properties, the assumptions, the hard part, and how you knew you were done.

Reveal the Model Answer

A strong answer names the block and its spec rows, then the property kinds: end-to-end checks, glue invariants and covers. It lists each assumption with its source and how the system checks it. It names the convergence problem and the technique that solved it. It ends with the evidence for done: full or bounded with the required depth, reached covers, and a fault-injection or mutation result.

The Bench Around the BlockThe manager drives AW, W and AR: its promises are assumptions. The block drives B and R: its rules are assertions. The scoreboard and the lane shadows remember what the map says the answers must be.
The bench around the blockThe manager drives AW, W and AR: its promises are assumptions. The block drives B and R: its rules are assertions. The scoreboard and the lane shadows remember what the map says the answers must be. assume AW, W, AR in assume: VALID holds,payload stable design axil_regs CTRL, DATA (RW);STATUS, ID (RO);215 flop bits assert B, R out assert: VALID holds,payload stable,response and ID right model write scoreboard accepted AW and Wbeats in order, twodeep model watched word `$anyconst` index;four byte-laneshadows model read in flight address, ID, shadowvalue at acceptance B takenAR takencompare
Read the diagram as text
  • AW, W, AR in: assume: VALID holds, payload stable
  • axil_regs: CTRL, DATA (RW); STATUS, ID (RO); 215 flop bits
  • B, R out: assert: VALID holds, payload stable, response and ID right
  • write scoreboard: accepted AW and W beats in order, two deep
  • watched word: `$anyconst` index; four byte-lane shadows
  • read in flight: address, ID, shadow value at acceptance
  • AW, W, AR in → axil_regs
  • axil_regs → B, R out
  • write scoreboard → watched word: B taken
  • watched word → read in flight: AR taken
  • read in flight → B, R out: compare

The whole model, block and bench: 498 flop bits. The bench reads only the block's ports.

F_STRB_ALL: a strobed write, then a read
0123456clkfreeawvalidfreeawaddr14040004001000freewvalidfreewstrb100000001000000010000000freewdata800000000000000180000000000000008000000000000000bvalidfreearvalidfreearaddr101C04180400rvalidrdata0000000000000001R carries all four lanesreported step 6

One bug found by a proof, ready to defend: the property, the depth and the step where it failed.

Self-Check

Tick each key point you covered in your answer.

What Interviewers Listen For (Mid-Level)

A good mid-level answer tells a structured story with real numbers. It gives the depth, the covers, an assumption that proved wrong and a bug found.

Cross-Questions

Where the interviewer goes next. Open a node to practise that follow-up.

What IfProve ItBreak ItCompareScale It

  1. Defending a Formal Proof You Closed
  2. What IfFive Minutes with a CounterexampleL1 JuniorL2 Mid-Level

    The interviewer hands you the counterexample shown with the answer, from an APB register block, and five minutes. What do they want to hear?

    Reveal the Model Answer

    The failing step, the cause, and the fix, in that order, plus the causes you ruled out and how. Say whether it is an RTL bug, a missing assumption, a wrong property or an unmodelled reset. Point at the signal and step that decided it. Thinking aloud in that structure matters more than reaching the answer first.

    Drill trace E from lesson F9.4 (measured): a completed write of 0 to the interrupt-status register, and the status bits afterwards. The cause is in the RTL: a W1C field built as read-write.

    Trace E
    01234clkfreepresetnfreepselfreepenablefreepwritefreepaddr800108000freeirq_in000010000000irq_stat000010000000check failsreported

    Measured: FAIL at reported step 4, bmc depth 20, reset assumed in step 0 unless the cause is the reset.

    Self-Check

    Tick each key point you covered in your answer.

  3. Break ItAn Assumption That Turned Out WrongL2 Mid-LevelL3 Senior

    Tell me about an assumption in one of your formal benches that turned out to be wrong. How was it found?

    Reveal the Model Answer

    A good story names the assumption, why it seemed right, and the evidence that broke it. That evidence might be an unreached cover, a bound assertion firing in system simulation, or a lab failure. It ends with what changed in the process, such as covers per assumption or binding assumptions into simulation from day one.

    Self-Check

    Tick each key point you covered in your answer.

  4. Scale ItCatching Wrong Assumptions EarlyL2 Mid-LevelL3 Senior

    What would you change in the flow so that the next wrong assumption is found in days, not in the lab?

    Reveal the Model Answer

    Give every assumption a written reason from the spec and a cover that must stay reached. Bind every block assumption into system simulation as an assertion from day one. Review the list at each milestone with someone from the neighbouring block. Then a wrong assumption shows up early, as a firing check or an unreached cover.

    Self-Check

    Tick each key point you covered in your answer.

    Wrong Altitude

    "We review the assumptions at sign-off."

    By sign-off the block has been proven for months under them. A check that fires in simulation finds the error while it is still cheap.

  5. Prove ItSolve F9.4.1: Five Traces at the InterviewSimulator-graded

    Show it, don't just say it: this Silicon Lab problem is graded by the simulator.

    Open Problem F9.4.1

  6. CompareBug Hunting vs Sign-Off GoalsL2 Mid-LevelL3 Senior

    Asked if their project was bug hunting rather than sign-off

    Why do bug hunting and sign-off need different exit criteria?

    Reveal the Model Answer

    Bug hunting aims to find failures fast. So it accepts over-constraints, shallow bounds and partial property sets, and it ends when the bug rate drops. Sign-off claims the block is correct against its spec. So it needs complete properties, justified assumptions with covers, and proofs or argued bounds. Mixing the two leads to a bug-hunting bench presented as a sign-off.

    Self-Check

    Tick each key point you covered in your answer.

  7. Scale ItThe Formal Bench After Tape-OutL3 Senior

    What happens to your formal bench after tape-out?

    Reveal the Model Answer

    Keep it alive. When the lab reports a symptom, write it as a cover and the lab observations as assumptions. The shortest trace is a hypothesis for the root cause. Never assume away what the lab did not observe, since it may be the cause. Then prove the fix under the same environment before the respin.

    Self-Check

    Tick each key point you covered in your answer.

  8. Prove ItSolve F5.9.1: Read the Lab Constraint ExperimentSimulator-graded

    Show it, don't just say it: this Silicon Lab problem is graded by the simulator.

    Open Problem F5.9.1

What People Get Wrong

Common wrong answers and why they fail.

Delivery

Describes the tool flow and commands but never the properties or the bugs found.

The interviewer is testing judgement about what to prove. A story without properties, assumptions and bugs shows only that a script ran.

Buzzword Without Mechanism

Says "we got full proofs" without saying what was assumed.

A proof is only as strong as its assumptions. Without them the claim cannot be weighed, and a good interviewer will ask next.

Wrong Altitude

A senior candidate who cannot say which bugs the proof could not have found.

A lead knows the limits of a sign-off, such as logic outside every cone or behaviour past the bound. That knowledge separates a lead from an operator.

Learn It, Then Prove It