Two candidates are asked why AXI has five channels. The first lists the channels and their signals, accurately. The second says: "Reads and writes need to overlap and memory latency is long, so the protocol separates requests from responses and reads from writes; the cost is that AXI doesn't order reads against writes, so a requester that needs that waits for the write response." Both are correct. Only the second shows the interviewer how they think.
How do you structure an answer so it shows reasoning, not just recall?
The obvious preparation is to memorise facts: signal names, credit types, state names. Interviewers ask "why" and "what would you do" precisely because facts are easy to memorise and easy to look up. A list of facts, however accurate, does not show whether you could make the next decision yourself, which is what the job requires.
Step | Sounds like | Example: "Why credits instead of ready?" |
|---|---|---|
Constraint | "The problem is..." | The round trip on a long link is many cycles, so ready arrives too late to stop the sender |
Options | "You could...or..." | Ready with a skid buffer as deep as the round trip; credits; drop and retry |
Trade-off | "The cost of each is..." | Skid buffers waste space and still stall; credits need counters and initialisation; dropping needs retry |
Choice | "Here I'd pick...because..." | Credits: the sender knows in advance how much it may send, so the link runs at full rate with a buffer of one round trip |
Check | "I'd make sure..." | Buffer covers the credit round trip; credits re-initialised on reset; conservation assertion |
Level | What the interviewer listens for |
|---|---|
Foundation | Correct mechanism and the problem it solves |
Working | The trade-off and at least one alternative |
Senior | Numbers (sizing), failure modes and how to verify |
Principal | Interactions across the system, how the choice ages, what you would ask before deciding |
Restate the question's constraint first: it buys a few seconds and shows you understood.
Use numbers when you have them: "one round trip of buffering, so about 24 flits here".
Name the failure: every mechanism exists because something broke without it.
Say what you do not know and how you would find out; guessing confidently is worse.
Draw: a handshake, a credit loop or a sequence diagram often answers faster than words (lesson 18.5).
Constraint: memory latency varies, so a slow access would block fast ones. Options: strict order, full reordering, reordering by ID. Trade-off: strict order wastes throughput; full reordering forces requesters to track everything. Choice: per-ID ordering, so the requester decides what must stay ordered. Check: per-ID scoreboard, ID uniqueness through interconnects.
System interactions and longevity: how the choice affects other blocks, software and future versions, and what questions you would ask before committing.
Answer with constraint, options, trade-off, choice, check.
Scale depth to the level: mechanism, trade-off, numbers and failure modes, then system interactions.
Use numbers, name failures, draw, and say what you would verify.