Interview Question · Concept
The Valid/Ready Rules
The Question
The interviewer asks
On a valid/ready channel, when exactly does a transfer happen, and what rules must each side follow?
You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
A beat moves at a rising clock edge where valid and ready are both high, and at no other edge. Once the source raises valid, it keeps it high until that edge, with the payload unchanged. The source must not wait for ready before raising valid. The sink may wait for valid, or raise ready early. valid is low during reset.
valid and ready are both 1.A lit wire carries a 1. A pill is a transfer in that cycle; slots are the entries held.
- Cycle 1
The source raises
validwith a1.readyis 0, so the offer waits. - Cycle 2
Still waiting.
validand a1 are unchanged: an offer, once made, is held. - Cycle 3
readyis 1 at this edge. The beat moves, exactly once. - Cycle 4
readystays 1 butvalidis 0. Nothing moves:readyalone is permission, never a transfer. - Cycle 5
Both are 1 in the first cycle of the offer, so b2 moves with no stall at all.
- Cycle 6
c3 is offered while the sink is busy again.
- Cycle 7
Taken. Three beats, three cycles where both wires were 1.
The sink counts the cycles where both are 1 and gets three beats. So does the source, so does every monitor.
Transfer
Both high at a rising edge: one beat moves. Both sides and every monitor count the same edges.
Hold
validhigh andreadylow: next cyclevalidis still high and the payload is unchanged.Who moves first
validnever waits forready.readymay wait forvalid, rise early, or drop again beforevalidarrives.Reset
validis low in reset and rises at the earliest on a rising edge after reset is released.
Self-Check
Tick each key point you covered in your answer.
What Interviewers Listen For (Fresher)
A good fresher answer says, unprompted, that a beat moves only at an edge where valid and ready are both 1. It also says the source must hold valid and the data until that edge.
What Interviewers Listen For (Junior)
A good junior answer adds that the rule is lopsided: only valid may never wait for the other signal. It adds the reset rule and says a monitor counts handshakes, not cycles with valid high.
What Interviewers Listen For (Mid-Level)
A good mid-level answer notes that ready may fall before valid arrives, so a checker must not complain about it. It also says AXI bans a combinational path from an input to an output on an interface.
Cross-Questions
Where the interviewer goes next. Open a node to practise that follow-up.
What IfProve ItBreak ItCompareScale It
- The Valid/Ready Rules
-
What IfReady Falling Before ValidL1 Junior
The sink raised
ready, then dropped it two cycles later without any beat arriving. Is that a protocol violation?2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
No.
readymay rise in advance and fall again beforevalidis asserted; it carries no hold obligation. The only rule onreadyis indirect: if it is high at an edge wherevalidis high, a beat moved. A checker must report the musts and can warn on the shoulds. It stays silent on freedoms like this one.A Ready Pulse with Nothing to TakeThe sink advertises room, takes it back, then serves the real offer two cycles later. All cyclesA lit ready with a dark valid is permission with nothing to permit.
- Cycle 1
The controller raises
ready: it has room. Nothing is offered. - Cycle 2
readydrops again. The DMA checker called this a withdrawn offer. But onlyvalidmakes an offer, andvalidwas 0. - Cycle 4
The real offer from cycle 3 is taken here. The spec: a sink may lower
readybeforevalidrises. Argument over.
The sink raises
ready, drops it with nothing offered, then takes the real offer later. Every step is legal.Self-Check
Tick each key point you covered in your answer.
What Interviewers Listen For (Junior)
A good junior answer says this is legal. It names
validas the only signal that carries a rule to stay high.What Interviewers Listen For (Mid-Level)
A good mid-level answer explains the cost of a checker that flags legal behaviour. It produces false alarms, and engineers stop trusting it.
Misconception
"It's symmetric: whichever signal rises first must hold."
Only
validmust hold. Treatingreadythe same way rejects legal sinks. One example is a sink that dropsreadywhen its FIFO fills from another port.Source AMBA AXI Protocol Specification IHI 0022L §A2.3 Valid-Ready transport
- Cycle 1
-
Scale ItOne Handshake Checker on Every LinkL2 Mid-LevelL3 Senior
Your SoC has two hundred valid/ready links. How do you get the handshake rules checked on all of them without editing each block?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
Write one parameterised checker module over
clk,rst_n,valid,readyand the payload. Attach it withbind, so every instance gets it without touching the RTL. Make it count antecedent matches (cycles where the rule's trigger held) per link, and report links whose stall rule never started. A silent checker on a link that never stalled checked nothing. The same properties run as assertions in formal.Self-Check
Tick each key point you covered in your answer.
What Interviewers Listen For (Mid-Level)
A good mid-level answer attaches one checker to every link with
bind. It gives the checker a parameter for the payload width, so one module fits every link.What Interviewers Listen For (Senior)
A good senior answer also reports, per link, whether each rule ever started, and turns the checks off during reset. It reuses the same properties as targets for formal tools.
Wrong Altitude
"Each block owner adds assertions inside their RTL."
Rules drift between copies, and some links get none. RTL edits for verification also need RTL reviews. A bound checker is written once and reaches every instance.
-
Break ItThe First Valid After ResetL1 JuniorL2 Mid-Level
Reset is released at edge 10. Can the source drive
validhigh so that the sink sees it at edge 10?2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
No. AXI requires
validto stay low at least until the rising edge after reset goes high. The earliest it may rise is at a rising edge after release. So a sink first sees it one edge later. Reset may be asserted asynchronously, but it is released synchronously. A source that raisesvalidtoo early can hand a beat to a sink that is still leaving reset.Out of Reset: The First AddressThe bench releases reset after edge 1. The memory raises AWREADY once it has seen reset high; the manager offers after that edge. All cycles- Cycle 0
Reset is asserted. Every VALID is 0; the memory holds its READYs low too.
- Cycle 2
The first edge where
ARESETnsamples high. Nothing may be driven yet; after this edge the manager is allowed to offer. - Cycle 3
AWVALIDrises after edge 2 andAWREADYis high: the first address moves at edge 3. The checker would report reset for any VALID seen high at edges 0 or 1.
Measured on the AXI lesson bench.
ARESETnis first sampled high at edge 2, so the first address moves at edge 3.Self-Check
Tick each key point you covered in your answer.
What Interviewers Listen For (Junior)
A good junior answer knows that
validmust stay low while reset is active.What Interviewers Listen For (Mid-Level)
A good mid-level answer places the first legal
validexactly, relative to the edge where reset ends. It writes the check as an assertion that still runs at that release edge.Missed Corner
"Disable the whole checker while reset is low and you are done."
disable iff (!rst_n)stops checking during reset, so avaliddriven high in reset is never seen. The reset rule needs its own property.Source AMBA AXI Protocol Specification IHI 0022L §A2.1.2 Reset
- Cycle 0
-
Prove ItSolve P2.2.1: Catch the Broken ManagersSimulator-graded
Show it, don't just say it: this Silicon Lab problem is graded by the simulator.
-
CompareStrobe, Four-Phase and Valid/ReadyL0 FresherL1 Junior
How does a valid/ready handshake differ from a plain strobe, and from a four-phase req/ack handshake?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
A strobe is a one-way pulse that assumes the receiver can always take the data. If it cannot, data is lost. A four-phase req/ack handshake needs no shared clock: req rises, ack rises, req falls, ack falls. So it suits clock crossings, but costs four transitions per item. Valid/ready uses the shared clock to do this in one edge per beat, with backpressure (the sink can stall the source).
A Four-Phase Handshake Moves One ByteEach level change is answered by the other side before anything else happens. All cycles- Cycle 1
Phase 1: the sender places 7c and raises
req. - Cycle 2
Phase 2: the receiver has the byte and raises
ack. This is the transfer. - Cycle 4
Phase 3: the sender sees
ackand dropsreq. - Cycle 5
Phase 4: the receiver drops
ack. Both wires are back at 0, ready for the next byte.
The data stays stable from phase 1 until phase 3. So the receiver may take it at any time while req is high.
Self-Check
Tick each key point you covered in your answer.
What Interviewers Listen For (Fresher)
A good fresher answer says a strobe gives the receiver no way to say "wait". So the receiver cannot slow the sender down.
What Interviewers Listen For (Junior)
A good junior answer uses a four-phase handshake where two clock domains meet. It uses valid/ready inside one clock domain.
- Cycle 1
-
What IfBuses Without a Per-Beat ValidL1 JuniorL2 Mid-Level
APB and AHB have no
valid/readypair per channel. How do they apply backpressure?2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
The requester always moves first, and the completer can only stretch the current transfer. APB holds the access phase while
PREADYis low. AHB extends the data phase whileHREADYis low. There is one flow-control point per transfer, not one per channel. So reads and writes cannot overlap independently, the way AXI channels do.Self-Check
Tick each key point you covered in your answer.
What Interviewers Listen For (Junior)
A good junior answer names
PREADYon APB andHREADYon AHB as the signals that add wait cycles.What Interviewers Listen For (Mid-Level)
A good mid-level answer compares the two styles. APB and AHB have one wait point per transfer, while the five AXI channels can each stall on their own.
-
Prove ItSolve P1.3.1: Implement a SinkSimulator-graded
Show it, don't just say it: this Silicon Lab problem is graded by the simulator.
What People Get Wrong
Common wrong answers and why they fail.
Misconception
"A transfer happens when the sink raises ready."
ready is permission, not a transfer. With valid low nothing moves, however long ready stays high.
Source AMBA AXI Protocol Specification IHI 0022L §A2.3 Valid-Ready transport
Spec Misquote
"Once ready is high, the sink must keep it high until a beat arrives."
The spec lets a receiver drop ready again before valid is asserted. Only valid carries a hold obligation. A checker that flags a falling ready raises false errors.
Source AMBA AXI Protocol Specification IHI 0022L §A2.3 Valid-Ready transport
Misconception
"The source should raise valid only when the sink is ready, to save power."
That is the one forbidden dependency. A sink may legally wait for valid, and then the pair deadlocks.
Source AMBA AXI Protocol Specification IHI 0022L §A2.3 Valid-Ready transport