Interviews
Verification Interview Questions
Practise the question, then the follow-ups an interviewer asks next.
Start with a Question TreeAI Mock Interview
- 2
- Question trees
- 12
- Follow-ups
- 9
- Wrong answers explained
- 1
- Runnable on a simulator
Flagship Questions · With follow-ups
Question Trees
Each question opens into the follow-ups an interviewer asks next, the wrong answers people give, and what a fresher's and a senior's answer sound like.
-
Verifying a Bus Interface IP
Walk me through your verification plan for a new AXI subordinate, such as a memory-controller front end. How do you decide you are done? 6 follow-ups · 5 pitfalls · 1 runnable- Asked at Infineon
- Likely at Microchip
- Likely at Cadence
-
Functional Coverage for a Bus
What functional coverage would you write for a bus interface like AXI, and what traps do you watch for? 6 follow-ups · 4 pitfalls- Likely at Microchip
- Likely at Micron
- Likely at Cadence
No question matches these filters.
Quick revision · One flat list
Question Bank
All 12 Verification questions, main and follow-up. Open a track, then a topic. Answer out loud first, then open the short answer.
Jump to a Track
12 questions · 2 topicsVerification
Verifying a Bus Interface IP6
Walk me through your verification plan for a new AXI subordinate, such as a memory-controller front end. How do you decide you are done? L3L4
I build four layers. A bound protocol checker catches illegal timing at the interface. Monitors feed a reference model and an ID-aware scoreboard, which catch wrong data, lost beats and illegal reordering. Constrained-random and directed stimulus add adversarial backpressure (stall patterns chosen to stress the design) on every channel. Functional coverage tracks attributes, concurrency and stalls. I call it done when no checker fires, coverage is closed with reviewed waivers, and the bug-find rate has flattened.
QuestionPractise Verifying a Bus Interface IP →Management bought a commercial AXI VIP. Which parts of your plan does it replace, and which does it not? L3
It replaces the protocol checker and much of the stimulus and protocol coverage. That holds only once it is configured to match the interface: widths, ID bits, outstanding limits and optional signals. It does not replace the reference model, the scoreboard, or the design-specific legal subset. It also does not replace a review of its own configuration. A misconfigured VIP silently checks a different interface from the one you built.
Follow-upPractise What a Purchased VIP Does Not Do →Prove it: how do you show that the VIP's protocol checker actually fires on your configuration? L3
Break each rule once, on purpose, with a small fault in a test agent. Check that the VIP reports it, at the right edge. A checker whose antecedents never fired has checked nothing. Keep these fault tests in regression, so an upgrade or a config change that silences a rule shows up.
Follow-upPractise Proving the Bought Checker Fires →Your random AXI traffic ran a million transactions clean. Name corners it probably never hit, and how you would make sure it does. L2L3
Random traffic misses corners that need one exact value, such as a burst ending exactly at a 4 KB edge. Others are a WRAP in the top address window and the longest burst at the largest size. So are every ID in flight at once, a stall on the last beat, and reset during a burst. Uniform randomness gives each of these about zero probability. Add weighted constraints toward edges, directed tests for the extremes, and coverage bins that name each corner.
Follow-upPractise Corners Random Traffic Never Hits →Now scale it: an interconnect with eight managers and twelve subordinates. What changes in the verification architecture? L4
Bind a checker on every port, and replace the per-port scoreboards with one end-to-end scoreboard. It models the address decode and the ordering per manager and ID. It also models the ID bits the interconnect adds on the way in and removes on the way out. Add system checks: no response to the wrong manager, decode errors for address holes, and bounds on fairness and starvation. Formal suits the decoder and ID logic, while simulation covers data integrity and performance.
Follow-upPractise From One Port to an Interconnect →Walk me through the evidence you would show when your manager asks: is this IP ready for tape-out, yes or no? L3L4
I bring a plan-to-evidence table. It maps every spec rule to a property or scoreboard check, each passing in regression with its antecedent (trigger side) covered. Beside it go closed functional coverage with designer-signed waivers, and explained code coverage holes. I add open bugs at zero or deferred in writing, plus the recent bug-find rate. Then comes the honest part: what was not verified, and why the risk is accepted.
Follow-upPractise How You Know You Are Done →Functional Coverage for a Bus6
What functional coverage would you write for a bus interface like AXI, and what traps do you watch for? L2L3
Sample from the passive monitor when a transaction completes, not from the driver when it is issued. Cover the attributes: burst, length, size, alignment, and distance to a 4 KB or wrap boundary. Cover concurrency: outstanding depth, ID reuse and interleaving. Add backpressure (stall length per channel, including the last beat), every response type, and reset mid-transaction. Cross only the fields that interact. A cross of every field gives thousands of bins that nobody closes.
QuestionPractise Functional Coverage for a Bus →Why sample coverage in the monitor at completion rather than in the sequence or the driver? L2
Coverage should record what the design actually did. The monitor sees only accepted transactions, with their real response and timing. It also works the same when the agent is passive (only watching) in a larger environment. Sampling at completion lets a bin record the response and the stall pattern. The driver cannot know these when it sends the item.
Follow-upPractise Where Coverage Is Sampled →What if coverage is sampled in the driver instead? Show a bin it fills falsely. L2
Say a write is driven, but reset aborts it before the handshake. The driver has already counted a write of that kind. The bin closes, yet the design never completed it. Driver coverage measures what the stimulus asked for, not what the design did.
Follow-upPractise Coverage Sampled in the Driver →For a bus subordinate, what does code coverage tell you that functional coverage does not, and the other way round? L1L2
Code coverage finds RTL that no test reached, such as an error path or an unused state. Nobody has to think of these in advance. Functional coverage checks that the scenarios the spec and plan care about happened. That includes combinations and sequences that no single line of code represents. Code coverage cannot see a missing feature and functional coverage cannot see dead code, so you need both.
Follow-upPractise Code Coverage Versus Functional Coverage on a Bus →How many bins does a burst x length x size cross have on a 32-bit AXI interface? How would you cut it down? L3
Start from the legal set, not the raw one. On a 32-bit bus Size is 1, 2 or 4 bytes, and INCR allows 256 lengths, FIXED 16 and WRAP 4. That gives 3 x (256 + 16 + 4) = 828 legal combinations, against 6,144 raw. Then bucket the lengths where behaviour does not change: 1, 2 to 15, 16, 17 to 255, and 256. That leaves a few dozen bins, and each one means something.
Follow-upPractise Sizing a Cross Before Writing It →All coverage is green, yet a customer hits a hang when the response channel is stalled. How did that escape? L2L3
Most likely the bench kept BREADY and RREADY high, so the subordinate's response-side stall path never ran. Every stall rule then passed vacuously, because no stall ever happened. The coverage model also had no stall-length bins on B or R. Randomise ready with long low runs on every channel the testbench drives, and cover stall length per channel. Also count how often each checker antecedent matched.
Your Review Queue
Saved review reminders are coming soon.