Skip to content
VLSI Mentor

Wishbone · Module 30

Interview Checklist

Eight tests an engineering answer must survive, the claim audit that fails three plausible sentences, and the master review matrix for the module.

Module 28 owns interview preparation. This chapter owns something narrower and more useful:

Reviewing your own answer before you finish giving it.

The same discipline as the previous five chapters, pointed at a sentence instead of a design. An answer is a claim, and a claim without evidence behind it is a checkbox.

1. Eight Tests

Azvya Education Pvt. Ltd.VLSI Mentor
Snippet
STRONG ANSWER = MODEL + INVARIANT + TIMING + FAILURE + SCOPE + TRADE-OFF
testasksyou failed it if
A — modeldid I say what the mechanism is?you named a signal and stopped
B — causalitydid I say why it behaves that way?your reason is "because the spec says so"
C — timingcan I walk it clock by clock?you can only describe steady state
D — invariantwhat must remain true?you cannot state one
E — failurewhat breaks if it does not?you have no failure mode
F — scopespec, policy, implementation, or system?you did not say
G — evidencecould I prove it from RTL, waveform or text?"I read it somewhere"
H — trade-offwhat changes under another valid design?your answer admits no alternative
An answer-review pipeline. A claim enters and passes through six checks in order. The model check asks what the mechanism is. The causality check asks why it behaves that way. The timing check asks whether it can be walked clock by clock. The invariant check asks what must remain true. The failure check asks what breaks when the invariant does not hold. The scope check classifies the claim as specification, local policy, implementation choice, system property or measured result. A claim that survives all six reaches the trade-off question, which asks what would change under a different valid architecture. Claims that fail the scope check are marked as the most common failure.the claimwhat you are about tosayMODELwhat is the mechanism?TIMINGwalk it, clock by clockINVARIANTwhat must stay true?FAILUREwhat breaks if it doesnot?SCOPEspec / policy / choice /measuredTRADE-OFFwhat changes underanother design?12

2. Test F Is The One That Fails

Three sentences that sound competent. Reviewed:

"Wishbone times out if ACK takes too long." FAIL — local policy presented as protocol rule. B3 bounds no latency and defines no timeout. RECOMMENDATION 3.10 suggests a watchdog in an interconnect as one solution to deadlock. Chapter 30.4 measured a nine-clock wait that fired nothing and an unbounded one cut off at twenty — and the number 20 came from a requirements document. Repaired: "Wishbone has no timeout. If this system has a deadline it belongs to the interconnect, and the threshold is a requirement."

"A crossbar is faster." FAIL — workload and metric absent. Module 29 measured the same two topologies at 21 against 25 clocks with disjoint destinations and 25 against 25 with a shared one. Repaired: "A crossbar removes the shared interface transfers would queue on. Whether that is worth anything depends on whether the traffic goes to different slaves, and I would measure it before claiming it."

"ACK means the write happened." FAIL — conflates bus termination with local commit policy. ACK is a statement about the handshake. Chapter 30.1 measured a slave answering three transfers and committing eight times, and Chapter 30.3 measured seven acknowledged accesses reaching a peripheral the map does not assign them to. Repaired: "ACK ends the phase. What the slave did internally is its own commit policy, and it needs stating separately."

The audit: every strong word — must, always, never, illegal, violation, timeout, atomic, fairness, completion — gets a scope label before it leaves your mouth. Unclassified strong claims: 0 is the standard.

3. Follow-Up Resilience

Test H, operationalised. A memorised answer survives one question. Take any answer and change one constraint:

follow-upwhat it re-opens
what if ACK is delayed?everything that was true only at zero latency
what if two masters request?ownership, provenance, and every "the" in your answer
what if the address is unmapped?a policy you probably did not state
what if ERR is unsupported?OBSERVATION 3.35, and your integration story
what if SEL writes one lane?the merge, and whether your test could see it
what if the slave registers its termination?one clock per transfer, and a timing path
what if this is B4 pipelined, not B3 Classic?every timing claim you just made

The last one is the sharpest, and Module 29 measured why: max outstanding is 1 by construction in Classic and 4 in the pipelined model, on the same eight operations. An answer built on "the phase is open until its termination arrives" is a statement about one profile.

4. The Master Review Matrix

The compression of all six chapters. Every row is a thing that has been measured somewhere in this module.

review domainkey invariantprimary evidencecommon false confidencefailure examplechapter
request stabilityqualified signals hold at every boundarytwo checkers, two boundaries"the master port is clean"0 moves at P0, 3 at P230.1
termination provenanceone termination, one live request, right ownerowner latched at phase start vs recipient"the mux returns the ACK"133 misdeliveries, 0 violations30.4
exactly-once side effectcommits == accepted writescommit census, non-idempotent target"the stored value is right"8 commits for 3 transfers30.1
partial writesuntouched lanes preservedseeded readback"the bin is covered"mask f for 2, undetected30.2
address ownershipexpected owner == actual ownerboundary sweep, 9 probes"ACK came back"7 wrong owners, 0 violations30.3
wait statesarchitectural result invariant to latencysame test at 0 and N waits"the fast config passed"defect impossible at 0 waits30.1
error handlingevery asserted class has a receivercapability table"the endpoint works alone"39 ERRs into no input30.4
arbitrationownership stable across a phaseowner at start vs at end"round-robin is fair"fairness is local policy30.4
timeout policythreshold traceable to a requirementexpiry behaviour, drain plan"we added a timeout"9 clocks fine, 20 fatal30.4
verification independencepredictor uses 0 design internalsinput classification"the scoreboard passed"model disagrees, design right30.2
defect sensitivityobservation differs if design is wronginjection per covered feature"coverage is 100%"bin hit, defect escaped30.2
X-safetyno unknown decides a passunknown counters on every observer"no mismatch reported"X compares equal, silently30.2
counter widthmetric can represent its maximum0/1/2/5 negative control"errors == 0"2 failures report as 030.2
profile compatibilityboth endpoints implement one contractcompatibility table"it's Wishbone"STALL exists or it does not30.4
debug causalitycause ≤ divergence ≤ symptomfirst-occurrence cycles"the waveform looks right"count 2 at 16 vs 3 at 430.5

5. The Review Escape Matrix

Why six chapters exist rather than one. Y means that layer catches it.

defectcompilesprotocol checkscoreboardcoverageaddress reviewintegration reviewdebug review
moving requestYY at P2 onlynonononoY
duplicate side effectYnononononoY
wrong targetYnopartlynoYYY
address aliasYnononoYYY
widened byte mask, seededYnoYnononoY
widened byte mask, zero dataYnonocoverednonoY
response misrouteYnonononoYY
ERR with no receiverYnonononoYY
reference model wrongYnoY, wrongly blaming the designnononoY
counter widthYnononononoY

Read the "compiles" column: every row is Y. Read the rows: no column is Y for every defect.

NO SINGLE DETECTOR PROVES SYSTEM CORRECTNESS. That is the argument for layered review, and it is a measurement rather than an opinion.

6. Priority

Not every item costs the same when it is wrong.

riskdefinitionexamples from this module
CRITICALcan corrupt architectural state, misroute a response, or produce a false verification PASScounter width, response misroute, address alias, defect-insensitive stimulus
HIGHcan deadlock, lose transactions, or hide defectsERR with no receiver, duplicate commit, moving request
MEDIUMincorrect local behaviour, bounded impactreserved-region policy, offset arithmetic
CONTEXTUALdepends entirely on system policytimeout threshold, arbitration fairness, unmapped-access behaviour

Counter width sits in CRITICAL for a specific reason: it does not corrupt anything, it converts every other item into a false PASS. A defect in the thing that reports defects is the most expensive kind.

7. False Confidence

"The interview answer sounds correct." Proves: it is fluent. Does not prove: that it is scoped, causal, or survivable. All three sentences in §2 sound correct. Missing evidence: a scope label on every strong word, and one follow-up you have actually re-reasoned through.

8. The Answer Checklist

idreview questionclassification
ANS-01Did I state the mechanism, not just name the signal?REVIEW HYGIENE
ANS-02Did I give a cause, not a citation?REVIEW HYGIENE
ANS-03Can I walk it clock by clock if asked?REVIEW HYGIENE
ANS-04Did I state the invariant?REVIEW HYGIENE
ANS-05Did I state what breaks when it does not hold?REVIEW HYGIENE
ANS-06Is every strong word scoped — spec, policy, choice, measured?REVIEW HYGIENE
ANS-07Could I prove this from RTL, a waveform, or the specification text?REVIEW HYGIENE
ANS-08Did I name the alternative architecture and what it changes?REVIEW HYGIENE
ANS-09Did I say which half I measured and which I did not?REVIEW HYGIENE
ANS-10Does my answer survive one changed constraint?REVIEW HYGIENE

9. What To Carry Forward

  • Review the sentence before you finish it. Scope is the test that fails, and it fails silently.
  • "Wishbone requires X" is a claim you can be wrong about in front of somebody who has read it.
  • A comparative claim needs a workload. 21 versus 25, or 25 versus 25, from the same two topologies.
  • Name the half you did not measure. It is stronger than asserting a number you do not have.
  • No single detector proves correctness — and the matrix in §5 is the measured form of that.
  • A defect in the thing that counts defects outranks everything else it was counting.

Module 30 ends here. Six review boundaries, twelve executed simulations, and one rule underneath all of them: a checkbox without evidence is not a review.

Continue learning

Standards & specifications

Governing standard
Wishbone SoC Interconnection Architecture (OpenCores)(opens OpenCores in a new tab)

Defines the Wishbone signal set, the bus cycles built from it and the interface rules a portable IP core must follow. It deliberately leaves interconnect topology, address map and arbitration policy to the integrator, so those are system decisions rather than requirements of the specification.

This page also covers RTL structure, verification approach and debugging technique. Those are engineering practice built on the standard, not requirements the standard itself imposes.

Where this fits

Part of the Wishbone curriculum.